ibm_cloud_power 1.1.0 → 2.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/README.md +68 -3
- data/docs/CloneTaskReference.md +10 -9
- data/docs/CloneTaskStatus.md +14 -13
- data/docs/ClonedVolume.md +10 -9
- data/docs/ClonedVolumeDetail.md +10 -9
- data/docs/CloudConnection.md +32 -31
- data/docs/CloudConnectionCreate.md +14 -13
- data/docs/CloudConnectionCreateResponse.md +44 -0
- data/docs/CloudConnectionEndpointClassic.md +10 -9
- data/docs/CloudConnectionEndpointGRE.md +10 -9
- data/docs/CloudConnectionEndpointVPC.md +10 -9
- data/docs/CloudConnectionGRETunnel.md +12 -11
- data/docs/CloudConnectionSpeed.md +4 -5
- data/docs/CloudConnectionUpdate.md +18 -17
- data/docs/CloudConnectionVPC.md +10 -9
- data/docs/CloudConnectionVirtualPrivateClouds.md +8 -7
- data/docs/CloudConnectionVirtualPrivateCloudsVirtualPrivateCloudsInner.md +24 -0
- data/docs/CloudConnections.md +8 -7
- data/docs/CloudInstance.md +28 -27
- data/docs/CloudInstanceCreate.md +20 -19
- data/docs/CloudInstanceReference.md +22 -21
- data/docs/CloudInstanceUpdate.md +16 -15
- data/docs/CloudInstanceUsageLimits.md +28 -27
- data/docs/CreateCosImageImportJob.md +38 -0
- data/docs/CreateDataVolume.md +26 -19
- data/docs/CreateImage.md +32 -27
- data/docs/DeadPeerDetection.md +22 -0
- data/docs/Error.md +10 -9
- data/docs/Event.md +24 -23
- data/docs/EventUser.md +12 -11
- data/docs/Events.md +8 -7
- data/docs/ExportImage.md +14 -13
- data/docs/IKEPolicies.md +18 -0
- data/docs/IKEPolicy.md +30 -0
- data/docs/IKEPolicyCreate.md +30 -0
- data/docs/IKEPolicyOptions.md +24 -0
- data/docs/IKEPolicyRef.md +20 -0
- data/docs/IKEPolicyTemplate.md +26 -0
- data/docs/IKEPolicyUpdate.md +30 -0
- data/docs/IPAddressRange.md +10 -9
- data/docs/IPSecPolicies.md +18 -0
- data/docs/IPSecPolicy.md +30 -0
- data/docs/IPSecPolicyCreate.md +28 -0
- data/docs/IPSecPolicyOptions.md +22 -0
- data/docs/IPSecPolicyRef.md +20 -0
- data/docs/IPSecPolicyTemplate.md +24 -0
- data/docs/IPSecPolicyUpdate.md +28 -0
- data/docs/Image.md +32 -31
- data/docs/ImageReference.md +26 -25
- data/docs/ImageSpecifications.md +20 -19
- data/docs/ImageVolume.md +14 -13
- data/docs/Images.md +8 -7
- data/docs/Job.md +24 -0
- data/docs/JobReference.md +20 -0
- data/docs/Jobs.md +18 -0
- data/docs/MaximumStorageAllocation.md +12 -11
- data/docs/MinMaxDefault.md +12 -11
- data/docs/MultiVolumesCreate.md +28 -21
- data/docs/Network.md +28 -27
- data/docs/NetworkCreate.md +20 -19
- data/docs/NetworkID.md +18 -0
- data/docs/NetworkIDs.md +18 -0
- data/docs/NetworkIpAddressMetrics.md +14 -13
- data/docs/NetworkPort.md +22 -21
- data/docs/NetworkPortCreate.md +10 -9
- data/docs/NetworkPortPvmInstance.md +10 -9
- data/docs/NetworkPortUpdate.md +10 -9
- data/docs/NetworkPorts.md +8 -7
- data/docs/NetworkReference.md +18 -17
- data/docs/NetworkUpdate.md +14 -13
- data/docs/Networks.md +8 -7
- data/docs/Operation.md +22 -0
- data/docs/Operations.md +12 -11
- data/docs/Options.md +18 -0
- data/docs/PCloudCloudConnectionsApi.md +229 -94
- data/docs/PCloudEventsApi.md +60 -27
- data/docs/PCloudImagesApi.md +513 -101
- data/docs/PCloudInstancesApi.md +83 -33
- data/docs/PCloudJobsApi.md +208 -0
- data/docs/PCloudNetworksApi.md +287 -118
- data/docs/PCloudPVMInstancesApi.md +628 -208
- data/docs/PCloudPlacementGroupsApi.md +177 -76
- data/docs/PCloudSAPApi.md +86 -36
- data/docs/PCloudSnapshotsApi.md +112 -45
- data/docs/PCloudStorageCapacityApi.md +112 -45
- data/docs/PCloudSystemPoolsApi.md +29 -13
- data/docs/PCloudTasksApi.md +55 -22
- data/docs/PCloudTenantsApi.md +57 -24
- data/docs/PCloudTenantsSSHKeysApi.md +143 -59
- data/docs/PCloudVPNConnectionsApi.md +817 -0
- data/docs/PCloudVPNPoliciesApi.md +677 -0
- data/docs/PCloudVolumesApi.md +629 -256
- data/docs/PVMInstance.md +72 -69
- data/docs/PVMInstanceAction.md +8 -7
- data/docs/PVMInstanceAddNetwork.md +10 -9
- data/docs/PVMInstanceCapture.md +20 -19
- data/docs/PVMInstanceClone.md +22 -21
- data/docs/PVMInstanceConsole.md +8 -7
- data/docs/PVMInstanceCreate.md +50 -45
- data/docs/PVMInstanceFault.md +14 -13
- data/docs/PVMInstanceHealth.md +12 -11
- data/docs/PVMInstanceMultiCreate.md +12 -11
- data/docs/PVMInstanceNetwork.md +24 -23
- data/docs/PVMInstanceNetworks.md +8 -7
- data/docs/PVMInstanceOperation.md +10 -9
- data/docs/PVMInstanceReference.md +68 -61
- data/docs/PVMInstanceRemoveNetwork.md +8 -7
- data/docs/PVMInstanceUpdate.md +26 -23
- data/docs/PVMInstanceUpdateResponse.md +18 -17
- data/docs/PVMInstanceVolumeUpdate.md +8 -7
- data/docs/PVMInstances.md +8 -7
- data/docs/PeerSubnetUpdate.md +18 -0
- data/docs/PeerSubnets.md +18 -0
- data/docs/PeeringNetwork.md +12 -11
- data/docs/PinPolicy.md +4 -5
- data/docs/PlacementGroup.md +14 -13
- data/docs/PlacementGroupCreate.md +10 -9
- data/docs/PlacementGroupServer.md +8 -7
- data/docs/PlacementGroups.md +8 -7
- data/docs/SAPCreate.md +30 -23
- data/docs/SAPProfile.md +16 -15
- data/docs/SAPProfileReference.md +10 -9
- data/docs/SAPProfiles.md +8 -7
- data/docs/SRC.md +10 -9
- data/docs/SSHKey.md +12 -11
- data/docs/SSHKeys.md +8 -7
- data/docs/Snapshot.md +26 -25
- data/docs/SnapshotCreate.md +12 -11
- data/docs/SnapshotCreateResponse.md +8 -7
- data/docs/SnapshotRestore.md +8 -7
- data/docs/SnapshotUpdate.md +10 -9
- data/docs/Snapshots.md +8 -7
- data/docs/SoftwareLicenses.md +16 -15
- data/docs/Status.md +22 -0
- data/docs/StockImage.md +12 -11
- data/docs/StorageAffinity.md +26 -0
- data/docs/StoragePoolCapacity.md +14 -13
- data/docs/StoragePoolsCapacity.md +10 -9
- data/docs/StorageTypeCapacity.md +12 -11
- data/docs/StorageTypesCapacity.md +10 -9
- data/docs/System.md +12 -11
- data/docs/SystemPool.md +22 -21
- data/docs/Task.md +24 -23
- data/docs/TaskReference.md +10 -9
- data/docs/Tenant.md +20 -19
- data/docs/TenantUpdate.md +10 -9
- data/docs/UpdateVolume.md +14 -13
- data/docs/VPNConnection.md +40 -0
- data/docs/VPNConnectionCreate.md +30 -0
- data/docs/VPNConnectionCreateResponse.md +42 -0
- data/docs/VPNConnectionUpdate.md +24 -0
- data/docs/VPNConnections.md +18 -0
- data/docs/VPNaaSOptions.md +26 -0
- data/docs/VirtualCores.md +12 -11
- data/docs/Volume.md +36 -33
- data/docs/VolumeInfo.md +10 -9
- data/docs/VolumeReference.md +38 -35
- data/docs/Volumes.md +8 -7
- data/docs/VolumesClone.md +22 -21
- data/docs/VolumesCloneAsyncRequest.md +10 -9
- data/docs/VolumesCloneCancel.md +8 -7
- data/docs/VolumesCloneCreate.md +10 -9
- data/docs/VolumesCloneDetail.md +24 -23
- data/docs/VolumesCloneExecute.md +10 -9
- data/docs/VolumesCloneRequest.md +10 -9
- data/docs/VolumesCloneResponse.md +8 -7
- data/docs/VolumesClones.md +8 -7
- data/git_push.sh +3 -4
- data/ibm_cloud_power.gemspec +3 -3
- data/lib/ibm_cloud_power/api/p_cloud_cloud_connections_api.rb +43 -29
- data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +9 -7
- data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +325 -32
- data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +17 -11
- data/lib/ibm_cloud_power/api/p_cloud_jobs_api.rb +234 -0
- data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +57 -35
- data/lib/ibm_cloud_power/api/p_cloud_placement_groups_api.rb +45 -30
- data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +256 -64
- data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +17 -11
- data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +21 -14
- data/lib/ibm_cloud_power/api/p_cloud_storage_capacity_api.rb +17 -13
- data/lib/ibm_cloud_power/api/p_cloud_system_pools_api.rb +5 -4
- data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +9 -7
- data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +13 -8
- data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +29 -18
- data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +125 -76
- data/lib/ibm_cloud_power/api/p_cloud_vpn_connections_api.rb +898 -0
- data/lib/ibm_cloud_power/api/p_cloud_vpn_policies_api.rb +732 -0
- data/lib/ibm_cloud_power/api_client.rb +56 -52
- data/lib/ibm_cloud_power/api_error.rb +1 -1
- data/lib/ibm_cloud_power/configuration.rb +43 -12
- data/lib/ibm_cloud_power/models/clone_task_reference.rb +19 -8
- data/lib/ibm_cloud_power/models/clone_task_status.rb +19 -8
- data/lib/ibm_cloud_power/models/cloned_volume.rb +19 -8
- data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connection.rb +20 -9
- data/lib/ibm_cloud_power/models/cloud_connection_create.rb +53 -8
- data/lib/ibm_cloud_power/models/cloud_connection_create_response.rb +406 -0
- data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connection_endpoint_gre.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connection_endpoint_vpc.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connection_speed.rb +2 -1
- data/lib/ibm_cloud_power/models/cloud_connection_update.rb +53 -8
- data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds.rb +20 -9
- data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner.rb +270 -0
- data/lib/ibm_cloud_power/models/cloud_connection_vpc.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_connections.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_instance.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_instance_create.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_instance_update.rb +19 -8
- data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +19 -8
- data/lib/ibm_cloud_power/models/create_cos_image_import_job.rb +387 -0
- data/lib/ibm_cloud_power/models/create_data_volume.rb +59 -14
- data/lib/ibm_cloud_power/models/create_image.rb +41 -22
- data/lib/ibm_cloud_power/models/dead_peer_detection.rb +350 -0
- data/lib/ibm_cloud_power/models/error.rb +32 -21
- data/lib/ibm_cloud_power/models/event.rb +20 -9
- data/lib/ibm_cloud_power/models/event_user.rb +19 -8
- data/lib/ibm_cloud_power/models/events.rb +19 -8
- data/lib/ibm_cloud_power/models/export_image.rb +19 -8
- data/lib/ibm_cloud_power/models/ike_policies.rb +227 -0
- data/lib/ibm_cloud_power/models/ike_policy.rb +414 -0
- data/lib/ibm_cloud_power/models/ike_policy_create.rb +414 -0
- data/lib/ibm_cloud_power/models/ike_policy_options.rb +274 -0
- data/lib/ibm_cloud_power/models/ike_policy_ref.rb +241 -0
- data/lib/ibm_cloud_power/models/ike_policy_template.rb +313 -0
- data/lib/ibm_cloud_power/models/ike_policy_update.rb +375 -0
- data/lib/ibm_cloud_power/models/image.rb +21 -10
- data/lib/ibm_cloud_power/models/image_reference.rb +21 -10
- data/lib/ibm_cloud_power/models/image_specifications.rb +19 -8
- data/lib/ibm_cloud_power/models/image_volume.rb +19 -8
- data/lib/ibm_cloud_power/models/images.rb +19 -8
- data/lib/ibm_cloud_power/models/ip_address_range.rb +19 -8
- data/lib/ibm_cloud_power/models/ip_sec_policies.rb +227 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy.rb +402 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy_create.rb +387 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy_options.rb +258 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy_ref.rb +241 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy_template.rb +298 -0
- data/lib/ibm_cloud_power/models/ip_sec_policy_update.rb +353 -0
- data/lib/ibm_cloud_power/models/job.rb +263 -0
- data/lib/ibm_cloud_power/models/job_reference.rb +240 -0
- data/lib/ibm_cloud_power/models/jobs.rb +227 -0
- data/lib/ibm_cloud_power/models/maximum_storage_allocation.rb +20 -9
- data/lib/ibm_cloud_power/models/min_max_default.rb +19 -8
- data/lib/ibm_cloud_power/models/multi_volumes_create.rb +57 -12
- data/lib/ibm_cloud_power/models/network.rb +19 -8
- data/lib/ibm_cloud_power/models/network_create.rb +19 -8
- data/lib/ibm_cloud_power/models/network_id.rb +225 -0
- data/lib/ibm_cloud_power/models/network_ids.rb +222 -0
- data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +19 -8
- data/lib/ibm_cloud_power/models/network_port.rb +19 -8
- data/lib/ibm_cloud_power/models/network_port_create.rb +19 -8
- data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +19 -8
- data/lib/ibm_cloud_power/models/network_port_update.rb +19 -8
- data/lib/ibm_cloud_power/models/network_ports.rb +19 -8
- data/lib/ibm_cloud_power/models/network_reference.rb +19 -8
- data/lib/ibm_cloud_power/models/network_update.rb +19 -8
- data/lib/ibm_cloud_power/models/networks.rb +19 -8
- data/lib/ibm_cloud_power/models/operation.rb +255 -0
- data/lib/ibm_cloud_power/models/operations.rb +19 -8
- data/lib/ibm_cloud_power/models/options.rb +224 -0
- data/lib/ibm_cloud_power/models/peer_subnet_update.rb +225 -0
- data/lib/ibm_cloud_power/models/peer_subnets.rb +222 -0
- data/lib/ibm_cloud_power/models/peering_network.rb +19 -8
- data/lib/ibm_cloud_power/models/pin_policy.rb +2 -1
- data/lib/ibm_cloud_power/models/placement_group.rb +19 -8
- data/lib/ibm_cloud_power/models/placement_group_create.rb +19 -8
- data/lib/ibm_cloud_power/models/placement_group_server.rb +19 -8
- data/lib/ibm_cloud_power/models/placement_groups.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance.rb +57 -34
- data/lib/ibm_cloud_power/models/pvm_instance_action.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +27 -16
- data/lib/ibm_cloud_power/models/pvm_instance_clone.rb +28 -17
- data/lib/ibm_cloud_power/models/pvm_instance_console.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_create.rb +54 -24
- data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +20 -9
- data/lib/ibm_cloud_power/models/pvm_instance_health.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_network.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +55 -12
- data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_update.rb +32 -9
- data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +19 -8
- data/lib/ibm_cloud_power/models/pvm_instances.rb +19 -8
- data/lib/ibm_cloud_power/models/sap_create.rb +56 -16
- data/lib/ibm_cloud_power/models/sap_profile.rb +19 -20
- data/lib/ibm_cloud_power/models/sap_profile_reference.rb +19 -8
- data/lib/ibm_cloud_power/models/sap_profiles.rb +19 -8
- data/lib/ibm_cloud_power/models/snapshot.rb +21 -10
- data/lib/ibm_cloud_power/models/snapshot_create.rb +27 -16
- data/lib/ibm_cloud_power/models/snapshot_create_response.rb +19 -8
- data/lib/ibm_cloud_power/models/snapshot_restore.rb +19 -8
- data/lib/ibm_cloud_power/models/snapshot_update.rb +19 -8
- data/lib/ibm_cloud_power/models/snapshots.rb +19 -8
- data/lib/ibm_cloud_power/models/software_licenses.rb +19 -8
- data/lib/ibm_cloud_power/models/src.rb +19 -8
- data/lib/ibm_cloud_power/models/ssh_key.rb +20 -9
- data/lib/ibm_cloud_power/models/ssh_keys.rb +19 -8
- data/lib/ibm_cloud_power/models/status.rb +250 -0
- data/lib/ibm_cloud_power/models/stock_image.rb +19 -8
- data/lib/ibm_cloud_power/models/storage_affinity.rb +298 -0
- data/lib/ibm_cloud_power/models/storage_pool_capacity.rb +20 -9
- data/lib/ibm_cloud_power/models/storage_pools_capacity.rb +19 -8
- data/lib/ibm_cloud_power/models/storage_type_capacity.rb +19 -8
- data/lib/ibm_cloud_power/models/storage_types_capacity.rb +19 -8
- data/lib/ibm_cloud_power/models/system.rb +19 -8
- data/lib/ibm_cloud_power/models/system_pool.rb +19 -8
- data/lib/ibm_cloud_power/models/task.rb +21 -10
- data/lib/ibm_cloud_power/models/task_reference.rb +19 -8
- data/lib/ibm_cloud_power/models/tenant.rb +20 -9
- data/lib/ibm_cloud_power/models/tenant_update.rb +19 -8
- data/lib/ibm_cloud_power/models/update_volume.rb +19 -8
- data/lib/ibm_cloud_power/models/virtual_cores.rb +19 -8
- data/lib/ibm_cloud_power/models/volume.rb +39 -18
- data/lib/ibm_cloud_power/models/volume_info.rb +19 -8
- data/lib/ibm_cloud_power/models/volume_reference.rb +39 -18
- data/lib/ibm_cloud_power/models/volumes.rb +19 -8
- data/lib/ibm_cloud_power/models/volumes_clone.rb +21 -10
- data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +30 -19
- data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +19 -8
- data/lib/ibm_cloud_power/models/volumes_clone_create.rb +30 -19
- data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +21 -10
- data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +19 -8
- data/lib/ibm_cloud_power/models/volumes_clone_request.rb +30 -19
- data/lib/ibm_cloud_power/models/volumes_clone_response.rb +19 -8
- data/lib/ibm_cloud_power/models/volumes_clones.rb +19 -8
- data/lib/ibm_cloud_power/models/vp_naa_s_options.rb +280 -0
- data/lib/ibm_cloud_power/models/vpn_connection.rb +437 -0
- data/lib/ibm_cloud_power/models/vpn_connection_create.rb +353 -0
- data/lib/ibm_cloud_power/models/vpn_connection_create_response.rb +453 -0
- data/lib/ibm_cloud_power/models/vpn_connection_update.rb +251 -0
- data/lib/ibm_cloud_power/models/vpn_connections.rb +222 -0
- data/lib/ibm_cloud_power/version.rb +2 -2
- data/lib/ibm_cloud_power.rb +39 -2
- data/spec/api/p_cloud_jobs_api_spec.rb +73 -0
- data/spec/api/p_cloud_vpn_connections_api_spec.rb +194 -0
- data/spec/api/p_cloud_vpn_policies_api_spec.rb +165 -0
- data/spec/api_client_spec.rb +3 -3
- data/spec/configuration_spec.rb +1 -1
- data/spec/models/cloud_connection_create_response_spec.rb +112 -0
- data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner_spec.rb +52 -0
- data/spec/models/create_cos_image_import_job_spec.rb +102 -0
- data/spec/models/dead_peer_detection_spec.rb +50 -0
- data/spec/models/ike_policies_spec.rb +34 -0
- data/spec/models/ike_policy_create_spec.rb +86 -0
- data/spec/models/ike_policy_options_spec.rb +52 -0
- data/spec/models/ike_policy_ref_spec.rb +40 -0
- data/spec/models/ike_policy_spec.rb +86 -0
- data/spec/models/ike_policy_template_spec.rb +58 -0
- data/spec/models/ike_policy_update_spec.rb +86 -0
- data/spec/models/ip_sec_policies_spec.rb +34 -0
- data/spec/models/ip_sec_policy_create_spec.rb +76 -0
- data/spec/models/ip_sec_policy_options_spec.rb +46 -0
- data/spec/models/ip_sec_policy_ref_spec.rb +40 -0
- data/spec/models/ip_sec_policy_spec.rb +82 -0
- data/spec/models/ip_sec_policy_template_spec.rb +52 -0
- data/spec/models/ip_sec_policy_update_spec.rb +76 -0
- data/spec/models/job_reference_spec.rb +40 -0
- data/spec/models/job_spec.rb +52 -0
- data/spec/models/jobs_spec.rb +34 -0
- data/spec/models/network_id_spec.rb +34 -0
- data/spec/models/network_ids_spec.rb +34 -0
- data/spec/models/operation_spec.rb +46 -0
- data/spec/models/options_spec.rb +34 -0
- data/spec/models/peer_subnet_update_spec.rb +34 -0
- data/spec/models/peer_subnets_spec.rb +34 -0
- data/spec/models/status_spec.rb +46 -0
- data/spec/models/storage_affinity_spec.rb +62 -0
- data/spec/models/vp_naa_s_options_spec.rb +58 -0
- data/spec/models/vpn_connection_create_response_spec.rb +114 -0
- data/spec/models/vpn_connection_create_spec.rb +74 -0
- data/spec/models/vpn_connection_spec.rb +108 -0
- data/spec/models/vpn_connection_update_spec.rb +52 -0
- data/spec/models/vpn_connections_spec.rb +34 -0
- data/spec/spec_helper.rb +1 -1
- metadata +262 -111
- data/Gemfile.lock +0 -68
@@ -6,11 +6,12 @@
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: kylej@us.ibm.com
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 6.0.1
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module IbmCloudPower
|
16
17
|
class MultiVolumesCreate
|
@@ -29,6 +30,9 @@ module IbmCloudPower
|
|
29
30
|
# Type of Disk; required if affinityPolicy is not provided, otherwise ignored
|
30
31
|
attr_accessor :disk_type
|
31
32
|
|
33
|
+
# Volume pool where the volume will be created; if provided then diskType and affinityPolicy values are ignored
|
34
|
+
attr_accessor :volume_pool
|
35
|
+
|
32
36
|
# Affinity policy for data volume being created; requires affinityPVMInstance or affinityVolume to be specified;
|
33
37
|
attr_accessor :affinity_policy
|
34
38
|
|
@@ -38,6 +42,12 @@ module IbmCloudPower
|
|
38
42
|
# PVM Instance (ID or Name)to base volume affinity policy against; required if affinityPolicy is provided and affinityVolume is not provided
|
39
43
|
attr_accessor :affinity_pvm_instance
|
40
44
|
|
45
|
+
# List of volumes to base storage anti-affinity policy against; required if requesting storage anti-affinity and storageAntiAffinityPVMInstances is not provided
|
46
|
+
attr_accessor :anti_affinity_volumes
|
47
|
+
|
48
|
+
# List of pvmInstances to base volume anti-affinity policy against; required if requesting anti-affinity and antiAffinityVolumes is not provided
|
49
|
+
attr_accessor :anti_affinity_pvm_instances
|
50
|
+
|
41
51
|
class EnumAttributeValidator
|
42
52
|
attr_reader :datatype
|
43
53
|
attr_reader :allowable_values
|
@@ -68,12 +78,20 @@ module IbmCloudPower
|
|
68
78
|
:'count' => :'count',
|
69
79
|
:'shareable' => :'shareable',
|
70
80
|
:'disk_type' => :'diskType',
|
81
|
+
:'volume_pool' => :'volumePool',
|
71
82
|
:'affinity_policy' => :'affinityPolicy',
|
72
83
|
:'affinity_volume' => :'affinityVolume',
|
73
|
-
:'affinity_pvm_instance' => :'affinityPVMInstance'
|
84
|
+
:'affinity_pvm_instance' => :'affinityPVMInstance',
|
85
|
+
:'anti_affinity_volumes' => :'antiAffinityVolumes',
|
86
|
+
:'anti_affinity_pvm_instances' => :'antiAffinityPVMInstances'
|
74
87
|
}
|
75
88
|
end
|
76
89
|
|
90
|
+
# Returns all the JSON keys this model knows about
|
91
|
+
def self.acceptable_attributes
|
92
|
+
attribute_map.values
|
93
|
+
end
|
94
|
+
|
77
95
|
# Attribute type mapping.
|
78
96
|
def self.openapi_types
|
79
97
|
{
|
@@ -82,9 +100,12 @@ module IbmCloudPower
|
|
82
100
|
:'count' => :'Integer',
|
83
101
|
:'shareable' => :'Boolean',
|
84
102
|
:'disk_type' => :'String',
|
103
|
+
:'volume_pool' => :'String',
|
85
104
|
:'affinity_policy' => :'String',
|
86
105
|
:'affinity_volume' => :'String',
|
87
|
-
:'affinity_pvm_instance' => :'String'
|
106
|
+
:'affinity_pvm_instance' => :'String',
|
107
|
+
:'anti_affinity_volumes' => :'Array<String>',
|
108
|
+
:'anti_affinity_pvm_instances' => :'Array<String>'
|
88
109
|
}
|
89
110
|
end
|
90
111
|
|
@@ -129,6 +150,10 @@ module IbmCloudPower
|
|
129
150
|
self.disk_type = attributes[:'disk_type']
|
130
151
|
end
|
131
152
|
|
153
|
+
if attributes.key?(:'volume_pool')
|
154
|
+
self.volume_pool = attributes[:'volume_pool']
|
155
|
+
end
|
156
|
+
|
132
157
|
if attributes.key?(:'affinity_policy')
|
133
158
|
self.affinity_policy = attributes[:'affinity_policy']
|
134
159
|
end
|
@@ -140,6 +165,18 @@ module IbmCloudPower
|
|
140
165
|
if attributes.key?(:'affinity_pvm_instance')
|
141
166
|
self.affinity_pvm_instance = attributes[:'affinity_pvm_instance']
|
142
167
|
end
|
168
|
+
|
169
|
+
if attributes.key?(:'anti_affinity_volumes')
|
170
|
+
if (value = attributes[:'anti_affinity_volumes']).is_a?(Array)
|
171
|
+
self.anti_affinity_volumes = value
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
if attributes.key?(:'anti_affinity_pvm_instances')
|
176
|
+
if (value = attributes[:'anti_affinity_pvm_instances']).is_a?(Array)
|
177
|
+
self.anti_affinity_pvm_instances = value
|
178
|
+
end
|
179
|
+
end
|
143
180
|
end
|
144
181
|
|
145
182
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -187,9 +224,12 @@ module IbmCloudPower
|
|
187
224
|
count == o.count &&
|
188
225
|
shareable == o.shareable &&
|
189
226
|
disk_type == o.disk_type &&
|
227
|
+
volume_pool == o.volume_pool &&
|
190
228
|
affinity_policy == o.affinity_policy &&
|
191
229
|
affinity_volume == o.affinity_volume &&
|
192
|
-
affinity_pvm_instance == o.affinity_pvm_instance
|
230
|
+
affinity_pvm_instance == o.affinity_pvm_instance &&
|
231
|
+
anti_affinity_volumes == o.anti_affinity_volumes &&
|
232
|
+
anti_affinity_pvm_instances == o.anti_affinity_pvm_instances
|
193
233
|
end
|
194
234
|
|
195
235
|
# @see the `==` method
|
@@ -201,7 +241,7 @@ module IbmCloudPower
|
|
201
241
|
# Calculates hash code according to all attributes.
|
202
242
|
# @return [Integer] Hash code
|
203
243
|
def hash
|
204
|
-
[name, size, count, shareable, disk_type, affinity_policy, affinity_volume, affinity_pvm_instance].hash
|
244
|
+
[name, size, count, shareable, disk_type, volume_pool, affinity_policy, affinity_volume, affinity_pvm_instance, anti_affinity_volumes, anti_affinity_pvm_instances].hash
|
205
245
|
end
|
206
246
|
|
207
247
|
# Builds the object from hash
|
@@ -216,8 +256,11 @@ module IbmCloudPower
|
|
216
256
|
# @return [Object] Returns the model itself
|
217
257
|
def build_from_hash(attributes)
|
218
258
|
return nil unless attributes.is_a?(Hash)
|
259
|
+
attributes = attributes.transform_keys(&:to_sym)
|
219
260
|
self.class.openapi_types.each_pair do |key, type|
|
220
|
-
if
|
261
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
262
|
+
self.send("#{key}=", nil)
|
263
|
+
elsif type =~ /\AArray<(.*)>/i
|
221
264
|
# check to ensure the input is an array given that the attribute
|
222
265
|
# is documented as an array but the input is not
|
223
266
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -225,8 +268,6 @@ module IbmCloudPower
|
|
225
268
|
end
|
226
269
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
227
270
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
228
|
-
elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
229
|
-
self.send("#{key}=", nil)
|
230
271
|
end
|
231
272
|
end
|
232
273
|
|
@@ -239,8 +280,8 @@ module IbmCloudPower
|
|
239
280
|
# @return [Object] Deserialized data
|
240
281
|
def _deserialize(type, value)
|
241
282
|
case type.to_sym
|
242
|
-
when :
|
243
|
-
|
283
|
+
when :Time
|
284
|
+
Time.parse(value)
|
244
285
|
when :Date
|
245
286
|
Date.parse(value)
|
246
287
|
when :String
|
@@ -270,7 +311,9 @@ module IbmCloudPower
|
|
270
311
|
end
|
271
312
|
end
|
272
313
|
else # model
|
273
|
-
|
314
|
+
# models (e.g. Pet) or oneOf
|
315
|
+
klass = IbmCloudPower.const_get(type)
|
316
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
274
317
|
end
|
275
318
|
end
|
276
319
|
|
@@ -296,7 +339,7 @@ module IbmCloudPower
|
|
296
339
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
297
340
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
298
341
|
end
|
299
|
-
|
342
|
+
|
300
343
|
hash[param] = _to_hash(value)
|
301
344
|
end
|
302
345
|
hash
|
@@ -319,5 +362,7 @@ module IbmCloudPower
|
|
319
362
|
value
|
320
363
|
end
|
321
364
|
end
|
365
|
+
|
322
366
|
end
|
367
|
+
|
323
368
|
end
|
@@ -6,11 +6,12 @@
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: kylej@us.ibm.com
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 6.0.1
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module IbmCloudPower
|
16
17
|
class Network
|
@@ -85,6 +86,11 @@ module IbmCloudPower
|
|
85
86
|
}
|
86
87
|
end
|
87
88
|
|
89
|
+
# Returns all the JSON keys this model knows about
|
90
|
+
def self.acceptable_attributes
|
91
|
+
attribute_map.values
|
92
|
+
end
|
93
|
+
|
88
94
|
# Attribute type mapping.
|
89
95
|
def self.openapi_types
|
90
96
|
{
|
@@ -288,8 +294,11 @@ module IbmCloudPower
|
|
288
294
|
# @return [Object] Returns the model itself
|
289
295
|
def build_from_hash(attributes)
|
290
296
|
return nil unless attributes.is_a?(Hash)
|
297
|
+
attributes = attributes.transform_keys(&:to_sym)
|
291
298
|
self.class.openapi_types.each_pair do |key, type|
|
292
|
-
if
|
299
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
300
|
+
self.send("#{key}=", nil)
|
301
|
+
elsif type =~ /\AArray<(.*)>/i
|
293
302
|
# check to ensure the input is an array given that the attribute
|
294
303
|
# is documented as an array but the input is not
|
295
304
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -297,8 +306,6 @@ module IbmCloudPower
|
|
297
306
|
end
|
298
307
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
299
308
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
300
|
-
elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
301
|
-
self.send("#{key}=", nil)
|
302
309
|
end
|
303
310
|
end
|
304
311
|
|
@@ -311,8 +318,8 @@ module IbmCloudPower
|
|
311
318
|
# @return [Object] Deserialized data
|
312
319
|
def _deserialize(type, value)
|
313
320
|
case type.to_sym
|
314
|
-
when :
|
315
|
-
|
321
|
+
when :Time
|
322
|
+
Time.parse(value)
|
316
323
|
when :Date
|
317
324
|
Date.parse(value)
|
318
325
|
when :String
|
@@ -342,7 +349,9 @@ module IbmCloudPower
|
|
342
349
|
end
|
343
350
|
end
|
344
351
|
else # model
|
345
|
-
|
352
|
+
# models (e.g. Pet) or oneOf
|
353
|
+
klass = IbmCloudPower.const_get(type)
|
354
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
346
355
|
end
|
347
356
|
end
|
348
357
|
|
@@ -368,7 +377,7 @@ module IbmCloudPower
|
|
368
377
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
369
378
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
370
379
|
end
|
371
|
-
|
380
|
+
|
372
381
|
hash[param] = _to_hash(value)
|
373
382
|
end
|
374
383
|
hash
|
@@ -391,5 +400,7 @@ module IbmCloudPower
|
|
391
400
|
value
|
392
401
|
end
|
393
402
|
end
|
403
|
+
|
394
404
|
end
|
405
|
+
|
395
406
|
end
|
@@ -6,11 +6,12 @@
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
7
7
|
Contact: kylej@us.ibm.com
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 6.0.1
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module IbmCloudPower
|
16
17
|
class NetworkCreate
|
@@ -70,6 +71,11 @@ module IbmCloudPower
|
|
70
71
|
}
|
71
72
|
end
|
72
73
|
|
74
|
+
# Returns all the JSON keys this model knows about
|
75
|
+
def self.acceptable_attributes
|
76
|
+
attribute_map.values
|
77
|
+
end
|
78
|
+
|
73
79
|
# Attribute type mapping.
|
74
80
|
def self.openapi_types
|
75
81
|
{
|
@@ -207,8 +213,11 @@ module IbmCloudPower
|
|
207
213
|
# @return [Object] Returns the model itself
|
208
214
|
def build_from_hash(attributes)
|
209
215
|
return nil unless attributes.is_a?(Hash)
|
216
|
+
attributes = attributes.transform_keys(&:to_sym)
|
210
217
|
self.class.openapi_types.each_pair do |key, type|
|
211
|
-
if
|
218
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
219
|
+
self.send("#{key}=", nil)
|
220
|
+
elsif type =~ /\AArray<(.*)>/i
|
212
221
|
# check to ensure the input is an array given that the attribute
|
213
222
|
# is documented as an array but the input is not
|
214
223
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -216,8 +225,6 @@ module IbmCloudPower
|
|
216
225
|
end
|
217
226
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
218
227
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
219
|
-
elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
220
|
-
self.send("#{key}=", nil)
|
221
228
|
end
|
222
229
|
end
|
223
230
|
|
@@ -230,8 +237,8 @@ module IbmCloudPower
|
|
230
237
|
# @return [Object] Deserialized data
|
231
238
|
def _deserialize(type, value)
|
232
239
|
case type.to_sym
|
233
|
-
when :
|
234
|
-
|
240
|
+
when :Time
|
241
|
+
Time.parse(value)
|
235
242
|
when :Date
|
236
243
|
Date.parse(value)
|
237
244
|
when :String
|
@@ -261,7 +268,9 @@ module IbmCloudPower
|
|
261
268
|
end
|
262
269
|
end
|
263
270
|
else # model
|
264
|
-
|
271
|
+
# models (e.g. Pet) or oneOf
|
272
|
+
klass = IbmCloudPower.const_get(type)
|
273
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
265
274
|
end
|
266
275
|
end
|
267
276
|
|
@@ -287,7 +296,7 @@ module IbmCloudPower
|
|
287
296
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
288
297
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
289
298
|
end
|
290
|
-
|
299
|
+
|
291
300
|
hash[param] = _to_hash(value)
|
292
301
|
end
|
293
302
|
hash
|
@@ -310,5 +319,7 @@ module IbmCloudPower
|
|
310
319
|
value
|
311
320
|
end
|
312
321
|
end
|
322
|
+
|
313
323
|
end
|
324
|
+
|
314
325
|
end
|
@@ -0,0 +1,225 @@
|
|
1
|
+
=begin
|
2
|
+
#Power Cloud API
|
3
|
+
|
4
|
+
#IBM Power Cloud API for Power Hardware / Infrastructure
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
|
+
Contact: kylej@us.ibm.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.0.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module IbmCloudPower
|
17
|
+
# unique identifier of a network
|
18
|
+
class NetworkID
|
19
|
+
attr_accessor :network_id
|
20
|
+
|
21
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
22
|
+
def self.attribute_map
|
23
|
+
{
|
24
|
+
:'network_id' => :'networkID'
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns all the JSON keys this model knows about
|
29
|
+
def self.acceptable_attributes
|
30
|
+
attribute_map.values
|
31
|
+
end
|
32
|
+
|
33
|
+
# Attribute type mapping.
|
34
|
+
def self.openapi_types
|
35
|
+
{
|
36
|
+
:'network_id' => :'String'
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
# List of attributes with nullable: true
|
41
|
+
def self.openapi_nullable
|
42
|
+
Set.new([
|
43
|
+
])
|
44
|
+
end
|
45
|
+
|
46
|
+
# Initializes the object
|
47
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
48
|
+
def initialize(attributes = {})
|
49
|
+
if (!attributes.is_a?(Hash))
|
50
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `IbmCloudPower::NetworkID` initialize method"
|
51
|
+
end
|
52
|
+
|
53
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
54
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
55
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
56
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `IbmCloudPower::NetworkID`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
57
|
+
end
|
58
|
+
h[k.to_sym] = v
|
59
|
+
}
|
60
|
+
|
61
|
+
if attributes.key?(:'network_id')
|
62
|
+
self.network_id = attributes[:'network_id']
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
67
|
+
# @return Array for valid properties with the reasons
|
68
|
+
def list_invalid_properties
|
69
|
+
invalid_properties = Array.new
|
70
|
+
if @network_id.nil?
|
71
|
+
invalid_properties.push('invalid value for "network_id", network_id cannot be nil.')
|
72
|
+
end
|
73
|
+
|
74
|
+
invalid_properties
|
75
|
+
end
|
76
|
+
|
77
|
+
# Check to see if the all the properties in the model are valid
|
78
|
+
# @return true if the model is valid
|
79
|
+
def valid?
|
80
|
+
return false if @network_id.nil?
|
81
|
+
true
|
82
|
+
end
|
83
|
+
|
84
|
+
# Checks equality by comparing each attribute.
|
85
|
+
# @param [Object] Object to be compared
|
86
|
+
def ==(o)
|
87
|
+
return true if self.equal?(o)
|
88
|
+
self.class == o.class &&
|
89
|
+
network_id == o.network_id
|
90
|
+
end
|
91
|
+
|
92
|
+
# @see the `==` method
|
93
|
+
# @param [Object] Object to be compared
|
94
|
+
def eql?(o)
|
95
|
+
self == o
|
96
|
+
end
|
97
|
+
|
98
|
+
# Calculates hash code according to all attributes.
|
99
|
+
# @return [Integer] Hash code
|
100
|
+
def hash
|
101
|
+
[network_id].hash
|
102
|
+
end
|
103
|
+
|
104
|
+
# Builds the object from hash
|
105
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
106
|
+
# @return [Object] Returns the model itself
|
107
|
+
def self.build_from_hash(attributes)
|
108
|
+
new.build_from_hash(attributes)
|
109
|
+
end
|
110
|
+
|
111
|
+
# Builds the object from hash
|
112
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
113
|
+
# @return [Object] Returns the model itself
|
114
|
+
def build_from_hash(attributes)
|
115
|
+
return nil unless attributes.is_a?(Hash)
|
116
|
+
attributes = attributes.transform_keys(&:to_sym)
|
117
|
+
self.class.openapi_types.each_pair do |key, type|
|
118
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
119
|
+
self.send("#{key}=", nil)
|
120
|
+
elsif type =~ /\AArray<(.*)>/i
|
121
|
+
# check to ensure the input is an array given that the attribute
|
122
|
+
# is documented as an array but the input is not
|
123
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
124
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
125
|
+
end
|
126
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
127
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
self
|
132
|
+
end
|
133
|
+
|
134
|
+
# Deserializes the data based on type
|
135
|
+
# @param string type Data type
|
136
|
+
# @param string value Value to be deserialized
|
137
|
+
# @return [Object] Deserialized data
|
138
|
+
def _deserialize(type, value)
|
139
|
+
case type.to_sym
|
140
|
+
when :Time
|
141
|
+
Time.parse(value)
|
142
|
+
when :Date
|
143
|
+
Date.parse(value)
|
144
|
+
when :String
|
145
|
+
value.to_s
|
146
|
+
when :Integer
|
147
|
+
value.to_i
|
148
|
+
when :Float
|
149
|
+
value.to_f
|
150
|
+
when :Boolean
|
151
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
152
|
+
true
|
153
|
+
else
|
154
|
+
false
|
155
|
+
end
|
156
|
+
when :Object
|
157
|
+
# generic object (usually a Hash), return directly
|
158
|
+
value
|
159
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
160
|
+
inner_type = Regexp.last_match[:inner_type]
|
161
|
+
value.map { |v| _deserialize(inner_type, v) }
|
162
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
163
|
+
k_type = Regexp.last_match[:k_type]
|
164
|
+
v_type = Regexp.last_match[:v_type]
|
165
|
+
{}.tap do |hash|
|
166
|
+
value.each do |k, v|
|
167
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
else # model
|
171
|
+
# models (e.g. Pet) or oneOf
|
172
|
+
klass = IbmCloudPower.const_get(type)
|
173
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
# Returns the string representation of the object
|
178
|
+
# @return [String] String presentation of the object
|
179
|
+
def to_s
|
180
|
+
to_hash.to_s
|
181
|
+
end
|
182
|
+
|
183
|
+
# to_body is an alias to to_hash (backward compatibility)
|
184
|
+
# @return [Hash] Returns the object in the form of hash
|
185
|
+
def to_body
|
186
|
+
to_hash
|
187
|
+
end
|
188
|
+
|
189
|
+
# Returns the object in the form of hash
|
190
|
+
# @return [Hash] Returns the object in the form of hash
|
191
|
+
def to_hash
|
192
|
+
hash = {}
|
193
|
+
self.class.attribute_map.each_pair do |attr, param|
|
194
|
+
value = self.send(attr)
|
195
|
+
if value.nil?
|
196
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
197
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
198
|
+
end
|
199
|
+
|
200
|
+
hash[param] = _to_hash(value)
|
201
|
+
end
|
202
|
+
hash
|
203
|
+
end
|
204
|
+
|
205
|
+
# Outputs non-array value in the form of hash
|
206
|
+
# For object, use to_hash. Otherwise, just return the value
|
207
|
+
# @param [Object] value Any valid value
|
208
|
+
# @return [Hash] Returns the value in the form of hash
|
209
|
+
def _to_hash(value)
|
210
|
+
if value.is_a?(Array)
|
211
|
+
value.compact.map { |v| _to_hash(v) }
|
212
|
+
elsif value.is_a?(Hash)
|
213
|
+
{}.tap do |hash|
|
214
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
215
|
+
end
|
216
|
+
elsif value.respond_to? :to_hash
|
217
|
+
value.to_hash
|
218
|
+
else
|
219
|
+
value
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|