Class: OneviewSDK::ServerHardware
- Defined in:
- lib/oneview-sdk/resource/server_hardware.rb
Overview
Server hardware resource implementation
Validates collapse
- VALID_LICENSING_INTENTS =
['OneView', 'OneViewNoiLO', 'OneViewStandard', nil].freeze
- VALID_CONFIGURATION_STATES =
['Managed', 'Monitored', nil].freeze
Constant Summary collapse
- BASE_URI =
'/rest/server-hardware'.freeze
Instance Attribute Summary
Attributes inherited from Resource
#api_version, #client, #data, #logger
Validates collapse
Instance Method Summary collapse
- #create ⇒ Object
-
#initialize(client, params = {}, api_ver = nil) ⇒ ServerHardware
constructor
A new instance of ServerHardware.
-
#power_off(force = false) ⇒ Boolean
Power off the server hardware.
-
#power_on(force = false) ⇒ Boolean
Power on the server hardware.
- #update ⇒ Object
Methods inherited from Resource
#==, #[], #[]=, #create!, #delete, #each, #eql?, #exists?, find_by, from_file, get_all, #like?, #refresh, #retrieve!, #schema, schema, #set, #set_all, #to_file
Constructor Details
#initialize(client, params = {}, api_ver = nil) ⇒ ServerHardware
Returns a new instance of ServerHardware.
6 7 8 9 10 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 6 def initialize(client, params = {}, api_ver = nil) super # Default values @data['type'] ||= 'server-hardware-4' end |
Instance Method Details
#create ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 26 def create ensure_client required_attributes = %w(hostname username password licensingIntent) required_attributes.each { |k| fail "Missing required attribute: '#{k}'" unless @data.key?(k) } optional_attrs = %w(configurationState force restore) temp_data = @data.select { |k, _v| required_attributes.include?(k) || optional_attrs.include?(k) } response = @client.rest_post(self.class::BASE_URI, { 'body' => temp_data }, @api_version) body = @client.response_handler(response) set_all(body) %w(username password hostname).each { |k| @data.delete(k) } # These are no longer needed self end |
#power_off(force = false) ⇒ Boolean
Power off the server hardware
54 55 56 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 54 def power_off(force = false) set_power_state('off', force) end |
#power_on(force = false) ⇒ Boolean
Power on the server hardware
47 48 49 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 47 def power_on(force = false) set_power_state('on', force) end |
#update ⇒ Object
40 41 42 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 40 def update(*) fail 'Method not available for this resource!' end |
#validate_configurationState(value) ⇒ Object
20 21 22 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 20 def validate_configurationState(value) fail 'Invalid configurationState' unless VALID_CONFIGURATION_STATES.include?(value) end |
#validate_licensingIntent(value) ⇒ Object
15 16 17 |
# File 'lib/oneview-sdk/resource/server_hardware.rb', line 15 def validate_licensingIntent(value) fail 'Invalid licensingIntent' unless VALID_LICENSING_INTENTS.include?(value) end |