import * as core from "@terrascript/core"; export interface TapePoolArgs extends core.ResourceArgs { /** * (Required) The name of the new custom tape pool. */ poolName: string | core.StringOut; /** * (Optional) Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 * years (36,500 days). Default value is 0. */ retentionLockTimeInDays?: number | core.NumberOut; /** * (Required) Tape retention lock can be configured in two modes. When configured in governance mode, A * WS accounts with specific IAM permissions are authorized to remove the tape retention lock from arch * ived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by * any user, including the root AWS account. Possible values are `COMPLIANCE`, `GOVERNANCE`, and `NONE * . Default value is `NONE`. */ retentionLockType?: string | core.StringOut; /** * (Required) The storage class that is associated with the new custom pool. When you use your backup a * pplication to eject the tape, the tape is archived directly into the storage class that corresponds * to the pool. Possible values are `DEEP_ARCHIVE` or `GLACIER`. */ storageClass: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class TapePool extends core.Resource { /** * Volume Amazon Resource Name (ARN), e.g., `aws_storagegateway_tape_pool.example arn:aws:storagegatewa * y:us-east-1:123456789012:tapepool/pool-12345678`. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the new custom tape pool. */ @core.attr(String) public poolName!: string | core.StringOut; /** * (Optional) Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 * years (36,500 days). Default value is 0. */ @core.attr(Number) public retentionLockTimeInDays?: number | core.NumberOut; /** * (Required) Tape retention lock can be configured in two modes. When configured in governance mode, A * WS accounts with specific IAM permissions are authorized to remove the tape retention lock from arch * ived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by * any user, including the root AWS account. Possible values are `COMPLIANCE`, `GOVERNANCE`, and `NONE * . Default value is `NONE`. */ @core.attr(String) public retentionLockType?: string | core.StringOut; /** * (Required) The storage class that is associated with the new custom pool. When you use your backup a * pplication to eject the tape, the tape is archived directly into the storage class that corresponds * to the pool. Possible values are `DEEP_ARCHIVE` or `GLACIER`. */ @core.attr(String) public storageClass!: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: TapePoolArgs) { super(name, "aws_storagegateway_tape_pool", args); } public override getNamespace(): string { return "aws_storagegateway"; } }