oneview-sdk 5.7.0 → 5.12.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 +114 -1
- data/Dockerfile +21 -0
- data/Gemfile +2 -1
- data/README.md +23 -1
- data/endpoints-support.md +505 -605
- data/lib/oneview-sdk.rb +2 -2
- data/lib/oneview-sdk/image-streamer/resource/api1000.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/build_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/deployment_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/golden_image.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/os_volume.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1000/plan_script.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/build_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/deployment_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/golden_image.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/os_volume.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1020/plan_script.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/build_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/deployment_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/golden_image.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/os_volume.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api1600/plan_script.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api500/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api500/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api600/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api600/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api600/os_volume.rb +2 -1
- data/lib/oneview-sdk/image-streamer/resource/api800.rb +39 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/artifact_bundle.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/build_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/deployment_group.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/deployment_plan.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/golden_image.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/os_volume.rb +22 -0
- data/lib/oneview-sdk/image-streamer/resource/api800/plan_script.rb +22 -0
- data/lib/oneview-sdk/image_streamer.rb +2 -2
- data/lib/oneview-sdk/resource/api1000.rb +66 -0
- data/lib/oneview-sdk/resource/api1000/c7000.rb +27 -0
- data/lib/oneview-sdk/resource/api1000/c7000/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/enclosure_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/ethernet_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/fcoe_network.rb +23 -0
- data/lib/oneview-sdk/resource/api1000/c7000/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/hypervisor_cluster_profile.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/interconnect.rb +23 -0
- data/lib/oneview-sdk/resource/api1000/c7000/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api1000/c7000/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/logical_interconnect_group.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/server_hardware.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/server_hardware_type.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/server_profile.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/server_profile_template.rb +33 -0
- data/lib/oneview-sdk/resource/api1000/c7000/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/storage_system.rb +35 -0
- data/lib/oneview-sdk/resource/api1000/c7000/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/c7000/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/c7000/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy.rb +27 -0
- data/lib/oneview-sdk/resource/api1000/synergy/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/enclosure_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/ethernet_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/fcoe_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/hypervisor_cluster_profile.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/interconnect.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api1000/synergy/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/synergy/logical_interconnect_group.rb +33 -0
- data/lib/oneview-sdk/resource/api1000/synergy/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/os_deployment_plan.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/sas_logical_interconnect_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/server_hardware.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/synergy/server_hardware_type.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/server_profile.rb +25 -0
- data/lib/oneview-sdk/resource/api1000/synergy/server_profile_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1000/synergy/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1000/synergy/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1200.rb +66 -0
- data/lib/oneview-sdk/resource/api1200/c7000.rb +27 -0
- data/lib/oneview-sdk/resource/api1200/c7000/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/enclosure.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/enclosure_group.rb +36 -0
- data/lib/oneview-sdk/resource/api1200/c7000/ethernet_network.rb +35 -0
- data/lib/oneview-sdk/resource/api1200/c7000/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/fcoe_network.rb +23 -0
- data/lib/oneview-sdk/resource/api1200/c7000/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/hypervisor_cluster_profile.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/interconnect.rb +33 -0
- data/lib/oneview-sdk/resource/api1200/c7000/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api1200/c7000/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/logical_interconnect_group.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/network_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/server_hardware_type.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/server_profile.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/server_profile_template.rb +33 -0
- data/lib/oneview-sdk/resource/api1200/c7000/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/c7000/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/c7000/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy.rb +27 -0
- data/lib/oneview-sdk/resource/api1200/synergy/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/enclosure.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/synergy/enclosure_group.rb +36 -0
- data/lib/oneview-sdk/resource/api1200/synergy/ethernet_network.rb +35 -0
- data/lib/oneview-sdk/resource/api1200/synergy/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/fcoe_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/hypervisor_cluster_profile.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/synergy/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api1200/synergy/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/synergy/logical_interconnect_group.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/synergy/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/os_deployment_plan.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/sas_logical_interconnect_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/server_hardware_type.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/server_profile.rb +25 -0
- data/lib/oneview-sdk/resource/api1200/synergy/server_profile_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1200/synergy/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1200/synergy/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1600.rb +66 -0
- data/lib/oneview-sdk/resource/api1600/c7000.rb +27 -0
- data/lib/oneview-sdk/resource/api1600/c7000/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/enclosure_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/ethernet_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/fcoe_network.rb +23 -0
- data/lib/oneview-sdk/resource/api1600/c7000/hypervisor_cluster_profile.rb +36 -0
- data/lib/oneview-sdk/resource/api1600/c7000/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/interconnect.rb +26 -0
- data/lib/oneview-sdk/resource/api1600/c7000/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1600/c7000/logical_interconnect_group.rb +36 -0
- data/lib/oneview-sdk/resource/api1600/c7000/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/server_hardware_type.rb +25 -0
- data/lib/oneview-sdk/resource/api1600/c7000/server_profile.rb +40 -0
- data/lib/oneview-sdk/resource/api1600/c7000/server_profile_template.rb +32 -0
- data/lib/oneview-sdk/resource/api1600/c7000/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1600/c7000/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/c7000/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy.rb +27 -0
- data/lib/oneview-sdk/resource/api1600/synergy/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/enclosure_group.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/ethernet_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/fcoe_network.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/hypervisor_cluster_profile.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/hypervisor_manager.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/interconnect.rb +25 -0
- data/lib/oneview-sdk/resource/api1600/synergy/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api1600/synergy/logical_interconnect_group.rb +36 -0
- data/lib/oneview-sdk/resource/api1600/synergy/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/os_deployment_plan.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/server_hardware_type.rb +25 -0
- data/lib/oneview-sdk/resource/api1600/synergy/server_profile.rb +25 -0
- data/lib/oneview-sdk/resource/api1600/synergy/server_profile_template.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/uplink_set.rb +32 -0
- data/lib/oneview-sdk/resource/api1600/synergy/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api1600/synergy/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api600/c7000/server_certificate.rb +63 -0
- data/lib/oneview-sdk/resource/api600/synergy/logical_interconnect_group.rb +2 -2
- data/lib/oneview-sdk/resource/api600/synergy/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/fcoe_network.rb +23 -0
- data/lib/oneview-sdk/resource/api800/c7000/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/interconnect.rb +23 -0
- data/lib/oneview-sdk/resource/api800/c7000/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api800/c7000/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api800/c7000/logical_interconnect_group.rb +32 -0
- data/lib/oneview-sdk/resource/api800/c7000/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/server_hardware_type.rb +10 -0
- data/lib/oneview-sdk/resource/api800/c7000/server_profile.rb +10 -0
- data/lib/oneview-sdk/resource/api800/c7000/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/uplink_set.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api800/c7000/volume_template.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/connection_template.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/fc_network.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/fcoe_network.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/firmware_driver.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/interconnect.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/lig_uplink_set.rb +21 -0
- data/lib/oneview-sdk/resource/api800/synergy/logical_enclosure.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/logical_interconnect.rb +32 -0
- data/lib/oneview-sdk/resource/api800/synergy/logical_interconnect_group.rb +33 -0
- data/lib/oneview-sdk/resource/api800/synergy/network_set.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/sas_logical_interconnect_group.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/server_certificate.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/server_hardware.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/server_hardware_type.rb +2 -2
- data/lib/oneview-sdk/resource/api800/synergy/server_profile.rb +1 -1
- data/lib/oneview-sdk/resource/api800/synergy/storage_pool.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/storage_system.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/uplink_set.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/volume.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/volume_attachment.rb +22 -0
- data/lib/oneview-sdk/resource/api800/synergy/volume_template.rb +22 -0
- data/lib/oneview-sdk/version.rb +2 -2
- data/oneview-sdk.gemspec +2 -2
- metadata +255 -7
@@ -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 '../c7000/volume_template'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1200
|
16
|
+
module Synergy
|
17
|
+
# Volume Template resource implementation for API1200 Synergy
|
18
|
+
class VolumeTemplate < OneviewSDK::API1200::C7000::VolumeTemplate
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
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 v1600
|
14
|
+
module API1600
|
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 "API1600 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::API1600.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 API1600 variant
|
38
|
+
def self.variant
|
39
|
+
@variant
|
40
|
+
end
|
41
|
+
|
42
|
+
# Has the API1600 variant been set by the user?
|
43
|
+
# @return [TrueClass, FalseClass]
|
44
|
+
def self.variant_updated?
|
45
|
+
@variant_updated
|
46
|
+
end
|
47
|
+
|
48
|
+
# Sets the API1600 variant
|
49
|
+
def self.variant=(variant)
|
50
|
+
raise "API1600 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 API1600 variant
|
56
|
+
def self.const_missing(const)
|
57
|
+
api1600_module = OneviewSDK::API1600.const_get(@variant.to_s)
|
58
|
+
api1600_module.const_get(const)
|
59
|
+
rescue NameError
|
60
|
+
raise NameError, "The #{const} method or resource does not exist for OneView API1600 variant #{@variant}."
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# Load all API1600-specific resources:
|
66
|
+
Dir[File.dirname(__FILE__) + '/api1600/*.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 API1600
|
14
|
+
# Module for API1600 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::API1600.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 '../../api1200/c7000/enclosure'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Enclosure resource implementation for API1600 C7000
|
18
|
+
class Enclosure < OneviewSDK::API1200::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 '../../api1200/c7000/enclosure_group'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Enclosure group resource implementation on API1600 C7000
|
18
|
+
class EnclosureGroup < OneviewSDK::API1200::C7000::EnclosureGroup
|
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 '../../api1200/c7000/ethernet_network'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Ethernet network resource implementation for API1600 C7000
|
18
|
+
class EthernetNetwork < OneviewSDK::API1200::C7000::EthernetNetwork
|
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 '../../api1200/c7000/fc_network'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# FC network resource implementation for API1600 C7000
|
18
|
+
class FCNetwork < OneviewSDK::API1200::C7000::FCNetwork
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
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 '../../api1200/c7000/fcoe_network'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# FCoE network resource implementation for API1600 C7000
|
18
|
+
class FCoENetwork < OneviewSDK::API1200::C7000::FCoENetwork
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,36 @@
|
|
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 '../../api1200/c7000/hypervisor_cluster_profile'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Hypervisor cluster profile resource implementation for API1600 C7000
|
18
|
+
class HypervisorClusterProfile < OneviewSDK::API1200::C7000::HypervisorClusterProfile
|
19
|
+
|
20
|
+
# softDelete is mandatory argument in API1600
|
21
|
+
def delete(soft_delete = false, force = false)
|
22
|
+
ensure_client && ensure_uri
|
23
|
+
uri = @data['uri']
|
24
|
+
uri += if force == true
|
25
|
+
"?softDelete=#{soft_delete}" + "&force=#{force}"
|
26
|
+
else
|
27
|
+
"?softDelete=#{soft_delete}"
|
28
|
+
end
|
29
|
+
response = @client.rest_delete(uri, DEFAULT_REQUEST_HEADER, @api_version)
|
30
|
+
@client.response_handler(response)
|
31
|
+
true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
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 '../../api1200/c7000/hypervisor_manager'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Hypervisor Manager resource implementation for API1600 C7000
|
18
|
+
class HypervisorManager < OneviewSDK::API1200::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 '../../api1200/c7000/interconnect'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Interconnect resource implementation on API1600 C7000
|
18
|
+
class Interconnect < OneviewSDK::API1200::C7000::Interconnect
|
19
|
+
include OneviewSDK::ResourceHelper::ConfigurationOperation
|
20
|
+
def self.api_version
|
21
|
+
1600
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
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 '../../api1200/c7000/logical_enclosure'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Logical Enclosure resource implementation on API1600 C7000
|
18
|
+
class LogicalEnclosure < OneviewSDK::API1200::C7000::LogicalEnclosure
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,32 @@
|
|
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 '../../api1200/c7000/logical_interconnect'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Logical interconnect resource implementation for API1600 C7000
|
18
|
+
class LogicalInterconnect < OneviewSDK::API1200::C7000::LogicalInterconnect
|
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'] ||= 'logical-interconnectV8'
|
27
|
+
super
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,36 @@
|
|
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 '../../api1200/c7000/logical_interconnect_group'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Logical interconnect group resource implementation on API1600 C7000
|
18
|
+
class LogicalInterconnectGroup < OneviewSDK::API1200::C7000::LogicalInterconnectGroup
|
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'] ||= 'logical-interconnect-groupV8'
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.api_version
|
31
|
+
1600
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
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 '../../api1200/c7000/network_set'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Network set resource implementation for API1600 C7000
|
18
|
+
class NetworkSet < OneviewSDK::API1200::C7000::NetworkSet
|
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 '../../api1200/c7000/scope'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API1600
|
16
|
+
module C7000
|
17
|
+
# Scope resource implementation for API1600 C7000
|
18
|
+
class Scope < OneviewSDK::API1200::C7000::Scope
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|