import * as core from "@terrascript/core"; export interface BucketPublicAccessBlockArgs extends core.ResourceArgs { /** * (Optional) Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling * this setting does not affect existing policies or ACLs. When set to `true` causes the following beh * avior: */ blockPublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false * . Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazo * n S3 to: */ blockPublicPolicy?: boolean | core.BooleanOut; /** * (Required) S3 Bucket to which this Public Access Block configuration should be applied. */ bucket: string | core.StringOut; /** * (Optional) Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enablin * g this setting does not affect the persistence of any existing ACLs and doesn't prevent new public A * CLs from being set. When set to `true` causes Amazon S3 to: */ ignorePublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `fa * lse`. Enabling this setting does not affect the previously stored bucket policy, except that public * and cross-account access within the public bucket policy, including non-public delegation to specifi * c accounts, is blocked. When set to `true`: */ restrictPublicBuckets?: boolean | core.BooleanOut; } export class BucketPublicAccessBlock extends core.Resource { /** * (Optional) Whether Amazon S3 should block public ACLs for this bucket. Defaults to `false`. Enabling * this setting does not affect existing policies or ACLs. When set to `true` causes the following beh * avior: */ @core.attr(Boolean) public blockPublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should block public bucket policies for this bucket. Defaults to `false * . Enabling this setting does not affect the existing bucket policy. When set to `true` causes Amazo * n S3 to: */ @core.attr(Boolean) public blockPublicPolicy?: boolean | core.BooleanOut; /** * (Required) S3 Bucket to which this Public Access Block configuration should be applied. */ @core.attr(String) public bucket!: string | core.StringOut; /** * Name of the S3 bucket the configuration is attached to */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to `false`. Enablin * g this setting does not affect the persistence of any existing ACLs and doesn't prevent new public A * CLs from being set. When set to `true` causes Amazon S3 to: */ @core.attr(Boolean) public ignorePublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to `fa * lse`. Enabling this setting does not affect the previously stored bucket policy, except that public * and cross-account access within the public bucket policy, including non-public delegation to specifi * c accounts, is blocked. When set to `true`: */ @core.attr(Boolean) public restrictPublicBuckets?: boolean | core.BooleanOut; constructor(name: string, args?: BucketPublicAccessBlockArgs) { super(name, "aws_s3_bucket_public_access_block", args); } public override getNamespace(): string { return "aws_s3"; } }