infoblox 0.2.8 → 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -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=