import * as core from "@terrascript/core"; export interface VaultLockArgs extends core.ResourceArgs { /** * (Required) Boolean whether to permanently apply this Glacier Lock Policy. Once completed, this canno * t be undone. If set to `false`, the Glacier Lock Policy remains in a testing mode for 24 hours. Afte * r that time, the Glacier Lock Policy is automatically removed by Glacier and the Terraform resource * will show as needing recreation. Changing this from `false` to `true` will show as resource recreati * on, which is expected. Changing this from `true` to `false` is not possible unless the Glacier Vault * is recreated at the same time. */ completeLock: boolean | core.BooleanOut; /** * (Optional) Allow Terraform to ignore the error returned when attempting to delete the Glacier Lock P * olicy. This can be used to delete or recreate the Glacier Vault via Terraform, for example, if the G * lacier Vault Lock policy permits that action. This should only be used in conjunction with `complete * _lock` being set to `true`. */ ignoreDeletionError?: boolean | core.BooleanOut; /** * (Required) JSON string containing the IAM policy to apply as the Glacier Vault Lock policy. */ policy: string | core.StringOut; /** * (Required) The name of the Glacier Vault. */ vaultName: string | core.StringOut; } export class VaultLock extends core.Resource { /** * (Required) Boolean whether to permanently apply this Glacier Lock Policy. Once completed, this canno * t be undone. If set to `false`, the Glacier Lock Policy remains in a testing mode for 24 hours. Afte * r that time, the Glacier Lock Policy is automatically removed by Glacier and the Terraform resource * will show as needing recreation. Changing this from `false` to `true` will show as resource recreati * on, which is expected. Changing this from `true` to `false` is not possible unless the Glacier Vault * is recreated at the same time. */ @core.attr(Boolean) public completeLock!: boolean | core.BooleanOut; /** * Glacier Vault name. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Allow Terraform to ignore the error returned when attempting to delete the Glacier Lock P * olicy. This can be used to delete or recreate the Glacier Vault via Terraform, for example, if the G * lacier Vault Lock policy permits that action. This should only be used in conjunction with `complete * _lock` being set to `true`. */ @core.attr(Boolean) public ignoreDeletionError?: boolean | core.BooleanOut; /** * (Required) JSON string containing the IAM policy to apply as the Glacier Vault Lock policy. */ @core.attr(String) public policy!: string | core.StringOut; /** * (Required) The name of the Glacier Vault. */ @core.attr(String) public vaultName!: string | core.StringOut; constructor(name: string, args?: VaultLockArgs) { super(name, "aws_glacier_vault_lock", args); } public override getNamespace(): string { return "aws_glacier"; } }