Class: OneviewSDK::API200::Interconnect
- Defined in:
- lib/oneview-sdk/resource/api200/interconnect.rb
Overview
Interconnect resource implementation
Direct Known Subclasses
OneviewSDK::API300::C7000::Interconnect, OneviewSDK::API300::Synergy::Interconnect
Constant Summary collapse
- BASE_URI =
'/rest/interconnects'.freeze
- TYPE_URI =
'/rest/interconnect-types'.freeze
- UNIQUE_IDENTIFIERS =
%w(name uri serialNumber).freeze
Instance Attribute Summary
Attributes inherited from Resource
#api_version, #client, #data, #logger
Class Method Summary collapse
-
.get_type(client, name) ⇒ Array
Retrieves the interconnect type with name.
-
.get_types(client) ⇒ Object
Retrieves interconnect types.
Instance Method Summary collapse
-
#create ⇒ Object
Method is not available.
-
#delete ⇒ Object
Method is not available.
-
#initialize(client, params = {}, api_ver = nil) ⇒ Interconnect
constructor
Create a resource object, associate it with a client, and set its properties.
-
#name_servers ⇒ Object
Retrieves the named servers for this interconnect.
-
#patch(operation, path, value) ⇒ Object
Updates specific attributes for a given interconnect resource.
-
#reset_port_protection ⇒ Object
Triggers the reset port protection action.
-
#statistics(portName = nil, subportNumber = nil) ⇒ Object
Get statistics for an interconnect, for the specified port or subport.
-
#update ⇒ Object
Method is not available.
-
#update_port(portName, attributes) ⇒ Object
Updates an interconnect port.
Methods inherited from Resource
#==, #[], #[]=, build_query, #create!, #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) ⇒ Interconnect
Create a resource object, associate it with a client, and set its properties.
26 27 28 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 26 def initialize(client, params = {}, api_ver = nil) super end |
Class Method Details
.get_type(client, name) ⇒ Array
Retrieves the interconnect type with name
60 61 62 63 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 60 def self.get_type(client, name) results = get_types(client) results.find { |interconnect_type| interconnect_type['name'] == name } end |
.get_types(client) ⇒ Object
Retrieves interconnect types
50 51 52 53 54 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 50 def self.get_types(client) response = client.rest_get(TYPE_URI) response = client.response_handler(response) response['members'] end |
Instance Method Details
#create ⇒ Object
Method is not available
32 33 34 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 32 def create unavailable_method end |
#delete ⇒ Object
Method is not available
44 45 46 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 44 def delete unavailable_method end |
#name_servers ⇒ Object
Retrieves the named servers for this interconnect
66 67 68 69 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 66 def name_servers response = @client.rest_get(@data['uri'] + '/nameServers') response.body end |
#patch(operation, path, value) ⇒ Object
Updates specific attributes for a given interconnect resource
106 107 108 109 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 106 def patch(operation, path, value) response = @client.rest_patch(@data['uri'], 'body' => [{ op: operation, path: path, value: value }]) @client.response_handler(response) end |
#reset_port_protection ⇒ Object
Triggers the reset port protection action
97 98 99 100 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 97 def reset_port_protection response = @client.rest_put(@data['uri'] + '/resetportprotection') @client.response_handler(response) end |
#statistics(portName = nil, subportNumber = nil) ⇒ Object
Get statistics for an interconnect, for the specified port or subport
86 87 88 89 90 91 92 93 94 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 86 def statistics(portName = nil, subportNumber = nil) uri = if subportNumber.nil? "#{@data['uri']}/statistics/#{portName}" else "#{@data['uri']}/statistics/#{portName}/subport/#{subportNumber}" end response = @client.rest_get(uri) response.body end |
#update ⇒ Object
Method is not available
38 39 40 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 38 def update unavailable_method end |
#update_port(portName, attributes) ⇒ Object
Updates an interconnect port
74 75 76 77 78 79 80 81 |
# File 'lib/oneview-sdk/resource/api200/interconnect.rb', line 74 def update_port(portName, attributes) @data['ports'].each do |port| next unless port['name'] == portName attributes.each { |key, value| port[key.to_s] = value } response = @client.rest_put(@data['uri'] + '/ports', 'body' => port) @client.response_handler(response) end end |