Class: OneviewSDK::API500::C7000::ServerProfile
- Inherits:
- 
      OneviewSDK::API300::C7000::ServerProfile
      
        - Object
- Resource
- OneviewSDK::API200::Resource
- OneviewSDK::API200::ServerProfile
- OneviewSDK::API300::C7000::ServerProfile
- OneviewSDK::API500::C7000::ServerProfile
 
- Defined in:
- lib/oneview-sdk/resource/api500/c7000/server_profile.rb
Overview
Server Profile resource implementation on API500 C7000
Direct Known Subclasses
Synergy::ServerProfile, OneviewSDK::API600::C7000::ServerProfile
Constant Summary
Constants inherited from OneviewSDK::API200::ServerProfile
OneviewSDK::API200::ServerProfile::BASE_URI, OneviewSDK::API200::ServerProfile::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
- 
  
    
      #create_volume_with_attachment(storage_pool, volume_options, attachment_options = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds volume attachment entry and creates a new Volume associated in the Server profile. 
- 
  
    
      #get_profile_template  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Retrieves the profile template for a given server profile. 
- 
  
    
      #initialize(client, params = {}, api_ver = nil)  ⇒ ServerProfile 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Create a resource object, associate it with a client, and set its properties. 
Methods inherited from OneviewSDK::API200::ServerProfile
#add_connection, #add_volume_attachment, #get_available_hardware, #get_available_networks, get_available_networks, get_available_servers, get_available_storage_system, get_available_storage_systems, get_available_targets, #get_compliance_preview, #get_messages, get_profile_ports, #get_server_hardware, #get_transformation, #remove_connection, #remove_volume_attachment, #set_enclosure, #set_enclosure_group, #set_firmware_driver, #set_server_hardware, #set_server_hardware_type, #update_from_template
Methods included from ResourceHelper::PatchOperation
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, #update
Constructor Details
#initialize(client, params = {}, api_ver = nil) ⇒ ServerProfile
Create a resource object, associate it with a client, and set its properties.
| 24 25 26 27 28 29 | # File 'lib/oneview-sdk/resource/api500/c7000/server_profile.rb', line 24 def initialize(client, params = {}, api_ver = nil) @data ||= {} # Default values @data['type'] ||= 'ServerProfileV7' super end | 
Instance Method Details
#create_volume_with_attachment(storage_pool, volume_options, attachment_options = {}) ⇒ Object
Adds volume attachment entry and creates a new Volume associated in the Server profile
| 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | # File 'lib/oneview-sdk/resource/api500/c7000/server_profile.rb', line 43 def (storage_pool, , = {}) raise IncompleteResource, 'Storage Pool not found!' unless storage_pool.retrieve! # Convert symbols keys to string in volume_options and attachment_options = Hash[.map { |k, v| [k.to_s, v] }] = Hash[.map { |k, v| [k.to_s, v] }] self['sanStorage'] ||= {} self['sanStorage']['volumeAttachments'] ||= [] ['id'] ||= 0 ['volumeStoragePoolUri'] = storage_pool['uri'] ['volumeStorageSystemUri'] = storage_pool['storageSystemUri'] ['volumeName'] = ['name'] ['volumeDescription'] = ['description'] ['volumeProvisionType'] = ['provisioningType'] ['volumeProvisionedCapacityBytes'] = ['size'] # Defaults ['permanent'] ||= true ['lunType'] ||= 'Auto' ['lun'] ||= nil ['storagePaths'] ||= [] ['volumeShareable'] = false self['sanStorage']['manageSanStorage'] ||= true self['sanStorage']['volumeAttachments'] << end | 
#get_profile_template ⇒ Object
Retrieves the profile template for a given server profile.
| 73 74 75 76 77 | # File 'lib/oneview-sdk/resource/api500/c7000/server_profile.rb', line 73 def get_profile_template response = @client.rest_get("#{@data['uri']}/new-profile-template") variant = self.class.name.split('::').at(-2) OneviewSDK.resource_named('ServerProfileTemplate', @client.api_version, variant).new(client, @client.response_handler(response)) end |