class Fog::OpenStack::Baremetal::Node

Public Instance Methods

chassis() click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 57
def chassis
  requires :uuid
  service.get_chassis(chassis_uuid).body
end
create() click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 32
def create
  requires :driver
  merge_attributes(service.create_node(attributes).body)
  self
end
destroy() click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 51
def destroy
  requires :uuid
  service.delete_node(uuid)
  true
end
metadata() click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 79
def metadata
  requires :uuid
  service.get_node(uuid).headers
end
ports() click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 62
def ports
  requires :uuid
  service.list_ports_detailed(:node_uuid => uuid).body['ports']
end
set_node_maintenance(parameters = nil) click to toggle source
# File lib/fog/openstack/baremetal/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) click to toggle source
# File lib/fog/openstack/baremetal/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) click to toggle source
# File lib/fog/openstack/baremetal/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) click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 73
def unset_node_maintenance(parameters = nil)
  requires :uuid
  service.unset_node_maintenance(uuid, parameters)
  true
end
update(patch = nil) click to toggle source
# File lib/fog/openstack/baremetal/models/node.rb, line 38
def update(patch = nil)
  requires :uuid, :driver
  if patch
    merge_attributes(service.patch_node(uuid, patch).body)
  else
    # TODO: implement update_node method using PUT method and self.attributes
    # once it is supported by Ironic
    raise ArgumentError,
          'You need to provide patch attribute. Ironic does not support update by hash yet, only by jsonpatch.'
  end
  self
end