Interface CfnInstance.IEbsProperty
Specifies a block device for an EBS volume.
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IEbsProperty
Syntax (vb)
Public Interface IEbsProperty
Remarks
Ebs
is a property of the BlockDeviceMapping property type.
After the instance is running, you can modify only the <code>DeleteOnTermination</code> parameters for the attached volumes without interrupting the instance. Modifying any other parameter results in instance <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">replacement</a> .
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;
var ebsProperty = new EbsProperty {
DeleteOnTermination = false,
Encrypted = false,
Iops = 123,
KmsKeyId = "kmsKeyId",
SnapshotId = "snapshotId",
VolumeSize = 123,
VolumeType = "volumeType"
};
Synopsis
Properties
DeleteOnTermination | Indicates whether the EBS volume is deleted on instance termination. |
Encrypted | Indicates whether the volume should be encrypted. |
Iops | The number of I/O operations per second (IOPS). |
KmsKeyId | The identifier of the AWS KMS key to use for Amazon EBS encryption. |
SnapshotId | The ID of the snapshot. |
VolumeSize | The size of the volume, in GiBs. |
VolumeType | The volume type. |
Properties
DeleteOnTermination
Indicates whether the EBS volume is deleted on instance termination.
virtual object DeleteOnTermination { get; }
Property Value
System.Object
Remarks
For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide .
Encrypted
Indicates whether the volume should be encrypted.
virtual object Encrypted { get; }
Property Value
System.Object
Remarks
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 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 .
After the instance is running, modifying this parameter results in instance replacement .
Iops
The number of I/O operations per second (IOPS).
virtual Nullable<double> Iops { get; }
Property Value
System.Nullable<System.Double>
Remarks
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:
For io1
and io2
volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System . Other instance families guarantee 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.
After the instance is running, modifying this parameter results in instance <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">replacement</a> .
KmsKeyId
The identifier of the AWS KMS key to use for Amazon EBS encryption.
virtual string KmsKeyId { get; }
Property Value
System.String
Remarks
If KmsKeyId
is specified, the encrypted state must be true
. If the encrypted state is true
but you do not specify KmsKeyId
, your KMS key for EBS is used.
You can specify the KMS key using any of the following:
After the instance is running, modifying this parameter results in instance <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">replacement</a> .
SnapshotId
The ID of the snapshot.
virtual string SnapshotId { get; }
Property Value
System.String
Remarks
If you specify both SnapshotId
and VolumeSize
, VolumeSize
must be equal or greater than the size of the snapshot.
After the instance is running, modifying this parameter results in instance replacement .
VolumeSize
The size of the volume, in GiBs.
virtual Nullable<double> VolumeSize { get; }
Property Value
System.Nullable<System.Double>
Remarks
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:
After the instance is running, modifying this parameter results in instance <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">replacement</a> .
VolumeType
The volume type.
virtual string VolumeType { get; }
Property Value
System.String
Remarks
For more information, see Amazon EBS volume types in the Amazon EC2 User Guide . If the volume type is io1
or io2
, you must specify the IOPS that the volume supports.
After the instance is running, modifying this parameter results in instance replacement .