class OneviewSDK::API300::C7000::ServerHardware

Server Hardware resource implementation on API300 C7000

Public Class Methods

new(client, params = {}, api_ver = nil) click to toggle source

Create a resource object, associate it with a client, and set its properties. @param [OneviewSDK::Client] client The client object for the OneView appliance @param [Hash] params The options for this resource (key-value pairs) @param [Integer] api_ver The api version to use when interracting with this resource.

Calls superclass method OneviewSDK::API200::ServerHardware::new
# File lib/oneview-sdk/resource/api300/c7000/server_hardware.rb, line 26
def initialize(client, params = {}, api_ver = nil)
  @data ||= {}
  # Default values:
  @data['type'] ||= 'server-hardware-5'
  @data['scopeUris'] ||= []
  super
end

Public Instance Methods

get_firmware_by_id() click to toggle source

Get the firmware inventory of a server. @return [Hash] Contains all firmware information

# File lib/oneview-sdk/resource/api300/c7000/server_hardware.rb, line 36
def get_firmware_by_id
  ensure_client && ensure_uri
  response = @client.rest_get(@data['uri'] + '/firmware')
  @client.response_handler(response)
end
get_firmwares(filters = []) click to toggle source

Gets a list of firmware inventory across all servers @param [Array] Array with parameters @return [Array] Array of firmware inventory

# File lib/oneview-sdk/resource/api300/c7000/server_hardware.rb, line 45
def get_firmwares(filters = [])
  ensure_client
  uri = self.class::BASE_URI + '/*/firmware'
  uri_generate(uri, filters) unless filters.empty?
  self.class.find_with_pagination(@client, uri)
end

Private Instance Methods

uri_generate(uri, filters) click to toggle source
# File lib/oneview-sdk/resource/api300/c7000/server_hardware.rb, line 54
def uri_generate(uri, filters)
  uri << '?'
  filters.each_with_index do |filter, i|
    operation = filter[:operation]
    operation = " #{operation} " if operation != '='
    filter_string = "filter=#{filter[:name]}#{operation}'#{filter[:value]}'"
    uri << filter_string
    uri << '&' if i < (filters.size - 1)
  end
end