Module: Legion::Extensions::Nautobot::Runners::Virtualization

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

Instance Method Summary collapse

Methods included from Helpers::Client

#connection

Instance Method Details

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

Raises:



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

def create_cluster(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/virtualization/clusters/', attrs)
  resp.body
end

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

Raises:



41
42
43
44
45
46
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 41

def create_cluster_group(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/virtualization/cluster-groups/', attrs)
  resp.body
end

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

Raises:



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

def create_cluster_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/virtualization/cluster-types/', attrs)
  resp.body
end

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

Raises:



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

def create_virtual_machine(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/virtualization/virtual-machines/', attrs)
  resp.body
end

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

Raises:



121
122
123
124
125
126
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 121

def create_vm_interface(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/virtualization/interfaces/', attrs)
  resp.body
end

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

Raises:



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

def delete_cluster(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/virtualization/clusters/#{id}/")
end

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

Raises:



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

def delete_virtual_machine(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/virtualization/virtual-machines/#{id}/")
end

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

Raises:



135
136
137
138
139
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 135

def delete_vm_interface(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/virtualization/interfaces/#{id}/")
end

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



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

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

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



36
37
38
39
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 36

def get_cluster_group(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/virtualization/cluster-groups/#{id}/")
  resp.body
end

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



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

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

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



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

def get_virtual_machine(id:, url: nil, token: nil, **)
  resp = connection(url: url, token: token).get("/api/virtualization/virtual-machines/#{id}/")
  resp.body
end

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



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

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

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

Cluster Groups



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

def list_cluster_groups(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/virtualization/cluster-groups/', params)
  resp.body
end

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

Cluster Types



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

def list_cluster_types(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/virtualization/cluster-types/', params)
  resp.body
end

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

Clusters



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

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

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

Virtual Machines



80
81
82
83
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 80

def list_virtual_machines(url: nil, token: nil, **params)
  resp = connection(url: url, token: token).get('/api/virtualization/virtual-machines/', params)
  resp.body
end

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

VM Interfaces



111
112
113
114
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 111

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

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

Raises:



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

def update_cluster(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/virtualization/clusters/#{id}/", attrs)
  resp.body
end

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

Raises:



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

def update_virtual_machine(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/virtualization/virtual-machines/#{id}/", attrs)
  resp.body
end

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

Raises:



128
129
130
131
132
133
# File 'lib/legion/extensions/nautobot/runners/virtualization.rb', line 128

def update_vm_interface(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/virtualization/interfaces/#{id}/", attrs)
  resp.body
end