import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Creates a copy of an existing Amazon EBS volume. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const source = new aws.ebs.Volume("source", { * availabilityZone: "us-west-2a", * size: 8, * }); * const example = new aws.ebs.VolumeCopy("example", { * sourceVolumeId: source.id, * volumeType: "gp3", * size: 20, * iops: 3000, * throughput: 125, * tags: { * Name: "example-copy", * }, * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `id` (String) Volume ID. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import an EBS Volume Copy using the volume ID. For example: * * ```sh * $ pulumi import aws:ebs/volumeCopy:VolumeCopy example vol-049df61146c4d7901 * ``` */ export declare class VolumeCopy extends pulumi.CustomResource { /** * Get an existing VolumeCopy resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: VolumeCopyState, opts?: pulumi.CustomResourceOptions): VolumeCopy; /** * Returns true if the given object is an instance of VolumeCopy. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VolumeCopy; /** * ARN of the copied EBS volume. */ readonly arn: pulumi.Output; /** * Availability Zone for the copied volume. */ readonly availabilityZone: pulumi.Output; /** * Provisioned IOPS for the copied volume. Use only with volume types that support provisioned IOPS, such as `gp3`. */ readonly iops: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. This must match the Region of the source EBS volume referenced by `sourceVolumeId`. */ readonly region: pulumi.Output; /** * Size of the copied volume, in GiB. */ readonly size: pulumi.Output; /** * ID of the source EBS volume to copy. Changing this value forces replacement of the resource. */ readonly sourceVolumeId: pulumi.Output; /** * A map of tags to assign to the copied volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Throughput for the copied volume, in MiB/s. Valid only when `volumeType` is `gp3`. */ readonly throughput: pulumi.Output; readonly timeouts: pulumi.Output; /** * Type of the copied EBS volume. Valid values include `gp2`, `gp3`, `io1`, `io2`, `sc1`, `st1`, and `standard`. * * > **NOTE:** When changing the `size`, `iops` or `type` of a volume, there are [considerations](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) to be aware of. */ readonly volumeType: pulumi.Output; /** * Create a VolumeCopy resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VolumeCopyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VolumeCopy resources. */ export interface VolumeCopyState { /** * ARN of the copied EBS volume. */ arn?: pulumi.Input; /** * Availability Zone for the copied volume. */ availabilityZone?: pulumi.Input; /** * Provisioned IOPS for the copied volume. Use only with volume types that support provisioned IOPS, such as `gp3`. */ iops?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. This must match the Region of the source EBS volume referenced by `sourceVolumeId`. */ region?: pulumi.Input; /** * Size of the copied volume, in GiB. */ size?: pulumi.Input; /** * ID of the source EBS volume to copy. Changing this value forces replacement of the resource. */ sourceVolumeId?: pulumi.Input; /** * A map of tags to assign to the copied volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Throughput for the copied volume, in MiB/s. Valid only when `volumeType` is `gp3`. */ throughput?: pulumi.Input; timeouts?: pulumi.Input; /** * Type of the copied EBS volume. Valid values include `gp2`, `gp3`, `io1`, `io2`, `sc1`, `st1`, and `standard`. * * > **NOTE:** When changing the `size`, `iops` or `type` of a volume, there are [considerations](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) to be aware of. */ volumeType?: pulumi.Input; } /** * The set of arguments for constructing a VolumeCopy resource. */ export interface VolumeCopyArgs { /** * Provisioned IOPS for the copied volume. Use only with volume types that support provisioned IOPS, such as `gp3`. */ iops?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. This must match the Region of the source EBS volume referenced by `sourceVolumeId`. */ region?: pulumi.Input; /** * Size of the copied volume, in GiB. */ size?: pulumi.Input; /** * ID of the source EBS volume to copy. Changing this value forces replacement of the resource. */ sourceVolumeId: pulumi.Input; /** * A map of tags to assign to the copied volume. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Throughput for the copied volume, in MiB/s. Valid only when `volumeType` is `gp3`. */ throughput?: pulumi.Input; timeouts?: pulumi.Input; /** * Type of the copied EBS volume. Valid values include `gp2`, `gp3`, `io1`, `io2`, `sc1`, `st1`, and `standard`. * * > **NOTE:** When changing the `size`, `iops` or `type` of a volume, there are [considerations](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) to be aware of. */ volumeType?: pulumi.Input; } //# sourceMappingURL=volumeCopy.d.ts.map