netbox-client-ruby 0.4.10 → 0.5.4
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.
- checksums.yaml +4 -4
- data/.github/workflows/gem-push.yml +27 -0
- data/.github/workflows/rspec.yml +25 -0
- data/README.md +71 -35
- data/VERSION +1 -1
- data/bin/console +23 -1
- data/docker-compose.yml +5 -5
- data/dump.sql +9892 -7318
- data/lib/netbox_client_ruby/api.rb +5 -0
- data/lib/netbox_client_ruby/api/circuits.rb +33 -0
- data/lib/netbox_client_ruby/api/circuits/circuit.rb +37 -0
- data/lib/netbox_client_ruby/api/circuits/circuit_termination.rb +23 -0
- data/lib/netbox_client_ruby/api/circuits/circuit_terminations.rb +21 -0
- data/lib/netbox_client_ruby/api/circuits/circuit_type.rb +14 -0
- data/lib/netbox_client_ruby/api/circuits/circuit_types.rb +21 -0
- data/lib/netbox_client_ruby/api/circuits/circuits.rb +26 -0
- data/lib/netbox_client_ruby/api/circuits/provider.rb +14 -0
- data/lib/netbox_client_ruby/api/circuits/providers.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim.rb +30 -2
- data/lib/netbox_client_ruby/api/dcim/console_connection.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/console_connections.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/console_port.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/console_ports.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/console_server_port.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/console_server_ports.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/device.rb +3 -1
- data/lib/netbox_client_ruby/api/dcim/interface_connection.rb +20 -0
- data/lib/netbox_client_ruby/api/dcim/interface_connections.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/platform.rb +6 -0
- data/lib/netbox_client_ruby/api/dcim/power_connection.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/power_connections.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/rack_reservation.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/rack_reservations.rb +21 -0
- data/lib/netbox_client_ruby/api/dcim/rack_role.rb +0 -2
- data/lib/netbox_client_ruby/api/dcim/site.rb +15 -2
- data/lib/netbox_client_ruby/api/dcim/virtual_chassis.rb +19 -0
- data/lib/netbox_client_ruby/api/dcim/virtual_chassis_list.rb +21 -0
- data/lib/netbox_client_ruby/api/virtualization/interface.rb +1 -2
- data/lib/netbox_client_ruby/connection.rb +1 -1
- data/lib/netbox_client_ruby/entity.rb +3 -1
- data/netbox-client-ruby.gemspec +11 -12
- data/netbox-client-ruby_rsa +51 -0
- data/netbox-client-ruby_rsa.pub +1 -0
- data/netbox.env +1 -1
- metadata +65 -22
- data/.travis.yml +0 -25
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
require 'netbox_client_ruby/api/circuits'
|
|
1
2
|
require 'netbox_client_ruby/api/dcim'
|
|
2
3
|
require 'netbox_client_ruby/api/ipam'
|
|
3
4
|
require 'netbox_client_ruby/api/secrets'
|
|
@@ -6,6 +7,10 @@ require 'netbox_client_ruby/api/virtualization'
|
|
|
6
7
|
require 'netbox_client_ruby/communication'
|
|
7
8
|
|
|
8
9
|
module NetboxClientRuby
|
|
10
|
+
def self.circuits
|
|
11
|
+
NetboxClientRuby::Circuits
|
|
12
|
+
end
|
|
13
|
+
|
|
9
14
|
def self.dcim
|
|
10
15
|
NetboxClientRuby::DCIM
|
|
11
16
|
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'netbox_client_ruby/api/circuits/circuit'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuits'
|
|
3
|
+
require 'netbox_client_ruby/api/circuits/circuit_termination'
|
|
4
|
+
require 'netbox_client_ruby/api/circuits/circuit_terminations'
|
|
5
|
+
require 'netbox_client_ruby/api/circuits/circuit_type'
|
|
6
|
+
require 'netbox_client_ruby/api/circuits/circuit_types'
|
|
7
|
+
require 'netbox_client_ruby/api/circuits/provider'
|
|
8
|
+
require 'netbox_client_ruby/api/circuits/providers'
|
|
9
|
+
require 'netbox_client_ruby/communication'
|
|
10
|
+
|
|
11
|
+
module NetboxClientRuby
|
|
12
|
+
module Circuits
|
|
13
|
+
{
|
|
14
|
+
providers: Providers,
|
|
15
|
+
circuits: Circuits,
|
|
16
|
+
circuit_types: CircuitTypes,
|
|
17
|
+
circuit_terminations: CircuitTerminations
|
|
18
|
+
}.each_pair do |method_name, class_name|
|
|
19
|
+
define_method(method_name) { class_name.new }
|
|
20
|
+
module_function(method_name)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
provider: Provider,
|
|
25
|
+
circuit: Circuit,
|
|
26
|
+
circuit_type: CircuitType,
|
|
27
|
+
circuit_termination: CircuitTermination
|
|
28
|
+
}.each_pair do |method_name, class_name|
|
|
29
|
+
define_method(method_name) { |id| class_name.new id }
|
|
30
|
+
module_function(method_name)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuit_type'
|
|
3
|
+
require 'netbox_client_ruby/api/circuits/provider'
|
|
4
|
+
require 'netbox_client_ruby/api/tenancy/tenant'
|
|
5
|
+
|
|
6
|
+
module NetboxClientRuby
|
|
7
|
+
module Circuits
|
|
8
|
+
class Circuit
|
|
9
|
+
include Entity
|
|
10
|
+
|
|
11
|
+
STATUS_VALUES = {
|
|
12
|
+
deprovisioning: 0,
|
|
13
|
+
active: 1,
|
|
14
|
+
planned: 2,
|
|
15
|
+
provisioning: 3,
|
|
16
|
+
offline: 4,
|
|
17
|
+
decommissioned: 5
|
|
18
|
+
}.freeze
|
|
19
|
+
|
|
20
|
+
id id: :id
|
|
21
|
+
deletable true
|
|
22
|
+
path 'circuits/circuits/:id.json'
|
|
23
|
+
creation_path 'circuits/circuits/'
|
|
24
|
+
|
|
25
|
+
object_fields(
|
|
26
|
+
provider: proc do |raw_data|
|
|
27
|
+
Provider.new raw_data['id']
|
|
28
|
+
end,
|
|
29
|
+
status: proc do |raw_status|
|
|
30
|
+
STATUS_VALUES.key(raw_status['value']) || raw_status['value']
|
|
31
|
+
end,
|
|
32
|
+
type: proc { |raw_data| CircuitType.new raw_data['id'] },
|
|
33
|
+
tenant: proc { |raw_data| Tenancy::Tenant.new raw_data['id'] }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuit'
|
|
3
|
+
require 'netbox_client_ruby/api/dcim/site'
|
|
4
|
+
require 'netbox_client_ruby/api/dcim/interface'
|
|
5
|
+
|
|
6
|
+
module NetboxClientRuby
|
|
7
|
+
module Circuits
|
|
8
|
+
class CircuitTermination
|
|
9
|
+
include Entity
|
|
10
|
+
|
|
11
|
+
id id: :id
|
|
12
|
+
deletable true
|
|
13
|
+
path 'circuits/circuit-terminations/:id.json'
|
|
14
|
+
creation_path 'circuits/circuit-terminations/'
|
|
15
|
+
|
|
16
|
+
object_fields(
|
|
17
|
+
circuit: proc { |raw_data| Circuit::Circuit.new raw_data['id'] },
|
|
18
|
+
site: proc { |raw_data| DCIM::Site.new raw_data['id'] },
|
|
19
|
+
interface: proc { |raw_data| DCIM::Interface.new raw_data['id'] }
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuit_termination'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module Circuits
|
|
6
|
+
class CircuitTerminations
|
|
7
|
+
include Entities
|
|
8
|
+
|
|
9
|
+
path 'circuits/circuit-terminations.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
|
+
CircuitTermination.new raw_entity['id']
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
|
|
3
|
+
module NetboxClientRuby
|
|
4
|
+
module Circuits
|
|
5
|
+
class CircuitType
|
|
6
|
+
include Entity
|
|
7
|
+
|
|
8
|
+
id id: :id
|
|
9
|
+
deletable true
|
|
10
|
+
path 'circuits/circuit-types/:id.json'
|
|
11
|
+
creation_path 'circuits/circuit-types/'
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuit_type'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module Circuits
|
|
6
|
+
class CircuitTypes
|
|
7
|
+
include Entities
|
|
8
|
+
|
|
9
|
+
path 'circuits/circuit-types.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
|
+
CircuitType.new raw_entity['id']
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/circuit'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module Circuits
|
|
6
|
+
##
|
|
7
|
+
# This allows to access a list of Netbox Circuits.
|
|
8
|
+
#
|
|
9
|
+
# Normally, this class would be called `Circuits`.
|
|
10
|
+
# But this conflicts with the module of the same name.
|
|
11
|
+
class Circuits
|
|
12
|
+
include Entities
|
|
13
|
+
|
|
14
|
+
path 'circuits/circuits.json'
|
|
15
|
+
data_key 'results'
|
|
16
|
+
count_key 'count'
|
|
17
|
+
entity_creator :entity_creator
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def entity_creator(raw_entity)
|
|
22
|
+
Circuit.new raw_entity['id']
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/circuits/provider'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module Circuits
|
|
6
|
+
class Providers
|
|
7
|
+
include Entities
|
|
8
|
+
|
|
9
|
+
path 'circuits/providers.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
|
+
Provider.new raw_entity['id']
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
require 'netbox_client_ruby/api/dcim/console_connection'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/console_connections'
|
|
3
|
+
require 'netbox_client_ruby/api/dcim/console_port'
|
|
4
|
+
require 'netbox_client_ruby/api/dcim/console_ports'
|
|
5
|
+
require 'netbox_client_ruby/api/dcim/console_server_port'
|
|
6
|
+
require 'netbox_client_ruby/api/dcim/console_server_ports'
|
|
1
7
|
require 'netbox_client_ruby/api/dcim/device'
|
|
2
8
|
require 'netbox_client_ruby/api/dcim/devices'
|
|
3
9
|
require 'netbox_client_ruby/api/dcim/device_role'
|
|
@@ -5,6 +11,8 @@ require 'netbox_client_ruby/api/dcim/device_roles'
|
|
|
5
11
|
require 'netbox_client_ruby/api/dcim/device_type'
|
|
6
12
|
require 'netbox_client_ruby/api/dcim/device_types'
|
|
7
13
|
require 'netbox_client_ruby/api/dcim/interface'
|
|
14
|
+
require 'netbox_client_ruby/api/dcim/interface_connection'
|
|
15
|
+
require 'netbox_client_ruby/api/dcim/interface_connections'
|
|
8
16
|
require 'netbox_client_ruby/api/dcim/interfaces'
|
|
9
17
|
require 'netbox_client_ruby/api/dcim/inventory_item'
|
|
10
18
|
require 'netbox_client_ruby/api/dcim/inventory_items'
|
|
@@ -12,6 +20,8 @@ require 'netbox_client_ruby/api/dcim/manufacturer'
|
|
|
12
20
|
require 'netbox_client_ruby/api/dcim/manufacturers'
|
|
13
21
|
require 'netbox_client_ruby/api/dcim/platform'
|
|
14
22
|
require 'netbox_client_ruby/api/dcim/platforms'
|
|
23
|
+
require 'netbox_client_ruby/api/dcim/power_connection'
|
|
24
|
+
require 'netbox_client_ruby/api/dcim/power_connections'
|
|
15
25
|
require 'netbox_client_ruby/api/dcim/power_outlet'
|
|
16
26
|
require 'netbox_client_ruby/api/dcim/power_outlets'
|
|
17
27
|
require 'netbox_client_ruby/api/dcim/power_port'
|
|
@@ -19,6 +29,8 @@ require 'netbox_client_ruby/api/dcim/power_ports'
|
|
|
19
29
|
require 'netbox_client_ruby/api/dcim/rack'
|
|
20
30
|
require 'netbox_client_ruby/api/dcim/rack_group'
|
|
21
31
|
require 'netbox_client_ruby/api/dcim/rack_groups'
|
|
32
|
+
require 'netbox_client_ruby/api/dcim/rack_reservation'
|
|
33
|
+
require 'netbox_client_ruby/api/dcim/rack_reservations'
|
|
22
34
|
require 'netbox_client_ruby/api/dcim/rack_role'
|
|
23
35
|
require 'netbox_client_ruby/api/dcim/rack_roles'
|
|
24
36
|
require 'netbox_client_ruby/api/dcim/racks'
|
|
@@ -26,45 +38,61 @@ require 'netbox_client_ruby/api/dcim/region'
|
|
|
26
38
|
require 'netbox_client_ruby/api/dcim/regions'
|
|
27
39
|
require 'netbox_client_ruby/api/dcim/site'
|
|
28
40
|
require 'netbox_client_ruby/api/dcim/sites'
|
|
41
|
+
require 'netbox_client_ruby/api/dcim/virtual_chassis'
|
|
42
|
+
require 'netbox_client_ruby/api/dcim/virtual_chassis_list'
|
|
29
43
|
require 'netbox_client_ruby/communication'
|
|
30
44
|
|
|
31
45
|
module NetboxClientRuby
|
|
32
46
|
module DCIM
|
|
33
47
|
{
|
|
48
|
+
console_connections: ConsoleConnections,
|
|
49
|
+
console_ports: ConsolePorts,
|
|
50
|
+
console_server_ports: ConsoleServerPorts,
|
|
34
51
|
devices: Devices,
|
|
35
52
|
device_roles: DeviceRoles,
|
|
36
53
|
device_types: DeviceTypes,
|
|
37
54
|
interfaces: Interfaces,
|
|
55
|
+
interface_connections: InterfaceConnections,
|
|
38
56
|
inventory_items: InventoryItems,
|
|
39
57
|
manufacturers: Manufacturers,
|
|
40
58
|
platforms: Platforms,
|
|
59
|
+
power_connections: PowerConnections,
|
|
41
60
|
power_outlets: PowerOutlets,
|
|
42
61
|
power_ports: PowerPorts,
|
|
43
62
|
racks: Racks,
|
|
44
63
|
rack_groups: RackGroups,
|
|
64
|
+
rack_reservations: RackReservations,
|
|
45
65
|
rack_roles: RackRoles,
|
|
46
66
|
regions: Regions,
|
|
47
|
-
sites: Sites
|
|
67
|
+
sites: Sites,
|
|
68
|
+
virtual_chassis_list: VirtualChassisList
|
|
48
69
|
}.each_pair do |method_name, class_name|
|
|
49
70
|
define_method(method_name) { class_name.new }
|
|
50
71
|
module_function(method_name)
|
|
51
72
|
end
|
|
52
73
|
|
|
53
74
|
{
|
|
75
|
+
console_connection: ConsoleConnection,
|
|
76
|
+
console_port: ConsolePort,
|
|
77
|
+
console_server_port: ConsoleServerPort,
|
|
54
78
|
device: Device,
|
|
55
79
|
device_role: DeviceRole,
|
|
56
80
|
device_type: DeviceType,
|
|
57
81
|
interface: Interface,
|
|
82
|
+
interface_connection: InterfaceConnection,
|
|
58
83
|
inventory_item: InventoryItem,
|
|
59
84
|
manufacturer: Manufacturer,
|
|
60
85
|
platform: Platform,
|
|
86
|
+
power_connection: PowerConnection,
|
|
61
87
|
power_outlet: PowerOutlet,
|
|
62
88
|
power_port: PowerPort,
|
|
63
89
|
rack: Rack,
|
|
64
90
|
rack_group: RackGroup,
|
|
91
|
+
rack_reservation: RackReservation,
|
|
65
92
|
rack_role: RackRole,
|
|
66
93
|
region: Region,
|
|
67
|
-
site: Site
|
|
94
|
+
site: Site,
|
|
95
|
+
virtual_chassis: VirtualChassis
|
|
68
96
|
}.each_pair do |method_name, class_name|
|
|
69
97
|
define_method(method_name) { |id| class_name.new id }
|
|
70
98
|
module_function(method_name)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/device'
|
|
3
|
+
require 'netbox_client_ruby/api/dcim/console_server_port'
|
|
4
|
+
|
|
5
|
+
module NetboxClientRuby
|
|
6
|
+
module DCIM
|
|
7
|
+
class ConsoleConnection
|
|
8
|
+
include Entity
|
|
9
|
+
|
|
10
|
+
id id: :id
|
|
11
|
+
deletable true
|
|
12
|
+
path 'dcim/console-connections/:id.json'
|
|
13
|
+
creation_path 'dcim/console-connections/'
|
|
14
|
+
|
|
15
|
+
object_fields(
|
|
16
|
+
device: proc { |raw_data| Device.new raw_data['id'] },
|
|
17
|
+
cs_port: proc { |raw_data| ConsoleServerPort.new raw_data['id'] },
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/console_connection'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module DCIM
|
|
6
|
+
class ConsoleConnections
|
|
7
|
+
include Entities
|
|
8
|
+
|
|
9
|
+
path 'dcim/console-connections.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
|
+
ConsoleConnection.new raw_entity['id']
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/device'
|
|
3
|
+
require 'netbox_client_ruby/api/dcim/console_server_port'
|
|
4
|
+
|
|
5
|
+
module NetboxClientRuby
|
|
6
|
+
module DCIM
|
|
7
|
+
class ConsolePort
|
|
8
|
+
include Entity
|
|
9
|
+
|
|
10
|
+
id id: :id
|
|
11
|
+
deletable true
|
|
12
|
+
path 'dcim/console-ports/:id.json'
|
|
13
|
+
creation_path 'dcim/console-ports/'
|
|
14
|
+
|
|
15
|
+
object_fields(
|
|
16
|
+
device: proc { |raw_data| Device.new raw_data['id'] },
|
|
17
|
+
cs_port: proc { |raw_data| ConsoleServerPort.new raw_data['id'] },
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entities'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/console_port'
|
|
3
|
+
|
|
4
|
+
module NetboxClientRuby
|
|
5
|
+
module DCIM
|
|
6
|
+
class ConsolePorts
|
|
7
|
+
include Entities
|
|
8
|
+
|
|
9
|
+
path 'dcim/console-ports.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
|
+
ConsolePort.new raw_entity['id']
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'netbox_client_ruby/entity'
|
|
2
|
+
require 'netbox_client_ruby/api/dcim/device'
|
|
3
|
+
require 'netbox_client_ruby/api/dcim/console_port'
|
|
4
|
+
|
|
5
|
+
module NetboxClientRuby
|
|
6
|
+
module DCIM
|
|
7
|
+
class ConsoleServerPort
|
|
8
|
+
include Entity
|
|
9
|
+
|
|
10
|
+
id id: :id
|
|
11
|
+
deletable true
|
|
12
|
+
path 'dcim/console-server-ports/:id.json'
|
|
13
|
+
creation_path 'dcim/console-server-ports/'
|
|
14
|
+
|
|
15
|
+
object_fields(
|
|
16
|
+
device: proc { |raw_data| Device.new raw_data['id'] },
|
|
17
|
+
connected_console: proc { |raw_data| ConsolePort.new raw_data },
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|