Class: Chef::Knife::Cloud::OpenstackVolumeList

Inherits:
ResourceListCommand
  • Object
show all
Includes:
OpenstackHelpers, OpenstackServiceOptions
Defined in:
lib/chef/knife/openstack_volume_list.rb

Instance Method Summary collapse

Methods included from OpenstackServiceOptions

included

Methods included from OpenstackHelpers

#create_service_instance, #instance_addresses, #primary_network_ip_address, #primary_private_ip_address, #primary_public_ip_address, #validate!

Instance Method Details

#list(volumes) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/chef/knife/openstack_volume_list.rb', line 44

def list(volumes)
  volume_list = [
    ui.color("Name", :bold),
    ui.color("ID", :bold),
    ui.color("Status", :bold),
    ui.color("Size", :bold),
    ui.color("Description", :bold),
  ]
  begin
    volumes.sort_by(&:name).each do |volume|
      volume_list << volume.name
      volume_list << volume.id.to_s
      volume_list << volume.status
      volume_list << "#{volume.size} GB"
      volume_list << volume.description
    end
  rescue Excon::Errors::BadRequest => e
    response = Chef::JSONCompat.from_json(e.response.body)
    ui.fatal("Unknown server error (#{response["badRequest"]["code"]}): #{response["badRequest"]["message"]}")
    raise e
  end
  puts ui.list(volume_list, :uneven_columns_across, 5)
end

#query_resourceObject



36
37
38
39
40
41
42
# File 'lib/chef/knife/openstack_volume_list.rb', line 36

def query_resource
  @service.connection.volumes.all({})
rescue Excon::Errors::BadRequest => e
  response = Chef::JSONCompat.from_json(e.response.body)
  ui.fatal("Unknown server error (#{response["badRequest"]["code"]}): #{response["badRequest"]["message"]}")
  raise e
end