infoblox 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,29 @@
1
1
  module Infoblox
2
2
  class Host < Resource
3
- remote_attr_accessor :ipv4addrs, :name, :configure_for_dns,
3
+ remote_attr_accessor :ipv4addrs, :name, :configure_for_dns, :aliases,
4
4
  :extensible_attributes, :view
5
5
 
6
6
  wapi_object "record:host"
7
7
 
8
+ ##
9
+ # The more robust way to add IP addresses to your host record,
10
+ # allowing you to set all the attributes.
11
+ #
12
+ # Example:
13
+ #
14
+ # host.ipv4addrs=[{:ipv4addr => '10.10.10.10', :mac => '0x0x0x0x0x0x0x'}]
15
+ #
8
16
  def ipv4addrs=(attrs=[])
9
17
  attrs.each do |att|
10
18
  ipv4addrs << HostIpv4addr.new(att)
11
19
  end
12
20
  end
13
21
 
22
+ ##
23
+ # Add an IP address to this host. Only allows setting the ipv4addr field
24
+ # of the remote HostIpv4Addr record. If you need to set other fields,
25
+ # such as mac or configure_for_dns, use #ipv4addrs=
26
+ #
14
27
  def add_ipv4addr(address)
15
28
  ipv4addrs << HostIpv4addr.new(:ipv4addr => address)
16
29
  end
@@ -21,7 +34,9 @@ module Infoblox
21
34
 
22
35
  def remote_attribute_hash(write=false, post=false)
23
36
  super.tap do |hsh|
24
- hsh[:ipv4addrs] = ipv4addrs.map{|i| {:ipv4addr => i.ipv4addr}}
37
+ hsh[:ipv4addrs] = ipv4addrs.map do |i|
38
+ i.remote_attribute_hash(write, post).delete_if{|k,v| v.nil? }
39
+ end
25
40
  end
26
41
  end
27
42
  end
@@ -1,3 +1,3 @@
1
1
  module Infoblox
2
- VERSION = "0.2.8"
2
+ VERSION = "0.2.9"
3
3
  end
data/spec/host_spec.rb CHANGED
@@ -14,7 +14,8 @@ describe Infoblox::Host, "#add_ipv4addr" do
14
14
  uri = Infoblox::BASE_PATH + Infoblox::Host.wapi_object
15
15
 
16
16
  allow(conn).to receive(:post).with(uri, {
17
- :ipv4addrs => [{:ipv4addr => "10.10.10.10"}],
17
+ :ipv4addrs => [{:ipv4addr => "10.10.10.10"},
18
+ {:ipv4addr => "192.168.1.1", :mac => "109coic0932j3n0293urf"}],
18
19
  :name => "test-server.test.ing",
19
20
  :configure_for_dns => nil,
20
21
  :extensible_attributes => nil,
@@ -22,6 +23,7 @@ describe Infoblox::Host, "#add_ipv4addr" do
22
23
 
23
24
  h = Infoblox::Host.new(:connection => conn)
24
25
  h.add_ipv4addr("10.10.10.10")
26
+ h.ipv4addrs=([{:ipv4addr => "192.168.1.1", :mac => "109coic0932j3n0293urf"}])
25
27
  h.name = "test-server.test.ing"
26
28
  h.post
27
29
  h._ref.should eq("hey")
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infoblox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Billy Reisinger
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-03-24 00:00:00.000000000 Z
12
+ date: 2014-03-28 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: faraday
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: faraday_middleware
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: bundler
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rake
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ! '>='
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ! '>='
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: pry
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ! '>='
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ! '>='
95
108
  - !ruby/object:Gem::Version
@@ -131,26 +144,33 @@ files:
131
144
  homepage: https://github.com/govdelivery/infoblox
132
145
  licenses:
133
146
  - MIT
134
- metadata: {}
135
147
  post_install_message:
136
148
  rdoc_options: []
137
149
  require_paths:
138
150
  - lib
139
151
  required_ruby_version: !ruby/object:Gem::Requirement
152
+ none: false
140
153
  requirements:
141
154
  - - ! '>='
142
155
  - !ruby/object:Gem::Version
143
156
  version: '0'
157
+ segments:
158
+ - 0
159
+ hash: -1733464372466804937
144
160
  required_rubygems_version: !ruby/object:Gem::Requirement
161
+ none: false
145
162
  requirements:
146
163
  - - ! '>='
147
164
  - !ruby/object:Gem::Version
148
165
  version: '0'
166
+ segments:
167
+ - 0
168
+ hash: -1733464372466804937
149
169
  requirements: []
150
170
  rubyforge_project:
151
- rubygems_version: 2.2.2
171
+ rubygems_version: 1.8.24
152
172
  signing_key:
153
- specification_version: 4
173
+ specification_version: 3
154
174
  summary: This gem is a Ruby interface to the Infoblox WAPI. Using the gem, you can
155
175
  query, create, update, and delete DNS records in your Infoblox instance.
156
176
  test_files:
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- Y2U0M2JjNjkxZDFkZTJlM2MxYzgwMmFjNDhhOGM2NmZmOWM0ZTg1Zg==
5
- data.tar.gz: !binary |-
6
- ZGE0ZWMzNGZiNmMwNzhiNjQ2MjZlZGVkMGYxMzgzY2JhMTM2MzBlZA==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- OWZkOTc3YzIwYjdjMzViOTI1ODMzNmIxZTU3N2VkYTNlOWI5ZjQyNjliYjM5
10
- MjBkN2VmZmM2ZTM5NTU2NDdmYzkyZTI5NDNiYjUwMGRiZmQyMWJiNDRmNzU4
11
- MDRjMjVmMDY2NDQ0N2M2MTdkM2ZjMDc1OTM1ZDc5YmUxZTFmOTU=
12
- data.tar.gz: !binary |-
13
- MjJiZDgyZWM3NTk2MGJlODZkYmUzYTljN2U1ZTBiMzE4NWZhNzk3Njg1N2Iy
14
- YmQ3ZWM5YWMwNzAwMDkwZDcyODg4ODI5ODE2Y2QyYTE3OTIyZDRmNWJkZGFm
15
- MmZhYTJjMTU5MjMwYmNkMzNiOTliZjM2ZjcwODQ5NGIzOTM1OTU=