Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.awsconnector.inputs.AwsEc2VolumePropertiesArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.awsconnector.inputs;
import com.pulumi.azurenative.awsconnector.inputs.TagArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Definition of awsEc2Volume
*
*/
public final class AwsEc2VolumePropertiesArgs extends com.pulumi.resources.ResourceArgs {
public static final AwsEc2VolumePropertiesArgs Empty = new AwsEc2VolumePropertiesArgs();
/**
* Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
*
*/
@Import(name="autoEnableIO")
private @Nullable Output autoEnableIO;
/**
* @return Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
*
*/
public Optional> autoEnableIO() {
return Optional.ofNullable(this.autoEnableIO);
}
/**
* The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.
*
*/
@Import(name="availabilityZone")
private @Nullable Output availabilityZone;
/**
* @return The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.
*
*/
public Optional> availabilityZone() {
return Optional.ofNullable(this.availabilityZone);
}
/**
* Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide*. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
*
*/
@Import(name="encrypted")
private @Nullable Output encrypted;
/**
* @return Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide*. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
*
*/
public Optional> encrypted() {
return Optional.ofNullable(this.encrypted);
}
/**
* The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.
*
*/
@Import(name="iops")
private @Nullable Output iops;
/**
* @return The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.
*
*/
public Optional> iops() {
return Optional.ofNullable(this.iops);
}
/**
* The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
*
*/
@Import(name="kmsKeyId")
private @Nullable Output kmsKeyId;
/**
* @return The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
*
*/
public Optional> kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
*
*/
@Import(name="multiAttachEnabled")
private @Nullable Output multiAttachEnabled;
/**
* @return Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
*
*/
public Optional> multiAttachEnabled() {
return Optional.ofNullable(this.multiAttachEnabled);
}
/**
* The Amazon Resource Name (ARN) of the Outpost.
*
*/
@Import(name="outpostArn")
private @Nullable Output outpostArn;
/**
* @return The Amazon Resource Name (ARN) of the Outpost.
*
*/
public Optional> outpostArn() {
return Optional.ofNullable(this.outpostArn);
}
/**
* The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + ``gp2`` and ``gp3``: 1 - 16,384 GiB + ``io1``: 4 - 16,384 GiB + ``io2``: 4 - 65,536 GiB + ``st1`` and ``sc1``: 125 - 16,384 GiB + ``standard``: 1 - 1024 GiB
*
*/
@Import(name="size")
private @Nullable Output size;
/**
* @return The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + ``gp2`` and ``gp3``: 1 - 16,384 GiB + ``io1``: 4 - 16,384 GiB + ``io2``: 4 - 65,536 GiB + ``st1`` and ``sc1``: 125 - 16,384 GiB + ``standard``: 1 - 1024 GiB
*
*/
public Optional> size() {
return Optional.ofNullable(this.size);
}
/**
* The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
*
*/
@Import(name="snapshotId")
private @Nullable Output snapshotId;
/**
* @return The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
*
*/
public Optional> snapshotId() {
return Optional.ofNullable(this.snapshotId);
}
/**
* The tags to apply to the volume during creation.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return The tags to apply to the volume during creation.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
*
*/
@Import(name="throughput")
private @Nullable Output throughput;
/**
* @return The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
*
*/
public Optional> throughput() {
return Optional.ofNullable(this.throughput);
}
/**
* Property volumeId
*
*/
@Import(name="volumeId")
private @Nullable Output volumeId;
/**
* @return Property volumeId
*
*/
public Optional> volumeId() {
return Optional.ofNullable(this.volumeId);
}
/**
* The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide*. Default: ``gp2``
*
*/
@Import(name="volumeType")
private @Nullable Output volumeType;
/**
* @return The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide*. Default: ``gp2``
*
*/
public Optional> volumeType() {
return Optional.ofNullable(this.volumeType);
}
private AwsEc2VolumePropertiesArgs() {}
private AwsEc2VolumePropertiesArgs(AwsEc2VolumePropertiesArgs $) {
this.autoEnableIO = $.autoEnableIO;
this.availabilityZone = $.availabilityZone;
this.encrypted = $.encrypted;
this.iops = $.iops;
this.kmsKeyId = $.kmsKeyId;
this.multiAttachEnabled = $.multiAttachEnabled;
this.outpostArn = $.outpostArn;
this.size = $.size;
this.snapshotId = $.snapshotId;
this.tags = $.tags;
this.throughput = $.throughput;
this.volumeId = $.volumeId;
this.volumeType = $.volumeType;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AwsEc2VolumePropertiesArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AwsEc2VolumePropertiesArgs $;
public Builder() {
$ = new AwsEc2VolumePropertiesArgs();
}
public Builder(AwsEc2VolumePropertiesArgs defaults) {
$ = new AwsEc2VolumePropertiesArgs(Objects.requireNonNull(defaults));
}
/**
* @param autoEnableIO Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
*
* @return builder
*
*/
public Builder autoEnableIO(@Nullable Output autoEnableIO) {
$.autoEnableIO = autoEnableIO;
return this;
}
/**
* @param autoEnableIO Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
*
* @return builder
*
*/
public Builder autoEnableIO(Boolean autoEnableIO) {
return autoEnableIO(Output.of(autoEnableIO));
}
/**
* @param availabilityZone The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.
*
* @return builder
*
*/
public Builder availabilityZone(@Nullable Output availabilityZone) {
$.availabilityZone = availabilityZone;
return this;
}
/**
* @param availabilityZone The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.
*
* @return builder
*
*/
public Builder availabilityZone(String availabilityZone) {
return availabilityZone(Output.of(availabilityZone));
}
/**
* @param encrypted Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide*. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
*
* @return builder
*
*/
public Builder encrypted(@Nullable Output encrypted) {
$.encrypted = encrypted;
return this;
}
/**
* @param encrypted Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide*. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
*
* @return builder
*
*/
public Builder encrypted(Boolean encrypted) {
return encrypted(Output.of(encrypted));
}
/**
* @param iops The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.
*
* @return builder
*
*/
public Builder iops(@Nullable Output iops) {
$.iops = iops;
return this;
}
/**
* @param iops The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.
*
* @return builder
*
*/
public Builder iops(Integer iops) {
return iops(Output.of(iops));
}
/**
* @param kmsKeyId The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
*
* @return builder
*
*/
public Builder kmsKeyId(@Nullable Output kmsKeyId) {
$.kmsKeyId = kmsKeyId;
return this;
}
/**
* @param kmsKeyId The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
*
* @return builder
*
*/
public Builder kmsKeyId(String kmsKeyId) {
return kmsKeyId(Output.of(kmsKeyId));
}
/**
* @param multiAttachEnabled Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
*
* @return builder
*
*/
public Builder multiAttachEnabled(@Nullable Output multiAttachEnabled) {
$.multiAttachEnabled = multiAttachEnabled;
return this;
}
/**
* @param multiAttachEnabled Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
*
* @return builder
*
*/
public Builder multiAttachEnabled(Boolean multiAttachEnabled) {
return multiAttachEnabled(Output.of(multiAttachEnabled));
}
/**
* @param outpostArn The Amazon Resource Name (ARN) of the Outpost.
*
* @return builder
*
*/
public Builder outpostArn(@Nullable Output outpostArn) {
$.outpostArn = outpostArn;
return this;
}
/**
* @param outpostArn The Amazon Resource Name (ARN) of the Outpost.
*
* @return builder
*
*/
public Builder outpostArn(String outpostArn) {
return outpostArn(Output.of(outpostArn));
}
/**
* @param size The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + ``gp2`` and ``gp3``: 1 - 16,384 GiB + ``io1``: 4 - 16,384 GiB + ``io2``: 4 - 65,536 GiB + ``st1`` and ``sc1``: 125 - 16,384 GiB + ``standard``: 1 - 1024 GiB
*
* @return builder
*
*/
public Builder size(@Nullable Output size) {
$.size = size;
return this;
}
/**
* @param size The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + ``gp2`` and ``gp3``: 1 - 16,384 GiB + ``io1``: 4 - 16,384 GiB + ``io2``: 4 - 65,536 GiB + ``st1`` and ``sc1``: 125 - 16,384 GiB + ``standard``: 1 - 1024 GiB
*
* @return builder
*
*/
public Builder size(Integer size) {
return size(Output.of(size));
}
/**
* @param snapshotId The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
*
* @return builder
*
*/
public Builder snapshotId(@Nullable Output snapshotId) {
$.snapshotId = snapshotId;
return this;
}
/**
* @param snapshotId The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
*
* @return builder
*
*/
public Builder snapshotId(String snapshotId) {
return snapshotId(Output.of(snapshotId));
}
/**
* @param tags The tags to apply to the volume during creation.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags The tags to apply to the volume during creation.
*
* @return builder
*
*/
public Builder tags(List tags) {
return tags(Output.of(tags));
}
/**
* @param tags The tags to apply to the volume during creation.
*
* @return builder
*
*/
public Builder tags(TagArgs... tags) {
return tags(List.of(tags));
}
/**
* @param throughput The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
*
* @return builder
*
*/
public Builder throughput(@Nullable Output throughput) {
$.throughput = throughput;
return this;
}
/**
* @param throughput The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
*
* @return builder
*
*/
public Builder throughput(Integer throughput) {
return throughput(Output.of(throughput));
}
/**
* @param volumeId Property volumeId
*
* @return builder
*
*/
public Builder volumeId(@Nullable Output volumeId) {
$.volumeId = volumeId;
return this;
}
/**
* @param volumeId Property volumeId
*
* @return builder
*
*/
public Builder volumeId(String volumeId) {
return volumeId(Output.of(volumeId));
}
/**
* @param volumeType The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide*. Default: ``gp2``
*
* @return builder
*
*/
public Builder volumeType(@Nullable Output volumeType) {
$.volumeType = volumeType;
return this;
}
/**
* @param volumeType The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide*. Default: ``gp2``
*
* @return builder
*
*/
public Builder volumeType(String volumeType) {
return volumeType(Output.of(volumeType));
}
public AwsEc2VolumePropertiesArgs build() {
return $;
}
}
}