import * as core from "@terrascript/core"; export interface TieringArgs extends core.SchemaArgs { accessTier: string | core.StringOut; days: number | core.NumberOut; } export class Tiering extends core.Schema { @core.attr(String) public accessTier!: string | core.StringOut; @core.attr(Number) public days!: number | core.NumberOut; } export interface FilterArgs extends core.SchemaArgs { prefix?: string | core.StringOut; tags?: core.Map | core.MapOut; } export class Filter extends core.Schema { @core.attr(String) public prefix?: string | core.StringOut; @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; } export interface BucketIntelligentTieringConfigurationArgs extends core.ResourceArgs { /** * (Required) The name of the bucket this intelligent tiering configuration is associated with. */ bucket: string | core.StringOut; /** * (Optional) A bucket filter. The configuration only includes objects that meet the filter's criteria * (documented below). */ filter?: Filter; /** * (Required) The unique name used to identify the S3 Intelligent-Tiering configuration for the bucket. */ name: string | core.StringOut; /** * (Optional) Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`. */ status?: string | core.StringOut; /** * (Required) The S3 Intelligent-Tiering storage class tiers of the configuration (documented below). */ tiering: core.Array | core.ArrayOut; } export class BucketIntelligentTieringConfiguration extends core.Resource { /** * (Required) The name of the bucket this intelligent tiering configuration is associated with. */ @core.attr(String) public bucket!: string | core.StringOut; /** * (Optional) A bucket filter. The configuration only includes objects that meet the filter's criteria * (documented below). */ @core.attr(Filter) public filter?: Filter; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The unique name used to identify the S3 Intelligent-Tiering configuration for the bucket. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Specifies the status of the configuration. Valid values: `Enabled`, `Disabled`. */ @core.attr(String) public status?: string | core.StringOut; /** * (Required) The S3 Intelligent-Tiering storage class tiers of the configuration (documented below). */ @core.attr(Tiering, { kind: "array" }) public tiering!: core.Array | core.ArrayOut; constructor(name: string, args?: BucketIntelligentTieringConfigurationArgs) { super(name, "aws_s3_bucket_intelligent_tiering_configuration", args); } public override getNamespace(): string { return "aws_s3"; } }