Module: Legion::Extensions::Nautobot::Runners::Circuits

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/nautobot/runners/circuits.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection

Instance Method Details

#create_circuit(url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



83
84
85
86
87
88
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 83

def create_circuit(url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).post('/api/circuits/circuits/', attrs)
  resp.body
end

#create_circuit_termination(url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



114
115
116
117
118
119
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 114

def create_circuit_termination(url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).post('/api/circuits/circuit-terminations/', attrs)
  resp.body
end

#create_circuit_type(url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



65
66
67
68
69
70
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 65

def create_circuit_type(url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).post('/api/circuits/circuit-types/', attrs)
  resp.body
end

#create_provider(url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



23
24
25
26
27
28
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 23

def create_provider(url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).post('/api/circuits/providers/', attrs)
  resp.body
end

#delete_circuit(id:, url: nil, token: nil, read_only: false) ⇒ Object

Raises:



97
98
99
100
101
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 97

def delete_circuit(id:, url: nil, token: nil, read_only: false, **)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  connection(url: url, token: token).delete("/api/circuits/circuits/#{id}/")
end

#delete_provider(id:, url: nil, token: nil, read_only: false) ⇒ Object

Raises:



37
38
39
40
41
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 37

def delete_provider(id:, url: nil, token: nil, read_only: false, **)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  connection(url: url, token: token).delete("/api/circuits/providers/#{id}/")
end

#get_circuit(id:, url: nil, token: nil) ⇒ Object



78
79
80
81
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 78

def get_circuit(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/circuits/circuits/#{id}/")
  resp.body
end

#get_circuit_termination(id:, url: nil, token: nil) ⇒ Object



109
110
111
112
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 109

def get_circuit_termination(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/circuits/circuit-terminations/#{id}/")
  resp.body
end

#get_circuit_type(id:, url: nil, token: nil) ⇒ Object



60
61
62
63
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 60

def get_circuit_type(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/circuits/circuit-types/#{id}/")
  resp.body
end

#get_provider(id:, url: nil, token: nil) ⇒ Object



18
19
20
21
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 18

def get_provider(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/circuits/providers/#{id}/")
  resp.body
end

#get_provider_network(id:, url: nil, token: nil) ⇒ Object



49
50
51
52
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 49

def get_provider_network(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/circuits/provider-networks/#{id}/")
  resp.body
end

#list_circuit_terminations(url: nil, token: nil, **params) ⇒ Object

Circuit Terminations



104
105
106
107
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 104

def list_circuit_terminations(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/circuits/circuit-terminations/', params)
  resp.body
end

#list_circuit_types(url: nil, token: nil, **params) ⇒ Object

Circuit Types



55
56
57
58
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 55

def list_circuit_types(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/circuits/circuit-types/', params)
  resp.body
end

#list_circuits(url: nil, token: nil, **params) ⇒ Object

Circuits



73
74
75
76
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 73

def list_circuits(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/circuits/circuits/', params)
  resp.body
end

#list_provider_networks(url: nil, token: nil, **params) ⇒ Object

Provider Networks



44
45
46
47
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 44

def list_provider_networks(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/circuits/provider-networks/', params)
  resp.body
end

#list_providers(url: nil, token: nil, **params) ⇒ Object

Providers



13
14
15
16
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 13

def list_providers(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/circuits/providers/', params)
  resp.body
end

#update_circuit(id:, url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



90
91
92
93
94
95
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 90

def update_circuit(id:, url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).patch("/api/circuits/circuits/#{id}/", attrs)
  resp.body
end

#update_provider(id:, url: nil, token: nil, read_only: false, **attrs) ⇒ Object

Raises:



30
31
32
33
34
35
# File 'lib/legion/extensions/nautobot/runners/circuits.rb', line 30

def update_provider(id:, url: nil, token: nil, read_only: false, **attrs)
  raise ReadOnlyError, 'Write operations disabled (read_only mode)' if read_only

  resp = connection(url: url, token: token).patch("/api/circuits/providers/#{id}/", attrs)
  resp.body
end