Class: OneviewSDK::API300::Synergy::LogicalInterconnectGroup
- Defined in:
- lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb
Overview
Logical interconnect group resource implementation
Constant Summary collapse
- BASE_URI =
'/rest/logical-interconnect-groups'.freeze
Constants inherited from Resource
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 = 1) ⇒ Object
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!, #delete, #each, #eql?, #exists?, find_by, from_file, get_all, #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.
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 25 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'] ||= [] end |
Class Method Details
.get_default_settings(client) ⇒ Hash
Get the logical interconnect group default settings
41 42 43 44 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 41 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 = 1) ⇒ Object
Adds an interconnect
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 70 def add_interconnect(bay, type, logical_downlink = nil, enclosure_index = 1) parse_interconnect_map_template(bay, enclosure_index) @data['interconnectMapTemplate']['interconnectMapEntryTemplates'].each do |entry| # Default value in case of no specified logical downlink entry['logicalDownlinkUri'] = nil if logical_downlink ld = OneviewSDK::API300::Synergy::LogicalDownlink.find_by(@client, name: logical_downlink).first['uri'] entry['logicalDownlinkUri'] = ld 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 end rescue StandardError raise 'Interconnect type or Logical Downlink not found!' end |
#add_internal_network(network) ⇒ Object
Adds an internal network to the LIG
62 63 64 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 62 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
56 57 58 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 56 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
48 49 50 51 52 |
# File 'lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb', line 48 def get_settings get_uri = @data['uri'] + '/settings' response = @client.rest_get(get_uri, @api_version) @client.response_handler(response) end |