BucketState constructor

const BucketState({
  1. Input<BucketAutoclass?>? autoclass,
  2. Input<List<BucketCor>?>? cors,
  3. Input<BucketCustomPlacementConfig?>? customPlacementConfig,
  4. Input<bool?>? defaultEventBasedHold,
  5. Input<String?>? deletionPolicy,
  6. Input<Map<String, String>?>? effectiveLabels,
  7. Input<bool?>? enableObjectRetention,
  8. Input<BucketEncryption?>? encryption,
  9. Input<bool?>? forceDestroy,
  10. Input<BucketHierarchicalNamespace?>? hierarchicalNamespace,
  11. Input<BucketIpFilter?>? ipFilter,
  12. Input<Map<String, String>?>? labels,
  13. Input<List<BucketLifecycleRule>?>? lifecycleRules,
  14. Input<String?>? location,
  15. Input<BucketLogging?>? logging,
  16. Input<String?>? name,
  17. Input<String?>? project,
  18. Input<int?>? projectNumber,
  19. Input<String?>? publicAccessPrevention,
  20. Input<Map<String, String>?>? pulumiLabels,
  21. Input<bool?>? requesterPays,
  22. Input<BucketRetentionPolicy?>? retentionPolicy,
  23. Input<String?>? rpo,
  24. Input<String?>? selfLink,
  25. Input<BucketSoftDeletePolicy?>? softDeletePolicy,
  26. Input<String?>? storageClass,
  27. Input<String?>? timeCreated,
  28. Input<bool?>? uniformBucketLevelAccess,
  29. Input<String?>? updated,
  30. Input<String?>? url,
  31. Input<BucketVersioning?>? versioning,
  32. Input<BucketWebsite?>? website,
})

Creates a new BucketState. autoclass The bucket's Autoclass configuration. Structure is documented below. cors The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below. customPlacementConfig The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below. defaultEventBasedHold Whether or not to automatically apply an eventBasedHold to new objects added to the bucket. deletionPolicy Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE". effectiveLabels All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services. enableObjectRetention Enables object retention on a storage bucket. encryption The bucket's encryption configuration. Structure is documented below. forceDestroy When true, before deleting a bucket, delete all objects within the bucket, or Anywhere Caches caching data for that bucket. Otherwise, buckets with objects/caches will fail. Anywhere Cache requires additional permissions to interact with and will be assumed not present when the provider is not permissioned, attempting to delete the bucket anyways. This may result in the objects in the bucket getting destroyed but not the bucket itself if there is a cache in use with the bucket. Force deletion may take a long time to delete buckets with lots of objects or with any Anywhere Caches (80m+). hierarchicalNamespace The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniformBucketLevelAccess must be enabled on bucket. ipFilter The bucket IP filtering configuration. Specifies the network sources that can access the bucket, as well as its underlying objects. Structure is documented below. labels A map of key/value label pairs to assign to the bucket. lifecycleRules The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below. location The GCS location. logging The bucket's Access & Storage Logs configuration. Structure is documented below. name The name of the bucket. Bucket names must be in lowercase and no more than 63 characters long. You can find the complete list of bucket naming rules here. project The ID of the project in which the resource belongs. If it projectNumber The project number of the project in which the resource belongs. publicAccessPrevention Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited". pulumiLabels The combination of labels configured directly on the resource and default labels configured on the provider. requesterPays Enables Requester Pays on a storage bucket. retentionPolicy Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below. rpo The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT" sets default replication. "ASYNC_TURBO" value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to "DEFAULT" for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error. selfLink The URI of the created resource. softDeletePolicy The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If the block is not provided, Server side value will be kept which means removal of block won't generate any terraform change. Structure is documented below. storageClass The Storage Class of the new bucket. Supported values include: STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE. timeCreated The creation time of the bucket in RFC 3339 format. uniformBucketLevelAccess Enables Uniform bucket-level access access to a bucket. updated The time at which the bucket's metadata or IAM policy was last updated, in RFC 3339 format. url The base URL of the bucket, in the format gs://&lt;bucket-name&gt;. versioning The bucket's Versioning configuration. Structure is documented below. website Configuration if the bucket acts as a website. Structure is documented below.

Implementation

const BucketState({
  this.autoclass,
  this.cors,
  this.customPlacementConfig,
  this.defaultEventBasedHold,
  this.deletionPolicy,
  this.effectiveLabels,
  this.enableObjectRetention,
  this.encryption,
  this.forceDestroy,
  this.hierarchicalNamespace,
  this.ipFilter,
  this.labels,
  this.lifecycleRules,
  this.location,
  this.logging,
  this.name,
  this.project,
  this.projectNumber,
  this.publicAccessPrevention,
  this.pulumiLabels,
  this.requesterPays,
  this.retentionPolicy,
  this.rpo,
  this.selfLink,
  this.softDeletePolicy,
  this.storageClass,
  this.timeCreated,
  this.uniformBucketLevelAccess,
  this.updated,
  this.url,
  this.versioning,
  this.website,
});