import * as core from "@terrascript/core"; export interface AccountPublicAccessBlockArgs extends core.ResourceArgs { /** * (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the Terra * form AWS provider. */ accountId?: string | core.StringOut; /** * (Optional) Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `fals * e`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the f * ollowing behavior: */ blockPublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should block public bucket policies for buckets in this account. Defaul * ts to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` ca * uses Amazon S3 to: */ blockPublicPolicy?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `fal * se`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent * new public ACLs 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 buckets in this account. Def * aults to `false`. Enabling this setting does not affect previously stored bucket policies, except th * at public and cross-account access within any public bucket policy, including non-public delegation * to specific accounts, is blocked. When set to `true`: */ restrictPublicBuckets?: boolean | core.BooleanOut; } export class AccountPublicAccessBlock extends core.Resource { /** * (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the Terra * form AWS provider. */ @core.attr(String, { computed: true }) public accountId?: string | core.StringOut; /** * (Optional) Whether Amazon S3 should block public ACLs for buckets in this account. Defaults to `fals * e`. Enabling this setting does not affect existing policies or ACLs. When set to `true` causes the f * ollowing behavior: */ @core.attr(Boolean) public blockPublicAcls?: boolean | core.BooleanOut; /** * (Optional) Whether Amazon S3 should block public bucket policies for buckets in this account. Defaul * ts to `false`. Enabling this setting does not affect existing bucket policies. When set to `true` ca * uses Amazon S3 to: */ @core.attr(Boolean) public blockPublicPolicy?: boolean | core.BooleanOut; /** * AWS account ID */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Whether Amazon S3 should ignore public ACLs for buckets in this account. Defaults to `fal * se`. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent * new public ACLs 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 buckets in this account. Def * aults to `false`. Enabling this setting does not affect previously stored bucket policies, except th * at public and cross-account access within any public bucket policy, including non-public delegation * to specific accounts, is blocked. When set to `true`: */ @core.attr(Boolean) public restrictPublicBuckets?: boolean | core.BooleanOut; constructor(name: string, args?: AccountPublicAccessBlockArgs) { super(name, "aws_s3_account_public_access_block", args); } public override getNamespace(): string { return "aws_s3"; } }