Class: NiftycloudRestfulReadApi::NiftyCloud::Computing

Inherits:
Object
  • Object
show all
Defined in:
lib/niftycloud-restful-read-api.rb

Constant Summary collapse

VERSION =
'1.18'

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Computing

Returns a new instance of Computing.



26
27
28
29
30
31
32
33
# File 'lib/niftycloud-restful-read-api.rb', line 26

def initialize(options)
  @api = NIFTY::Cloud::Base.new(
    :access_key => options[:access_key_id],
    :secret_key => options[:secret_access_key],
    :server => "#{options[:region]}.cp.cloud.nifty.com",
    :path => '/api'
  )
end

Instance Method Details

#addressesObject



87
88
89
90
# File 'lib/niftycloud-restful-read-api.rb', line 87

def addresses
  response = @api.send(:response_generator, 'Action' => 'DescribeAddresses')
  response.addressesSet.item.to_a rescue []
end

#imagesObject



67
68
69
70
# File 'lib/niftycloud-restful-read-api.rb', line 67

def images
  response = @api.describe_images
  response.imagesSet.item.to_a rescue []
end

#instancesObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/niftycloud-restful-read-api.rb', line 40

def instances
  response = @api.describe_instances
  
  return [] if response.reservationSet.nil?
  
  items = response.reservationSet.item
  instances = items.map do |item|
    security_groups = item.groupSet.item.flatten.map {|item| item.groupId }
    instances = item.instancesSet.item.to_a
    instances.each do |instance|
      instance['securityGroups'] = security_groups
    end
    instances
  end
  instances.flatten
end

#key_pairsObject



62
63
64
65
# File 'lib/niftycloud-restful-read-api.rb', line 62

def key_pairs
  response = @api.describe_key_pairs
  response.keySet.item.to_a rescue []
end

#load_balancersObject



72
73
74
75
# File 'lib/niftycloud-restful-read-api.rb', line 72

def load_balancers
  response = @api.describe_load_balancers
  response.DescribeLoadBalancersResult.LoadBalancerDescriptions.member.to_a rescue []
end

#regionsObject



35
36
37
38
# File 'lib/niftycloud-restful-read-api.rb', line 35

def regions
  response = @api.send(:response_generator, 'Action' => 'DescribeRegions')
  response.regionInfo.item.to_a rescue []
end

#security_groupsObject



77
78
79
80
# File 'lib/niftycloud-restful-read-api.rb', line 77

def security_groups
  response = @api.describe_security_groups
  response.securityGroupInfo.item.to_a rescue []
end

#ssl_certificatesObject



82
83
84
85
# File 'lib/niftycloud-restful-read-api.rb', line 82

def ssl_certificates
  response = @api.describe_ssl_certificates
  response.certsSet.item.to_a rescue []
end

#volumesObject



57
58
59
60
# File 'lib/niftycloud-restful-read-api.rb', line 57

def volumes
  response = @api.describe_volumes
  response.volumeSet.item.to_a rescue []
end