oneview-sdk 5.13.0 → 5.14.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 +35 -0
  3. data/README.md +29 -8
  4. data/endpoints-support.md +255 -248
  5. data/lib/oneview-sdk.rb +1 -1
  6. data/lib/oneview-sdk/resource/api1600/synergy/scope.rb +2 -2
  7. data/lib/oneview-sdk/resource/api1800.rb +66 -0
  8. data/lib/oneview-sdk/resource/api1800/c7000.rb +27 -0
  9. data/lib/oneview-sdk/resource/api1800/c7000/connection_template.rb +22 -0
  10. data/lib/oneview-sdk/resource/api1800/c7000/enclosure.rb +22 -0
  11. data/lib/oneview-sdk/resource/api1800/c7000/enclosure_group.rb +22 -0
  12. data/lib/oneview-sdk/resource/api1800/c7000/ethernet_network.rb +28 -0
  13. data/lib/oneview-sdk/resource/api1800/c7000/fc_network.rb +28 -0
  14. data/lib/oneview-sdk/resource/api1800/c7000/fcoe_network.rb +28 -0
  15. data/lib/oneview-sdk/resource/api1800/c7000/firmware_driver.rb +22 -0
  16. data/lib/oneview-sdk/resource/api1800/c7000/hypervisor_cluster_profile.rb +22 -0
  17. data/lib/oneview-sdk/resource/api1800/c7000/hypervisor_manager.rb +22 -0
  18. data/lib/oneview-sdk/resource/api1800/c7000/interconnect.rb +26 -0
  19. data/lib/oneview-sdk/resource/api1800/c7000/lig_uplink_set.rb +21 -0
  20. data/lib/oneview-sdk/resource/api1800/c7000/logical_enclosure.rb +22 -0
  21. data/lib/oneview-sdk/resource/api1800/c7000/logical_interconnect.rb +42 -0
  22. data/lib/oneview-sdk/resource/api1800/c7000/logical_interconnect_group.rb +25 -0
  23. data/lib/oneview-sdk/resource/api1800/c7000/network_set.rb +22 -0
  24. data/lib/oneview-sdk/resource/api1800/c7000/scope.rb +22 -0
  25. data/lib/oneview-sdk/resource/api1800/c7000/server_certificate.rb +22 -0
  26. data/lib/oneview-sdk/resource/api1800/c7000/server_hardware.rb +51 -0
  27. data/lib/oneview-sdk/resource/api1800/c7000/server_hardware_type.rb +25 -0
  28. data/lib/oneview-sdk/resource/api1800/c7000/server_profile.rb +22 -0
  29. data/lib/oneview-sdk/resource/api1800/c7000/server_profile_template.rb +22 -0
  30. data/lib/oneview-sdk/resource/api1800/c7000/storage_pool.rb +22 -0
  31. data/lib/oneview-sdk/resource/api1800/c7000/storage_system.rb +22 -0
  32. data/lib/oneview-sdk/resource/api1800/c7000/uplink_set.rb +22 -0
  33. data/lib/oneview-sdk/resource/api1800/c7000/volume.rb +22 -0
  34. data/lib/oneview-sdk/resource/api1800/c7000/volume_attachment.rb +22 -0
  35. data/lib/oneview-sdk/resource/api1800/c7000/volume_template.rb +22 -0
  36. data/lib/oneview-sdk/resource/api1800/synergy.rb +27 -0
  37. data/lib/oneview-sdk/resource/api1800/synergy/connection_template.rb +22 -0
  38. data/lib/oneview-sdk/resource/api1800/synergy/enclosure.rb +22 -0
  39. data/lib/oneview-sdk/resource/api1800/synergy/enclosure_group.rb +22 -0
  40. data/lib/oneview-sdk/resource/api1800/synergy/ethernet_network.rb +22 -0
  41. data/lib/oneview-sdk/resource/api1800/synergy/fc_network.rb +22 -0
  42. data/lib/oneview-sdk/resource/api1800/synergy/fcoe_network.rb +22 -0
  43. data/lib/oneview-sdk/resource/api1800/synergy/firmware_driver.rb +22 -0
  44. data/lib/oneview-sdk/resource/api1800/synergy/hypervisor_cluster_profile.rb +22 -0
  45. data/lib/oneview-sdk/resource/api1800/synergy/hypervisor_manager.rb +22 -0
  46. data/lib/oneview-sdk/resource/api1800/synergy/interconnect.rb +25 -0
  47. data/lib/oneview-sdk/resource/api1800/synergy/lig_uplink_set.rb +21 -0
  48. data/lib/oneview-sdk/resource/api1800/synergy/logical_enclosure.rb +22 -0
  49. data/lib/oneview-sdk/resource/api1800/synergy/logical_interconnect.rb +22 -0
  50. data/lib/oneview-sdk/resource/api1800/synergy/logical_interconnect_group.rb +25 -0
  51. data/lib/oneview-sdk/resource/api1800/synergy/network_set.rb +22 -0
  52. data/lib/oneview-sdk/resource/api1800/synergy/scope.rb +22 -0
  53. data/lib/oneview-sdk/resource/api1800/synergy/server_certificate.rb +22 -0
  54. data/lib/oneview-sdk/resource/api1800/synergy/server_hardware.rb +22 -0
  55. data/lib/oneview-sdk/resource/api1800/synergy/server_hardware_type.rb +22 -0
  56. data/lib/oneview-sdk/resource/api1800/synergy/server_profile.rb +22 -0
  57. data/lib/oneview-sdk/resource/api1800/synergy/server_profile_template.rb +22 -0
  58. data/lib/oneview-sdk/resource/api1800/synergy/storage_pool.rb +22 -0
  59. data/lib/oneview-sdk/resource/api1800/synergy/storage_system.rb +22 -0
  60. data/lib/oneview-sdk/resource/api1800/synergy/uplink_set.rb +22 -0
  61. data/lib/oneview-sdk/resource/api1800/synergy/volume.rb +22 -0
  62. data/lib/oneview-sdk/resource/api1800/synergy/volume_attachment.rb +22 -0
  63. data/lib/oneview-sdk/resource/api1800/synergy/volume_template.rb +22 -0
  64. data/lib/oneview-sdk/version.rb +1 -1
  65. metadata +59 -2
@@ -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, 600, 800, 1000, 1200, 1600].freeze
29
+ SUPPORTED_API_VERSIONS = [200, 300, 500, 600, 800, 1000, 1200, 1600, 1800].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
@@ -9,13 +9,13 @@
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 '../../api1200/c7000/scope'
12
+ require_relative '../c7000/scope'
13
13
 
14
14
  module OneviewSDK
15
15
  module API1600
16
16
  module Synergy
17
17
  # Scope resource implementation for API1600 Synergy
18
- class Scope < OneviewSDK::API1200::C7000::Scope
18
+ class Scope < OneviewSDK::API1600::C7000::Scope
19
19
  end
20
20
  end
21
21
  end
@@ -0,0 +1,66 @@
1
+ # (c) Copyright 2020 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 v1800
14
+ module API1800
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 "API1800 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::API1800.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 API1800 variant
38
+ def self.variant
39
+ @variant
40
+ end
41
+
42
+ # Has the API1800 variant been set by the user?
43
+ # @return [TrueClass, FalseClass]
44
+ def self.variant_updated?
45
+ @variant_updated
46
+ end
47
+
48
+ # Sets the API1800 variant
49
+ def self.variant=(variant)
50
+ raise "API1800 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 API1800 variant
56
+ def self.const_missing(const)
57
+ api1800_module = OneviewSDK::API1800.const_get(@variant.to_s)
58
+ api1800_module.const_get(const)
59
+ rescue NameError
60
+ raise NameError, "The #{const} method or resource does not exist for OneView API1800 variant #{@variant}."
61
+ end
62
+ end
63
+ end
64
+
65
+ # Load all API1800-specific resources:
66
+ Dir[File.dirname(__FILE__) + '/api1800/*.rb'].each { |file| require file }
@@ -0,0 +1,27 @@
1
+ # (c) Copyright 2020 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 API1800
14
+ # Module for API1800 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::API1800.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 2020 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 '../../api1600/c7000/connection_template'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Connection template resource implementation for API1800 C7000
18
+ class ConnectionTemplate < OneviewSDK::API1600::C7000::ConnectionTemplate
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # (c) Copyright 2020 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 '../../api1600/c7000/enclosure'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Enclosure resource implementation for API1800 C7000
18
+ class Enclosure < OneviewSDK::API1600::C7000::Enclosure
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/enclosure_group'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Enclosure group resource implementation on API1800 C7000
18
+ class EnclosureGroup < OneviewSDK::API1600::C7000::EnclosureGroup
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/ethernet_network'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Ethernet network resource implementation for API1800 C7000
18
+ class EthernetNetwork < OneviewSDK::API1600::C7000::EthernetNetwork
19
+ # Bulk delete the ethernet networks
20
+ def self.bulk_delete(client, options)
21
+ response = client.rest_post(BASE_URI + '/bulk-delete', { 'body' => options }, client.api_version)
22
+ client.response_handler(response)
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/fc_network'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # FC network resource implementation for API1800 C7000
18
+ class FCNetwork < OneviewSDK::API1600::C7000::FCNetwork
19
+ # Bulk delete the fc networks
20
+ def self.bulk_delete(client, options)
21
+ response = client.rest_post(BASE_URI + '/bulk-delete', { 'body' => options }, client.api_version)
22
+ client.response_handler(response)
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/fcoe_network'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # FCoE network resource implementation for API1800 C7000
18
+ class FCoENetwork < OneviewSDK::API1600::C7000::FCoENetwork
19
+ # Bulk delete the fcoe networks
20
+ def self.bulk_delete(client, options)
21
+ response = client.rest_post(BASE_URI + '/bulk-delete', { 'body' => options }, client.api_version)
22
+ client.response_handler(response)
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/firmware_driver'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # FirmwareDriver resource implementation for API1800 C7000
18
+ class FirmwareDriver < OneviewSDK::API1600::C7000::FirmwareDriver
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # (c) Copyright 2020 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 '../../api1600/c7000/hypervisor_cluster_profile'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Hypervisor cluster profile resource implementation for API1800 C7000
18
+ class HypervisorClusterProfile < OneviewSDK::API1600::C7000::HypervisorClusterProfile
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/hypervisor_manager'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Hypervisor Manager resource implementation for API1800 C7000
18
+ class HypervisorManager < OneviewSDK::API1600::C7000::HypervisorManager
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/interconnect'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Interconnect resource implementation on API1800 C7000
18
+ class Interconnect < OneviewSDK::API1600::C7000::Interconnect
19
+ include OneviewSDK::ResourceHelper::ConfigurationOperation
20
+ def self.api_version
21
+ 1800
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/lig_uplink_set'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ class LIGUplinkSet < OneviewSDK::API1600::C7000::LIGUplinkSet
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/logical_enclosure'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Logical Enclosure resource implementation on API1800 C7000
18
+ class LogicalEnclosure < OneviewSDK::API1600::C7000::LogicalEnclosure
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ # (C) Copyright 2020 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 '../../api1600/c7000/logical_interconnect'
13
+
14
+ module OneviewSDK
15
+ module API1800
16
+ module C7000
17
+ # Logical interconnect resource implementation for API1800 C7000
18
+ class LogicalInterconnect < OneviewSDK::API1600::C7000::LogicalInterconnect
19
+ # Gets igmpSettings of logical interconnect
20
+ def get_igmp_settings
21
+ ensure_client && ensure_uri
22
+ response = @client.rest_get("#{@data['uri']}/igmpSettings")
23
+ @client.response_handler(response)
24
+ body = @client.response_handler(response)
25
+ body['members']
26
+ end
27
+
28
+ # Updates igmpSettings for LI
29
+ def update_igmp_settings
30
+ raise IncompleteResource, 'Please retrieve the Logical Interconnect before trying to update' unless @data['igmpSettings']
31
+ update_options = {
32
+ 'If-Match' => @data['igmpSettings'].delete('eTag'),
33
+ 'body' => @data['igmpSettings']
34
+ }
35
+ response = @client.rest_put("#{@data['uri']}/igmpSettings", update_options, @api_version)
36
+ body = @client.response_handler(response)
37
+ set_all(body)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end