Sha256: 4eb39fdb4844e2ced12b6c27674dcdf406ad20d9e9c34263a60be9561d76f1e5

Contents?: true

Size: 801 Bytes

Versions: 4

Compression:

Stored size: 801 Bytes

Contents

module Infoblox
  class Range < Resource
    remote_attr_accessor :end_addr, 
                         :extattrs,
                         :extensible_attributes,
                         :network_view, 
                         :start_addr

    wapi_object "range"
    
    ## 
    # Invoke the same-named function on the range resource in WAPI, 
    # returning an array of available IP addresses. 
    # You may optionally specify how many IPs you want (num) and which ones to 
    # exclude from consideration (array of IPv4 address strings).
    #
    def next_available_ip(num=1, exclude=[])
      post_body = {
        num:     num.to_i,
        exclude: exclude
      }
      JSON.parse(connection.post(resource_uri + "?_function=next_available_ip", post_body).body)["ips"]
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
infoblox-0.3.3 lib/infoblox/resource/range.rb
infoblox-0.3.2 lib/infoblox/resource/range.rb
infoblox-0.3.1 lib/infoblox/resource/range.rb
infoblox-0.3.0 lib/infoblox/resource/range.rb