import * as core from "@terrascript/core"; export interface PublicAccessBlockArgs extends core.SchemaArgs { blockPublicAcls?: boolean | core.BooleanOut; blockPublicPolicy?: boolean | core.BooleanOut; ignorePublicAcls?: boolean | core.BooleanOut; restrictPublicBuckets?: boolean | core.BooleanOut; } export class PublicAccessBlock extends core.Schema { @core.attr(Boolean) public blockPublicAcls?: boolean | core.BooleanOut; @core.attr(Boolean) public blockPublicPolicy?: boolean | core.BooleanOut; @core.attr(Boolean) public ignorePublicAcls?: boolean | core.BooleanOut; @core.attr(Boolean) public restrictPublicBuckets?: boolean | core.BooleanOut; } export interface RegionArgs extends core.SchemaArgs { bucket: string | core.StringOut; } export class Region extends core.Schema { @core.attr(String) public bucket!: string | core.StringOut; } export interface DetailsArgs extends core.SchemaArgs { name: string | core.StringOut; publicAccessBlock?: PublicAccessBlock; region: core.Array | core.ArrayOut; } export class Details extends core.Schema { @core.attr(String) public name!: string | core.StringOut; @core.attr(PublicAccessBlock) public publicAccessBlock?: PublicAccessBlock; @core.attr(Region, { kind: "array" }) public region!: core.Array | core.ArrayOut; } export interface MultiRegionAccessPointArgs extends core.ResourceArgs { /** * (Optional) The AWS account ID for the owner of the buckets for which you want to create a Multi-Regi * on Access Point. Defaults to automatically determined account ID of the Terraform AWS provider. */ accountId?: string | core.StringOut; /** * (Required) A configuration block containing details about the Multi-Region Access Point. See [Detail * s Configuration Block](#details-configuration) below for more details */ details: Details; } export class MultiRegionAccessPoint extends core.Resource { /** * (Optional) The AWS account ID for the owner of the buckets for which you want to create a Multi-Regi * on Access Point. Defaults to automatically determined account ID of the Terraform AWS provider. */ @core.attr(String, { computed: true }) public accountId?: string | core.StringOut; /** * The alias for the Multi-Region Access Point. */ @core.attr(String, { computed: true }) public alias!: string | core.StringOut; /** * Amazon Resource Name (ARN) of the Multi-Region Access Point. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) A configuration block containing details about the Multi-Region Access Point. See [Detail * s Configuration Block](#details-configuration) below for more details */ @core.attr(Details) public details!: Details; /** * The DNS domain name of the S3 Multi-Region Access Point in the format _`alias`_.accesspoint.s3-globa * l.amazonaws.com. For more information, see the documentation on [Multi-Region Access Point Requests] * (https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRequests.html). */ @core.attr(String, { computed: true }) public domainName!: string | core.StringOut; /** * The AWS account ID and access point name separated by a colon (`:`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The current status of the Multi-Region Access Point. One of: `READY`, `INCONSISTENT_ACROSS_REGIONS`, * CREATING`, `PARTIALLY_CREATED`, `PARTIALLY_DELETED`, `DELETING`. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; constructor(name: string, args?: MultiRegionAccessPointArgs) { super(name, "aws_s3control_multi_region_access_point", args); } public override getNamespace(): string { return "aws_s3control"; } }