oneview-sdk 5.3.0 → 5.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|