Copyright | (c) 2013-2015 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes with the Encrypted
parameter.
Encrypted volumes may only be attached to instances that support Amazon
EBS encryption. Volumes that are created from encrypted snapshots are
also automatically encrypted. For more information, see
Amazon EBS Encryption
in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating or Restoring an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
See: AWS API Reference for CreateVolume.
- createVolume :: Text -> CreateVolume
- data CreateVolume
- creSize :: Lens' CreateVolume (Maybe Int)
- creIOPS :: Lens' CreateVolume (Maybe Int)
- creEncrypted :: Lens' CreateVolume (Maybe Bool)
- creKMSKeyId :: Lens' CreateVolume (Maybe Text)
- creVolumeType :: Lens' CreateVolume (Maybe VolumeType)
- creDryRun :: Lens' CreateVolume (Maybe Bool)
- creSnapshotId :: Lens' CreateVolume (Maybe Text)
- creAvailabilityZone :: Lens' CreateVolume Text
- volume :: Text -> UTCTime -> Bool -> Int -> Text -> VolumeState -> Text -> VolumeType -> Volume
- data Volume
- vAttachments :: Lens' Volume [VolumeAttachment]
- vIOPS :: Lens' Volume (Maybe Int)
- vKMSKeyId :: Lens' Volume (Maybe Text)
- vTags :: Lens' Volume [Tag]
- vAvailabilityZone :: Lens' Volume Text
- vCreateTime :: Lens' Volume UTCTime
- vEncrypted :: Lens' Volume Bool
- vSize :: Lens' Volume Int
- vSnapshotId :: Lens' Volume Text
- vState :: Lens' Volume VolumeState
- vVolumeId :: Lens' Volume Text
- vVolumeType :: Lens' Volume VolumeType
Creating a Request
Creates a value of CreateVolume
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
data CreateVolume Source
See: createVolume
smart constructor.
Request Lenses
creSize :: Lens' CreateVolume (Maybe Int) Source
The size of the volume, in GiBs.
Constraints: '1-1024' for standard
volumes, '1-16384' for gp2
volumes, and '4-16384' for io1
volumes. If you specify a snapshot, the
volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
creIOPS :: Lens' CreateVolume (Maybe Int) Source
Only valid for Provisioned IOPS (SSD) volumes. The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 30 IOPS/GiB.
Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes
creEncrypted :: Lens' CreateVolume (Maybe Bool) Source
Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch it on supported instance types. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
creKMSKeyId :: Lens' CreateVolume (Maybe Text) Source
The full ARN of the AWS Key Management Service (AWS KMS) customer master
key (CMK) to use when creating the encrypted volume. This parameter is
only required if you want to use a non-default CMK; if this parameter is
not specified, the default CMK for EBS is used. The ARN contains the
'arn:aws:kms' namespace, followed by the region of the CMK, the AWS
account ID of the CMK owner, the key
namespace, and then the CMK ID.
For example,
arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
If a KmsKeyId
is specified, the Encrypted
flag must also be set.
creVolumeType :: Lens' CreateVolume (Maybe VolumeType) Source
The volume type. This can be gp2
for General Purpose (SSD) volumes,
io1
for Provisioned IOPS (SSD) volumes, or standard
for Magnetic
volumes.
Default: standard
creDryRun :: Lens' CreateVolume (Maybe Bool) Source
Checks whether you have the required permissions for the action, without
actually making the request, and provides an error response. If you have
the required permissions, the error response is DryRunOperation
.
Otherwise, it is UnauthorizedOperation
.
creSnapshotId :: Lens' CreateVolume (Maybe Text) Source
The snapshot from which to create the volume.
creAvailabilityZone :: Lens' CreateVolume Text Source
The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.
Destructuring the Response
:: Text | |
-> UTCTime | |
-> Bool | |
-> Int | |
-> Text | |
-> VolumeState | |
-> Text | |
-> VolumeType | |
-> Volume |
Creates a value of Volume
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
Describes a volume.
See: volume
smart constructor.
Response Lenses
vAttachments :: Lens' Volume [VolumeAttachment] Source
Information about the volume attachments.
vIOPS :: Lens' Volume (Maybe Int) Source
The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS (SSD) volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose (SSD) volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information on General Purpose (SSD) baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create standard
or gp2
volumes.
vKMSKeyId :: Lens' Volume (Maybe Text) Source
The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.
vAvailabilityZone :: Lens' Volume Text Source
The Availability Zone for the volume.
vCreateTime :: Lens' Volume UTCTime Source
The time stamp when volume creation was initiated.
vEncrypted :: Lens' Volume Bool Source
Indicates whether the volume will be encrypted.
vSnapshotId :: Lens' Volume Text Source
The snapshot from which the volume was created, if applicable.
vState :: Lens' Volume VolumeState Source
The volume state.
vVolumeType :: Lens' Volume VolumeType Source
The volume type. This can be gp2
for General Purpose (SSD) volumes,
io1
for Provisioned IOPS (SSD) volumes, or standard
for Magnetic
volumes.