import * as core from "@terrascript/core"; export interface VolumeArgs extends core.ResourceArgs { /** * (Required) The AZ where the EBS volume will exist. */ availabilityZone: string | core.StringOut; /** * (Optional) If true, the disk will be encrypted. */ encrypted?: boolean | core.BooleanOut; /** * (Optional) If true, snapshot will be created before volume deletion. Any tags on the volume will be * migrated to the snapshot. By default set to false */ finalSnapshot?: boolean | core.BooleanOut; /** * (Optional) The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `g * p3`. */ iops?: number | core.NumberOut; /** * (Optional) The ARN for the KMS encryption key. When specifying `kms_key_id`, `encrypted` needs to be * set to true. Note: Terraform must be running with credentials which have the `GenerateDataKeyWithou * tPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning * process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent * a volume from being created and almost immediately deleted. */ kmsKeyId?: string | core.StringOut; /** * (Optional) Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` a * nd `io2` volumes. */ multiAttachEnabled?: boolean | core.BooleanOut; /** * (Optional) The Amazon Resource Name (ARN) of the Outpost. */ outpostArn?: string | core.StringOut; /** * (Optional) The size of the drive in GiBs. */ size?: number | core.NumberOut; snapshotId?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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; /** * (Optional) The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`. */ throughput?: number | core.NumberOut; /** * (Optional) The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (De * fault: `gp2`). */ type?: string | core.StringOut; } export declare class Volume extends core.Resource { /** * The volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e). */ arn: string | core.StringOut; /** * (Required) The AZ where the EBS volume will exist. */ availabilityZone: string | core.StringOut; /** * (Optional) If true, the disk will be encrypted. */ encrypted?: boolean | core.BooleanOut; /** * (Optional) If true, snapshot will be created before volume deletion. Any tags on the volume will be * migrated to the snapshot. By default set to false */ finalSnapshot?: boolean | core.BooleanOut; /** * The volume ID (e.g., vol-59fcb34e). */ id: string | core.StringOut; /** * (Optional) The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `g * p3`. */ iops?: number | core.NumberOut; /** * (Optional) The ARN for the KMS encryption key. When specifying `kms_key_id`, `encrypted` needs to be * set to true. Note: Terraform must be running with credentials which have the `GenerateDataKeyWithou * tPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning * process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent * a volume from being created and almost immediately deleted. */ kmsKeyId?: string | core.StringOut; /** * (Optional) Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` a * nd `io2` volumes. */ multiAttachEnabled?: boolean | core.BooleanOut; /** * (Optional) The Amazon Resource Name (ARN) of the Outpost. */ outpostArn?: string | core.StringOut; /** * (Optional) The size of the drive in GiBs. */ size?: number | core.NumberOut; snapshotId?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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; /** * (Optional) The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`. */ throughput?: number | core.NumberOut; /** * (Optional) The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (De * fault: `gp2`). */ type?: string | core.StringOut; constructor(name: string, args?: VolumeArgs); getNamespace(): string; } //# sourceMappingURL=volume.d.ts.map