oneview-sdk 4.5.1 → 5.0.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 +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
|