Module: Hyperb::Volumes

Includes:
Utils
Included in:
API
Defined in:
lib/hyperb/volumes/volumes.rb

Overview

volumes module

Instance Method Summary collapse

Methods included from Utils

#check_arguments, #downcase_symbolize

Instance Method Details

#inspect_volume(params = {}) ⇒ Hash

inspect a volume

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Options Hash (params):

  • :id (String)

    volume id or name

Returns:

  • (Hash)

    of downcase symbolized json response.

Raises:

See Also:



61
62
63
64
65
# File 'lib/hyperb/volumes/volumes.rb', line 61

def inspect_volume(params = {})
  raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id')
  path = '/volumes/' + params[:id]
  downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, {}, 'get').perform))
end

#remove_volume(params = {}) ⇒ Object

remove volume

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Options Hash (params):

  • :id (String)

    volume id or name

  • :all (String)

    default is true

  • :filter (String)

    only return image with the specified name

Raises:

See Also:



45
46
47
48
49
# File 'lib/hyperb/volumes/volumes.rb', line 45

def remove_volume(params = {})
  raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'id')
  path = '/volumes/' + params[:id]
  Hyperb::Request.new(self, path, {}, 'delete').perform
end

#volumes(params = {}) ⇒ Hyperb::Volume

list volumes

TODO: @option params [String] :filters JSON encoded value of the filters TODO: @option params filters [Boolean] :dangling

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Returns:

Raises:

See Also:



24
25
26
27
28
29
30
31
32
33
# File 'lib/hyperb/volumes/volumes.rb', line 24

def volumes(params = {})
  path = '/volumes'
  query = {}
  query[:filters] = params[:filters] if params.key?(:filters)
  response = JSON.parse(Hyperb::Request.new(self, path, query, 'get').perform)

  # hyper response atm comes inside a Volumes: [], unlike the images API
  # which is returned in a []
  response['Volumes'].map { |vol| Hyperb::Volume.new(vol) }
end