AwsS3BucketPropertiesArgs

data class AwsS3BucketPropertiesArgs(val accelerateConfiguration: Output<AccelerateConfigurationArgs>? = null, val accessControl: Output<Either<String, AccessControl>>? = null, val analyticsConfigurations: Output<List<AnalyticsConfigurationArgs>>? = null, val arn: Output<String>? = null, val bucketEncryption: Output<BucketEncryptionArgs>? = null, val bucketName: Output<String>? = null, val corsConfiguration: Output<CorsConfigurationArgs>? = null, val domainName: Output<String>? = null, val dualStackDomainName: Output<String>? = null, val intelligentTieringConfigurations: Output<List<IntelligentTieringConfigurationArgs>>? = null, val inventoryConfigurations: Output<List<InventoryConfigurationArgs>>? = null, val lifecycleConfiguration: Output<LifecycleConfigurationArgs>? = null, val loggingConfiguration: Output<LoggingConfigurationArgs>? = null, val metricsConfigurations: Output<List<MetricsConfigurationArgs>>? = null, val notificationConfiguration: Output<NotificationConfigurationArgs>? = null, val objectLockConfiguration: Output<ObjectLockConfigurationArgs>? = null, val objectLockEnabled: Output<Boolean>? = null, val ownershipControls: Output<OwnershipControlsArgs>? = null, val publicAccessBlockConfiguration: Output<PublicAccessBlockConfigurationArgs>? = null, val regionalDomainName: Output<String>? = null, val replicationConfiguration: Output<ReplicationConfigurationArgs>? = null, val tags: Output<List<TagArgs>>? = null, val versioningConfiguration: Output<VersioningConfigurationArgs>? = null, val websiteConfiguration: Output<WebsiteConfigurationArgs>? = null, val websiteURL: Output<String>? = null) : ConvertibleToJava<AwsS3BucketPropertiesArgs>

Definition of awsS3Bucket

Constructors

Link copied to clipboard
constructor(accelerateConfiguration: Output<AccelerateConfigurationArgs>? = null, accessControl: Output<Either<String, AccessControl>>? = null, analyticsConfigurations: Output<List<AnalyticsConfigurationArgs>>? = null, arn: Output<String>? = null, bucketEncryption: Output<BucketEncryptionArgs>? = null, bucketName: Output<String>? = null, corsConfiguration: Output<CorsConfigurationArgs>? = null, domainName: Output<String>? = null, dualStackDomainName: Output<String>? = null, intelligentTieringConfigurations: Output<List<IntelligentTieringConfigurationArgs>>? = null, inventoryConfigurations: Output<List<InventoryConfigurationArgs>>? = null, lifecycleConfiguration: Output<LifecycleConfigurationArgs>? = null, loggingConfiguration: Output<LoggingConfigurationArgs>? = null, metricsConfigurations: Output<List<MetricsConfigurationArgs>>? = null, notificationConfiguration: Output<NotificationConfigurationArgs>? = null, objectLockConfiguration: Output<ObjectLockConfigurationArgs>? = null, objectLockEnabled: Output<Boolean>? = null, ownershipControls: Output<OwnershipControlsArgs>? = null, publicAccessBlockConfiguration: Output<PublicAccessBlockConfigurationArgs>? = null, regionalDomainName: Output<String>? = null, replicationConfiguration: Output<ReplicationConfigurationArgs>? = null, tags: Output<List<TagArgs>>? = null, versioningConfiguration: Output<VersioningConfigurationArgs>? = null, websiteConfiguration: Output<WebsiteConfigurationArgs>? = null, websiteURL: Output<String>? = null)

Properties

Link copied to clipboard

Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see Amazon S3 Transfer Acceleration in the Amazon S3 User Guide. Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see Amazon S3 Transfer Acceleration in the Amazon S3 User Guide.

Link copied to clipboard
val accessControl: Output<Either<String, AccessControl>>? = null

This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see Controlling object ownership in the Amazon S3 User Guide. A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see Canned ACL in the Amazon S3 User Guide. S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the AWS::S3::OwnershipControls property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon. The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see AWS::S3::BucketPolicy. For examples of common policy configurations, including S3 Server Access Logs buckets and more, see Bucket policy examples in the Amazon S3 User Guide.

Link copied to clipboard

Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.

Link copied to clipboard
val arn: Output<String>? = null

the Amazon Resource Name (ARN) of the specified bucket.

Link copied to clipboard

Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Encryption for S3 Buckets in the Amazon S3 User Guide. Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Encryption for S3 Buckets in the Amazon S3 User Guide.

Link copied to clipboard
val bucketName: Output<String>? = null

A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow Amazon S3 bucket restrictions and limitations. For more information, see Rules for naming Amazon S3 buckets in the Amazon S3 User Guide. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.

Link copied to clipboard

Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide. Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide.

Link copied to clipboard
val domainName: Output<String>? = null

Property domainName

Link copied to clipboard
val dualStackDomainName: Output<String>? = null

Property dualStackDomainName

Link copied to clipboard

Defines how Amazon S3 handles Intelligent-Tiering storage.

Link copied to clipboard

Specifies the inventory configuration for an Amazon S3 bucket. For more information, see GET Bucket inventory in the Amazon S3 API Reference.

Link copied to clipboard

Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see Object Lifecycle Management in the Amazon S3 User Guide. Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see Object Lifecycle Management in the Amazon S3 User Guide.

Link copied to clipboard

Settings that define where logs are stored. Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see PUT Bucket logging in the Amazon S3 API Reference. To successfully complete the `AWS::S3::Bucket LoggingConfiguration` request, you must have `s3:PutObject` and `s3:PutObjectAcl` in your IAM permissions.

Link copied to clipboard

Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see PutBucketMetricsConfiguration.

Link copied to clipboard

Configuration that defines how Amazon S3 handles bucket notifications. Describes the notification configuration for an Amazon S3 bucket. If you create the target resource and related permissions in the same template, you might have a circular dependency. For example, you might use the `AWS::Lambda::Permission` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency. To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration. For more information on permissions, see AWS::Lambda::Permission and Granting Permissions to Publish Event Notification Messages to a Destination.

Link copied to clipboard

This operation is not supported by directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects. + The `DefaultRetention` settings require both a mode and a period. + The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time. + You can enable Object Lock for new or existing buckets. For more information, see Configuring Object Lock. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

Link copied to clipboard
val objectLockEnabled: Output<Boolean>? = null

Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.

Link copied to clipboard

Configuration that defines how Amazon S3 handles Object Ownership rules. Specifies the container element for Object Ownership rules. S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

Link copied to clipboard

Configuration that defines how Amazon S3 handles public access. The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of 'Public' in the Amazon S3 User Guide.

Link copied to clipboard
val regionalDomainName: Output<String>? = null

Property regionalDomainName

Link copied to clipboard

Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property. Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist. A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see Replication configuration in the Amazon S3 User Guide.

Link copied to clipboard
val tags: Output<List<TagArgs>>? = null

An arbitrary set of tags (key-value pairs) for this S3 bucket.

Link copied to clipboard

Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them. Describes the versioning state of an Amazon S3 bucket. For more information, see PUT Bucket versioning in the Amazon S3 API Reference.

Link copied to clipboard

Information used to configure the bucket as a static website. For more information, see Hosting Websites on Amazon S3. Specifies website configuration parameters for an Amazon S3 bucket.

Link copied to clipboard
val websiteURL: Output<String>? = null

Property websiteURL

Functions

Link copied to clipboard
open override fun toJava(): AwsS3BucketPropertiesArgs