Class: Fog::Baremetal::OpenStack::Node
Instance Attribute Summary
#project
Instance Method Summary
collapse
#initialize, #save
Instance Method Details
#chassis ⇒ Object
57
58
59
60
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 57
def chassis
requires :uuid
service.get_chassis(chassis_uuid).body
end
|
#create ⇒ Object
32
33
34
35
36
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 32
def create
requires :driver
merge_attributes(service.create_node(attributes).body)
self
end
|
#destroy ⇒ Object
51
52
53
54
55
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 51
def destroy
requires :uuid
service.delete_node(uuid)
true
end
|
79
80
81
82
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 79
def metadata
requires :uuid
service.get_node(uuid).
end
|
#ports ⇒ Object
62
63
64
65
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 62
def ports
requires :uuid
service.list_ports_detailed(:node_uuid => uuid).body['ports']
end
|
#set_node_maintenance(parameters = nil) ⇒ Object
67
68
69
70
71
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 67
def set_node_maintenance(parameters = nil)
requires :uuid
service.set_node_maintenance(uuid, parameters)
true
end
|
#set_power_state(power_state) ⇒ Object
84
85
86
87
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 84
def set_power_state(power_state)
requires :uuid
service.set_node_power_state(uuid, power_state)
end
|
#set_provision_state(provision_state) ⇒ Object
89
90
91
92
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 89
def set_provision_state(provision_state)
requires :uuid
service.set_node_provision_state(uuid, provision_state)
end
|
#unset_node_maintenance(parameters = nil) ⇒ Object
73
74
75
76
77
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 73
def unset_node_maintenance(parameters = nil)
requires :uuid
service.unset_node_maintenance(uuid, parameters)
true
end
|
#update(patch = nil) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/fog/baremetal/openstack/models/node.rb', line 38
def update(patch = nil)
requires :uuid, :driver
if patch
merge_attributes(service.patch_node(uuid, patch).body)
else
raise ArgumentError,
'You need to provide patch attribute. Ironic does not support update by hash yet, only by jsonpatch.'
end
self
end
|