oneview-sdk 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/README.md +7 -2
- data/bin/oneview-sdk-ruby +0 -0
- data/endpoints-support.md +296 -288
- data/lib/oneview-sdk.rb +1 -1
- data/lib/oneview-sdk/image-streamer/resource/api500.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api500/plan_script.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api600.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api600/plan_script.rb +31 -0
- data/lib/oneview-sdk/image_streamer.rb +1 -1
- data/lib/oneview-sdk/resource.rb +11 -0
- data/lib/oneview-sdk/resource/api600.rb +66 -0
- data/lib/oneview-sdk/resource/api600/c7000.rb +27 -0
- data/lib/oneview-sdk/resource/api600/c7000/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/datacenter.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/enclosure.rb +71 -0
- data/lib/oneview-sdk/resource/api600/c7000/enclosure_group.rb +39 -0
- data/lib/oneview-sdk/resource/api600/c7000/ethernet_network.rb +47 -0
- data/lib/oneview-sdk/resource/api600/c7000/event.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/fabric.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/fc_network.rb +35 -0
- data/lib/oneview-sdk/resource/api600/c7000/fcoe_network.rb +33 -0
- data/lib/oneview-sdk/resource/api600/c7000/firmware_bundle.rb +21 -0
- data/lib/oneview-sdk/resource/api600/c7000/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/id_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/interconnect.rb +34 -0
- data/lib/oneview-sdk/resource/api600/c7000/internal_link_set.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_downlink.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_interconnect.rb +39 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_interconnect_group.rb +33 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_switch.rb +32 -0
- data/lib/oneview-sdk/resource/api600/c7000/logical_switch_group.rb +32 -0
- data/lib/oneview-sdk/resource/api600/c7000/login_detail.rb +23 -0
- data/lib/oneview-sdk/resource/api600/c7000/managed_san.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/network_set.rb +32 -0
- data/lib/oneview-sdk/resource/api600/c7000/power_device.rb +21 -0
- data/lib/oneview-sdk/resource/api600/c7000/rack.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/resource.rb +21 -0
- data/lib/oneview-sdk/resource/api600/c7000/san_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/scope.rb +92 -0
- data/lib/oneview-sdk/resource/api600/c7000/server_hardware.rb +44 -0
- data/lib/oneview-sdk/resource/api600/c7000/server_hardware_type.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/server_profile.rb +50 -0
- data/lib/oneview-sdk/resource/api600/c7000/server_profile_template.rb +49 -0
- data/lib/oneview-sdk/resource/api600/c7000/storage_pool.rb +32 -0
- data/lib/oneview-sdk/resource/api600/c7000/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/switch.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/unmanaged_device.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/uplink_set.rb +33 -0
- data/lib/oneview-sdk/resource/api600/c7000/user.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/version.rb +23 -0
- data/lib/oneview-sdk/resource/api600/c7000/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/volume_attachment.rb +45 -0
- data/lib/oneview-sdk/resource/api600/c7000/volume_snapshot.rb +32 -0
- data/lib/oneview-sdk/resource/api600/c7000/volume_template.rb +34 -0
- data/lib/oneview-sdk/resource/api600/c7000/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy.rb +27 -0
- data/lib/oneview-sdk/resource/api600/synergy/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/datacenter.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/drive_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/enclosure.rb +71 -0
- data/lib/oneview-sdk/resource/api600/synergy/enclosure_group.rb +41 -0
- data/lib/oneview-sdk/resource/api600/synergy/ethernet_network.rb +47 -0
- data/lib/oneview-sdk/resource/api600/synergy/event.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/fabric.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/fc_network.rb +35 -0
- data/lib/oneview-sdk/resource/api600/synergy/fcoe_network.rb +33 -0
- data/lib/oneview-sdk/resource/api600/synergy/firmware_bundle.rb +21 -0
- data/lib/oneview-sdk/resource/api600/synergy/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/id_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/interconnect.rb +23 -0
- data/lib/oneview-sdk/resource/api600/synergy/internal_link_set.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api600/synergy/logical_downlink.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/logical_interconnect.rb +39 -0
- data/lib/oneview-sdk/resource/api600/synergy/logical_interconnect_group.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/login_detail.rb +23 -0
- data/lib/oneview-sdk/resource/api600/synergy/managed_san.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/os_deployment_plan.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/power_device.rb +21 -0
- data/lib/oneview-sdk/resource/api600/synergy/rack.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/resource.rb +21 -0
- data/lib/oneview-sdk/resource/api600/synergy/san_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/sas_interconnect.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/sas_logical_interconnect.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/sas_logical_interconnect_group.rb +33 -0
- data/lib/oneview-sdk/resource/api600/synergy/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/server_hardware.rb +33 -0
- data/lib/oneview-sdk/resource/api600/synergy/server_hardware_type.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/server_profile.rb +25 -0
- data/lib/oneview-sdk/resource/api600/synergy/server_profile_template.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/switch.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/unmanaged_device.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/uplink_set.rb +33 -0
- data/lib/oneview-sdk/resource/api600/synergy/user.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/version.rb +23 -0
- data/lib/oneview-sdk/resource/api600/synergy/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/volume_snapshot.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api600/synergy/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/version.rb +1 -1
- metadata +105 -3
data/lib/oneview-sdk.rb
CHANGED
|
@@ -26,7 +26,7 @@ module OneviewSDK
|
|
|
26
26
|
env_i3s = %w[I3S_URL I3S_SSL_ENABLED]
|
|
27
27
|
ENV_VARS = env_sdk.concat(env_i3s).freeze
|
|
28
28
|
|
|
29
|
-
SUPPORTED_API_VERSIONS = [200, 300, 500].freeze
|
|
29
|
+
SUPPORTED_API_VERSIONS = [200, 300, 500, 600].freeze
|
|
30
30
|
DEFAULT_API_VERSION = 200
|
|
31
31
|
@api_version = DEFAULT_API_VERSION
|
|
32
32
|
@api_version_updated = false # Whether or not the API version has been set by the user
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# (c) Copyright 2018 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../resource'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
# Module Image Streamer
|
|
16
|
+
module ImageStreamer
|
|
17
|
+
# Module API 500
|
|
18
|
+
module API500
|
|
19
|
+
# Get resource class that matches the type given
|
|
20
|
+
# @param [String] type Name of the desired class type
|
|
21
|
+
# @param [String] variant There is only 1 variant for this module, so this is not used.
|
|
22
|
+
# It exists only so that the parameters match API modules that do have multiple variants.
|
|
23
|
+
# @return [Class] Resource class or nil if not found
|
|
24
|
+
def self.resource_named(type, _variant = nil)
|
|
25
|
+
new_type = type.to_s.downcase.gsub(/[ -_]/, '')
|
|
26
|
+
constants.each do |c|
|
|
27
|
+
klass = const_get(c)
|
|
28
|
+
next unless klass.is_a?(Class) && klass < OneviewSDK::Resource
|
|
29
|
+
name = klass.name.split('::').last.downcase.delete('_').delete('-')
|
|
30
|
+
return klass if new_type =~ /^#{name}[s]?$/
|
|
31
|
+
end
|
|
32
|
+
nil
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Load all API-specific resources:
|
|
39
|
+
Dir[File.dirname(__FILE__) + '/api500/*.rb'].each { |file| require file }
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# (C) Copyright 2018 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# You may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../api300/plan_script'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module ImageStreamer
|
|
16
|
+
module API500
|
|
17
|
+
# Plan Script resource implementation for Image Streamer
|
|
18
|
+
class PlanScript < OneviewSDK::ImageStreamer::API300::PlanScript
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# (c) Copyright 2018 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../resource'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
# Module Image Streamer
|
|
16
|
+
module ImageStreamer
|
|
17
|
+
# Module API 600
|
|
18
|
+
module API600
|
|
19
|
+
# Get resource class that matches the type given
|
|
20
|
+
# @param [String] type Name of the desired class type
|
|
21
|
+
# @param [String] variant There is only 1 variant for this module, so this is not used.
|
|
22
|
+
# It exists only so that the parameters match API modules that do have multiple variants.
|
|
23
|
+
# @return [Class] Resource class or nil if not found
|
|
24
|
+
def self.resource_named(type, _variant = nil)
|
|
25
|
+
new_type = type.to_s.downcase.gsub(/[ -_]/, '')
|
|
26
|
+
constants.each do |c|
|
|
27
|
+
klass = const_get(c)
|
|
28
|
+
next unless klass.is_a?(Class) && klass < OneviewSDK::Resource
|
|
29
|
+
name = klass.name.split('::').last.downcase.delete('_').delete('-')
|
|
30
|
+
return klass if new_type =~ /^#{name}[s]?$/
|
|
31
|
+
end
|
|
32
|
+
nil
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Load all API-specific resources:
|
|
39
|
+
Dir[File.dirname(__FILE__) + '/api600/*.rb'].each { |file| require file }
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# (C) Copyright 2018 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# You may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../api500/plan_script'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module ImageStreamer
|
|
16
|
+
module API600
|
|
17
|
+
# Plan Script resource implementation for Image Streamer
|
|
18
|
+
class PlanScript < OneviewSDK::ImageStreamer::API500::PlanScript
|
|
19
|
+
|
|
20
|
+
# Retrieves the read only artifacts of the selected Plan Script as per the selected attributes.
|
|
21
|
+
# @return [Hash] The readonly artifacts of the selected Plan Script.
|
|
22
|
+
def retrieve_read_only
|
|
23
|
+
ensure_client && ensure_uri
|
|
24
|
+
path = "#{BASE_URI}/#{@data['uri'].split('/').last}/usedby/readonly"
|
|
25
|
+
response = @client.rest_get(path, { 'Content-Type' => 'none' }, @api_version)
|
|
26
|
+
@client.response_handler(response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -19,7 +19,7 @@ Dir[File.dirname(__FILE__) + '/image-streamer/resource/*.rb'].each { |file| requ
|
|
|
19
19
|
module OneviewSDK
|
|
20
20
|
# Module for interacting with the Image Streamer
|
|
21
21
|
module ImageStreamer
|
|
22
|
-
SUPPORTED_API_VERSIONS = [300].freeze
|
|
22
|
+
SUPPORTED_API_VERSIONS = [300, 500, 600].freeze
|
|
23
23
|
DEFAULT_API_VERSION = 300
|
|
24
24
|
@api_version = DEFAULT_API_VERSION
|
|
25
25
|
@api_version_updated = false # Whether or not the API version has been set by the user
|
data/lib/oneview-sdk/resource.rb
CHANGED
|
@@ -341,6 +341,7 @@ module OneviewSDK
|
|
|
341
341
|
words.map!(&:capitalize!)
|
|
342
342
|
words[0] = words.first.downcase
|
|
343
343
|
new_key = words.join
|
|
344
|
+
v = "'" + v.join(',') + "'" if v.is_a?(Array) && v.any?
|
|
344
345
|
v.retrieve! if v.respond_to?(:retrieve!) && !v['uri']
|
|
345
346
|
if v.class <= OneviewSDK::Resource
|
|
346
347
|
new_key = new_key.concat('Uri')
|
|
@@ -351,6 +352,16 @@ module OneviewSDK
|
|
|
351
352
|
query_path.sub('?&', '?')
|
|
352
353
|
end
|
|
353
354
|
|
|
355
|
+
# Make a GET request to the resource base uri, query parameters and returns an array with all objects of this type
|
|
356
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
|
357
|
+
# @param [Hash] query The query options for the request (key-value pairs)
|
|
358
|
+
# @param [Hash] header The header options for the request (key-value pairs)
|
|
359
|
+
# @return [Array<Resource>] Results
|
|
360
|
+
def self.get_all_with_query(client, query = nil)
|
|
361
|
+
query_uri = build_query(query) if query
|
|
362
|
+
find_with_pagination(client, "#{self::BASE_URI}/#{query_uri}")
|
|
363
|
+
end
|
|
364
|
+
|
|
354
365
|
protected
|
|
355
366
|
|
|
356
367
|
# Fail unless @client is set for this resource.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
module OneviewSDK
|
|
13
|
+
# Module for API v600
|
|
14
|
+
module API600
|
|
15
|
+
SUPPORTED_VARIANTS = %w[C7000 Synergy].freeze
|
|
16
|
+
DEFAULT_VARIANT = 'C7000'.freeze
|
|
17
|
+
@variant = DEFAULT_VARIANT
|
|
18
|
+
@variant_updated = false # Whether or not the API variant has been set by the user
|
|
19
|
+
|
|
20
|
+
# Get resource class that matches the type given
|
|
21
|
+
# @param [String] type Name of the desired class type
|
|
22
|
+
# @param [String] variant Variant (C7000 or Synergy)
|
|
23
|
+
# @return [Class] Resource class or nil if not found
|
|
24
|
+
def self.resource_named(type, variant = @variant)
|
|
25
|
+
raise "API600 variant '#{variant}' is not supported! Try one of #{SUPPORTED_VARIANTS}" unless SUPPORTED_VARIANTS.include?(variant.to_s)
|
|
26
|
+
new_type = type.to_s.downcase.gsub(/[ -_]/, '')
|
|
27
|
+
api_module = OneviewSDK::API600.const_get(variant)
|
|
28
|
+
api_module.constants.each do |c|
|
|
29
|
+
klass = api_module.const_get(c)
|
|
30
|
+
next unless klass.is_a?(Class)
|
|
31
|
+
name = klass.name.split('::').last.downcase.delete('_').delete('-')
|
|
32
|
+
return klass if new_type =~ /^#{name}[s]?$/
|
|
33
|
+
end
|
|
34
|
+
nil
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Get the current API600 variant
|
|
38
|
+
def self.variant
|
|
39
|
+
@variant
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Has the API600 variant been set by the user?
|
|
43
|
+
# @return [TrueClass, FalseClass]
|
|
44
|
+
def self.variant_updated?
|
|
45
|
+
@variant_updated
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Sets the API600 variant
|
|
49
|
+
def self.variant=(variant)
|
|
50
|
+
raise "API600 variant '#{variant}' is not supported! Try one of #{SUPPORTED_VARIANTS}" unless SUPPORTED_VARIANTS.include?(variant)
|
|
51
|
+
@variant_updated = true
|
|
52
|
+
@variant = variant
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Helps redirect resources to the correct API600 variant
|
|
56
|
+
def self.const_missing(const)
|
|
57
|
+
api600_module = OneviewSDK::API600.const_get(@variant.to_s)
|
|
58
|
+
api600_module.const_get(const)
|
|
59
|
+
rescue NameError
|
|
60
|
+
raise NameError, "The #{const} method or resource does not exist for OneView API600 variant #{@variant}."
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Load all API600-specific resources:
|
|
66
|
+
Dir[File.dirname(__FILE__) + '/api600/*.rb'].each { |file| require file }
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
module OneviewSDK
|
|
13
|
+
module API600
|
|
14
|
+
# Module for API600 C7000
|
|
15
|
+
module C7000
|
|
16
|
+
# Get resource class that matches the type given
|
|
17
|
+
# @param [String] type Name of the desired class type
|
|
18
|
+
# @return [Class] Resource class or nil if not found
|
|
19
|
+
def self.resource_named(type)
|
|
20
|
+
OneviewSDK::API600.resource_named(type, 'C7000')
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Load all API-specific resources:
|
|
27
|
+
Dir[File.dirname(__FILE__) + '/c7000/*.rb'].each { |file| require file }
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# (C) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# You may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../api300/c7000/client_certificate'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module API600
|
|
16
|
+
module C7000
|
|
17
|
+
# Client certificate resource implementation for API600 C7000
|
|
18
|
+
class ClientCertificate < OneviewSDK::API300::C7000::ClientCertificate
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../api500/c7000/connection_template'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module API600
|
|
16
|
+
module C7000
|
|
17
|
+
# Connection template resource implementation for API600 C7000
|
|
18
|
+
class ConnectionTemplate < OneviewSDK::API500::C7000::ConnectionTemplate
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../api300/c7000/datacenter'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module API600
|
|
16
|
+
module C7000
|
|
17
|
+
# Datacenter resource implementation for API600 C7000
|
|
18
|
+
class Datacenter < OneviewSDK::API300::C7000::Datacenter
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../api500/c7000/enclosure'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module API600
|
|
16
|
+
module C7000
|
|
17
|
+
# Enclosure resource implementation for API600 C7000
|
|
18
|
+
class Enclosure < OneviewSDK::API500::C7000::Enclosure
|
|
19
|
+
# Create a resource object, associate it with a client, and set its properties.
|
|
20
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
|
21
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
|
22
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
|
23
|
+
def initialize(client, params = {}, api_ver = nil)
|
|
24
|
+
@data ||= {}
|
|
25
|
+
# Default values:
|
|
26
|
+
@data['type'] ||= 'EnclosureListV7'
|
|
27
|
+
super
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Generate certificate signing request for the logical enclosure
|
|
31
|
+
# @raise [OneviewSDK::IncompleteResource] if the client is not set
|
|
32
|
+
# @raise [OneviewSDK::IncompleteResource] if the uri is not set
|
|
33
|
+
# @raise [StandardError] if the reapply fails
|
|
34
|
+
# @return [OneviewSDK::LogicalEnclosure] response
|
|
35
|
+
def create_csr_request(options, bay_number = nil)
|
|
36
|
+
ensure_client && ensure_uri
|
|
37
|
+
uri = "#{@data['uri']}/https/certificaterequest"
|
|
38
|
+
uri += "?bayNumber=#{bay_number}" if bay_number
|
|
39
|
+
response = @client.rest_post(uri, { 'body' => options }, @api_version)
|
|
40
|
+
@client.response_handler(response)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Retrieve certificate signing request for the enclosure
|
|
44
|
+
# @raise [OneviewSDK::IncompleteResource] if the client is not set
|
|
45
|
+
# @raise [OneviewSDK::IncompleteResource] if the uri is not set
|
|
46
|
+
# @raise [StandardError] if the reapply fails
|
|
47
|
+
# @return [OneviewSDK::LogicalEnclosure] response
|
|
48
|
+
def get_csr_request(bay_number = nil)
|
|
49
|
+
ensure_client && ensure_uri
|
|
50
|
+
uri = "#{@data['uri']}/https/certificaterequest"
|
|
51
|
+
uri += "?bayNumber=#{bay_number}" if bay_number
|
|
52
|
+
response = @client.rest_get(uri, {}, @api_version)
|
|
53
|
+
@client.response_handler(response)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Import certificate into the logical enclosure
|
|
57
|
+
# @raise [OneviewSDK::IncompleteResource] if the client is not set
|
|
58
|
+
# @raise [OneviewSDK::IncompleteResource] if the uri is not set
|
|
59
|
+
# @raise [StandardError] if the reapply fails
|
|
60
|
+
# @return [OneviewSDK::LogicalEnclosure] response
|
|
61
|
+
def import_certificate(options, bay_number = nil)
|
|
62
|
+
ensure_client && ensure_uri
|
|
63
|
+
uri = "#{@data['uri']}/https/certificaterequest"
|
|
64
|
+
uri += "?bayNumber=#{bay_number}" if bay_number
|
|
65
|
+
response = @client.rest_put(uri, options, @api_version)
|
|
66
|
+
@client.response_handler(response)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# (C) Copyright 2017 Hewlett Packard Enterprise Development LP
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# You may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
#
|
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
|
10
|
+
# language governing permissions and limitations under the License.
|
|
11
|
+
|
|
12
|
+
require_relative '../../api500/c7000/enclosure_group'
|
|
13
|
+
|
|
14
|
+
module OneviewSDK
|
|
15
|
+
module API600
|
|
16
|
+
module C7000
|
|
17
|
+
# Enclosure group resource implementation on API600 C7000
|
|
18
|
+
class EnclosureGroup < OneviewSDK::API500::C7000::EnclosureGroup
|
|
19
|
+
# Create a resource object, associate it with a client, and set its properties.
|
|
20
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
|
21
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
|
22
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
|
23
|
+
def initialize(client, params = {}, api_ver = nil)
|
|
24
|
+
@data ||= {}
|
|
25
|
+
super
|
|
26
|
+
@data.delete('type')
|
|
27
|
+
@data.delete('interconnectBayMappingCount')
|
|
28
|
+
@data.delete('stackingMode')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def update(attributes = {})
|
|
32
|
+
@data['type'] ||= 'EnclosureGroupV7'
|
|
33
|
+
@data['stackingMode'] ||= 'Enclosure'
|
|
34
|
+
super
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|