oneview-sdk 3.1.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -8
  3. data/README.md +41 -11
  4. data/Rakefile +47 -0
  5. data/lib/oneview-sdk.rb +6 -1
  6. data/lib/oneview-sdk/cli.rb +21 -6
  7. data/lib/oneview-sdk/client.rb +23 -7
  8. data/lib/oneview-sdk/image-streamer/client.rb +96 -0
  9. data/lib/oneview-sdk/image-streamer/resource/api300/artifacts_bundle.rb +26 -0
  10. data/lib/oneview-sdk/image-streamer/resource/api300/build_plan.rb +26 -0
  11. data/lib/oneview-sdk/image-streamer/resource/api300/deployment_plan.rb +26 -0
  12. data/lib/oneview-sdk/image-streamer/resource/api300/golden_image.rb +26 -0
  13. data/lib/oneview-sdk/{resource/api300/synergy/logical_switch_group.rb → image-streamer/resource/api300/os_volume.rb} +17 -13
  14. data/lib/oneview-sdk/image-streamer/resource/api300/plan_script.rb +42 -0
  15. data/lib/oneview-sdk/image-streamer/resource/api300/resource.rb +21 -0
  16. data/lib/oneview-sdk/image-streamer/resource/api_300.rb +39 -0
  17. data/lib/oneview-sdk/image_streamer.rb +68 -0
  18. data/lib/oneview-sdk/resource.rb +13 -1
  19. data/lib/oneview-sdk/resource/api200/connection_template.rb +2 -2
  20. data/lib/oneview-sdk/resource/api200/datacenter.rb +2 -2
  21. data/lib/oneview-sdk/resource/api200/enclosure.rb +2 -2
  22. data/lib/oneview-sdk/resource/api200/enclosure_group.rb +6 -0
  23. data/lib/oneview-sdk/resource/api200/fabric.rb +4 -4
  24. data/lib/oneview-sdk/resource/api200/firmware_driver.rb +2 -2
  25. data/lib/oneview-sdk/resource/api200/interconnect.rb +3 -3
  26. data/lib/oneview-sdk/resource/api200/logical_downlink.rb +3 -3
  27. data/lib/oneview-sdk/resource/api200/logical_interconnect_group.rb +8 -8
  28. data/lib/oneview-sdk/resource/api200/logical_switch.rb +2 -4
  29. data/lib/oneview-sdk/resource/api200/managed_san.rb +3 -3
  30. data/lib/oneview-sdk/resource/api200/power_device.rb +2 -2
  31. data/lib/oneview-sdk/resource/api200/rack.rb +2 -2
  32. data/lib/oneview-sdk/resource/api200/san_manager.rb +2 -2
  33. data/lib/oneview-sdk/resource/api200/server_hardware.rb +2 -2
  34. data/lib/oneview-sdk/resource/api200/server_hardware_type.rb +2 -2
  35. data/lib/oneview-sdk/resource/api200/storage_pool.rb +3 -3
  36. data/lib/oneview-sdk/resource/api200/storage_system.rb +2 -2
  37. data/lib/oneview-sdk/resource/api200/switch.rb +4 -4
  38. data/lib/oneview-sdk/resource/api200/unmanaged_device.rb +2 -2
  39. data/lib/oneview-sdk/resource/api200/user.rb +79 -0
  40. data/lib/oneview-sdk/resource/api200/volume_attachment.rb +3 -3
  41. data/lib/oneview-sdk/resource/api200/volume_snapshot.rb +2 -2
  42. data/lib/oneview-sdk/resource/api300.rb +2 -2
  43. data/lib/oneview-sdk/resource/api300/c7000/enclosure.rb +3 -15
  44. data/lib/oneview-sdk/resource/api300/c7000/enclosure_group.rb +54 -1
  45. data/lib/oneview-sdk/resource/api300/c7000/logical_downlink.rb +2 -2
  46. data/lib/oneview-sdk/resource/api300/c7000/logical_switch.rb +4 -0
  47. data/lib/oneview-sdk/resource/api300/c7000/managed_san.rb +1 -1
  48. data/lib/oneview-sdk/resource/api300/c7000/scope.rb +142 -0
  49. data/lib/oneview-sdk/resource/api300/c7000/server_hardware.rb +3 -17
  50. data/lib/oneview-sdk/resource/api300/c7000/user.rb +22 -0
  51. data/lib/oneview-sdk/resource/api300/synergy/drive_enclosure.rb +3 -3
  52. data/lib/oneview-sdk/resource/api300/synergy/enclosure.rb +4 -31
  53. data/lib/oneview-sdk/resource/api300/synergy/enclosure_group.rb +3 -6
  54. data/lib/oneview-sdk/resource/api300/synergy/logical_downlink.rb +2 -2
  55. data/lib/oneview-sdk/resource/api300/synergy/logical_enclosure.rb +1 -1
  56. data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb +24 -23
  57. data/lib/oneview-sdk/resource/api300/synergy/logical_switch.rb +2 -0
  58. data/lib/oneview-sdk/resource/api300/synergy/sas_interconnect.rb +3 -3
  59. data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect.rb +2 -2
  60. data/lib/oneview-sdk/resource/api300/synergy/scope.rb +22 -0
  61. data/lib/oneview-sdk/resource/api300/synergy/user.rb +22 -0
  62. data/lib/oneview-sdk/rest.rb +7 -2
  63. data/lib/oneview-sdk/version.rb +2 -2
  64. data/oneview-sdk.gemspec +1 -0
  65. metadata +32 -4
@@ -0,0 +1,26 @@
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 'resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ # Artifacts Bundle resource implementation for Image Streamer
18
+ # @note This resource is unimplemented/unfinished at this point, so use at your own risk.
19
+ # This resource is subject to change drastically in the near future without a major version
20
+ # bump, which may break your code.
21
+ class ArtifactsBundle < Resource
22
+ BASE_URI = '/rest/artifact-bundles'.freeze
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
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 'resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ # Build Plan resource implementation for Image Streamer
18
+ # @note This resource is unimplemented/unfinished at this point, so use at your own risk.
19
+ # This resource is subject to change drastically in the near future without a major version
20
+ # bump, which may break your code.
21
+ class BuildPlan < Resource
22
+ BASE_URI = '/rest/build-plans'.freeze
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
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 'resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ # Deployment Plan resource implementation for Image Streamer
18
+ # @note This resource is unimplemented/unfinished at this point, so use at your own risk.
19
+ # This resource is subject to change drastically in the near future without a major version
20
+ # bump, which may break your code.
21
+ class DeploymentPlan < Resource
22
+ BASE_URI = '/rest/deployment-plans'.freeze
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
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 'resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ # Golden Image resource implementation for Image Streamer
18
+ # @note This resource is unimplemented/unfinished at this point, so use at your own risk.
19
+ # This resource is subject to change drastically in the near future without a major version
20
+ # bump, which may break your code.
21
+ class GoldenImage < Resource
22
+ BASE_URI = '/rest/golden-images'.freeze
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,4 +1,4 @@
1
- # (C) Copyright 2016 Hewlett Packard Enterprise Development LP
1
+ # (C) Copyright 2017 Hewlett Packard Enterprise Development LP
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # You may not use this file except in compliance with the License.
@@ -9,35 +9,39 @@
9
9
  # CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
10
10
  # language governing permissions and limitations under the License.
11
11
 
12
- require_relative '../../api200/logical_switch_group'
12
+ require_relative 'resource'
13
13
 
14
14
  module OneviewSDK
15
- module API300
16
- module Synergy
17
- # Logical switch group resource implementation for API300 Synergy
18
- class LogicalSwitchGroup < OneviewSDK::API200::LogicalSwitchGroup
15
+ module ImageStreamer
16
+ module API300
17
+ # OS Volume resource implementation for Image Streamer
18
+ class OSVolume < Resource
19
+ BASE_URI = '/rest/os-volumes'.freeze
20
+
19
21
  # Method is not available
20
22
  # @raise [OneviewSDK::MethodUnavailable] method is not available
21
- def create
23
+ def create(*)
22
24
  unavailable_method
23
25
  end
24
26
 
25
27
  # Method is not available
26
28
  # @raise [OneviewSDK::MethodUnavailable] method is not available
27
- def update
29
+ def update(*)
28
30
  unavailable_method
29
31
  end
30
32
 
31
33
  # Method is not available
32
34
  # @raise [OneviewSDK::MethodUnavailable] method is not available
33
- def delete
35
+ def delete(*)
34
36
  unavailable_method
35
37
  end
36
38
 
37
- # Method is not available
38
- # @raise [OneviewSDK::MethodUnavailable] method is not available
39
- def set_grouping_parameters
40
- unavailable_method
39
+ # Get the details of the archived OS volume with the specified attribute.
40
+ # @return [Hash] The details of the archived OS volume with the specified attribute
41
+ def get_details_archive
42
+ ensure_client && ensure_uri
43
+ response = @client.rest_get("#{BASE_URI}/archive/#{data['uri'].split('/').last}")
44
+ @client.response_handler(response)
41
45
  end
42
46
  end
43
47
  end
@@ -0,0 +1,42 @@
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 'resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ # Plan Script resource implementation for Image Streamer
18
+ class PlanScript < Resource
19
+ BASE_URI = '/rest/plan-scripts'.freeze
20
+
21
+ # Create a resource object, associate it with a client, and set its properties.
22
+ # @param [OneviewSDK::ImageStreamer::Client] client The client object for the Image Streamer appliance
23
+ # @param [Hash] params The options for this resource (key-value pairs)
24
+ # @param [Integer] api_ver The api version to use when interracting with this resource.
25
+ def initialize(client, params = {}, api_ver = nil)
26
+ super
27
+ # Default values:
28
+ @data['type'] ||= 'PlanScript'
29
+ end
30
+
31
+ # Retrieves the modified contents of the selected Plan Script as per the selected attributes.
32
+ # @return [Hash] The script differences of the selected Plan Script.
33
+ def retrieve_differences
34
+ ensure_client && ensure_uri
35
+ path = "#{BASE_URI}/differences/#{@data['uri'].split('/').last}"
36
+ response = @client.rest_post(path, { 'Content-Type' => 'none' }, @api_version)
37
+ @client.response_handler(response)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,21 @@
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 '../../../resource'
13
+
14
+ module OneviewSDK
15
+ module ImageStreamer
16
+ module API300
17
+ class Resource < OneviewSDK::Resource
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,39 @@
1
+ # (c) Copyright 2016 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 300
18
+ module API300
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__) + '/api300/*.rb'].each { |file| require file }
@@ -0,0 +1,68 @@
1
+ # (c) Copyright 2016 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 'version'
13
+ require_relative 'exceptions'
14
+ require_relative 'image-streamer/client'
15
+ require_relative 'resource'
16
+ Dir[File.dirname(__FILE__) + '/image-streamer/resource/*.rb'].each { |file| require file }
17
+
18
+ # Module for interacting with the HPE OneView API
19
+ module OneviewSDK
20
+ # Module for interacting with the Image Streamer
21
+ module ImageStreamer
22
+ SUPPORTED_API_VERSIONS = [300].freeze
23
+ DEFAULT_API_VERSION = 300
24
+ @api_version = DEFAULT_API_VERSION
25
+ @api_version_updated = false # Whether or not the API version has been set by the user
26
+
27
+ # Get the current API version
28
+ def self.api_version
29
+ @api_version
30
+ end
31
+
32
+ # Set the default API version
33
+ def self.api_version=(version)
34
+ version = version.to_i rescue version
35
+ raise "API version #{version} is not supported!" unless SUPPORTED_API_VERSIONS.include?(version)
36
+ raise "The module for API version #{@api_version} is undefined" unless constants.include?("API#{@api_version}".to_sym)
37
+ @api_version_updated = true
38
+ @api_version = version
39
+ end
40
+
41
+ # Has the API version been set by the user?
42
+ # @return [TrueClass, FalseClass]
43
+ def self.api_version_updated?
44
+ @api_version_updated
45
+ end
46
+
47
+ # Helps redirect resources to the correct API module for Image Streamer
48
+ def self.const_missing(const)
49
+ api_module = OneviewSDK::ImageStreamer.const_get("API#{@api_version}")
50
+ api_module.const_get(const)
51
+ rescue NameError
52
+ raise NameError, "The #{const} method or resource does not exist for Image Streamer API version #{@api_version}."
53
+ end
54
+
55
+ # Get resource class that matches the type given
56
+ # @param [String] type Name of the desired class type
57
+ # @param [Fixnum] api_ver API module version to fetch resource from
58
+ # @param [String] variant API module variant to fetch resource from
59
+ # @return [Class] Resource class or nil if not found
60
+ def self.resource_named(type, api_ver = @api_version, variant = nil)
61
+ unless SUPPORTED_API_VERSIONS.include?(api_ver)
62
+ raise UnsupportedVersion, "API version #{api_ver} is not supported! Try one of: #{SUPPORTED_API_VERSIONS}"
63
+ end
64
+ api_module = OneviewSDK::ImageStreamer.const_get("API#{api_ver}")
65
+ variant ? api_module.resource_named(type, variant) : api_module.resource_named(type)
66
+ end
67
+ end
68
+ end
@@ -10,6 +10,7 @@
10
10
  # language governing permissions and limitations under the License.
11
11
 
12
12
  require_relative 'client'
13
+ require_relative 'image-streamer/client'
13
14
 
14
15
  # OneviewSDK Resources
15
16
  module OneviewSDK
@@ -30,7 +31,7 @@ module OneviewSDK
30
31
  # @param [Integer] api_ver The api version to use when interracting with this resource.
31
32
  # Defaults to the client.api_version if it exists, or the OneviewSDK::Client::DEFAULT_API_VERSION.
32
33
  def initialize(client, params = {}, api_ver = nil)
33
- raise InvalidClient, 'Must specify a valid client' unless client.is_a?(OneviewSDK::Client)
34
+ raise InvalidClient, 'Must specify a valid client' unless client.is_a?(OneviewSDK::Client) || client.is_a?(OneviewSDK::ImageStreamer::Client)
34
35
  @client = client
35
36
  @logger = @client.logger
36
37
  @api_version = api_ver || @client.api_version
@@ -322,6 +323,17 @@ module OneviewSDK
322
323
  true
323
324
  end
324
325
 
326
+ # Gets all the URIs for the specified resources
327
+ # @param [Array<OneviewSDK::Resource>] resources The list of resources
328
+ # @return [Array<String>] List of uris
329
+ # @raise IncompleteResource if 'uri' is not set for each resource.
330
+ def ensure_and_get_uris(resources)
331
+ resources.map do |resource|
332
+ resource.ensure_uri
333
+ resource['uri']
334
+ end
335
+ end
336
+
325
337
  # Fail for methods that are not available for one resource
326
338
  def unavailable_method
327
339
  raise MethodUnavailable, "The method ##{caller[0][/`.*'/][1..-2]} is unavailable for this resource"
@@ -30,13 +30,13 @@ module OneviewSDK
30
30
 
31
31
  # Method is not available
32
32
  # @raise [OneviewSDK::MethodUnavailable] method is not available
33
- def create
33
+ def create(*)
34
34
  unavailable_method
35
35
  end
36
36
 
37
37
  # Method is not available
38
38
  # @raise [OneviewSDK::MethodUnavailable] method is not available
39
- def delete
39
+ def delete(*)
40
40
  unavailable_method
41
41
  end
42
42
 
@@ -40,13 +40,13 @@ module OneviewSDK
40
40
 
41
41
  # Method is not available
42
42
  # @raise [OneviewSDK::MethodUnavailable] method is not available
43
- def create
43
+ def create(*)
44
44
  unavailable_method
45
45
  end
46
46
 
47
47
  # Method is not available
48
48
  # @raise [OneviewSDK::MethodUnavailable] method is not available
49
- def delete
49
+ def delete(*)
50
50
  unavailable_method
51
51
  end
52
52
 
@@ -37,13 +37,13 @@ module OneviewSDK
37
37
 
38
38
  # Method is not available
39
39
  # @raise [OneviewSDK::MethodUnavailable] method is not available
40
- def create
40
+ def create(*)
41
41
  unavailable_method
42
42
  end
43
43
 
44
44
  # Method is not available
45
45
  # @raise [OneviewSDK::MethodUnavailable] method is not available
46
- def delete
46
+ def delete(*)
47
47
  unavailable_method
48
48
  end
49
49
 
@@ -49,16 +49,21 @@ module OneviewSDK
49
49
 
50
50
  # Adds the logical interconnect group
51
51
  # @param [OneviewSDK::LogicalInterconnectGroup] lig Logical Interconnect Group
52
+ # @raise [OneviewSDK::NotFound] if the LIG uri is not set and cannot be retrieved
53
+ # @return [OneviewSDK::EnclosureGroup] self
52
54
  def add_logical_interconnect_group(lig)
53
55
  lig.retrieve! unless lig['uri']
56
+ raise(NotFound, "The logical interconnect group #{lig['name']} was not found.") unless lig['uri']
54
57
  lig['interconnectMapTemplate']['interconnectMapEntryTemplates'].each do |entry|
55
58
  entry['logicalLocation']['locationEntries'].each do |location|
56
59
  add_lig_to_bay(location['relativeValue'], lig) if location['type'] == 'Bay' && entry['permittedInterconnectTypeUri']
57
60
  end
58
61
  end
62
+ self
59
63
  end
60
64
 
61
65
  # Creates the interconnect bay mapping
66
+ # @return [OneviewSDK::EnclosureGroup] self
62
67
  def create_interconnect_bay_mapping
63
68
  @data['interconnectBayMappings'] = []
64
69
  1.upto(@data['interconnectBayMappingCount']) do |bay_number|
@@ -68,6 +73,7 @@ module OneviewSDK
68
73
  }
69
74
  @data['interconnectBayMappings'] << entry
70
75
  end
76
+ self
71
77
  end
72
78
 
73
79
  private