Class: Otc::ECS
- Inherits:
-
Hashie::Mash
- Object
- Hashie::Mash
- Otc::ECS
- Defined in:
- lib/otc/ecs.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.query_all(name: nil) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/otc/ecs.rb', line 6 def query_all(name: nil) response = Request.get service: "ecs", path: "/v2/#{Configuration.project!}/servers/detail?name=#{name}" JSON.parse(response.body)["servers"].map do |server| ECS.new(server) end end |
.query_one(name: nil) ⇒ Object
13 14 15 |
# File 'lib/otc/ecs.rb', line 13 def query_one(name: nil) query_all(name: name).first end |
Instance Method Details
#public_ip ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/otc/ecs.rb', line 18 def public_ip @_public_ip ||= begin private_addresses = self.addresses.values.flatten.map { |val| val["addr"] } eip = EIP.query_all.select { |ip| private_addresses.include?(ip.private_ip_address) }.first if eip eip.public_ip_address end end end |