import * as core from "@terrascript/core"; export interface DsBucketArgs { /** * (Required) The name of the bucket */ bucket: string | core.StringOut; } export class DsBucket extends core.Data { /** * The ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) The name of the bucket */ @core.attr(String) public bucket!: string | core.StringOut; /** * The bucket domain name. Will be of format `bucketname.s3.amazonaws.com`. */ @core.attr(String, { computed: true }) public bucketDomainName!: string | core.StringOut; /** * The bucket region-specific domain name. The bucket domain name including the region name, please ref * er [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The * AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will preven * t [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 * Origin URL. */ @core.attr(String, { computed: true }) public bucketRegionalDomainName!: string | core.StringOut; /** * The [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_re * gion_endpoints) for this bucket's region. */ @core.attr(String, { computed: true }) public hostedZoneId!: string | core.StringOut; /** * The name of the bucket. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The AWS region this bucket resides in. */ @core.attr(String, { computed: true }) public region!: string | core.StringOut; /** * The domain of the website endpoint, if the bucket is configured with a website. If not, this will be * an empty string. This is used to create Route 53 alias records. */ @core.attr(String, { computed: true }) public websiteDomain!: string | core.StringOut; /** * The website endpoint, if the bucket is configured with a website. If not, this will be an empty stri * ng. */ @core.attr(String, { computed: true }) public websiteEndpoint!: string | core.StringOut; constructor(name: string, args?: DsBucketArgs) { super(name, "aws_s3_bucket", args); } public override getNamespace(): string { return "aws_s3"; } }