Class: OneviewSDK::API500::Synergy::Enclosure

Inherits:
OneviewSDK::API300::Synergy::Enclosure show all
Defined in:
lib/oneview-sdk/resource/api500/synergy/enclosure.rb

Overview

Enclosure resource implementation for API500 Synergy

Direct Known Subclasses

OneviewSDK::API600::Synergy::Enclosure

Constant Summary

Constants inherited from OneviewSDK::API200::Enclosure

OneviewSDK::API200::Enclosure::BASE_URI, OneviewSDK::API200::Enclosure::UNIQUE_IDENTIFIERS

Constants inherited from Resource

Resource::BASE_URI, Resource::DEFAULT_REQUEST_HEADER, Resource::UNIQUE_IDENTIFIERS

Instance Attribute Summary

Attributes inherited from Resource

#api_version, #client, #data, #logger

Instance Method Summary collapse

Methods inherited from OneviewSDK::API300::Synergy::Enclosure

#add, #set_enclosure_group, #set_environmental_configuration, update_enclosure_names

Methods included from OneviewSDK::API300::C7000::Scope::ScopeHelperMethods

#add_scope, #remove_scope, #replace_scopes

Methods inherited from OneviewSDK::API200::Enclosure

#add, #create, #delete, #environmental_configuration, #remove, #script, #set_enclosure_group, #set_environmental_configuration, #set_refresh_state, #utilization

Methods included from ResourceHelper::ConfigurationOperation

#configuration

Methods inherited from Resource

#==, #[], #[]=, build_query, #create, #create!, #deep_merge!, #delete, #each, #eql?, #exists?, find_by, find_with_pagination, from_file, get_all, get_all_with_query, #like?, #refresh, #retrieve!, schema, #schema, #set, #set_all, #to_file

Constructor Details

#initialize(client, params = {}, api_ver = nil) ⇒ Enclosure

Create a resource object, associate it with a client, and set its properties.

Parameters:

  • client (OneviewSDK::Client)

    The client object for the OneView appliance

  • params (Hash) (defaults to: {})

    The options for this resource (key-value pairs)

  • api_ver (Integer) (defaults to: nil)

    The api version to use when interracting with this resource.



24
25
26
27
28
29
# File 'lib/oneview-sdk/resource/api500/synergy/enclosure.rb', line 24

def initialize(client, params = {}, api_ver = nil)
  @data ||= {}
  # Default values:
  @data['type'] ||= 'EnclosureV400'
  super
end

Instance Method Details

#patch(operation, path, value = nil) ⇒ Hash

Note:

The scopeUris attribute is subject to incompatible changes in future release versions.

Performs a specific patch operation.

Parameters:

  • operation (String)

    The operation to be performed

  • path (String)

    The path of operation

  • value (String) (defaults to: nil)

    The value

Returns:

  • (Hash)

    hash with response



47
48
49
50
51
52
53
# File 'lib/oneview-sdk/resource/api500/synergy/enclosure.rb', line 47

def patch(operation, path, value = nil)
  ensure_client && ensure_uri
  body = [{ 'op' => operation, 'path' => path, 'value' => value }]
  patch_options = { 'If-Match' => @data['eTag'] }
  response = @client.rest_patch(@data['uri'], patch_options.merge('body' => body), @api_version)
  @client.response_handler(response)
end

#update(attributes = {}) ⇒ OneviewSDK::Enclosure

Updates the name and rackName (and it uses PATCH). Overrides because is necessary to return the current state of the object and current eTag.

Parameters:

  • attributes (Hash) (defaults to: {})

    attributes to be updated

Returns:

  • (OneviewSDK::Enclosure)

    self



35
36
37
38
39
# File 'lib/oneview-sdk/resource/api500/synergy/enclosure.rb', line 35

def update(attributes = {})
  super(attributes)
  retrieve!
  self
end