Class: Fog::Compute::AWS::Addresses
- Inherits:
-
Fog::Collection
- Object
- Array
- Fog::Collection
- Fog::Compute::AWS::Addresses
- Defined in:
- lib/fog/compute/models/aws/addresses.rb
Instance Attribute Summary
Attributes inherited from Fog::Collection
Instance Method Summary collapse
-
#all(filters = filters) ⇒ Object
AWS.addresses.all.
-
#get(public_ip) ⇒ Object
Used to retreive an IP address.
-
#initialize(attributes) ⇒ Addresses
constructor
Used to create an IP address.
- #new(attributes = {}) ⇒ Object
Methods inherited from Fog::Collection
#clear, #create, #inspect, #load, model, #model, #reload, #table, #to_json
Methods included from Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
Methods included from Attributes::InstanceMethods
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires
Constructor Details
#initialize(attributes) ⇒ Addresses
Used to create an IP address
Returns
>> AWS.addresses.create
<Fog::AWS::Compute::Address
public_ip="4.88.524.95",
server_id=nil
>
The IP address can be retreived by running AWS.addresses.get(“test”). See get method below.
28 29 30 31 |
# File 'lib/fog/compute/models/aws/addresses.rb', line 28 def initialize(attributes) self.filters ||= {} super end |
Instance Method Details
#all(filters = filters) ⇒ Object
AWS.addresses.all
Returns
Returns an array of all IP addresses
>> AWS.addresses.all
<Fog::AWS::Compute::Addresses
filters={},
server=nil
[
<Fog::AWS::Compute::Address
public_ip="76.7.46.54",
server_id=nil
>,
.......
<Fog::AWS::Compute::Address
public_ip="4.88.524.95",
server_id=nil
>
]
>
>>
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/fog/compute/models/aws/addresses.rb', line 57 def all(filters = filters) unless filters.is_a?(Hash) Formatador.display_line("[yellow][WARN] all with #{filters.class} param is deprecated, use all('public-ip' => []) instead[/] [light_black](#{caller.first})[/]") filters = {'public-ip' => [*filters]} end self.filters = filters data = connection.describe_addresses(filters).body load( data['addressesSet'].map do |address| address.reject {|key, value| value.nil? || value.empty? } end ) if server self.replace(self.select {|address| address.server_id == server.id}) end self end |
#get(public_ip) ⇒ Object
Used to retreive an IP address
public_ip is required to get the associated IP information.
You can run the following command to get the details: AWS.addresses.get(“76.7.46.54”)
82 83 84 85 86 |
# File 'lib/fog/compute/models/aws/addresses.rb', line 82 def get(public_ip) if public_ip self.class.new(:connection => connection).all('public-ip' => public_ip).first end end |
#new(attributes = {}) ⇒ Object
88 89 90 91 92 93 94 |
# File 'lib/fog/compute/models/aws/addresses.rb', line 88 def new(attributes = {}) if server super({ :server => server }.merge!(attributes)) else super(attributes) end end |