com.pulumi.awsnative.s3.kotlin.enums.BucketAccessControl.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.s3.kotlin.enums
import com.pulumi.kotlin.ConvertibleToJava
import kotlin.Suppress
/**
* 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](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) 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](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#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](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) 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](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.
*/
public enum class BucketAccessControl(
public val javaValue: com.pulumi.awsnative.s3.enums.BucketAccessControl,
) : ConvertibleToJava {
AuthenticatedRead(com.pulumi.awsnative.s3.enums.BucketAccessControl.AuthenticatedRead),
AwsExecRead(com.pulumi.awsnative.s3.enums.BucketAccessControl.AwsExecRead),
BucketOwnerFullControl(com.pulumi.awsnative.s3.enums.BucketAccessControl.BucketOwnerFullControl),
BucketOwnerRead(com.pulumi.awsnative.s3.enums.BucketAccessControl.BucketOwnerRead),
LogDeliveryWrite(com.pulumi.awsnative.s3.enums.BucketAccessControl.LogDeliveryWrite),
Private(com.pulumi.awsnative.s3.enums.BucketAccessControl.Private),
PublicRead(com.pulumi.awsnative.s3.enums.BucketAccessControl.PublicRead),
PublicReadWrite(com.pulumi.awsnative.s3.enums.BucketAccessControl.PublicReadWrite),
;
override fun toJava(): com.pulumi.awsnative.s3.enums.BucketAccessControl = javaValue
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.s3.enums.BucketAccessControl): BucketAccessControl = BucketAccessControl.values().first { it.javaValue == javaType }
}
}