Sha256: 277892cc23c77a2dd0c0a7186e36febb265a2bb0393ee8854c1a36660b4295ae
Contents?: true
Size: 1.51 KB
Versions: 4
Compression:
Stored size: 1.51 KB
Contents
module Fog module AWS class EC2 def addresses(attributes = {}) Fog::AWS::EC2::Addresses.new({ :connection => self }.merge!(attributes)) end class Addresses < Fog::Collection attribute :public_ip attribute :instance def initialize(attributes) @public_ip ||= [] super end def all(public_ip = []) data = connection.describe_addresses(public_ip).body addresses = Fog::AWS::EC2::Addresses.new({ :connection => connection, :public_ip => public_ip }.merge!(attributes)) data['addressesSet'].each do |address| addresses << Fog::AWS::EC2::Address.new({ :addresses => addresses, :connection => connection }.merge!(address)) end if instance addresses = addresses.select {|address| address.instance_id == instance.id} end addresses end def create address = new address.save address end def get(public_ip) if public_ip all(public_ip).first end rescue Fog::Errors::BadRequest nil end def new Fog::AWS::EC2::Address.new( :addresses => self, :connection => connection, :instance => instance ) end def reload all(public_ip) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems