Class: OneviewSDK::API300::Synergy::LogicalInterconnectGroup
- Includes:
- Scope::ScopeHelperMethods
- Defined in:
- lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb
Overview
Logical interconnect group resource implementation
Direct Known Subclasses
Constant Summary collapse
- BASE_URI =
'/rest/logical-interconnect-groups'.freeze
Constants inherited from Resource
Resource::DEFAULT_REQUEST_HEADER, Resource::UNIQUE_IDENTIFIERS
Instance Attribute Summary
Attributes inherited from Resource
#api_version, #client, #data, #logger
Class Method Summary collapse
-
.get_default_settings(client) ⇒ Hash
Get the logical interconnect group default settings.
Instance Method Summary collapse
-
#add_interconnect(bay, type, logical_downlink = nil, enclosure_index = nil) ⇒ Hash
Adds an interconnect.
-
#add_internal_network(network) ⇒ Object
Adds an internal network to the LIG.
-
#add_uplink_set(uplink_set) ⇒ Object
Adds a uplink set to the LIG.
-
#get_settings ⇒ Hash
Gets the logical interconnect group settings.
-
#initialize(client, params = {}, api_ver = nil) ⇒ LogicalInterconnectGroup
constructor
Create a resource object, associate it with a client, and set its properties.
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) ⇒ LogicalInterconnectGroup
Create a resource object, associate it with a client, and set its properties.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 27 def initialize(client, params = {}, api_ver = nil) super # Default values: @data['enclosureType'] ||= 'SY12000' @data['enclosureIndexes'] ||= [1] @data['state'] ||= 'Active' @data['uplinkSets'] ||= [] @data['internalNetworkUris'] ||= [] @data['type'] ||= 'logical-interconnect-groupV300' @data['interconnectBaySet'] ||= 1 @data['interconnectMapTemplate'] ||= {} @data['interconnectMapTemplate']['interconnectMapEntryTemplates'] ||= [] @data['redundancyType'] ||= 'Redundant' end |
Class Method Details
.get_default_settings(client) ⇒ Hash
Get the logical interconnect group default settings
44 45 46 47 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 44 def self.get_default_settings(client) response = client.rest_get(BASE_URI + '/defaultSettings') client.response_handler(response) end |
Instance Method Details
#add_interconnect(bay, type, logical_downlink = nil, enclosure_index = nil) ⇒ Hash
Adds an interconnect
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 75 def add_interconnect(bay, type, logical_downlink = nil, enclosure_index = nil) enclosure_index ||= type.include?('Virtual Connect SE 16Gb FC Module') ? -1 : 1 entry = parse_interconnect_map_template(bay, enclosure_index) entry['logicalDownlinkUri'] ||= nil # Default value in case of no specified logical downlink if logical_downlink ld = logical_downlink if logical_downlink.class < OneviewSDK::Resource ld ||= OneviewSDK::API300::Synergy::LogicalDownlink.find_by(@client, name: logical_downlink).first entry['logicalDownlinkUri'] = ld['uri'] end entry['logicalLocation']['locationEntries'].each do |location| if location['type'] == 'Bay' && location['relativeValue'] == bay entry['permittedInterconnectTypeUri'] = OneviewSDK::API300::Synergy::Interconnect.get_type(@client, type)['uri'] end end entry rescue StandardError raise 'Interconnect type or Logical Downlink not found!' end |
#add_internal_network(network) ⇒ Object
Adds an internal network to the LIG
65 66 67 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 65 def add_internal_network(network) @data['internalNetworkUris'] << network['uri'] unless @data['internalNetworkUris'].include?(network['uri']) end |
#add_uplink_set(uplink_set) ⇒ Object
Adds a uplink set to the LIG
59 60 61 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 59 def add_uplink_set(uplink_set) @data['uplinkSets'] << uplink_set.data unless @data['uplinkSets'].include?(uplink_set.data) end |
#get_settings ⇒ Hash
Gets the logical interconnect group settings
51 52 53 54 55 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 51 def get_settings get_uri = @data['uri'] + '/settings' response = @client.rest_get(get_uri, {}, @api_version) @client.response_handler(response) end |