Method: Fog::Compute::AWS::Real#create_volume

Defined in:
lib/fog/aws/requests/compute/create_volume.rb

#create_volume(availability_zone, size, options = {}) ⇒ Object

Create an EBS volume

Parameters

  • availability_zone<~String> - availability zone to create volume in

  • size<~Integer> - Size in GiBs for volume. Must be between 1 and 1024.

  • options<~Hash>

    • ‘SnapshotId’<~String> - Optional, snapshot to create volume from

    • ‘VolumeType’<~String> - Optional, volume type. standard or io1, default is standard.

    • ‘Iops’<~Integer> - Number of IOPS the volume supports. Required if VolumeType is io1, must be between 1 and 1000.

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

      • ‘availabilityZone’<~String> - Availability zone for volume

      • ‘createTime’<~Time> - Timestamp for creation

      • ‘size’<~Integer> - Size in GiBs for volume

      • ‘snapshotId’<~String> - Snapshot volume was created from, if any

      • ‘status’s<~String> - State of volume

      • ‘volumeId’<~String> - Reference to volume

      • ‘volumeType’<~String> - Type of volume

      • ‘iops’<~Integer> - Number of IOPS the volume supports

Amazon API Reference


31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/fog/aws/requests/compute/create_volume.rb', line 31

def create_volume(availability_zone, size, options = {})
  unless options.is_a?(Hash)
    Fog::Logger.deprecation("create_volume with a bare snapshot_id is deprecated, use create_volume(availability_zone, size, 'SnapshotId' => snapshot_id) instead [light_black](#{caller.first})[/]")
    options = { 'SnapshotId' => options }
  end

  request({
    'Action'            => 'CreateVolume',
    'AvailabilityZone'  => availability_zone,
    'Size'              => size,
    :parser             => Fog::Parsers::Compute::AWS::CreateVolume.new
  }.merge(options))
end