class Fog::Storage::IBM::Real
Public Class Methods
# File lib/fog/ibm/storage.rb, line 26 def initialize(options={}) @connection = Fog::IBM::Connection.new(options[:ibm_username], options[:ibm_password]) end
Public Instance Methods
Requests a new Storage
Volume
be created.
Parameters¶ ↑
-
name<~String> - The alias to use to referance storage volume
-
offeringID<~String> - offering id can be requested from /computecloud/enterprise/api/rest/20100331/offerings/storage
-
format<~String> - filesystem format for volume
-
location<~String> - datacenter location for volume
-
size<~String> - size of volume desired (Small, Medium, Large) (varies by location what size actually is)
-
storageAreaID<~String> - (not supported yet)
Returns¶ ↑
-
response<~Excon::Response>:
-
body<~Hash>:
-
name<~String> - The alias to use to referance storage volume
-
format<~String> - filesystem format for storage
-
location<~String> - datacenter location for storage
-
createdTime<~Integer> - Epoch time of creation
-
size<~String> - size of storage desired (Small, Medium, Large) (varies by location what size actually is)
-
productCodes<~Array> -
-
offeringID<~String> - offering id can be requested from /computecloud/enterprise/api/rest/20100331/offerings/storage
-
id<~String> - id of new storage
-
owner<~String> - owner of new storage
-
state<~Integer> - state of newly requested storage
-
-
# File lib/fog/ibm/requests/storage/create_volume.rb, line 28 def create_volume(name, offering_id, format, location_id, size) request( :method => 'POST', :expects => 200, :path => '/storage', :body => { 'name' => name, 'offeringID' => offering_id, 'format' => format, 'location' => location_id, 'size' => size } ) end
Deletes the storage that the authenticated user manages with the specified :storage_id
Parameters¶ ↑
-
volume_id<~String> - Id of storage volume
Returns¶ ↑
-
response<~Excon::Response>:
-
body<~Hash>: *'success'<~Bool>: true or false for success
-
# File lib/fog/ibm/requests/storage/delete_volume.rb, line 14 def delete_volume(volume_id) request( :method => 'DELETE', :expects => 200, :path => "/storage/#{volume_id}" ) end
Used to retrieve the specified storage volume for specified volume_id
Parameters¶ ↑
-
volume_id<~String> - Id of storage volume
Returns¶ ↑
-
response<~Excon::Response>:
-
body<~Hash>:
-
# File lib/fog/ibm/requests/storage/get_volume.rb, line 13 def get_volume(volume_id) request( :method => 'GET', :expects => 200, :path => "/storage/#{volume_id}" ) end
Returns the offerings of storage for the authenticated user
Parameters¶ ↑
No parameters
Returns¶ ↑
-
response<~Excon::Response>:
-
body<~Hash>:
-
'volumes'<~Array>: list of images
-
'name'<~String>: Name of storage offering
-
'price'<~Hash>: hash containing pricing information
-
'pricePerQuantity'<~Integer>:
-
'effectiveDate'<~Integer>: starting date price is effective
-
'rate'<~Float>: rate per unit
-
'countryCode'<~String>:
-
'currencyCode'<~String>: currency used
-
-
'location'<~String>: datacenter location string
-
'id'<~String>: id of offering
-
'formats'<~Array>: filesystem format storage offered with
-
'label'<~String>: label for filesystem
-
'id'<~String>: string used for id of format
-
-
'capacity'<~Integer>: size in GB's
-
-
-
# File lib/fog/ibm/requests/storage/list_offerings.rb, line 27 def list_offerings request( :method => 'GET', :expects => 200, :path => '/offerings/storage' ) end
Returns the list of storage volumes
Parameters¶ ↑
No parameters
Returns¶ ↑
-
response<~Excon::Response>:
-
body<~Hash>:
-
'volumes'<~Array>: list of images
-
'name'<~String>: Name of image
-
'format'<~String>: filesystem volume is formatted with
-
'location'<~String>: datacenter location string
-
'createdTime'<~Integer>: creation time in Epoch int
-
'size'<~String>: size in GB's (as a string)
-
'productCodes'<~Array>: unsure..
-
'offeringId'<~String>:
-
'id'<~String>: volume id
-
'owner'<~String>: owner's email address
-
'state'<~Integer>: known so far: 4 provisioned, unattached; 5 provisioned, attached
-
-
-
# File lib/fog/ibm/requests/storage/list_volumes.rb, line 24 def list_volumes request( :method => 'GET', :expects => 200, :path => '/storage' ) end
Private Instance Methods
# File lib/fog/ibm/storage.rb, line 32 def request(options) begin @connection.request(options) rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Storage::IBM::NotFound.slurp(error) else error end end end