ibm_cloud_power 1.1.1 → 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 +39 -9
- 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 +18 -7
- 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 +259 -107
|
@@ -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 CloudInstanceUpdate
|
|
@@ -40,6 +41,11 @@ module IbmCloudPower
|
|
|
40
41
|
}
|
|
41
42
|
end
|
|
42
43
|
|
|
44
|
+
# Returns all the JSON keys this model knows about
|
|
45
|
+
def self.acceptable_attributes
|
|
46
|
+
attribute_map.values
|
|
47
|
+
end
|
|
48
|
+
|
|
43
49
|
# Attribute type mapping.
|
|
44
50
|
def self.openapi_types
|
|
45
51
|
{
|
|
@@ -142,8 +148,11 @@ module IbmCloudPower
|
|
|
142
148
|
# @return [Object] Returns the model itself
|
|
143
149
|
def build_from_hash(attributes)
|
|
144
150
|
return nil unless attributes.is_a?(Hash)
|
|
151
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
145
152
|
self.class.openapi_types.each_pair do |key, type|
|
|
146
|
-
if
|
|
153
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
154
|
+
self.send("#{key}=", nil)
|
|
155
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
147
156
|
# check to ensure the input is an array given that the attribute
|
|
148
157
|
# is documented as an array but the input is not
|
|
149
158
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -151,8 +160,6 @@ module IbmCloudPower
|
|
|
151
160
|
end
|
|
152
161
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
153
162
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
154
|
-
elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
155
|
-
self.send("#{key}=", nil)
|
|
156
163
|
end
|
|
157
164
|
end
|
|
158
165
|
|
|
@@ -165,8 +172,8 @@ module IbmCloudPower
|
|
|
165
172
|
# @return [Object] Deserialized data
|
|
166
173
|
def _deserialize(type, value)
|
|
167
174
|
case type.to_sym
|
|
168
|
-
when :
|
|
169
|
-
|
|
175
|
+
when :Time
|
|
176
|
+
Time.parse(value)
|
|
170
177
|
when :Date
|
|
171
178
|
Date.parse(value)
|
|
172
179
|
when :String
|
|
@@ -196,7 +203,9 @@ module IbmCloudPower
|
|
|
196
203
|
end
|
|
197
204
|
end
|
|
198
205
|
else # model
|
|
199
|
-
|
|
206
|
+
# models (e.g. Pet) or oneOf
|
|
207
|
+
klass = IbmCloudPower.const_get(type)
|
|
208
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
200
209
|
end
|
|
201
210
|
end
|
|
202
211
|
|
|
@@ -222,7 +231,7 @@ module IbmCloudPower
|
|
|
222
231
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
223
232
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
224
233
|
end
|
|
225
|
-
|
|
234
|
+
|
|
226
235
|
hash[param] = _to_hash(value)
|
|
227
236
|
end
|
|
228
237
|
hash
|
|
@@ -245,5 +254,7 @@ module IbmCloudPower
|
|
|
245
254
|
value
|
|
246
255
|
end
|
|
247
256
|
end
|
|
257
|
+
|
|
248
258
|
end
|
|
259
|
+
|
|
249
260
|
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 CloudInstanceUsageLimits
|
|
@@ -64,6 +65,11 @@ module IbmCloudPower
|
|
|
64
65
|
}
|
|
65
66
|
end
|
|
66
67
|
|
|
68
|
+
# Returns all the JSON keys this model knows about
|
|
69
|
+
def self.acceptable_attributes
|
|
70
|
+
attribute_map.values
|
|
71
|
+
end
|
|
72
|
+
|
|
67
73
|
# Attribute type mapping.
|
|
68
74
|
def self.openapi_types
|
|
69
75
|
{
|
|
@@ -227,8 +233,11 @@ module IbmCloudPower
|
|
|
227
233
|
# @return [Object] Returns the model itself
|
|
228
234
|
def build_from_hash(attributes)
|
|
229
235
|
return nil unless attributes.is_a?(Hash)
|
|
236
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
230
237
|
self.class.openapi_types.each_pair do |key, type|
|
|
231
|
-
if
|
|
238
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
239
|
+
self.send("#{key}=", nil)
|
|
240
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
232
241
|
# check to ensure the input is an array given that the attribute
|
|
233
242
|
# is documented as an array but the input is not
|
|
234
243
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -236,8 +245,6 @@ module IbmCloudPower
|
|
|
236
245
|
end
|
|
237
246
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
238
247
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
239
|
-
elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
240
|
-
self.send("#{key}=", nil)
|
|
241
248
|
end
|
|
242
249
|
end
|
|
243
250
|
|
|
@@ -250,8 +257,8 @@ module IbmCloudPower
|
|
|
250
257
|
# @return [Object] Deserialized data
|
|
251
258
|
def _deserialize(type, value)
|
|
252
259
|
case type.to_sym
|
|
253
|
-
when :
|
|
254
|
-
|
|
260
|
+
when :Time
|
|
261
|
+
Time.parse(value)
|
|
255
262
|
when :Date
|
|
256
263
|
Date.parse(value)
|
|
257
264
|
when :String
|
|
@@ -281,7 +288,9 @@ module IbmCloudPower
|
|
|
281
288
|
end
|
|
282
289
|
end
|
|
283
290
|
else # model
|
|
284
|
-
|
|
291
|
+
# models (e.g. Pet) or oneOf
|
|
292
|
+
klass = IbmCloudPower.const_get(type)
|
|
293
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
285
294
|
end
|
|
286
295
|
end
|
|
287
296
|
|
|
@@ -307,7 +316,7 @@ module IbmCloudPower
|
|
|
307
316
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
308
317
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
309
318
|
end
|
|
310
|
-
|
|
319
|
+
|
|
311
320
|
hash[param] = _to_hash(value)
|
|
312
321
|
end
|
|
313
322
|
hash
|
|
@@ -330,5 +339,7 @@ module IbmCloudPower
|
|
|
330
339
|
value
|
|
331
340
|
end
|
|
332
341
|
end
|
|
342
|
+
|
|
333
343
|
end
|
|
344
|
+
|
|
334
345
|
end
|
|
@@ -0,0 +1,387 @@
|
|
|
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
|
+
class CreateCosImageImportJob
|
|
18
|
+
# Cloud Object Storage access key; required for buckets with private access
|
|
19
|
+
attr_accessor :access_key
|
|
20
|
+
|
|
21
|
+
# indicates if the bucket has public or private access public access require no authentication keys private access requires hmac authentication keys (access,secret)
|
|
22
|
+
attr_accessor :bucket_access
|
|
23
|
+
|
|
24
|
+
# Cloud Object Storage bucket name; bucket-name[/optional/folder]
|
|
25
|
+
attr_accessor :bucket_name
|
|
26
|
+
|
|
27
|
+
# Cloud Object Storage image filename
|
|
28
|
+
attr_accessor :image_filename
|
|
29
|
+
|
|
30
|
+
# Name for the image that will be loaded into the boot image catalog
|
|
31
|
+
attr_accessor :image_name
|
|
32
|
+
|
|
33
|
+
# Image OS Type, required if importing a raw image; raw images can only be imported using the command line interface
|
|
34
|
+
attr_accessor :os_type
|
|
35
|
+
|
|
36
|
+
# Cloud Object Storage region
|
|
37
|
+
attr_accessor :region
|
|
38
|
+
|
|
39
|
+
# Cloud Object Storage secret key; required for buckets with private access
|
|
40
|
+
attr_accessor :secret_key
|
|
41
|
+
|
|
42
|
+
attr_accessor :storage_affinity
|
|
43
|
+
|
|
44
|
+
# Storage pool where the image will be loaded, if provided then storageType and storageAffinity will be ignored
|
|
45
|
+
attr_accessor :storage_pool
|
|
46
|
+
|
|
47
|
+
# Type of storage; will be ignored if storagePool or storageAffinity is provided. If only using storageType for storage selection then the storage pool with the most available space will be selected
|
|
48
|
+
attr_accessor :storage_type
|
|
49
|
+
|
|
50
|
+
class EnumAttributeValidator
|
|
51
|
+
attr_reader :datatype
|
|
52
|
+
attr_reader :allowable_values
|
|
53
|
+
|
|
54
|
+
def initialize(datatype, allowable_values)
|
|
55
|
+
@allowable_values = allowable_values.map do |value|
|
|
56
|
+
case datatype.to_s
|
|
57
|
+
when /Integer/i
|
|
58
|
+
value.to_i
|
|
59
|
+
when /Float/i
|
|
60
|
+
value.to_f
|
|
61
|
+
else
|
|
62
|
+
value
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def valid?(value)
|
|
68
|
+
!value || allowable_values.include?(value)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
73
|
+
def self.attribute_map
|
|
74
|
+
{
|
|
75
|
+
:'access_key' => :'accessKey',
|
|
76
|
+
:'bucket_access' => :'bucketAccess',
|
|
77
|
+
:'bucket_name' => :'bucketName',
|
|
78
|
+
:'image_filename' => :'imageFilename',
|
|
79
|
+
:'image_name' => :'imageName',
|
|
80
|
+
:'os_type' => :'osType',
|
|
81
|
+
:'region' => :'region',
|
|
82
|
+
:'secret_key' => :'secretKey',
|
|
83
|
+
:'storage_affinity' => :'storageAffinity',
|
|
84
|
+
:'storage_pool' => :'storagePool',
|
|
85
|
+
:'storage_type' => :'storageType'
|
|
86
|
+
}
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Returns all the JSON keys this model knows about
|
|
90
|
+
def self.acceptable_attributes
|
|
91
|
+
attribute_map.values
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Attribute type mapping.
|
|
95
|
+
def self.openapi_types
|
|
96
|
+
{
|
|
97
|
+
:'access_key' => :'String',
|
|
98
|
+
:'bucket_access' => :'String',
|
|
99
|
+
:'bucket_name' => :'String',
|
|
100
|
+
:'image_filename' => :'String',
|
|
101
|
+
:'image_name' => :'String',
|
|
102
|
+
:'os_type' => :'String',
|
|
103
|
+
:'region' => :'String',
|
|
104
|
+
:'secret_key' => :'String',
|
|
105
|
+
:'storage_affinity' => :'StorageAffinity',
|
|
106
|
+
:'storage_pool' => :'String',
|
|
107
|
+
:'storage_type' => :'String'
|
|
108
|
+
}
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# List of attributes with nullable: true
|
|
112
|
+
def self.openapi_nullable
|
|
113
|
+
Set.new([
|
|
114
|
+
])
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Initializes the object
|
|
118
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
119
|
+
def initialize(attributes = {})
|
|
120
|
+
if (!attributes.is_a?(Hash))
|
|
121
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `IbmCloudPower::CreateCosImageImportJob` initialize method"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
125
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
126
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
127
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `IbmCloudPower::CreateCosImageImportJob`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
128
|
+
end
|
|
129
|
+
h[k.to_sym] = v
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if attributes.key?(:'access_key')
|
|
133
|
+
self.access_key = attributes[:'access_key']
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if attributes.key?(:'bucket_access')
|
|
137
|
+
self.bucket_access = attributes[:'bucket_access']
|
|
138
|
+
else
|
|
139
|
+
self.bucket_access = 'private'
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
if attributes.key?(:'bucket_name')
|
|
143
|
+
self.bucket_name = attributes[:'bucket_name']
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
if attributes.key?(:'image_filename')
|
|
147
|
+
self.image_filename = attributes[:'image_filename']
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
if attributes.key?(:'image_name')
|
|
151
|
+
self.image_name = attributes[:'image_name']
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
if attributes.key?(:'os_type')
|
|
155
|
+
self.os_type = attributes[:'os_type']
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
if attributes.key?(:'region')
|
|
159
|
+
self.region = attributes[:'region']
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
if attributes.key?(:'secret_key')
|
|
163
|
+
self.secret_key = attributes[:'secret_key']
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
if attributes.key?(:'storage_affinity')
|
|
167
|
+
self.storage_affinity = attributes[:'storage_affinity']
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
if attributes.key?(:'storage_pool')
|
|
171
|
+
self.storage_pool = attributes[:'storage_pool']
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
if attributes.key?(:'storage_type')
|
|
175
|
+
self.storage_type = attributes[:'storage_type']
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
180
|
+
# @return Array for valid properties with the reasons
|
|
181
|
+
def list_invalid_properties
|
|
182
|
+
invalid_properties = Array.new
|
|
183
|
+
if @bucket_name.nil?
|
|
184
|
+
invalid_properties.push('invalid value for "bucket_name", bucket_name cannot be nil.')
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
if @image_filename.nil?
|
|
188
|
+
invalid_properties.push('invalid value for "image_filename", image_filename cannot be nil.')
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
if @image_name.nil?
|
|
192
|
+
invalid_properties.push('invalid value for "image_name", image_name cannot be nil.')
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
if @region.nil?
|
|
196
|
+
invalid_properties.push('invalid value for "region", region cannot be nil.')
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
invalid_properties
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Check to see if the all the properties in the model are valid
|
|
203
|
+
# @return true if the model is valid
|
|
204
|
+
def valid?
|
|
205
|
+
bucket_access_validator = EnumAttributeValidator.new('String', ["public", "private"])
|
|
206
|
+
return false unless bucket_access_validator.valid?(@bucket_access)
|
|
207
|
+
return false if @bucket_name.nil?
|
|
208
|
+
return false if @image_filename.nil?
|
|
209
|
+
return false if @image_name.nil?
|
|
210
|
+
os_type_validator = EnumAttributeValidator.new('String', ["aix", "ibmi", "rhel", "sles"])
|
|
211
|
+
return false unless os_type_validator.valid?(@os_type)
|
|
212
|
+
return false if @region.nil?
|
|
213
|
+
true
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
217
|
+
# @param [Object] bucket_access Object to be assigned
|
|
218
|
+
def bucket_access=(bucket_access)
|
|
219
|
+
validator = EnumAttributeValidator.new('String', ["public", "private"])
|
|
220
|
+
unless validator.valid?(bucket_access)
|
|
221
|
+
fail ArgumentError, "invalid value for \"bucket_access\", must be one of #{validator.allowable_values}."
|
|
222
|
+
end
|
|
223
|
+
@bucket_access = bucket_access
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
227
|
+
# @param [Object] os_type Object to be assigned
|
|
228
|
+
def os_type=(os_type)
|
|
229
|
+
validator = EnumAttributeValidator.new('String', ["aix", "ibmi", "rhel", "sles"])
|
|
230
|
+
unless validator.valid?(os_type)
|
|
231
|
+
fail ArgumentError, "invalid value for \"os_type\", must be one of #{validator.allowable_values}."
|
|
232
|
+
end
|
|
233
|
+
@os_type = os_type
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# Checks equality by comparing each attribute.
|
|
237
|
+
# @param [Object] Object to be compared
|
|
238
|
+
def ==(o)
|
|
239
|
+
return true if self.equal?(o)
|
|
240
|
+
self.class == o.class &&
|
|
241
|
+
access_key == o.access_key &&
|
|
242
|
+
bucket_access == o.bucket_access &&
|
|
243
|
+
bucket_name == o.bucket_name &&
|
|
244
|
+
image_filename == o.image_filename &&
|
|
245
|
+
image_name == o.image_name &&
|
|
246
|
+
os_type == o.os_type &&
|
|
247
|
+
region == o.region &&
|
|
248
|
+
secret_key == o.secret_key &&
|
|
249
|
+
storage_affinity == o.storage_affinity &&
|
|
250
|
+
storage_pool == o.storage_pool &&
|
|
251
|
+
storage_type == o.storage_type
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
# @see the `==` method
|
|
255
|
+
# @param [Object] Object to be compared
|
|
256
|
+
def eql?(o)
|
|
257
|
+
self == o
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
# Calculates hash code according to all attributes.
|
|
261
|
+
# @return [Integer] Hash code
|
|
262
|
+
def hash
|
|
263
|
+
[access_key, bucket_access, bucket_name, image_filename, image_name, os_type, region, secret_key, storage_affinity, storage_pool, storage_type].hash
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
# Builds the object from hash
|
|
267
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
268
|
+
# @return [Object] Returns the model itself
|
|
269
|
+
def self.build_from_hash(attributes)
|
|
270
|
+
new.build_from_hash(attributes)
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
# Builds the object from hash
|
|
274
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
275
|
+
# @return [Object] Returns the model itself
|
|
276
|
+
def build_from_hash(attributes)
|
|
277
|
+
return nil unless attributes.is_a?(Hash)
|
|
278
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
279
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
280
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
281
|
+
self.send("#{key}=", nil)
|
|
282
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
283
|
+
# check to ensure the input is an array given that the attribute
|
|
284
|
+
# is documented as an array but the input is not
|
|
285
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
286
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
287
|
+
end
|
|
288
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
289
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
290
|
+
end
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
self
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# Deserializes the data based on type
|
|
297
|
+
# @param string type Data type
|
|
298
|
+
# @param string value Value to be deserialized
|
|
299
|
+
# @return [Object] Deserialized data
|
|
300
|
+
def _deserialize(type, value)
|
|
301
|
+
case type.to_sym
|
|
302
|
+
when :Time
|
|
303
|
+
Time.parse(value)
|
|
304
|
+
when :Date
|
|
305
|
+
Date.parse(value)
|
|
306
|
+
when :String
|
|
307
|
+
value.to_s
|
|
308
|
+
when :Integer
|
|
309
|
+
value.to_i
|
|
310
|
+
when :Float
|
|
311
|
+
value.to_f
|
|
312
|
+
when :Boolean
|
|
313
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
314
|
+
true
|
|
315
|
+
else
|
|
316
|
+
false
|
|
317
|
+
end
|
|
318
|
+
when :Object
|
|
319
|
+
# generic object (usually a Hash), return directly
|
|
320
|
+
value
|
|
321
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
322
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
323
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
324
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
325
|
+
k_type = Regexp.last_match[:k_type]
|
|
326
|
+
v_type = Regexp.last_match[:v_type]
|
|
327
|
+
{}.tap do |hash|
|
|
328
|
+
value.each do |k, v|
|
|
329
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
else # model
|
|
333
|
+
# models (e.g. Pet) or oneOf
|
|
334
|
+
klass = IbmCloudPower.const_get(type)
|
|
335
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# Returns the string representation of the object
|
|
340
|
+
# @return [String] String presentation of the object
|
|
341
|
+
def to_s
|
|
342
|
+
to_hash.to_s
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
346
|
+
# @return [Hash] Returns the object in the form of hash
|
|
347
|
+
def to_body
|
|
348
|
+
to_hash
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
# Returns the object in the form of hash
|
|
352
|
+
# @return [Hash] Returns the object in the form of hash
|
|
353
|
+
def to_hash
|
|
354
|
+
hash = {}
|
|
355
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
356
|
+
value = self.send(attr)
|
|
357
|
+
if value.nil?
|
|
358
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
359
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
360
|
+
end
|
|
361
|
+
|
|
362
|
+
hash[param] = _to_hash(value)
|
|
363
|
+
end
|
|
364
|
+
hash
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# Outputs non-array value in the form of hash
|
|
368
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
369
|
+
# @param [Object] value Any valid value
|
|
370
|
+
# @return [Hash] Returns the value in the form of hash
|
|
371
|
+
def _to_hash(value)
|
|
372
|
+
if value.is_a?(Array)
|
|
373
|
+
value.compact.map { |v| _to_hash(v) }
|
|
374
|
+
elsif value.is_a?(Hash)
|
|
375
|
+
{}.tap do |hash|
|
|
376
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
377
|
+
end
|
|
378
|
+
elsif value.respond_to? :to_hash
|
|
379
|
+
value.to_hash
|
|
380
|
+
else
|
|
381
|
+
value
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
end
|