oneview-sdk 4.5.1 → 5.0.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 +56 -0
- data/Gemfile +0 -0
- data/Guardfile +0 -0
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/bin/oneview-sdk-ruby +0 -0
- data/lib/oneview-sdk.rb +0 -0
- data/lib/oneview-sdk/cli.rb +0 -0
- data/lib/oneview-sdk/client.rb +0 -0
- data/lib/oneview-sdk/config_loader.rb +0 -0
- data/lib/oneview-sdk/exceptions.rb +0 -0
- data/lib/oneview-sdk/image-streamer/client.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/artifact_bundle.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/build_plan.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/deployment_group.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/deployment_plan.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/golden_image.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/os_volume.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/plan_script.rb +0 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/resource.rb +0 -0
- data/lib/oneview-sdk/image_streamer.rb +0 -0
- data/lib/oneview-sdk/resource.rb +54 -23
- data/lib/oneview-sdk/resource/api200.rb +0 -0
- data/lib/oneview-sdk/resource/api200/client_certificate.rb +134 -0
- data/lib/oneview-sdk/resource/api200/connection_template.rb +2 -1
- data/lib/oneview-sdk/resource/api200/datacenter.rb +0 -0
- data/lib/oneview-sdk/resource/api200/enclosure.rb +5 -9
- data/lib/oneview-sdk/resource/api200/enclosure_group.rb +2 -1
- data/lib/oneview-sdk/resource/api200/ethernet_network.rb +2 -2
- data/lib/oneview-sdk/resource/api200/event.rb +0 -0
- data/lib/oneview-sdk/resource/api200/fabric.rb +0 -0
- data/lib/oneview-sdk/resource/api200/fc_network.rb +0 -0
- data/lib/oneview-sdk/resource/api200/fcoe_network.rb +0 -0
- data/lib/oneview-sdk/resource/api200/firmware_bundle.rb +2 -1
- data/lib/oneview-sdk/resource/api200/firmware_driver.rb +0 -0
- data/lib/oneview-sdk/resource/api200/id_pool.rb +5 -3
- data/lib/oneview-sdk/resource/api200/interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api200/lig_uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api200/logical_downlink.rb +0 -0
- data/lib/oneview-sdk/resource/api200/logical_enclosure.rb +1 -1
- data/lib/oneview-sdk/resource/api200/logical_interconnect.rb +4 -3
- data/lib/oneview-sdk/resource/api200/logical_interconnect_group.rb +2 -2
- data/lib/oneview-sdk/resource/api200/logical_switch.rb +0 -0
- data/lib/oneview-sdk/resource/api200/logical_switch_group.rb +0 -0
- data/lib/oneview-sdk/resource/api200/managed_san.rb +0 -0
- data/lib/oneview-sdk/resource/api200/network_set.rb +0 -0
- data/lib/oneview-sdk/resource/api200/power_device.rb +1 -1
- data/lib/oneview-sdk/resource/api200/rack.rb +0 -0
- data/lib/oneview-sdk/resource/api200/resource.rb +0 -0
- data/lib/oneview-sdk/resource/api200/san_manager.rb +0 -0
- data/lib/oneview-sdk/resource/api200/server_hardware.rb +2 -2
- data/lib/oneview-sdk/resource/api200/server_hardware_type.rb +0 -0
- data/lib/oneview-sdk/resource/api200/server_profile.rb +35 -25
- data/lib/oneview-sdk/resource/api200/server_profile_template.rb +24 -14
- data/lib/oneview-sdk/resource/api200/storage_pool.rb +0 -0
- data/lib/oneview-sdk/resource/api200/storage_system.rb +6 -10
- data/lib/oneview-sdk/resource/api200/switch.rb +4 -10
- data/lib/oneview-sdk/resource/api200/unmanaged_device.rb +0 -0
- data/lib/oneview-sdk/resource/api200/uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api200/user.rb +18 -0
- data/lib/oneview-sdk/resource/api200/volume.rb +15 -11
- data/lib/oneview-sdk/resource/api200/volume_attachment.rb +3 -1
- data/lib/oneview-sdk/resource/api200/volume_snapshot.rb +0 -0
- data/lib/oneview-sdk/resource/api200/volume_template.rb +0 -0
- data/lib/oneview-sdk/resource/api200/web_server_certificate.rb +97 -0
- data/lib/oneview-sdk/resource/api300.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api300/c7000/connection_template.rb +0 -8
- data/lib/oneview-sdk/resource/api300/c7000/datacenter.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/enclosure.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/enclosure_group.rb +0 -1
- data/lib/oneview-sdk/resource/api300/c7000/ethernet_network.rb +1 -0
- data/lib/oneview-sdk/resource/api300/c7000/event.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/fabric.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/fc_network.rb +1 -0
- data/lib/oneview-sdk/resource/api300/c7000/fcoe_network.rb +1 -0
- data/lib/oneview-sdk/resource/api300/c7000/firmware_bundle.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/firmware_driver.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/id_pool.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api300/{synergy/logical_switch.rb → c7000/internal_link_set.rb} +30 -7
- data/lib/oneview-sdk/resource/api300/c7000/lig_uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/logical_downlink.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/logical_enclosure.rb +9 -7
- data/lib/oneview-sdk/resource/api300/c7000/logical_interconnect.rb +2 -20
- data/lib/oneview-sdk/resource/api300/c7000/logical_interconnect_group.rb +2 -0
- data/lib/oneview-sdk/resource/api300/c7000/logical_switch.rb +0 -19
- data/lib/oneview-sdk/resource/api300/c7000/logical_switch_group.rb +1 -0
- data/lib/oneview-sdk/resource/api300/c7000/managed_san.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/network_set.rb +1 -0
- data/lib/oneview-sdk/resource/api300/c7000/power_device.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/rack.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/resource.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/san_manager.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/scope.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/server_hardware.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/server_hardware_type.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/server_profile.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/server_profile_template.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/storage_pool.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/storage_system.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/switch.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/unmanaged_device.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/user.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/volume.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/volume_attachment.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/volume_snapshot.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/volume_template.rb +0 -0
- data/lib/oneview-sdk/resource/api300/c7000/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api300/synergy.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api300/synergy/connection_template.rb +0 -8
- data/lib/oneview-sdk/resource/api300/synergy/datacenter.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/drive_enclosure.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/enclosure.rb +2 -2
- data/lib/oneview-sdk/resource/api300/synergy/enclosure_group.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/ethernet_network.rb +1 -0
- data/lib/oneview-sdk/resource/api300/synergy/event.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/fabric.rb +1 -1
- data/lib/oneview-sdk/resource/api300/synergy/fc_network.rb +1 -0
- data/lib/oneview-sdk/resource/api300/synergy/fcoe_network.rb +3 -15
- data/lib/oneview-sdk/resource/api300/synergy/firmware_bundle.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/firmware_driver.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/id_pool.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/internal_link_set.rb +22 -0
- data/lib/oneview-sdk/resource/api300/synergy/lig_uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/logical_downlink.rb +2 -14
- data/lib/oneview-sdk/resource/api300/synergy/logical_enclosure.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect.rb +0 -20
- data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb +3 -1
- data/lib/oneview-sdk/resource/api300/synergy/managed_san.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/network_set.rb +2 -17
- data/lib/oneview-sdk/resource/api300/synergy/os_deployment_plan.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/power_device.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/rack.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/resource.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/san_manager.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/sas_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect_group.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/scope.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/server_hardware.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/server_hardware_type.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/server_profile.rb +24 -27
- data/lib/oneview-sdk/resource/api300/synergy/server_profile_template.rb +0 -12
- data/lib/oneview-sdk/resource/api300/synergy/storage_pool.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/storage_system.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/switch.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/unmanaged_device.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/user.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/volume.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/volume_attachment.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/volume_snapshot.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/volume_template.rb +0 -0
- data/lib/oneview-sdk/resource/api300/synergy/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api500.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api500/c7000/connection_template.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/datacenter.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/enclosure.rb +35 -0
- data/lib/oneview-sdk/resource/api500/c7000/enclosure_group.rb +21 -0
- data/lib/oneview-sdk/resource/api500/c7000/ethernet_network.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/event.rb +2 -2
- data/lib/oneview-sdk/resource/api500/c7000/fabric.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/fc_network.rb +1 -0
- data/lib/oneview-sdk/resource/api500/c7000/fcoe_network.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/firmware_bundle.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/firmware_driver.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/id_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api500/c7000/interconnect.rb +8 -0
- data/lib/oneview-sdk/resource/api500/c7000/internal_link_set.rb +22 -0
- data/lib/oneview-sdk/resource/api500/c7000/lig_uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_downlink.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_enclosure.rb +40 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_interconnect_group.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_switch.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/logical_switch_group.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/managed_san.rb +10 -0
- data/lib/oneview-sdk/resource/api500/c7000/network_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/power_device.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/rack.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/resource.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/san_manager.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/scope.rb +49 -0
- data/lib/oneview-sdk/resource/api500/c7000/server_hardware.rb +20 -0
- data/lib/oneview-sdk/resource/api500/c7000/server_hardware_type.rb +1 -0
- data/lib/oneview-sdk/resource/api500/c7000/server_profile.rb +60 -1
- data/lib/oneview-sdk/resource/api500/c7000/server_profile_template.rb +86 -0
- data/lib/oneview-sdk/resource/api500/c7000/storage_pool.rb +57 -2
- data/lib/oneview-sdk/resource/api500/c7000/storage_system.rb +132 -0
- data/lib/oneview-sdk/resource/api500/c7000/switch.rb +7 -0
- data/lib/oneview-sdk/resource/api500/c7000/unmanaged_device.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/user.rb +0 -0
- data/lib/oneview-sdk/resource/api500/c7000/volume.rb +135 -0
- data/lib/oneview-sdk/resource/api500/c7000/volume_attachment.rb +24 -1
- data/lib/oneview-sdk/resource/api500/c7000/volume_snapshot.rb +10 -0
- data/lib/oneview-sdk/resource/api500/c7000/volume_template.rb +94 -3
- data/lib/oneview-sdk/resource/api500/c7000/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api500/synergy.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/client_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api500/synergy/connection_template.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/datacenter.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/drive_enclosure.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/enclosure.rb +35 -0
- data/lib/oneview-sdk/resource/api500/synergy/enclosure_group.rb +27 -0
- data/lib/oneview-sdk/resource/api500/synergy/ethernet_network.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/event.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/fabric.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/fc_network.rb +1 -0
- data/lib/oneview-sdk/resource/api500/synergy/fcoe_network.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/firmware_bundle.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/firmware_driver.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/{logical_switch.rb → id_pool.rb} +3 -3
- data/lib/oneview-sdk/resource/api500/synergy/interconnect.rb +17 -1
- data/lib/oneview-sdk/resource/api500/synergy/internal_link_set.rb +22 -0
- data/lib/oneview-sdk/resource/api500/synergy/lig_uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/logical_downlink.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/logical_enclosure.rb +17 -0
- data/lib/oneview-sdk/resource/api500/synergy/logical_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/logical_interconnect_group.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/managed_san.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/network_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/os_deployment_plan.rb +22 -0
- data/lib/oneview-sdk/resource/api500/synergy/power_device.rb +1 -1
- data/lib/oneview-sdk/resource/api500/synergy/rack.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/resource.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/san_manager.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/sas_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/sas_logical_interconnect.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/sas_logical_interconnect_group.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/scope.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/server_hardware.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/server_hardware_type.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/server_profile.rb +4 -1
- data/lib/oneview-sdk/resource/api500/synergy/server_profile_template.rb +16 -2
- data/lib/oneview-sdk/resource/api500/synergy/storage_pool.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/storage_system.rb +1 -1
- data/lib/oneview-sdk/resource/api500/synergy/switch.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/unmanaged_device.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/uplink_set.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/user.rb +0 -0
- data/lib/oneview-sdk/resource/api500/synergy/volume.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/volume_attachment.rb +3 -3
- data/lib/oneview-sdk/resource/api500/synergy/volume_snapshot.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/volume_template.rb +2 -2
- data/lib/oneview-sdk/resource/api500/synergy/web_server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource_helper.rb +30 -0
- data/lib/oneview-sdk/rest.rb +6 -2
- data/lib/oneview-sdk/scmb.rb +0 -0
- data/lib/oneview-sdk/ssl_helper.rb +0 -0
- data/lib/oneview-sdk/version.rb +1 -1
- data/oneview-sdk.gemspec +0 -0
- metadata +21 -5
@@ -16,6 +16,13 @@ module OneviewSDK
|
|
16
16
|
module C7000
|
17
17
|
# Switch resource implementation for API 500 C7000
|
18
18
|
class Switch < OneviewSDK::API300::C7000::Switch
|
19
|
+
|
20
|
+
# Method is not available
|
21
|
+
# Use {#add_scope}, {#remove_scope}, and {#replace_scopes} instead.
|
22
|
+
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
23
|
+
def set_scope_uris(*)
|
24
|
+
unavailable_method
|
25
|
+
end
|
19
26
|
end
|
20
27
|
end
|
21
28
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,6 +16,141 @@ module OneviewSDK
|
|
16
16
|
module C7000
|
17
17
|
# Volume resource implementation on API500 C7000
|
18
18
|
class Volume < OneviewSDK::API300::C7000::Volume
|
19
|
+
|
20
|
+
# Method is not available
|
21
|
+
# @raise [OneviewSDK::MethodUnavailable] method is not available.
|
22
|
+
def set_storage_system(*)
|
23
|
+
unavailable_method
|
24
|
+
end
|
25
|
+
|
26
|
+
# Creates the volume
|
27
|
+
# @note properties and templateUri parameters are required for creation, but not afterwards; after creation, they will be removed.
|
28
|
+
# @raise [OneviewSDK::IncompleteResource] if the client is not set.
|
29
|
+
# @raise [StandardError] if the resource creation fails.
|
30
|
+
# @return [Resource] self
|
31
|
+
def create
|
32
|
+
properties = Hash[@data['properties'].map { |k, v| [k.to_sym, v] }]
|
33
|
+
family = properties[:dataProtectionLevel].nil? ? 'StoreServ' : 'StoreVirtual'
|
34
|
+
template_data = {
|
35
|
+
isRoot: true,
|
36
|
+
family: family
|
37
|
+
}
|
38
|
+
@data['templateUri'] = get_volume_template_uri(template_data) unless @data['templateUri']
|
39
|
+
|
40
|
+
OneviewSDK::Resource.instance_method(:create).bind(self).call
|
41
|
+
@data.delete('properties')
|
42
|
+
@data.delete('templateUri')
|
43
|
+
self
|
44
|
+
end
|
45
|
+
|
46
|
+
# Deletes the resource from OneView or from Oneview and storage system
|
47
|
+
# @param [Symbol] flag Delete storage system from Oneview only or in storage system as well.
|
48
|
+
# Flags: :all = removes the volume from oneview and storage system. :oneview = removes from oneview only.
|
49
|
+
# @raise [InvalidResource] if an invalid flag is passed.
|
50
|
+
# @return [true] if resource was deleted successfully.
|
51
|
+
def delete(flag = :all)
|
52
|
+
ensure_client && ensure_uri
|
53
|
+
raise InvalidResource, 'Invalid flag value, use :oneview or :all' unless flag == :oneview || flag == :all
|
54
|
+
uri = @data['uri']
|
55
|
+
uri << '?suppressDeviceUpdates=true' if flag == :oneview
|
56
|
+
response = @client.rest_delete(uri, 'If-Match' => @data['eTag'])
|
57
|
+
@client.response_handler(response)
|
58
|
+
true
|
59
|
+
end
|
60
|
+
|
61
|
+
# Sets the storage pool to the volume
|
62
|
+
# @param [OneviewSDK::StoragePool] storage_pool Storage pool.
|
63
|
+
def set_storage_pool(storage_pool)
|
64
|
+
assure_uri(storage_pool)
|
65
|
+
@data['properties'] ||= {}
|
66
|
+
@data['properties']['storagePool'] = storage_pool['uri']
|
67
|
+
end
|
68
|
+
|
69
|
+
# Sets the snapshot pool to the volume
|
70
|
+
# @param [OneviewSDK::StoragePool] storage_pool Storage Pool to use for snapshots.
|
71
|
+
def set_snapshot_pool(storage_pool)
|
72
|
+
assure_uri(storage_pool)
|
73
|
+
@data['properties'] ||= {}
|
74
|
+
@data['properties']['snapshotPool'] = storage_pool['uri']
|
75
|
+
end
|
76
|
+
|
77
|
+
# Creates a new volume on the storage system from a snapshot of a volume.
|
78
|
+
# @note Volumes can only be created on storage pools managed by the appliance.
|
79
|
+
# @param [String] snapshot_name The snapshot name.
|
80
|
+
# @param [Hash] properties Storage Pool to use for snapshots.
|
81
|
+
# @option properties [String] :provisioningType The provision type. Values: Full or Thin.
|
82
|
+
# @option properties [String] :name The name for new volume.
|
83
|
+
# @option properties [String] :isShareable Indicates whether or not the volume can be shared by multiple profiles.
|
84
|
+
# @param [OneviewSDK::VolumeTemplate] volume_template The Volume Template resource.
|
85
|
+
# @param [Boolean] is_permanent If true, indicates that the volume will persist when the profile using this volume is deleted.
|
86
|
+
# @raise [IncompleteResource] if the snapshot or volume template are not found.
|
87
|
+
# @return [OneviewSDK::Volume] The volume created.
|
88
|
+
def create_from_snapshot(snapshot_name, properties, volume_template = nil, is_permanent = true)
|
89
|
+
snapshot = get_snapshot(snapshot_name)
|
90
|
+
raise IncompleteResource, 'Snapshot not found!' unless snapshot
|
91
|
+
storage_pool_uri = nil
|
92
|
+
volume_template_uri = if volume_template.nil?
|
93
|
+
storage_pool_uri = @data['storagePoolUri']
|
94
|
+
get_volume_template_uri(isRoot: true, family: 'StoreServ')
|
95
|
+
else
|
96
|
+
raise IncompleteResource, 'Volume Template not found!' unless volume_template.retrieve!
|
97
|
+
storage_pool_uri = volume_template['storagePoolUri']
|
98
|
+
volume_template['uri']
|
99
|
+
end
|
100
|
+
|
101
|
+
data = {
|
102
|
+
'properties' => properties.merge('storagePool' => storage_pool_uri, 'snapshotPool' => storage_pool_uri),
|
103
|
+
'snapshotUri' => snapshot['uri'],
|
104
|
+
'templateUri' => volume_template_uri,
|
105
|
+
'isPermanent' => is_permanent
|
106
|
+
}
|
107
|
+
|
108
|
+
response = @client.rest_post("#{BASE_URI}/from-snapshot", { 'body' => data }, @api_version)
|
109
|
+
self.class.new(@client, client.response_handler(response))
|
110
|
+
end
|
111
|
+
|
112
|
+
# Initiates a process to import a volume (created external to OneView) for management by the appliance.
|
113
|
+
# @note Volumes can be added only on the storage system and storage pools managed by the appliance.
|
114
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance.
|
115
|
+
# @param [OneviewSDK::StorageSystem] storage_system The storage system in which the volume exists to be managed.
|
116
|
+
# @param [String] volume_name The name of the volume on the actual storage system.
|
117
|
+
# @param [Boolean] is_shareable Describes if the volume is shareable or private.
|
118
|
+
# @param [Hash] options The options to create a volume.
|
119
|
+
# @option options [String] :name The name for new volume.
|
120
|
+
# @option options [String] :description The description for new volume.
|
121
|
+
# @raise [OneviewSDK::IncompleteResource] if storage system is not found
|
122
|
+
# @return [OneviewSDK::Volume] The volume imported.
|
123
|
+
def self.add(client, storage_system, volume_name, is_shareable = false, options = {})
|
124
|
+
raise IncompleteResource, 'Storage system not found!' unless storage_system.retrieve!
|
125
|
+
data = options.merge('storageSystemUri' => storage_system['uri'], 'deviceVolumeName' => volume_name, 'isShareable' => is_shareable)
|
126
|
+
response = client.rest_post("#{BASE_URI}/from-existing", { 'body' => data }, client.api_version)
|
127
|
+
new(client, client.response_handler(response))
|
128
|
+
end
|
129
|
+
|
130
|
+
private
|
131
|
+
|
132
|
+
# Gets the storage volume template URI
|
133
|
+
# @param [Hash] template_data The data of storage volume template to filter the result
|
134
|
+
# @option options [Boolean] :isRoot True if storage volume template is root. False if not
|
135
|
+
# @option options [String] :family The family of storage volume template
|
136
|
+
# @return [String] the URI of storage volume template
|
137
|
+
def get_volume_template_uri(template_data)
|
138
|
+
storage_pool_uri = self['storagePoolUri'] || self['properties']['storagePool']
|
139
|
+
storage_pool = OneviewSDK::API500::C7000::StoragePool.new(@client, uri: storage_pool_uri)
|
140
|
+
raise 'StoragePool or snapshotPool must be set' unless storage_pool.retrieve!
|
141
|
+
storage_system = OneviewSDK::API500::C7000::StorageSystem.new(@client, uri: storage_pool['storageSystemUri'])
|
142
|
+
templates = storage_system.get_templates
|
143
|
+
template = templates.find { |item| item['isRoot'] == template_data[:isRoot] && item['family'] == template_data[:family] }
|
144
|
+
template['uri'] if template
|
145
|
+
end
|
146
|
+
|
147
|
+
# Generates the snapshot data
|
148
|
+
# @param [String] name The name of the snapshot
|
149
|
+
# @param [String] description The description of the snapshot
|
150
|
+
# @return [Hash] snapshot data
|
151
|
+
def generate_snapshot_data(name, description = nil)
|
152
|
+
{ description: description, name: name }
|
153
|
+
end
|
19
154
|
end
|
20
155
|
end
|
21
156
|
end
|
@@ -14,8 +14,31 @@ require_relative '../../api300/c7000/volume_attachment'
|
|
14
14
|
module OneviewSDK
|
15
15
|
module API500
|
16
16
|
module C7000
|
17
|
-
# Storage
|
17
|
+
# Storage Volume Attachment resource implementation for API500 C7000
|
18
18
|
class VolumeAttachment < OneviewSDK::API300::C7000::VolumeAttachment
|
19
|
+
|
20
|
+
# Create a resource object, associate it with a client, and set its properties.
|
21
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
22
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
23
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
24
|
+
def initialize(client, params = {}, api_ver = nil)
|
25
|
+
# Default values:
|
26
|
+
@data ||= {}
|
27
|
+
@data['type'] ||= @data[:type] || 'StorageVolumeAttachmentV2'
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
# Method is not available
|
32
|
+
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
33
|
+
def get_paths
|
34
|
+
unavailable_method
|
35
|
+
end
|
36
|
+
|
37
|
+
# Method is not available
|
38
|
+
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
39
|
+
def get_path(*)
|
40
|
+
unavailable_method
|
41
|
+
end
|
19
42
|
end
|
20
43
|
end
|
21
44
|
end
|
@@ -16,6 +16,16 @@ module OneviewSDK
|
|
16
16
|
module C7000
|
17
17
|
# Volume snapshot resource implementation for API500 C7000
|
18
18
|
class VolumeSnapshot < OneviewSDK::API300::C7000::VolumeSnapshot
|
19
|
+
|
20
|
+
# Create a resource object, associate it with a client, and set its properties.
|
21
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
22
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
23
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
24
|
+
def initialize(client, params = {}, api_ver = nil)
|
25
|
+
super
|
26
|
+
# Removing the type property in API500
|
27
|
+
@data.delete('type')
|
28
|
+
end
|
19
29
|
end
|
20
30
|
end
|
21
31
|
end
|
@@ -9,13 +9,104 @@
|
|
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 '
|
12
|
+
require_relative 'resource'
|
13
13
|
|
14
14
|
module OneviewSDK
|
15
15
|
module API500
|
16
16
|
module C7000
|
17
|
-
# Volume Template resource implementation for API500
|
18
|
-
class VolumeTemplate <
|
17
|
+
# Volume Template resource implementation for API500 C7000
|
18
|
+
class VolumeTemplate < Resource
|
19
|
+
BASE_URI = '/rest/storage-volume-templates'.freeze
|
20
|
+
|
21
|
+
# Delete resource from OneView
|
22
|
+
# @return [true] if resource was deleted successfully
|
23
|
+
def delete
|
24
|
+
ensure_client && ensure_uri
|
25
|
+
response = @client.rest_delete(@data['uri'], { 'If-Match' => @data['eTag'] }, @api_version)
|
26
|
+
@client.response_handler(response)
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
# Sets the root template
|
31
|
+
# @param [VolumeTemplate] root_template The Volume Template resource
|
32
|
+
def set_root_template(root_template)
|
33
|
+
self['properties'] = root_template['properties'].clone
|
34
|
+
self['rootTemplateUri'] = root_template['uri']
|
35
|
+
end
|
36
|
+
|
37
|
+
# Sets the "locked" property of property passed to true or false
|
38
|
+
# @param [String] property The property for change value
|
39
|
+
# @param [Boolean] locked The value to set to "locked" property. Default: true.
|
40
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties are not set
|
41
|
+
def lock(property, locked = true)
|
42
|
+
verify_if_root_template_is_set!
|
43
|
+
self['properties'][property.to_s]['meta']['locked'] = locked
|
44
|
+
end
|
45
|
+
|
46
|
+
# Sets the "locked" property of property passed to false
|
47
|
+
# @param [String] property The property for change value
|
48
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties are not set
|
49
|
+
def unlock(property)
|
50
|
+
lock(property, false)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Verify if property is locked
|
54
|
+
# @param [String] property The property
|
55
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties are not set
|
56
|
+
# @return [Boolean] true if property is locked or false if not
|
57
|
+
def locked?(property)
|
58
|
+
verify_if_root_template_is_set!
|
59
|
+
self['properties'][property.to_s]['meta']['locked']
|
60
|
+
end
|
61
|
+
|
62
|
+
# Sets the value of property
|
63
|
+
# @param [String] property The property for change value
|
64
|
+
# @param [Object] value The new value of property
|
65
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties are not set
|
66
|
+
def set_default_value(property, value)
|
67
|
+
verify_if_root_template_is_set!
|
68
|
+
value = value['uri'] if value.is_a?(Resource)
|
69
|
+
self['properties'][property.to_s]['default'] = value
|
70
|
+
end
|
71
|
+
|
72
|
+
# Gets the value of property
|
73
|
+
# @param [String] property The property to get value
|
74
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties are not set
|
75
|
+
# @return [Object] the default value of property
|
76
|
+
def get_default_value(property)
|
77
|
+
verify_if_root_template_is_set!
|
78
|
+
self['properties'][property.to_s]['default']
|
79
|
+
end
|
80
|
+
|
81
|
+
# Retrieves a collection of all storage systems that is applicable to this storage volume template
|
82
|
+
# @raise [OneviewSDK::IncompleteResource] if the client or the URI is not set
|
83
|
+
# @return [Array] collection of Storage Systems
|
84
|
+
def get_compatible_systems
|
85
|
+
ensure_client && ensure_uri
|
86
|
+
self.class.find_with_pagination(@client, self['compatibleStorageSystemsUri'])
|
87
|
+
end
|
88
|
+
|
89
|
+
# Gets the storage templates that are connected on the specified networks based on the storage system port's expected network connectivity.
|
90
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
91
|
+
# @param [Array] networks Set of networks to filter the storage templates connected
|
92
|
+
# @param [Hash] attributes Hash containing the attributes name and value to filter storage templates
|
93
|
+
# @return [Array] the collection of volume templates
|
94
|
+
def self.get_reachable_volume_templates(client, networks = [], attributes = {})
|
95
|
+
uri = self::BASE_URI + '/reachable-volume-templates'
|
96
|
+
unless networks.empty?
|
97
|
+
network_uris = networks.map { |item| item['uri'] }
|
98
|
+
uri += "?networks='#{network_uris.join(',')}'"
|
99
|
+
end
|
100
|
+
find_by(client, attributes, uri)
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
# Verify if rootTemplateUri or properties are set
|
106
|
+
# @raise [OneviewSDK::IncompleteResource] if the rootTemplateUri or properties were set set before
|
107
|
+
def verify_if_root_template_is_set!
|
108
|
+
raise IncompleteResource, 'Must set a valid root template' if self['rootTemplateUri'].nil? || self['properties'].nil?
|
109
|
+
end
|
19
110
|
end
|
20
111
|
end
|
21
112
|
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/web_server_certificate'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API500
|
16
|
+
module C7000
|
17
|
+
# Client certificate resource implementation for API500 C7000
|
18
|
+
class WebServerCertificate < OneviewSDK::API300::C7000::WebServerCertificate
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
File without changes
|
@@ -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/synergy/client_certificate'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API500
|
16
|
+
module Synergy
|
17
|
+
# Client certificate resource implementation for API500 Synergy
|
18
|
+
class ClientCertificate < OneviewSDK::API300::Synergy::ClientCertificate
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,6 +16,41 @@ module OneviewSDK
|
|
16
16
|
module Synergy
|
17
17
|
# Enclosure resource implementation for API500 Synergy
|
18
18
|
class Enclosure < OneviewSDK::API300::Synergy::Enclosure
|
19
|
+
|
20
|
+
# Create a resource object, associate it with a client, and set its properties.
|
21
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
22
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
23
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
24
|
+
def initialize(client, params = {}, api_ver = nil)
|
25
|
+
@data ||= {}
|
26
|
+
# Default values:
|
27
|
+
@data['type'] ||= 'EnclosureV400'
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
# Updates the name and rackName (and it uses PATCH).
|
32
|
+
# Overrides because is necessary to return the current state of the object and current eTag.
|
33
|
+
# @param [Hash] attributes attributes to be updated
|
34
|
+
# @return [OneviewSDK::Enclosure] self
|
35
|
+
def update(attributes = {})
|
36
|
+
super(attributes)
|
37
|
+
retrieve!
|
38
|
+
self
|
39
|
+
end
|
40
|
+
|
41
|
+
# Performs a specific patch operation.
|
42
|
+
# @param [String] operation The operation to be performed
|
43
|
+
# @param [String] path The path of operation
|
44
|
+
# @param [String] value The value
|
45
|
+
# @return [Hash] hash with response
|
46
|
+
# @note The scopeUris attribute is subject to incompatible changes in future release versions.
|
47
|
+
def patch(operation, path, value = nil)
|
48
|
+
ensure_client && ensure_uri
|
49
|
+
body = [{ 'op' => operation, 'path' => path, 'value' => value }]
|
50
|
+
patch_options = { 'If-Match' => @data['eTag'] }
|
51
|
+
response = @client.rest_patch(@data['uri'], patch_options.merge('body' => body), @api_version)
|
52
|
+
@client.response_handler(response)
|
53
|
+
end
|
19
54
|
end
|
20
55
|
end
|
21
56
|
end
|
@@ -16,6 +16,33 @@ module OneviewSDK
|
|
16
16
|
module Synergy
|
17
17
|
# Enclosure group resource implementation on API500 Synergy
|
18
18
|
class EnclosureGroup < OneviewSDK::API300::Synergy::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
|
+
# Default values:
|
26
|
+
@data['type'] ||= 'EnclosureGroupV400'
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
# Method is not available
|
31
|
+
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
32
|
+
def get_script(*)
|
33
|
+
unavailable_method
|
34
|
+
end
|
35
|
+
|
36
|
+
# Updates an enclosure group
|
37
|
+
# @param [Hash] attributes The attributes to add/change for this resource (key-value pairs)
|
38
|
+
# @raise [OneviewSDK::IncompleteResource] if the client or uri is not set
|
39
|
+
# @raise [StandardError] if the resource save fails
|
40
|
+
# @return [Resource] self
|
41
|
+
def update(attributes = {})
|
42
|
+
super(attributes)
|
43
|
+
retrieve!
|
44
|
+
self
|
45
|
+
end
|
19
46
|
end
|
20
47
|
end
|
21
48
|
end
|