Class: Infoblox::Host

Inherits:
Resource show all
Defined in:
lib/infoblox/resource/host.rb

Instance Attribute Summary

Attributes inherited from Resource

#_ref, #connection

Instance Method Summary collapse

Methods inherited from Resource

_return_fields, all, default_params, #delete, find, #get, #initialize, #post, #put, remote_attr_accessor, remote_attr_reader, remote_attr_writer, remote_attrs, remote_post_accessor, remote_post_attrs, remote_read_only_attrs, remote_write_only_attrs, resource_map, resource_uri, #resource_uri, wapi_object

Constructor Details

This class inherits a constructor from Infoblox::Resource

Instance Method Details

#add_ipv4addr(address) ⇒ Object

Add an IP address to this host. Only allows setting the ipv4addr field of the remote HostIpv4Addr record. If you need to set other fields, such as mac or configure_for_dns, use #ipv4addrs=



36
37
38
# File 'lib/infoblox/resource/host.rb', line 36

def add_ipv4addr(address)
  ipv4addrs << HostIpv4addr.new(:ipv4addr => address)
end

#ipv4addrsObject



40
41
42
# File 'lib/infoblox/resource/host.rb', line 40

def ipv4addrs
  @ipv4addrs ||= []
end

#ipv4addrs=(attrs = []) ⇒ Object

The more robust way to add IP addresses to your host record, allowing you to set all the attributes.

Example:

host.ipv4addrs=[{:ipv4addr => '10.10.10.10', :mac => '0x0x0x0x0x0x0x'}]


25
26
27
28
29
# File 'lib/infoblox/resource/host.rb', line 25

def ipv4addrs=(attrs=[])
  attrs.each do |att|
    ipv4addrs << HostIpv4addr.new(att)
  end
end

#remote_attribute_hash(write = false, post = false) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/infoblox/resource/host.rb', line 44

def remote_attribute_hash(write=false, post=false)
  super.tap do |hsh|
    hsh[:ipv4addrs] = ipv4addrs.map do |i|
      i.remote_attribute_hash(write, post).delete_if{|k,v| v.nil? }
    end
  end
end