netbox-client-ruby 0.7.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9075ab76145ae776124b677d6f9fe153814c935f59f65d6cef91bb7b109142ba
4
- data.tar.gz: 7b997c7871a522f8a4d7c0646ca1bbbccda499015993fbf697b2bacaa3cf3a1a
3
+ metadata.gz: 7cc8d383718b668854ea67169e97cfcc91a2a2b44f61fc03a9a169ec9af3484a
4
+ data.tar.gz: 5974995a14be30b0245f6653aaa1d58c310ba05d634e094522533d6bf344d64d
5
5
  SHA512:
6
- metadata.gz: 8a511e9b441dfd386dd84745082e29cda53ff3e15c5028339634e79629a8876b28940264be490e53a49a8b21ac4e9cfef4a9fa0b1acc076bdc9f659fb131227c
7
- data.tar.gz: ca9f3347ff273b877639194adbff12dbad0a6f8962e93e490ae47dfafd27362569e731e5c61c6f1b7e393b32fe394758cb7cd5768f28efd2e1fc058c9dcfedac
6
+ metadata.gz: 2dc728a2320243c24729809d73acc581f78cabc7aab52afb2037e7716c4726a1d2faa30e87c463369fd0b837f32013631cbc1cce0503f7e68d70e3457f5dcb78
7
+ data.tar.gz: e21e87d7a1dc35cbd572ff05ac2bd18820b9fa10537f2c53bd7502b2f8e90f94d95cdeddf77cc0dbb53ee67764f55cdc208a52ef760a1aba9aced81061cd0fae
@@ -13,7 +13,7 @@ jobs:
13
13
  - uses: actions/checkout@v2
14
14
  - uses: ruby/setup-ruby@v1
15
15
  with:
16
- ruby-version: 2.6
16
+ ruby-version: 3.2
17
17
  - name: Publish to RubyGems
18
18
  run: |
19
19
  mkdir -p $HOME/.gem
@@ -14,7 +14,8 @@ jobs:
14
14
  fail-fast: false
15
15
  matrix:
16
16
  os: [ubuntu-latest]
17
- ruby: [2.6, 2.7, 3.0]
17
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
18
+ ruby: ["2.7", "3.0"]
18
19
  runs-on: ${{ matrix.os }}
19
20
  steps:
20
21
  - uses: actions/checkout@v2
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- ARG RUBY_VERSION=2.3.4
1
+ ARG RUBY_VERSION=3.2.2
2
2
  FROM ruby:${RUBY_VERSION}-alpine
3
3
 
4
4
  RUN apk add --no-cache git openssl-dev build-base
data/README.md CHANGED
@@ -173,6 +173,7 @@ Not all objects which the Netbox API exposes are currently implemented. Implemen
173
173
  * Prefixes: `NetboxClientRuby.ipam.prefixes`
174
174
  * RIRs: `NetboxClientRuby.ipam.rirs`
175
175
  * Roles: `NetboxClientRuby.ipam.roles`
176
+ * Services: `NetboxClientRuby.ipam.services`
176
177
  * VLANs: `NetboxClientRuby.ipam.vlans`
177
178
  * VLAN Groups: `NetboxClientRuby.ipam.vlan_groups`
178
179
  * VRFs: `NetboxClientRuby.ipam.vrfs`
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.1
1
+ 0.9.0
@@ -4,13 +4,13 @@ services:
4
4
  build:
5
5
  context: .
6
6
  args:
7
- RUBY_VERSION: 2.3.4
8
- image: netbox-client-ruby:2.3.4
7
+ RUBY_VERSION: 3.2.2
8
+ image: netbox-client-ruby:3.2.2
9
9
  command: 'docker/start.test.sh'
10
- app24:
10
+ app27:
11
11
  build:
12
12
  context: .
13
13
  args:
14
- RUBY_VERSION: 2.4.1
15
- image: netbox-client-ruby:2.4.1
14
+ RUBY_VERSION: 2.7.8
15
+ image: netbox-client-ruby:2.7.8
16
16
  command: 'docker/start.test.sh'
data/dump.sql CHANGED
@@ -5187,6 +5187,7 @@ COPY public.ipam_role (id, name, slug, weight, created, last_updated) FROM stdin
5187
5187
  --
5188
5188
 
5189
5189
  COPY public.ipam_service (id, created, last_updated, name, protocol, port, description, device_id, virtual_machine_id) FROM stdin;
5190
+ 1 2023-04-23 2023-04-23 15:44:58.595982+00 Service 0 6 443 This is Description \N 1
5190
5191
  \.
5191
5192
 
5192
5193
 
@@ -5195,6 +5196,7 @@ COPY public.ipam_service (id, created, last_updated, name, protocol, port, descr
5195
5196
  --
5196
5197
 
5197
5198
  COPY public.ipam_service_ipaddresses (id, service_id, ipaddress_id) FROM stdin;
5199
+ 1 1 4
5198
5200
  \.
5199
5201
 
5200
5202
 
@@ -5326,6 +5328,7 @@ COPY public.taggit_taggeditem (id, object_id, content_type_id, tag_id) FROM stdi
5326
5328
  32 1 9 4
5327
5329
  33 1 11 5
5328
5330
  34 8 17 9
5331
+ 35 1 47 5
5329
5332
  \.
5330
5333
 
5331
5334
 
@@ -5774,7 +5777,7 @@ SELECT pg_catalog.setval('public.extras_imageattachment_id_seq', 1, false);
5774
5777
  -- Name: extras_objectchange_id_seq; Type: SEQUENCE SET; Schema: public; Owner: netbox
5775
5778
  --
5776
5779
 
5777
- SELECT pg_catalog.setval('public.extras_objectchange_id_seq', 318, true);
5780
+ SELECT pg_catalog.setval('public.extras_objectchange_id_seq', 319, true);
5778
5781
 
5779
5782
 
5780
5783
  --
@@ -5851,14 +5854,14 @@ SELECT pg_catalog.setval('public.ipam_role_id_seq', 1, true);
5851
5854
  -- Name: ipam_service_id_seq; Type: SEQUENCE SET; Schema: public; Owner: netbox
5852
5855
  --
5853
5856
 
5854
- SELECT pg_catalog.setval('public.ipam_service_id_seq', 1, false);
5857
+ SELECT pg_catalog.setval('public.ipam_service_id_seq', 1, true);
5855
5858
 
5856
5859
 
5857
5860
  --
5858
5861
  -- Name: ipam_service_ipaddresses_id_seq; Type: SEQUENCE SET; Schema: public; Owner: netbox
5859
5862
  --
5860
5863
 
5861
- SELECT pg_catalog.setval('public.ipam_service_ipaddresses_id_seq', 1, false);
5864
+ SELECT pg_catalog.setval('public.ipam_service_ipaddresses_id_seq', 1, true);
5862
5865
 
5863
5866
 
5864
5867
  --
@@ -5935,7 +5938,7 @@ SELECT pg_catalog.setval('public.taggit_tag_id_seq', 9, true);
5935
5938
  -- Name: taggit_taggeditem_id_seq; Type: SEQUENCE SET; Schema: public; Owner: netbox
5936
5939
  --
5937
5940
 
5938
- SELECT pg_catalog.setval('public.taggit_taggeditem_id_seq', 34, true);
5941
+ SELECT pg_catalog.setval('public.taggit_taggeditem_id_seq', 35, true);
5939
5942
 
5940
5943
 
5941
5944
  --
@@ -0,0 +1,31 @@
1
+ require 'netbox_client_ruby/entity'
2
+ require 'netbox_client_ruby/api/ipam/ip_address'
3
+
4
+ module NetboxClientRuby
5
+ module IPAM
6
+ class Service
7
+ include Entity
8
+
9
+ id id: :id
10
+ deletable true
11
+ path 'ipam/services/:id.json'
12
+ creation_path 'ipam/services/'
13
+ object_fields(
14
+ device: proc { |raw_data| Device.new raw_data['id'] },
15
+ virtual_machine: proc { |raw_data| VirtualMachine.new raw_data['id'] },
16
+ protocol: proc { |raw_data| ServiceProtocol.new raw_data },
17
+ ipaddresses: proc { |raw_data| IpAddress.new raw_data['id'] }
18
+ )
19
+ readonly_fields :display_name
20
+ end
21
+
22
+ class ServiceProtocol
23
+ attr_reader :value, :label
24
+
25
+ def initialize(raw_data)
26
+ @value = raw_data['value']
27
+ @label = raw_data['label']
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ require 'netbox_client_ruby/entities'
2
+ require 'netbox_client_ruby/api/ipam/service'
3
+
4
+ module NetboxClientRuby
5
+ module IPAM
6
+ class Services
7
+ include Entities
8
+
9
+ path 'ipam/services.json'
10
+ data_key 'results'
11
+ count_key 'count'
12
+ entity_creator :entity_creator
13
+
14
+ private
15
+
16
+ def entity_creator(raw_entity)
17
+ Service.new raw_entity['id']
18
+ end
19
+ end
20
+ end
21
+ end
@@ -10,8 +10,8 @@ require 'netbox_client_ruby/api/ipam/rir'
10
10
  require 'netbox_client_ruby/api/ipam/rirs'
11
11
  require 'netbox_client_ruby/api/ipam/role'
12
12
  require 'netbox_client_ruby/api/ipam/roles'
13
- # require 'netbox_client_ruby/api/ipam/service'
14
- # require 'netbox_client_ruby/api/ipam/services'
13
+ require 'netbox_client_ruby/api/ipam/service'
14
+ require 'netbox_client_ruby/api/ipam/services'
15
15
  require 'netbox_client_ruby/api/ipam/vlan_group'
16
16
  require 'netbox_client_ruby/api/ipam/vlan_groups'
17
17
  require 'netbox_client_ruby/api/ipam/vlan'
@@ -29,6 +29,7 @@ module NetboxClientRuby
29
29
  prefixes: Prefixes,
30
30
  rirs: Rirs,
31
31
  roles: Roles,
32
+ services: Services,
32
33
  vlans: Vlans,
33
34
  vlan_groups: VlanGroups,
34
35
  vrfs: Vrfs
@@ -44,6 +45,7 @@ module NetboxClientRuby
44
45
  prefix: Prefix,
45
46
  rir: Rir,
46
47
  role: Role,
48
+ service: Service,
47
49
  vlan: Vlan,
48
50
  vlan_group: VlanGroup,
49
51
  vrf: Vrf
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ['lib']
25
25
 
26
- spec.required_ruby_version = '>= 2.6.0'
26
+ spec.required_ruby_version = '>= 2.7.0'
27
27
 
28
- spec.add_runtime_dependency 'dry-configurable', '~> 0.13.0'
28
+ spec.add_runtime_dependency 'dry-configurable', '~> 1'
29
29
  spec.add_runtime_dependency 'faraday', '>= 0.11.0', '< 2'
30
30
  spec.add_runtime_dependency 'faraday-detailed_logger', '~> 2.1'
31
31
  spec.add_runtime_dependency 'faraday_middleware', '>= 0.11', '< 2'
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.add_development_dependency 'bundler', '~> 2.1'
36
36
  spec.add_development_dependency 'pry', '~> 0.10'
37
- spec.add_development_dependency 'rake', '~> 10.0'
37
+ spec.add_development_dependency 'rake', '~> 13'
38
38
  spec.add_development_dependency 'rspec', '~> 3.5'
39
39
  spec.add_development_dependency 'rubocop', '~> 0.48'
40
40
  spec.add_development_dependency 'rubocop-rspec', '~> 1.15'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netbox-client-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Mäder
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-22 00:00:00.000000000 Z
11
+ date: 2023-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.13.0
19
+ version: '1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.13.0
26
+ version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -146,14 +146,14 @@ dependencies:
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '10.0'
149
+ version: '13'
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - "~>"
155
155
  - !ruby/object:Gem::Version
156
- version: '10.0'
156
+ version: '13'
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rspec
159
159
  requirement: !ruby/object:Gem::Requirement
@@ -297,6 +297,8 @@ files:
297
297
  - lib/netbox_client_ruby/api/ipam/rirs.rb
298
298
  - lib/netbox_client_ruby/api/ipam/role.rb
299
299
  - lib/netbox_client_ruby/api/ipam/roles.rb
300
+ - lib/netbox_client_ruby/api/ipam/service.rb
301
+ - lib/netbox_client_ruby/api/ipam/services.rb
300
302
  - lib/netbox_client_ruby/api/ipam/vlan.rb
301
303
  - lib/netbox_client_ruby/api/ipam/vlan_group.rb
302
304
  - lib/netbox_client_ruby/api/ipam/vlan_groups.rb
@@ -350,14 +352,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
350
352
  requirements:
351
353
  - - ">="
352
354
  - !ruby/object:Gem::Version
353
- version: 2.6.0
355
+ version: 2.7.0
354
356
  required_rubygems_version: !ruby/object:Gem::Requirement
355
357
  requirements:
356
358
  - - ">="
357
359
  - !ruby/object:Gem::Version
358
360
  version: '0'
359
361
  requirements: []
360
- rubygems_version: 3.0.3.1
362
+ rubygems_version: 3.4.10
361
363
  signing_key:
362
364
  specification_version: 4
363
365
  summary: A read/write client for Netbox v2.