ibm_cloud_power 2.1.0 → 3.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.
Files changed (807) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +172 -30
  3. data/docs/AccessConfig.md +15 -0
  4. data/docs/AddHost.md +22 -0
  5. data/docs/AddServerVirtualSerialNumber.md +20 -0
  6. data/docs/AvailableHost.md +22 -0
  7. data/docs/AvailableHostCapacity.md +20 -0
  8. data/docs/AvailableHostResourceCapacity.md +18 -0
  9. data/docs/CapabilitiesDetails.md +20 -0
  10. data/docs/CloudConnectionEndpointVPC.md +1 -1
  11. data/docs/CloudConnectionVirtualPrivateClouds.md +1 -1
  12. data/docs/CloudConnectionVirtualPrivateCloudsVirtualPrivateClouds.md +14 -13
  13. data/docs/CloudConnectionVpc.md +20 -0
  14. data/docs/CreateCosImageImportJob.md +7 -3
  15. data/docs/CreateDataVolume.md +4 -2
  16. data/docs/CreateImage.md +6 -4
  17. data/docs/CreateServerVirtualSerialNumber.md +20 -0
  18. data/docs/Datacenter.md +28 -0
  19. data/docs/DatacenterLocation.md +24 -0
  20. data/docs/Datacenters.md +18 -0
  21. data/docs/DatacentersApi.md +253 -0
  22. data/docs/DeleteServerVirtualSerialNumber.md +18 -0
  23. data/docs/DeploymentTarget.md +20 -0
  24. data/docs/DisasterRecovery.md +20 -0
  25. data/docs/DisasterRecoveryLocation.md +1 -1
  26. data/docs/GetBulkVolume.md +18 -0
  27. data/docs/GetServerVirtualSerialNumber.md +20 -0
  28. data/docs/Host.md +34 -0
  29. data/docs/HostCapacity.md +20 -0
  30. data/docs/HostCreate.md +20 -0
  31. data/docs/HostGroup.md +28 -0
  32. data/docs/HostGroupCreate.md +22 -0
  33. data/docs/HostGroupShareOp.md +20 -0
  34. data/docs/HostGroupSummary.md +22 -0
  35. data/docs/HostGroupsApi.md +632 -0
  36. data/docs/HostPut.md +18 -0
  37. data/docs/HostResourceCapacity.md +24 -0
  38. data/docs/Image.md +6 -0
  39. data/docs/ImageImportDetails.md +22 -0
  40. data/docs/ImageReference.md +2 -0
  41. data/docs/MultiVolumesCreate.md +4 -2
  42. data/docs/Network.md +9 -3
  43. data/docs/NetworkAddressGroup.md +26 -0
  44. data/docs/NetworkAddressGroupAddMember.md +18 -0
  45. data/docs/NetworkAddressGroupCreate.md +20 -0
  46. data/docs/NetworkAddressGroupMember.md +20 -0
  47. data/docs/NetworkAddressGroupUpdate.md +18 -0
  48. data/docs/NetworkAddressGroups.md +18 -0
  49. data/docs/NetworkAddressGroupsApi.md +451 -0
  50. data/docs/NetworkAddressTranslation.md +18 -0
  51. data/docs/NetworkCloudConnections.md +20 -0
  52. data/docs/NetworkCreate.md +6 -2
  53. data/docs/NetworkInterface.md +36 -0
  54. data/docs/NetworkInterfaceCreate.md +22 -0
  55. data/docs/NetworkInterfaceInstance.md +20 -0
  56. data/docs/NetworkInterfaceUpdate.md +20 -0
  57. data/docs/NetworkInterfaces.md +18 -0
  58. data/docs/NetworkPortPvmInstance.md +1 -1
  59. data/docs/NetworkReference.md +8 -2
  60. data/docs/NetworkSecurityGroup.md +30 -0
  61. data/docs/NetworkSecurityGroupAddMember.md +20 -0
  62. data/docs/NetworkSecurityGroupAddRule.md +30 -0
  63. data/docs/NetworkSecurityGroupClone.md +18 -0
  64. data/docs/NetworkSecurityGroupCreate.md +20 -0
  65. data/docs/NetworkSecurityGroupMember.md +26 -0
  66. data/docs/NetworkSecurityGroupMoveMember.md +20 -0
  67. data/docs/NetworkSecurityGroupRule.md +28 -0
  68. data/docs/NetworkSecurityGroupRulePort.md +20 -0
  69. data/docs/NetworkSecurityGroupRuleProtocol.md +22 -0
  70. data/docs/NetworkSecurityGroupRuleProtocolTcpFlag.md +18 -0
  71. data/docs/NetworkSecurityGroupRuleRemote.md +20 -0
  72. data/docs/NetworkSecurityGroupUpdate.md +18 -0
  73. data/docs/NetworkSecurityGroups.md +18 -0
  74. data/docs/NetworkSecurityGroupsAction.md +18 -0
  75. data/docs/NetworkSecurityGroupsApi.md +779 -0
  76. data/docs/NetworksApi.md +334 -0
  77. data/docs/PCloudCloudConnectionsApi.md +10 -10
  78. data/docs/PCloudImagesApi.md +15 -9
  79. data/docs/PCloudNetworksApi.md +12 -2
  80. data/docs/PCloudPVMInstancesApi.md +80 -78
  81. data/docs/PCloudPlacementGroupsApi.md +1 -1
  82. data/docs/PCloudPodCapacityApi.md +72 -0
  83. data/docs/PCloudSAPApi.md +10 -4
  84. data/docs/PCloudSPPPlacementGroupsApi.md +2 -2
  85. data/docs/PCloudSharedProcessorPoolsApi.md +1 -1
  86. data/docs/PCloudSnapshotsApi.md +1 -1
  87. data/docs/PCloudStorageTiersApi.md +70 -0
  88. data/docs/PCloudTasksApi.md +1 -1
  89. data/docs/PCloudTenantsSSHKeysApi.md +1 -1
  90. data/docs/PCloudVirtualSerialNumberApi.md +531 -0
  91. data/docs/PCloudVolumeGroupsApi.md +7 -5
  92. data/docs/PCloudVolumesApi.md +169 -21
  93. data/docs/PVMInstance.md +12 -0
  94. data/docs/PVMInstanceAction.md +1 -1
  95. data/docs/PVMInstanceAddNetwork.md +3 -1
  96. data/docs/PVMInstanceCapture.md +3 -1
  97. data/docs/PVMInstanceConfiguration.md +26 -0
  98. data/docs/PVMInstanceCores.md +22 -0
  99. data/docs/PVMInstanceCreate.md +11 -3
  100. data/docs/PVMInstanceDelete.md +18 -0
  101. data/docs/PVMInstanceMemory.md +22 -0
  102. data/docs/PVMInstanceNetwork.md +6 -0
  103. data/docs/PVMInstanceOperatingSystem.md +20 -0
  104. data/docs/PVMInstanceReference.md +11 -1
  105. data/docs/PVMInstanceReferenceV2.md +48 -0
  106. data/docs/PVMInstanceUpdateResponse.md +6 -2
  107. data/docs/PVMInstanceV2Health.md +18 -0
  108. data/docs/PVMInstanceV2NetworkPort.md +26 -0
  109. data/docs/PVMInstanceVirtualCores.md +22 -0
  110. data/docs/PVMInstanceVolumeUpdate.md +1 -1
  111. data/docs/PVMInstancesV2.md +18 -0
  112. data/docs/PodCapacity.md +22 -0
  113. data/docs/PodData.md +36 -0
  114. data/docs/PvmInstanceDeployment.md +24 -0
  115. data/docs/PvmInstanceHost.md +20 -0
  116. data/docs/PvmInstancePlacementGroup.md +18 -0
  117. data/docs/RemoveVirtualSerialNumber.md +18 -0
  118. data/docs/ReplicationService.md +20 -0
  119. data/docs/ReplicationTargetLocation.md +20 -0
  120. data/docs/SAPCreate.md +9 -3
  121. data/docs/SAPProfile.md +13 -1
  122. data/docs/Secondary.md +20 -0
  123. data/docs/SharedProcessorPool.md +7 -1
  124. data/docs/SharedProcessorPoolCreate.md +5 -1
  125. data/docs/SharedProcessorPoolServer.md +2 -2
  126. data/docs/Snapshot.md +3 -1
  127. data/docs/SnapshotCreate.md +2 -0
  128. data/docs/SnapshotCreateResponse.md +5 -1
  129. data/docs/SnapshotList.md +18 -0
  130. data/docs/SnapshotV1.md +30 -0
  131. data/docs/SnapshotsApi.md +261 -0
  132. data/docs/StorageController.md +26 -0
  133. data/docs/StoragePoolCapacity.md +6 -0
  134. data/docs/StoragePoolCombined.md +22 -0
  135. data/docs/StoragePoolMap.md +20 -0
  136. data/docs/StorageTier.md +22 -0
  137. data/docs/SupportedSystems.md +20 -0
  138. data/docs/System.md +16 -2
  139. data/docs/SystemPool.md +2 -0
  140. data/docs/SystemPoolCapacity.md +30 -0
  141. data/docs/SystemResources.md +32 -0
  142. data/docs/UpdateServerVirtualSerialNumber.md +18 -0
  143. data/docs/UpdateVirtualSerialNumber.md +18 -0
  144. data/docs/VirtualSerialNumber.md +22 -0
  145. data/docs/Volume.md +9 -3
  146. data/docs/VolumeAction.md +4 -2
  147. data/docs/VolumeGroup.md +7 -1
  148. data/docs/VolumeGroupDetails.md +6 -0
  149. data/docs/VolumeInfo.md +2 -0
  150. data/docs/VolumeOnboardingCreate.md +3 -1
  151. data/docs/VolumeReference.md +10 -2
  152. data/docs/VolumeSnapshotList.md +18 -0
  153. data/docs/VolumesCloneAsyncRequest.md +7 -1
  154. data/docs/VolumesCloneExecute.md +8 -2
  155. data/docs/VolumesCloneRequest.md +1 -1
  156. data/docs/VolumesDelete.md +18 -0
  157. data/docs/VolumesDeleteResponse.md +18 -0
  158. data/docs/VolumesDetach.md +22 -0
  159. data/docs/VolumesDetachmentResponse.md +18 -0
  160. data/docs/Workspace.md +30 -0
  161. data/docs/WorkspaceDetails.md +26 -0
  162. data/docs/WorkspaceLocation.md +22 -0
  163. data/docs/WorkspaceNetworkSecurityGroupsDetails.md +18 -0
  164. data/docs/WorkspacePowerEdgeRouterDetails.md +22 -0
  165. data/docs/Workspaces.md +18 -0
  166. data/docs/WorkspacesApi.md +130 -0
  167. data/ibm_cloud_power.gemspec +4 -4
  168. data/lib/ibm_cloud_power/api/datacenters_api.rb +254 -0
  169. data/lib/ibm_cloud_power/api/host_groups_api.rb +646 -0
  170. data/lib/ibm_cloud_power/api/network_address_groups_api.rb +476 -0
  171. data/lib/ibm_cloud_power/api/network_security_groups_api.rb +828 -0
  172. data/lib/ibm_cloud_power/api/networks_api.rb +363 -0
  173. data/lib/ibm_cloud_power/api/p_cloud_cloud_connections_api.rb +9 -9
  174. data/lib/ibm_cloud_power/api/p_cloud_disaster_recovery_api.rb +3 -3
  175. data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +3 -3
  176. data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +14 -8
  177. data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +3 -3
  178. data/lib/ibm_cloud_power/api/p_cloud_jobs_api.rb +3 -3
  179. data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +15 -5
  180. data/lib/ibm_cloud_power/api/p_cloud_placement_groups_api.rb +4 -4
  181. data/lib/ibm_cloud_power/api/{p_cloud_system_pools_api.rb → p_cloud_pod_capacity_api.rb} +19 -17
  182. data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +81 -87
  183. data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +17 -3
  184. data/lib/ibm_cloud_power/api/p_cloud_shared_processor_pools_api.rb +4 -4
  185. data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +4 -4
  186. data/lib/ibm_cloud_power/api/p_cloud_spp_placement_groups_api.rb +5 -5
  187. data/lib/ibm_cloud_power/api/p_cloud_storage_capacity_api.rb +3 -3
  188. data/lib/ibm_cloud_power/api/p_cloud_storage_tiers_api.rb +83 -0
  189. data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +4 -4
  190. data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +3 -3
  191. data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +4 -4
  192. data/lib/ibm_cloud_power/api/p_cloud_virtual_serial_number_api.rb +571 -0
  193. data/lib/ibm_cloud_power/api/p_cloud_volume_groups_api.rb +8 -6
  194. data/lib/ibm_cloud_power/api/p_cloud_volume_onboarding_api.rb +3 -3
  195. data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +181 -15
  196. data/lib/ibm_cloud_power/api/p_cloud_vpn_connections_api.rb +3 -3
  197. data/lib/ibm_cloud_power/api/p_cloud_vpn_policies_api.rb +3 -3
  198. data/lib/ibm_cloud_power/api/snapshots_api.rb +262 -0
  199. data/lib/ibm_cloud_power/api/workspaces_api.rb +138 -0
  200. data/lib/ibm_cloud_power/api_client.rb +4 -6
  201. data/lib/ibm_cloud_power/api_error.rb +3 -3
  202. data/lib/ibm_cloud_power/configuration.rb +6 -7
  203. data/lib/ibm_cloud_power/models/{cloud_connection_speed.rb → access_config.rb} +11 -14
  204. data/lib/ibm_cloud_power/models/add_host.rb +250 -0
  205. data/lib/ibm_cloud_power/models/add_server_virtual_serial_number.rb +234 -0
  206. data/lib/ibm_cloud_power/models/auxiliary_volume_for_onboarding.rb +29 -4
  207. data/lib/ibm_cloud_power/models/auxiliary_volumes_for_onboarding.rb +3 -4
  208. data/lib/ibm_cloud_power/models/available_host.rb +240 -0
  209. data/lib/ibm_cloud_power/models/available_host_capacity.rb +229 -0
  210. data/lib/ibm_cloud_power/models/available_host_resource_capacity.rb +223 -0
  211. data/lib/ibm_cloud_power/models/capabilities_details.rb +229 -0
  212. data/lib/ibm_cloud_power/models/clone_task_reference.rb +3 -4
  213. data/lib/ibm_cloud_power/models/clone_task_status.rb +3 -4
  214. data/lib/ibm_cloud_power/models/cloned_volume.rb +3 -4
  215. data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +5 -14
  216. data/lib/ibm_cloud_power/models/cloud_connection.rb +5 -4
  217. data/lib/ibm_cloud_power/models/cloud_connection_create.rb +5 -4
  218. data/lib/ibm_cloud_power/models/cloud_connection_create_response.rb +5 -4
  219. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic.rb +4 -4
  220. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic_update.rb +4 -4
  221. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_vpc.rb +4 -5
  222. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel.rb +3 -4
  223. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel_create.rb +3 -4
  224. data/lib/ibm_cloud_power/models/cloud_connection_update.rb +5 -4
  225. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds.rb +4 -5
  226. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds.rb +39 -29
  227. data/lib/ibm_cloud_power/models/cloud_connection_vpc.rb +6 -7
  228. data/lib/ibm_cloud_power/models/cloud_connections.rb +3 -4
  229. data/lib/ibm_cloud_power/models/cloud_instance.rb +5 -14
  230. data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +4 -9
  231. data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +3 -4
  232. data/lib/ibm_cloud_power/models/console_language.rb +3 -4
  233. data/lib/ibm_cloud_power/models/console_languages.rb +3 -4
  234. data/lib/ibm_cloud_power/models/create_cos_image_import_job.rb +30 -10
  235. data/lib/ibm_cloud_power/models/create_data_volume.rb +16 -7
  236. data/lib/ibm_cloud_power/models/create_image.rb +33 -11
  237. data/lib/ibm_cloud_power/models/create_server_virtual_serial_number.rb +234 -0
  238. data/lib/ibm_cloud_power/models/datacenter.rb +332 -0
  239. data/lib/ibm_cloud_power/models/datacenter_location.rb +269 -0
  240. data/lib/ibm_cloud_power/models/datacenters.rb +226 -0
  241. data/lib/ibm_cloud_power/models/dead_peer_detection.rb +3 -4
  242. data/lib/ibm_cloud_power/models/delete_server_virtual_serial_number.rb +219 -0
  243. data/lib/ibm_cloud_power/models/deployment_target.rb +273 -0
  244. data/lib/ibm_cloud_power/models/disaster_recovery.rb +229 -0
  245. data/lib/ibm_cloud_power/models/disaster_recovery_location.rb +6 -9
  246. data/lib/ibm_cloud_power/models/disaster_recovery_locations.rb +3 -4
  247. data/lib/ibm_cloud_power/models/error.rb +3 -4
  248. data/lib/ibm_cloud_power/models/event.rb +3 -4
  249. data/lib/ibm_cloud_power/models/event_user.rb +3 -4
  250. data/lib/ibm_cloud_power/models/events.rb +3 -4
  251. data/lib/ibm_cloud_power/models/export_image.rb +3 -4
  252. data/lib/ibm_cloud_power/models/flash_copy_mapping.rb +3 -4
  253. data/lib/ibm_cloud_power/models/get_bulk_volume.rb +226 -0
  254. data/lib/ibm_cloud_power/models/get_server_virtual_serial_number.rb +239 -0
  255. data/lib/ibm_cloud_power/models/host.rb +300 -0
  256. data/lib/ibm_cloud_power/models/host_capacity.rb +229 -0
  257. data/lib/ibm_cloud_power/models/host_create.rb +242 -0
  258. data/lib/ibm_cloud_power/models/host_group.rb +274 -0
  259. data/lib/ibm_cloud_power/models/host_group_create.rb +254 -0
  260. data/lib/ibm_cloud_power/models/host_group_share_op.rb +232 -0
  261. data/lib/ibm_cloud_power/models/host_group_summary.rb +239 -0
  262. data/lib/ibm_cloud_power/models/{options.rb → host_put.rb} +18 -17
  263. data/lib/ibm_cloud_power/models/host_resource_capacity.rb +265 -0
  264. data/lib/ibm_cloud_power/models/ike_policies.rb +3 -4
  265. data/lib/ibm_cloud_power/models/ike_policy.rb +3 -4
  266. data/lib/ibm_cloud_power/models/ike_policy_authentication.rb +6 -9
  267. data/lib/ibm_cloud_power/models/ike_policy_create.rb +3 -4
  268. data/lib/ibm_cloud_power/models/ike_policy_ref.rb +3 -4
  269. data/lib/ibm_cloud_power/models/ike_policy_update.rb +3 -4
  270. data/lib/ibm_cloud_power/models/image.rb +41 -5
  271. data/lib/ibm_cloud_power/models/image_import_details.rb +312 -0
  272. data/lib/ibm_cloud_power/models/image_reference.rb +15 -10
  273. data/lib/ibm_cloud_power/models/image_specifications.rb +3 -4
  274. data/lib/ibm_cloud_power/models/image_volume.rb +3 -4
  275. data/lib/ibm_cloud_power/models/images.rb +3 -4
  276. data/lib/ibm_cloud_power/models/ip_address_range.rb +3 -4
  277. data/lib/ibm_cloud_power/models/ip_sec_policies.rb +3 -4
  278. data/lib/ibm_cloud_power/models/ip_sec_policy.rb +3 -4
  279. data/lib/ibm_cloud_power/models/ip_sec_policy_create.rb +3 -4
  280. data/lib/ibm_cloud_power/models/ip_sec_policy_ref.rb +3 -4
  281. data/lib/ibm_cloud_power/models/ip_sec_policy_update.rb +3 -4
  282. data/lib/ibm_cloud_power/models/ipsec_policy_authentication.rb +6 -9
  283. data/lib/ibm_cloud_power/models/job.rb +5 -14
  284. data/lib/ibm_cloud_power/models/job_reference.rb +3 -4
  285. data/lib/ibm_cloud_power/models/jobs.rb +3 -4
  286. data/lib/ibm_cloud_power/models/maximum_storage_allocation.rb +3 -4
  287. data/lib/ibm_cloud_power/models/min_max_default.rb +3 -4
  288. data/lib/ibm_cloud_power/models/multi_volumes_create.rb +16 -7
  289. data/lib/ibm_cloud_power/models/network.rb +60 -13
  290. data/lib/ibm_cloud_power/models/{cloud_connection_virtual_private_clouds_virtual_private_clouds_inner.rb → network_address_group.rb} +54 -46
  291. data/lib/ibm_cloud_power/models/network_address_group_add_member.rb +224 -0
  292. data/lib/ibm_cloud_power/models/network_address_group_create.rb +236 -0
  293. data/lib/ibm_cloud_power/models/network_address_group_member.rb +239 -0
  294. data/lib/ibm_cloud_power/models/network_address_group_update.rb +219 -0
  295. data/lib/ibm_cloud_power/models/network_address_groups.rb +221 -0
  296. data/lib/ibm_cloud_power/models/network_address_translation.rb +220 -0
  297. data/lib/ibm_cloud_power/models/{network_cloud_connections_inner.rb → network_cloud_connections.rb} +6 -7
  298. data/lib/ibm_cloud_power/models/network_create.rb +77 -9
  299. data/lib/ibm_cloud_power/models/network_create.rb.orig +393 -0
  300. data/lib/ibm_cloud_power/models/network_id.rb +3 -4
  301. data/lib/ibm_cloud_power/models/network_ids.rb +3 -4
  302. data/lib/ibm_cloud_power/models/network_interface.rb +342 -0
  303. data/lib/ibm_cloud_power/models/network_interface_create.rb +241 -0
  304. data/lib/ibm_cloud_power/models/network_interface_instance.rb +230 -0
  305. data/lib/ibm_cloud_power/models/network_interface_update.rb +229 -0
  306. data/lib/ibm_cloud_power/models/network_interfaces.rb +226 -0
  307. data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +3 -4
  308. data/lib/ibm_cloud_power/models/network_port.rb +3 -4
  309. data/lib/ibm_cloud_power/models/network_port_create.rb +3 -4
  310. data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +4 -5
  311. data/lib/ibm_cloud_power/models/network_port_update.rb +3 -4
  312. data/lib/ibm_cloud_power/models/network_ports.rb +3 -4
  313. data/lib/ibm_cloud_power/models/network_reference.rb +59 -12
  314. data/lib/ibm_cloud_power/models/network_security_group.rb +300 -0
  315. data/lib/ibm_cloud_power/models/network_security_group_add_member.rb +273 -0
  316. data/lib/ibm_cloud_power/models/network_security_group_add_rule.rb +326 -0
  317. data/lib/ibm_cloud_power/models/network_security_group_clone.rb +224 -0
  318. data/lib/ibm_cloud_power/models/network_security_group_create.rb +236 -0
  319. data/lib/ibm_cloud_power/models/network_security_group_member.rb +308 -0
  320. data/lib/ibm_cloud_power/models/network_security_group_move_member.rb +239 -0
  321. data/lib/ibm_cloud_power/models/{ike_policy_template.rb → network_security_group_rule.rb} +91 -85
  322. data/lib/ibm_cloud_power/models/network_security_group_rule_port.rb +259 -0
  323. data/lib/ibm_cloud_power/models/{cloud_instance_create.rb → network_security_group_rule_protocol.rb} +77 -95
  324. data/lib/ibm_cloud_power/models/network_security_group_rule_protocol_tcp_flag.rb +253 -0
  325. data/lib/ibm_cloud_power/models/network_security_group_rule_remote.rb +263 -0
  326. data/lib/ibm_cloud_power/models/network_security_group_update.rb +219 -0
  327. data/lib/ibm_cloud_power/models/network_security_groups.rb +221 -0
  328. data/lib/ibm_cloud_power/models/network_security_groups_action.rb +258 -0
  329. data/lib/ibm_cloud_power/models/network_update.rb +3 -4
  330. data/lib/ibm_cloud_power/models/networks.rb +3 -4
  331. data/lib/ibm_cloud_power/models/operation.rb +3 -4
  332. data/lib/ibm_cloud_power/models/operations.rb +3 -4
  333. data/lib/ibm_cloud_power/models/peer_subnet_update.rb +3 -4
  334. data/lib/ibm_cloud_power/models/peer_subnets.rb +3 -4
  335. data/lib/ibm_cloud_power/models/peering_network.rb +3 -4
  336. data/lib/ibm_cloud_power/models/pin_policy.rb +6 -9
  337. data/lib/ibm_cloud_power/models/placement_group.rb +3 -4
  338. data/lib/ibm_cloud_power/models/placement_group_create.rb +3 -4
  339. data/lib/ibm_cloud_power/models/placement_group_server.rb +3 -4
  340. data/lib/ibm_cloud_power/models/placement_groups.rb +3 -4
  341. data/lib/ibm_cloud_power/models/pod_capacity.rb +243 -0
  342. data/lib/ibm_cloud_power/models/pod_data.rb +360 -0
  343. data/lib/ibm_cloud_power/models/pvm_instance.rb +68 -5
  344. data/lib/ibm_cloud_power/models/pvm_instance_action.rb +6 -7
  345. data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +19 -8
  346. data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +17 -8
  347. data/lib/ibm_cloud_power/models/pvm_instance_configuration.rb +261 -0
  348. data/lib/ibm_cloud_power/models/pvm_instance_console.rb +3 -4
  349. data/lib/ibm_cloud_power/models/pvm_instance_cores.rb +244 -0
  350. data/lib/ibm_cloud_power/models/pvm_instance_create.rb +69 -10
  351. data/lib/ibm_cloud_power/models/pvm_instance_delete.rb +219 -0
  352. data/lib/ibm_cloud_power/models/pvm_instance_deployment.rb +290 -0
  353. data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +3 -4
  354. data/lib/ibm_cloud_power/models/pvm_instance_health.rb +3 -4
  355. data/lib/ibm_cloud_power/models/pvm_instance_host.rb +229 -0
  356. data/lib/ibm_cloud_power/models/pvm_instance_memory.rb +244 -0
  357. data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +3 -4
  358. data/lib/ibm_cloud_power/models/pvm_instance_network.rb +38 -5
  359. data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +3 -4
  360. data/lib/ibm_cloud_power/models/{cloud_connection_endpoint_gre.rb → pvm_instance_operating_system.rb} +26 -24
  361. data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +3 -4
  362. data/lib/ibm_cloud_power/models/pvm_instance_placement_group.rb +224 -0
  363. data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +63 -10
  364. data/lib/ibm_cloud_power/models/pvm_instance_reference_v2.rb +395 -0
  365. data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +3 -4
  366. data/lib/ibm_cloud_power/models/pvm_instance_update.rb +5 -4
  367. data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +30 -9
  368. data/lib/ibm_cloud_power/models/pvm_instance_v2_health.rb +225 -0
  369. data/lib/ibm_cloud_power/models/{ip_sec_policy_template.rb → pvm_instance_v2_network_port.rb} +89 -81
  370. data/lib/ibm_cloud_power/models/pvm_instance_virtual_cores.rb +263 -0
  371. data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +4 -5
  372. data/lib/ibm_cloud_power/models/pvm_instances.rb +3 -4
  373. data/lib/ibm_cloud_power/models/pvm_instances_v2.rb +226 -0
  374. data/lib/ibm_cloud_power/models/remote_copy_relationship.rb +3 -4
  375. data/lib/ibm_cloud_power/models/remove_virtual_serial_number.rb +224 -0
  376. data/lib/ibm_cloud_power/models/replication_service.rb +241 -0
  377. data/lib/ibm_cloud_power/models/{ip_sec_policy_options.rb → replication_target_location.rb} +55 -50
  378. data/lib/ibm_cloud_power/models/sap_create.rb +61 -8
  379. data/lib/ibm_cloud_power/models/sap_profile.rb +95 -8
  380. data/lib/ibm_cloud_power/models/sap_profile_reference.rb +3 -4
  381. data/lib/ibm_cloud_power/models/sap_profiles.rb +3 -4
  382. data/lib/ibm_cloud_power/models/secondary.rb +235 -0
  383. data/lib/ibm_cloud_power/models/shared_processor_pool.rb +37 -8
  384. data/lib/ibm_cloud_power/models/shared_processor_pool_create.rb +28 -13
  385. data/lib/ibm_cloud_power/models/shared_processor_pool_detail.rb +4 -9
  386. data/lib/ibm_cloud_power/models/shared_processor_pool_placement_group.rb +3 -4
  387. data/lib/ibm_cloud_power/models/shared_processor_pool_server.rb +5 -6
  388. data/lib/ibm_cloud_power/models/shared_processor_pool_update.rb +4 -4
  389. data/lib/ibm_cloud_power/models/shared_processor_pools.rb +3 -4
  390. data/lib/ibm_cloud_power/models/site.rb +3 -4
  391. data/lib/ibm_cloud_power/models/snapshot.rb +15 -6
  392. data/lib/ibm_cloud_power/models/snapshot_create.rb +44 -5
  393. data/lib/ibm_cloud_power/models/snapshot_create_response.rb +27 -8
  394. data/lib/ibm_cloud_power/models/snapshot_list.rb +226 -0
  395. data/lib/ibm_cloud_power/models/snapshot_restore.rb +3 -4
  396. data/lib/ibm_cloud_power/models/snapshot_update.rb +29 -4
  397. data/lib/ibm_cloud_power/models/snapshot_v1.rb +304 -0
  398. data/lib/ibm_cloud_power/models/snapshots.rb +3 -4
  399. data/lib/ibm_cloud_power/models/software_licenses.rb +3 -4
  400. data/lib/ibm_cloud_power/models/spp_placement_group.rb +3 -4
  401. data/lib/ibm_cloud_power/models/spp_placement_group_create.rb +42 -4
  402. data/lib/ibm_cloud_power/models/spp_placement_groups.rb +3 -4
  403. data/lib/ibm_cloud_power/models/src.rb +3 -4
  404. data/lib/ibm_cloud_power/models/ssh_key.rb +3 -4
  405. data/lib/ibm_cloud_power/models/ssh_keys.rb +3 -4
  406. data/lib/ibm_cloud_power/models/status.rb +3 -4
  407. data/lib/ibm_cloud_power/models/status_description.rb +3 -4
  408. data/lib/ibm_cloud_power/models/status_description_error.rb +3 -4
  409. data/lib/ibm_cloud_power/models/stock_image.rb +3 -4
  410. data/lib/ibm_cloud_power/models/storage_affinity.rb +3 -4
  411. data/lib/ibm_cloud_power/models/storage_controller.rb +287 -0
  412. data/lib/ibm_cloud_power/models/storage_pool_capacity.rb +34 -5
  413. data/lib/ibm_cloud_power/models/{cloud_instance_update.rb → storage_pool_combined.rb} +44 -49
  414. data/lib/ibm_cloud_power/models/storage_pool_map.rb +227 -0
  415. data/lib/ibm_cloud_power/models/storage_pools_capacity.rb +4 -4
  416. data/lib/ibm_cloud_power/models/storage_tier.rb +276 -0
  417. data/lib/ibm_cloud_power/models/storage_type_capacity.rb +4 -4
  418. data/lib/ibm_cloud_power/models/storage_types_capacity.rb +4 -4
  419. data/lib/ibm_cloud_power/models/supported_systems.rb +243 -0
  420. data/lib/ibm_cloud_power/models/system.rb +78 -9
  421. data/lib/ibm_cloud_power/models/system_pool.rb +19 -5
  422. data/lib/ibm_cloud_power/models/system_pool_capacity.rb +312 -0
  423. data/lib/ibm_cloud_power/models/system_resources.rb +325 -0
  424. data/lib/ibm_cloud_power/models/task.rb +3 -4
  425. data/lib/ibm_cloud_power/models/task_reference.rb +3 -4
  426. data/lib/ibm_cloud_power/models/tenant.rb +3 -4
  427. data/lib/ibm_cloud_power/models/tenant_update.rb +3 -4
  428. data/lib/ibm_cloud_power/models/update_server_virtual_serial_number.rb +219 -0
  429. data/lib/ibm_cloud_power/models/update_virtual_serial_number.rb +224 -0
  430. data/lib/ibm_cloud_power/models/update_volume.rb +3 -4
  431. data/lib/ibm_cloud_power/models/virtual_cores.rb +3 -4
  432. data/lib/ibm_cloud_power/models/virtual_serial_number.rb +254 -0
  433. data/lib/ibm_cloud_power/models/volume.rb +42 -13
  434. data/lib/ibm_cloud_power/models/volume_action.rb +17 -13
  435. data/lib/ibm_cloud_power/models/volume_group.rb +40 -8
  436. data/lib/ibm_cloud_power/models/volume_group_action.rb +3 -4
  437. data/lib/ibm_cloud_power/models/volume_group_action_reset.rb +3 -4
  438. data/lib/ibm_cloud_power/models/volume_group_action_start.rb +3 -4
  439. data/lib/ibm_cloud_power/models/volume_group_action_stop.rb +3 -4
  440. data/lib/ibm_cloud_power/models/volume_group_create.rb +29 -4
  441. data/lib/ibm_cloud_power/models/volume_group_create_response.rb +3 -4
  442. data/lib/ibm_cloud_power/models/volume_group_details.rb +37 -5
  443. data/lib/ibm_cloud_power/models/volume_group_remote_copy_relationships.rb +3 -4
  444. data/lib/ibm_cloud_power/models/volume_group_storage_details.rb +3 -4
  445. data/lib/ibm_cloud_power/models/volume_group_update.rb +3 -4
  446. data/lib/ibm_cloud_power/models/volume_groups.rb +3 -4
  447. data/lib/ibm_cloud_power/models/volume_groups_details.rb +3 -4
  448. data/lib/ibm_cloud_power/models/volume_info.rb +14 -5
  449. data/lib/ibm_cloud_power/models/volume_onboarding.rb +3 -4
  450. data/lib/ibm_cloud_power/models/volume_onboarding_common.rb +3 -4
  451. data/lib/ibm_cloud_power/models/volume_onboarding_create.rb +17 -8
  452. data/lib/ibm_cloud_power/models/volume_onboarding_create_response.rb +3 -4
  453. data/lib/ibm_cloud_power/models/volume_onboarding_failure.rb +3 -4
  454. data/lib/ibm_cloud_power/models/volume_onboardings.rb +3 -4
  455. data/lib/ibm_cloud_power/models/volume_reference.rb +46 -7
  456. data/lib/ibm_cloud_power/models/volume_remote_copy_relationship.rb +3 -4
  457. data/lib/ibm_cloud_power/models/volume_snapshot_list.rb +221 -0
  458. data/lib/ibm_cloud_power/models/volumes.rb +3 -4
  459. data/lib/ibm_cloud_power/models/volumes_attach.rb +3 -4
  460. data/lib/ibm_cloud_power/models/volumes_attachment_response.rb +3 -4
  461. data/lib/ibm_cloud_power/models/volumes_clone.rb +3 -4
  462. data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +35 -6
  463. data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +3 -4
  464. data/lib/ibm_cloud_power/models/volumes_clone_create.rb +3 -4
  465. data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +3 -4
  466. data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +38 -9
  467. data/lib/ibm_cloud_power/models/volumes_clone_request.rb +4 -5
  468. data/lib/ibm_cloud_power/models/volumes_clone_response.rb +3 -4
  469. data/lib/ibm_cloud_power/models/volumes_clones.rb +3 -4
  470. data/lib/ibm_cloud_power/models/volumes_delete.rb +226 -0
  471. data/lib/ibm_cloud_power/models/volumes_delete_response.rb +219 -0
  472. data/lib/ibm_cloud_power/models/volumes_detach.rb +245 -0
  473. data/lib/ibm_cloud_power/models/volumes_detachment_response.rb +224 -0
  474. data/lib/ibm_cloud_power/models/vpn_connection.rb +3 -4
  475. data/lib/ibm_cloud_power/models/vpn_connection_create.rb +3 -4
  476. data/lib/ibm_cloud_power/models/vpn_connection_create_response.rb +3 -4
  477. data/lib/ibm_cloud_power/models/vpn_connection_update.rb +3 -4
  478. data/lib/ibm_cloud_power/models/vpn_connections.rb +3 -4
  479. data/lib/ibm_cloud_power/models/{pvm_instance_clone.rb → workspace.rb} +81 -80
  480. data/lib/ibm_cloud_power/models/{ike_policy_options.rb → workspace_details.rb} +51 -56
  481. data/lib/ibm_cloud_power/models/workspace_location.rb +244 -0
  482. data/lib/ibm_cloud_power/models/workspace_network_security_groups_details.rb +258 -0
  483. data/lib/ibm_cloud_power/models/workspace_power_edge_router_details.rb +307 -0
  484. data/lib/ibm_cloud_power/models/workspaces.rb +226 -0
  485. data/lib/ibm_cloud_power/version.rb +4 -4
  486. data/lib/ibm_cloud_power.rb +111 -14
  487. data/spec/api/datacenters_api_spec.rb +77 -0
  488. data/spec/api/host_groups_api_spec.rb +144 -0
  489. data/spec/api/network_address_groups_api_spec.rb +114 -0
  490. data/spec/api/network_security_groups_api_spec.rb +174 -0
  491. data/spec/api/networks_api_spec.rb +95 -0
  492. data/spec/api/p_cloud_cloud_connections_api_spec.rb +20 -20
  493. data/spec/api/p_cloud_disaster_recovery_api_spec.rb +3 -3
  494. data/spec/api/p_cloud_events_api_spec.rb +6 -5
  495. data/spec/api/p_cloud_images_api_spec.rb +87 -10
  496. data/spec/api/p_cloud_instances_api_spec.rb +4 -27
  497. data/spec/api/p_cloud_jobs_api_spec.rb +5 -5
  498. data/spec/api/p_cloud_networks_api_spec.rb +13 -8
  499. data/spec/api/p_cloud_placement_groups_api_spec.rb +15 -15
  500. data/spec/api/{p_cloud_system_pools_api_spec.rb → p_cloud_pod_capacity_api_spec.rb} +14 -13
  501. data/spec/api/p_cloud_pvm_instances_api_spec.rb +86 -22
  502. data/spec/api/p_cloud_sap_api_spec.rb +5 -3
  503. data/spec/api/p_cloud_shared_processor_pools_api_spec.rb +3 -3
  504. data/spec/api/p_cloud_snapshots_api_spec.rb +4 -4
  505. data/spec/api/p_cloud_spp_placement_groups_api_spec.rb +3 -3
  506. data/spec/api/p_cloud_storage_capacity_api_spec.rb +3 -3
  507. data/spec/api/p_cloud_storage_tiers_api_spec.rb +46 -0
  508. data/spec/api/p_cloud_tasks_api_spec.rb +5 -5
  509. data/spec/api/p_cloud_tenants_api_spec.rb +4 -4
  510. data/spec/api/p_cloud_tenants_ssh_keys_api_spec.rb +7 -7
  511. data/spec/api/p_cloud_virtual_serial_number_api_spec.rb +131 -0
  512. data/spec/api/p_cloud_volume_groups_api_spec.rb +5 -4
  513. data/spec/api/p_cloud_volume_onboarding_api_spec.rb +3 -3
  514. data/spec/api/p_cloud_volumes_api_spec.rb +182 -12
  515. data/spec/api/p_cloud_vpn_connections_api_spec.rb +3 -15
  516. data/spec/api/p_cloud_vpn_policies_api_spec.rb +3 -3
  517. data/spec/api/snapshots_api_spec.rb +81 -0
  518. data/spec/api/workspaces_api_spec.rb +56 -0
  519. data/spec/api_client_spec.rb +3 -3
  520. data/spec/configuration_spec.rb +3 -3
  521. data/spec/models/access_config_spec.rb +28 -0
  522. data/spec/models/{ip_sec_policy_options_spec.rb → add_host_spec.rb} +12 -12
  523. data/spec/models/add_server_virtual_serial_number_spec.rb +40 -0
  524. data/spec/models/auxiliary_volume_for_onboarding_spec.rb +3 -3
  525. data/spec/models/auxiliary_volumes_for_onboarding_spec.rb +3 -3
  526. data/spec/models/available_host_capacity_spec.rb +40 -0
  527. data/spec/models/available_host_resource_capacity_spec.rb +34 -0
  528. data/spec/models/available_host_spec.rb +46 -0
  529. data/spec/models/capabilities_details_spec.rb +40 -0
  530. data/spec/models/clone_task_reference_spec.rb +6 -13
  531. data/spec/models/clone_task_status_spec.rb +14 -21
  532. data/spec/models/cloned_volume_detail_spec.rb +8 -15
  533. data/spec/models/cloned_volume_spec.rb +8 -15
  534. data/spec/models/cloud_connection_create_response_spec.rb +19 -13
  535. data/spec/models/cloud_connection_create_spec.rb +35 -14
  536. data/spec/models/cloud_connection_endpoint_classic_spec.rb +6 -13
  537. data/spec/models/cloud_connection_endpoint_classic_update_spec.rb +3 -3
  538. data/spec/models/cloud_connection_endpoint_vpc_spec.rb +6 -13
  539. data/spec/models/cloud_connection_gre_tunnel_create_spec.rb +3 -3
  540. data/spec/models/cloud_connection_gre_tunnel_spec.rb +7 -20
  541. data/spec/models/cloud_connection_spec.rb +22 -23
  542. data/spec/models/cloud_connection_update_spec.rb +15 -18
  543. data/spec/models/cloud_connection_virtual_private_clouds_spec.rb +6 -13
  544. data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_spec.rb +9 -16
  545. data/spec/models/cloud_connection_vpc_spec.rb +11 -18
  546. data/spec/models/cloud_connections_spec.rb +6 -13
  547. data/spec/models/cloud_instance_reference_spec.rb +12 -19
  548. data/spec/models/cloud_instance_spec.rb +17 -24
  549. data/spec/models/cloud_instance_usage_limits_spec.rb +15 -22
  550. data/spec/models/console_language_spec.rb +3 -3
  551. data/spec/models/console_languages_spec.rb +3 -3
  552. data/spec/models/create_cos_image_import_job_spec.rb +15 -3
  553. data/spec/models/create_data_volume_spec.rb +44 -21
  554. data/spec/models/create_image_spec.rb +39 -28
  555. data/spec/models/create_server_virtual_serial_number_spec.rb +40 -0
  556. data/spec/models/{ike_policy_options_spec.rb → datacenter_location_spec.rb} +13 -13
  557. data/spec/models/datacenter_spec.rb +72 -0
  558. data/spec/models/datacenters_spec.rb +34 -0
  559. data/spec/models/dead_peer_detection_spec.rb +3 -3
  560. data/spec/models/delete_server_virtual_serial_number_spec.rb +34 -0
  561. data/spec/models/deployment_target_spec.rb +44 -0
  562. data/spec/models/disaster_recovery_location_spec.rb +3 -3
  563. data/spec/models/disaster_recovery_locations_spec.rb +3 -3
  564. data/spec/models/disaster_recovery_spec.rb +40 -0
  565. data/spec/models/error_spec.rb +8 -15
  566. data/spec/models/event_spec.rb +18 -25
  567. data/spec/models/event_user_spec.rb +8 -15
  568. data/spec/models/events_spec.rb +6 -13
  569. data/spec/models/export_image_spec.rb +9 -16
  570. data/spec/models/flash_copy_mapping_spec.rb +3 -3
  571. data/spec/models/get_bulk_volume_spec.rb +34 -0
  572. data/spec/models/get_server_virtual_serial_number_spec.rb +40 -0
  573. data/spec/models/host_capacity_spec.rb +40 -0
  574. data/spec/models/host_create_spec.rb +40 -0
  575. data/spec/models/host_group_create_spec.rb +46 -0
  576. data/spec/models/host_group_share_op_spec.rb +40 -0
  577. data/spec/models/host_group_spec.rb +64 -0
  578. data/spec/models/host_group_summary_spec.rb +46 -0
  579. data/spec/models/{options_spec.rb → host_put_spec.rb} +10 -10
  580. data/spec/models/{ip_sec_policy_template_spec.rb → host_resource_capacity_spec.rb} +13 -13
  581. data/spec/models/host_spec.rb +82 -0
  582. data/spec/models/ike_policies_spec.rb +3 -3
  583. data/spec/models/ike_policy_authentication_spec.rb +3 -3
  584. data/spec/models/ike_policy_create_spec.rb +4 -8
  585. data/spec/models/ike_policy_ref_spec.rb +3 -3
  586. data/spec/models/ike_policy_spec.rb +4 -8
  587. data/spec/models/ike_policy_update_spec.rb +4 -8
  588. data/spec/models/image_import_details_spec.rb +58 -0
  589. data/spec/models/image_reference_spec.rb +26 -21
  590. data/spec/models/image_spec.rb +39 -22
  591. data/spec/models/image_specifications_spec.rb +10 -17
  592. data/spec/models/image_volume_spec.rb +8 -15
  593. data/spec/models/images_spec.rb +6 -13
  594. data/spec/models/ip_address_range_spec.rb +8 -15
  595. data/spec/models/ip_sec_policies_spec.rb +3 -3
  596. data/spec/models/ip_sec_policy_create_spec.rb +4 -8
  597. data/spec/models/ip_sec_policy_ref_spec.rb +3 -3
  598. data/spec/models/ip_sec_policy_spec.rb +4 -8
  599. data/spec/models/ip_sec_policy_update_spec.rb +4 -8
  600. data/spec/models/ipsec_policy_authentication_spec.rb +3 -3
  601. data/spec/models/job_reference_spec.rb +3 -3
  602. data/spec/models/job_spec.rb +3 -3
  603. data/spec/models/jobs_spec.rb +3 -3
  604. data/spec/models/maximum_storage_allocation_spec.rb +8 -15
  605. data/spec/models/min_max_default_spec.rb +8 -15
  606. data/spec/models/multi_volumes_create_spec.rb +50 -21
  607. data/spec/models/network_address_group_add_member_spec.rb +34 -0
  608. data/spec/models/network_address_group_create_spec.rb +40 -0
  609. data/spec/models/network_address_group_member_spec.rb +40 -0
  610. data/spec/models/{ike_policy_template_spec.rb → network_address_group_spec.rb} +14 -14
  611. data/spec/models/network_address_group_update_spec.rb +34 -0
  612. data/spec/models/network_address_groups_spec.rb +34 -0
  613. data/spec/models/network_address_translation_spec.rb +34 -0
  614. data/spec/models/{network_cloud_connections_inner_spec.rb → network_cloud_connections_spec.rb} +9 -9
  615. data/spec/models/network_create_spec.rb +28 -23
  616. data/spec/models/network_id_spec.rb +3 -3
  617. data/spec/models/network_ids_spec.rb +3 -3
  618. data/spec/models/network_interface_create_spec.rb +46 -0
  619. data/spec/models/network_interface_instance_spec.rb +40 -0
  620. data/spec/models/network_interface_spec.rb +88 -0
  621. data/spec/models/network_interface_update_spec.rb +40 -0
  622. data/spec/models/network_interfaces_spec.rb +34 -0
  623. data/spec/models/network_ip_address_metrics_spec.rb +8 -15
  624. data/spec/models/network_port_create_spec.rb +6 -13
  625. data/spec/models/network_port_pvm_instance_spec.rb +8 -15
  626. data/spec/models/network_port_spec.rb +17 -18
  627. data/spec/models/network_port_update_spec.rb +6 -13
  628. data/spec/models/network_ports_spec.rb +6 -13
  629. data/spec/models/network_reference_spec.rb +39 -22
  630. data/spec/models/network_security_group_add_member_spec.rb +44 -0
  631. data/spec/models/network_security_group_add_rule_spec.rb +74 -0
  632. data/spec/models/network_security_group_clone_spec.rb +34 -0
  633. data/spec/models/network_security_group_create_spec.rb +40 -0
  634. data/spec/models/network_security_group_member_spec.rb +62 -0
  635. data/spec/models/network_security_group_move_member_spec.rb +40 -0
  636. data/spec/models/network_security_group_rule_port_spec.rb +40 -0
  637. data/spec/models/network_security_group_rule_protocol_spec.rb +54 -0
  638. data/spec/models/network_security_group_rule_protocol_tcp_flag_spec.rb +38 -0
  639. data/spec/models/network_security_group_rule_remote_spec.rb +44 -0
  640. data/spec/models/network_security_group_rule_spec.rb +68 -0
  641. data/spec/models/network_security_group_spec.rb +70 -0
  642. data/spec/models/network_security_group_update_spec.rb +34 -0
  643. data/spec/models/network_security_groups_action_spec.rb +38 -0
  644. data/spec/models/network_security_groups_spec.rb +34 -0
  645. data/spec/models/network_spec.rb +48 -25
  646. data/spec/models/network_update_spec.rb +9 -16
  647. data/spec/models/networks_spec.rb +6 -13
  648. data/spec/models/operation_spec.rb +3 -3
  649. data/spec/models/operations_spec.rb +9 -16
  650. data/spec/models/peer_subnet_update_spec.rb +3 -3
  651. data/spec/models/peer_subnets_spec.rb +3 -3
  652. data/spec/models/peering_network_spec.rb +9 -16
  653. data/spec/models/pin_policy_spec.rb +6 -13
  654. data/spec/models/placement_group_create_spec.rb +7 -14
  655. data/spec/models/placement_group_server_spec.rb +6 -13
  656. data/spec/models/placement_group_spec.rb +13 -20
  657. data/spec/models/placement_groups_spec.rb +6 -13
  658. data/spec/models/pod_capacity_spec.rb +46 -0
  659. data/spec/models/{pvm_instance_clone_spec.rb → pod_data_spec.rb} +27 -26
  660. data/spec/models/pvm_instance_action_spec.rb +8 -15
  661. data/spec/models/pvm_instance_add_network_spec.rb +13 -14
  662. data/spec/models/pvm_instance_capture_spec.rb +20 -21
  663. data/spec/models/{cloud_connection_virtual_private_clouds_virtual_private_clouds_inner_spec.rb → pvm_instance_configuration_spec.rb} +19 -13
  664. data/spec/models/pvm_instance_console_spec.rb +6 -13
  665. data/spec/models/pvm_instance_cores_spec.rb +46 -0
  666. data/spec/models/pvm_instance_create_spec.rb +99 -36
  667. data/spec/models/pvm_instance_delete_spec.rb +34 -0
  668. data/spec/models/pvm_instance_deployment_spec.rb +56 -0
  669. data/spec/models/pvm_instance_fault_spec.rb +9 -16
  670. data/spec/models/pvm_instance_health_spec.rb +9 -16
  671. data/spec/models/pvm_instance_host_spec.rb +40 -0
  672. data/spec/models/pvm_instance_memory_spec.rb +46 -0
  673. data/spec/models/pvm_instance_multi_create_spec.rb +13 -20
  674. data/spec/models/pvm_instance_network_spec.rb +32 -21
  675. data/spec/models/pvm_instance_networks_spec.rb +6 -13
  676. data/spec/models/pvm_instance_operating_system_spec.rb +40 -0
  677. data/spec/models/pvm_instance_operation_spec.rb +12 -19
  678. data/spec/models/pvm_instance_placement_group_spec.rb +34 -0
  679. data/spec/models/pvm_instance_reference_spec.rb +116 -39
  680. data/spec/models/pvm_instance_reference_v2_spec.rb +124 -0
  681. data/spec/models/pvm_instance_remove_network_spec.rb +6 -13
  682. data/spec/models/pvm_instance_spec.rb +124 -41
  683. data/spec/models/pvm_instance_update_response_spec.rb +30 -19
  684. data/spec/models/pvm_instance_update_spec.rb +26 -21
  685. data/spec/models/pvm_instance_v2_health_spec.rb +34 -0
  686. data/spec/models/pvm_instance_v2_network_port_spec.rb +66 -0
  687. data/spec/models/pvm_instance_virtual_cores_spec.rb +46 -0
  688. data/spec/models/pvm_instance_volume_update_spec.rb +6 -13
  689. data/spec/models/pvm_instances_spec.rb +6 -13
  690. data/spec/models/pvm_instances_v2_spec.rb +34 -0
  691. data/spec/models/remote_copy_relationship_spec.rb +3 -3
  692. data/spec/models/remove_virtual_serial_number_spec.rb +34 -0
  693. data/spec/models/{cloud_connection_endpoint_gre_spec.rb → replication_service_spec.rb} +10 -17
  694. data/spec/models/replication_target_location_spec.rb +44 -0
  695. data/spec/models/sap_create_spec.rb +65 -18
  696. data/spec/models/sap_profile_reference_spec.rb +8 -15
  697. data/spec/models/sap_profile_spec.rb +51 -18
  698. data/spec/models/sap_profiles_spec.rb +6 -13
  699. data/spec/models/secondary_spec.rb +40 -0
  700. data/spec/models/shared_processor_pool_create_spec.rb +15 -3
  701. data/spec/models/shared_processor_pool_detail_spec.rb +3 -3
  702. data/spec/models/shared_processor_pool_placement_group_spec.rb +3 -3
  703. data/spec/models/shared_processor_pool_server_spec.rb +3 -3
  704. data/spec/models/shared_processor_pool_spec.rb +21 -3
  705. data/spec/models/shared_processor_pool_update_spec.rb +3 -3
  706. data/spec/models/shared_processor_pools_spec.rb +3 -3
  707. data/spec/models/site_spec.rb +3 -3
  708. data/spec/models/snapshot_create_response_spec.rb +18 -13
  709. data/spec/models/snapshot_create_spec.rb +14 -15
  710. data/spec/models/snapshot_list_spec.rb +34 -0
  711. data/spec/models/snapshot_restore_spec.rb +6 -13
  712. data/spec/models/snapshot_spec.rb +22 -23
  713. data/spec/models/snapshot_update_spec.rb +8 -15
  714. data/spec/models/snapshot_v1_spec.rb +70 -0
  715. data/spec/models/snapshots_spec.rb +6 -13
  716. data/spec/models/software_licenses_spec.rb +10 -17
  717. data/spec/models/spp_placement_group_create_spec.rb +3 -3
  718. data/spec/models/spp_placement_group_spec.rb +3 -3
  719. data/spec/models/spp_placement_groups_spec.rb +3 -3
  720. data/spec/models/src_spec.rb +8 -15
  721. data/spec/models/ssh_key_spec.rb +9 -16
  722. data/spec/models/ssh_keys_spec.rb +6 -13
  723. data/spec/models/status_description_error_spec.rb +3 -3
  724. data/spec/models/status_description_spec.rb +3 -3
  725. data/spec/models/status_spec.rb +3 -3
  726. data/spec/models/stock_image_spec.rb +8 -15
  727. data/spec/models/storage_affinity_spec.rb +3 -3
  728. data/spec/models/{vp_naa_s_options_spec.rb → storage_controller_spec.rb} +14 -14
  729. data/spec/models/storage_pool_capacity_spec.rb +26 -15
  730. data/spec/models/storage_pool_combined_spec.rb +46 -0
  731. data/spec/models/storage_pool_map_spec.rb +40 -0
  732. data/spec/models/storage_pools_capacity_spec.rb +6 -13
  733. data/spec/models/storage_tier_spec.rb +50 -0
  734. data/spec/models/storage_type_capacity_spec.rb +9 -16
  735. data/spec/models/storage_types_capacity_spec.rb +6 -13
  736. data/spec/models/supported_systems_spec.rb +40 -0
  737. data/spec/models/{cloud_instance_create_spec.rb → system_pool_capacity_spec.rb} +16 -23
  738. data/spec/models/system_pool_spec.rb +17 -18
  739. data/spec/models/system_resources_spec.rb +76 -0
  740. data/spec/models/system_spec.rb +48 -13
  741. data/spec/models/task_reference_spec.rb +8 -15
  742. data/spec/models/task_spec.rb +15 -22
  743. data/spec/models/tenant_spec.rb +13 -20
  744. data/spec/models/tenant_update_spec.rb +6 -13
  745. data/spec/models/update_server_virtual_serial_number_spec.rb +34 -0
  746. data/spec/models/update_virtual_serial_number_spec.rb +34 -0
  747. data/spec/models/update_volume_spec.rb +9 -16
  748. data/spec/models/virtual_cores_spec.rb +8 -15
  749. data/spec/models/virtual_serial_number_spec.rb +46 -0
  750. data/spec/models/volume_action_spec.rb +9 -3
  751. data/spec/models/volume_group_action_reset_spec.rb +3 -3
  752. data/spec/models/volume_group_action_spec.rb +3 -3
  753. data/spec/models/volume_group_action_start_spec.rb +3 -3
  754. data/spec/models/volume_group_action_stop_spec.rb +3 -3
  755. data/spec/models/volume_group_create_response_spec.rb +3 -3
  756. data/spec/models/volume_group_create_spec.rb +3 -3
  757. data/spec/models/volume_group_details_spec.rb +21 -3
  758. data/spec/models/volume_group_remote_copy_relationships_spec.rb +3 -3
  759. data/spec/models/volume_group_spec.rb +21 -3
  760. data/spec/models/volume_group_storage_details_spec.rb +3 -3
  761. data/spec/models/volume_group_update_spec.rb +3 -3
  762. data/spec/models/volume_groups_details_spec.rb +3 -3
  763. data/spec/models/volume_groups_spec.rb +3 -3
  764. data/spec/models/volume_info_spec.rb +13 -14
  765. data/spec/models/volume_onboarding_common_spec.rb +3 -3
  766. data/spec/models/volume_onboarding_create_response_spec.rb +3 -3
  767. data/spec/models/volume_onboarding_create_spec.rb +9 -3
  768. data/spec/models/volume_onboarding_failure_spec.rb +3 -3
  769. data/spec/models/volume_onboarding_spec.rb +3 -3
  770. data/spec/models/volume_onboardings_spec.rb +3 -3
  771. data/spec/models/volume_reference_spec.rb +123 -24
  772. data/spec/models/volume_remote_copy_relationship_spec.rb +3 -3
  773. data/spec/models/volume_snapshot_list_spec.rb +34 -0
  774. data/spec/models/volume_spec.rb +117 -24
  775. data/spec/models/volumes_attach_spec.rb +3 -3
  776. data/spec/models/volumes_attachment_response_spec.rb +3 -3
  777. data/spec/models/volumes_clone_async_request_spec.rb +25 -14
  778. data/spec/models/volumes_clone_cancel_spec.rb +6 -13
  779. data/spec/models/volumes_clone_create_spec.rb +7 -14
  780. data/spec/models/volumes_clone_detail_spec.rb +15 -22
  781. data/spec/models/volumes_clone_execute_spec.rb +24 -13
  782. data/spec/models/volumes_clone_request_spec.rb +7 -14
  783. data/spec/models/volumes_clone_response_spec.rb +8 -15
  784. data/spec/models/volumes_clone_spec.rb +14 -21
  785. data/spec/models/volumes_clones_spec.rb +6 -13
  786. data/spec/models/volumes_delete_response_spec.rb +34 -0
  787. data/spec/models/volumes_delete_spec.rb +34 -0
  788. data/spec/models/volumes_detach_spec.rb +46 -0
  789. data/spec/models/volumes_detachment_response_spec.rb +34 -0
  790. data/spec/models/volumes_spec.rb +6 -13
  791. data/spec/models/vpn_connection_create_response_spec.rb +3 -3
  792. data/spec/models/vpn_connection_create_spec.rb +3 -3
  793. data/spec/models/vpn_connection_spec.rb +3 -3
  794. data/spec/models/vpn_connection_update_spec.rb +3 -3
  795. data/spec/models/vpn_connections_spec.rb +3 -3
  796. data/spec/models/{cloud_instance_update_spec.rb → workspace_details_spec.rb} +14 -21
  797. data/spec/models/workspace_location_spec.rb +46 -0
  798. data/spec/models/workspace_network_security_groups_details_spec.rb +38 -0
  799. data/spec/models/workspace_power_edge_router_details_spec.rb +58 -0
  800. data/spec/models/workspace_spec.rb +74 -0
  801. data/spec/models/workspaces_spec.rb +34 -0
  802. data/spec/spec_helper.rb +3 -3
  803. metadata +502 -123
  804. data/Gemfile.lock +0 -70
  805. data/lib/ibm_cloud_power/models/vp_naa_s_options.rb +0 -280
  806. data/pkg/ibm_cloud_power-2.1.0.gem +0 -0
  807. data/spec/models/cloud_connection_speed_spec.rb +0 -35
@@ -0,0 +1,828 @@
1
+ =begin
2
+ #Power Cloud API
3
+
4
+ #IBM Power Cloud API for Power Hardware / Infrastructure
5
+
6
+ The version of the OpenAPI document: 2.3.1
7
+ Contact: ismirlia@us.ibm.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IbmCloudPower
16
+ class NetworkSecurityGroupsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Perform a Network Security Groups action (enable, disable) on a workspace. On enablement, a default Network Security Group is created to allow all traffic for all active network iterfaces
23
+ # @param body [NetworkSecurityGroupsAction] Parameters for the desired action
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Object]
26
+ def v1_network_security_groups_action_post(body, opts = {})
27
+ data, _status_code, _headers = v1_network_security_groups_action_post_with_http_info(body, opts)
28
+ data
29
+ end
30
+
31
+ # Perform a Network Security Groups action (enable, disable) on a workspace. On enablement, a default Network Security Group is created to allow all traffic for all active network iterfaces
32
+ # @param body [NetworkSecurityGroupsAction] Parameters for the desired action
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
+ def v1_network_security_groups_action_post_with_http_info(body, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_action_post ...'
38
+ end
39
+ # verify the required parameter 'body' is set
40
+ if @api_client.config.client_side_validation && body.nil?
41
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_action_post"
42
+ end
43
+ # resource path
44
+ local_var_path = '/v1/network-security-groups/action'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'Object'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || []
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_action_post",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_action_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Delete a Network Security Group from a workspace
89
+ # @param network_security_group_id [String] Network Security Group ID
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [Object]
92
+ def v1_network_security_groups_id_delete(network_security_group_id, opts = {})
93
+ data, _status_code, _headers = v1_network_security_groups_id_delete_with_http_info(network_security_group_id, opts)
94
+ data
95
+ end
96
+
97
+ # Delete a Network Security Group from a workspace
98
+ # @param network_security_group_id [String] Network Security Group ID
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
101
+ def v1_network_security_groups_id_delete_with_http_info(network_security_group_id, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_id_delete ...'
104
+ end
105
+ # verify the required parameter 'network_security_group_id' is set
106
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
107
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_delete"
108
+ end
109
+ # resource path
110
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
111
+
112
+ # query parameters
113
+ query_params = opts[:query_params] || {}
114
+
115
+ # header parameters
116
+ header_params = opts[:header_params] || {}
117
+ # HTTP header 'Accept' (if needed)
118
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
119
+
120
+ # form parameters
121
+ form_params = opts[:form_params] || {}
122
+
123
+ # http body (model)
124
+ post_body = opts[:debug_body]
125
+
126
+ # return_type
127
+ return_type = opts[:debug_return_type] || 'Object'
128
+
129
+ # auth_names
130
+ auth_names = opts[:debug_auth_names] || []
131
+
132
+ new_options = opts.merge(
133
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_id_delete",
134
+ :header_params => header_params,
135
+ :query_params => query_params,
136
+ :form_params => form_params,
137
+ :body => post_body,
138
+ :auth_names => auth_names,
139
+ :return_type => return_type
140
+ )
141
+
142
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
143
+ if @api_client.config.debugging
144
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
145
+ end
146
+ return data, status_code, headers
147
+ end
148
+
149
+ # Get the detail of a Network Security Group
150
+ # @param network_security_group_id [String] Network Security Group ID
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [NetworkSecurityGroup]
153
+ def v1_network_security_groups_id_get(network_security_group_id, opts = {})
154
+ data, _status_code, _headers = v1_network_security_groups_id_get_with_http_info(network_security_group_id, opts)
155
+ data
156
+ end
157
+
158
+ # Get the detail of a Network Security Group
159
+ # @param network_security_group_id [String] Network Security Group ID
160
+ # @param [Hash] opts the optional parameters
161
+ # @return [Array<(NetworkSecurityGroup, Integer, Hash)>] NetworkSecurityGroup data, response status code and response headers
162
+ def v1_network_security_groups_id_get_with_http_info(network_security_group_id, opts = {})
163
+ if @api_client.config.debugging
164
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_id_get ...'
165
+ end
166
+ # verify the required parameter 'network_security_group_id' is set
167
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
168
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_get"
169
+ end
170
+ # resource path
171
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
172
+
173
+ # query parameters
174
+ query_params = opts[:query_params] || {}
175
+
176
+ # header parameters
177
+ header_params = opts[:header_params] || {}
178
+ # HTTP header 'Accept' (if needed)
179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
180
+
181
+ # form parameters
182
+ form_params = opts[:form_params] || {}
183
+
184
+ # http body (model)
185
+ post_body = opts[:debug_body]
186
+
187
+ # return_type
188
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroup'
189
+
190
+ # auth_names
191
+ auth_names = opts[:debug_auth_names] || []
192
+
193
+ new_options = opts.merge(
194
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_id_get",
195
+ :header_params => header_params,
196
+ :query_params => query_params,
197
+ :form_params => form_params,
198
+ :body => post_body,
199
+ :auth_names => auth_names,
200
+ :return_type => return_type
201
+ )
202
+
203
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+
210
+ # Clone a Network Security Group
211
+ # @param network_security_group_id [String] Network Security Group ID
212
+ # @param body [NetworkSecurityGroupClone] Parameters for the clone of a Network Security Group
213
+ # @param [Hash] opts the optional parameters
214
+ # @return [NetworkSecurityGroup]
215
+ def v1_network_security_groups_id_post(network_security_group_id, body, opts = {})
216
+ data, _status_code, _headers = v1_network_security_groups_id_post_with_http_info(network_security_group_id, body, opts)
217
+ data
218
+ end
219
+
220
+ # Clone a Network Security Group
221
+ # @param network_security_group_id [String] Network Security Group ID
222
+ # @param body [NetworkSecurityGroupClone] Parameters for the clone of a Network Security Group
223
+ # @param [Hash] opts the optional parameters
224
+ # @return [Array<(NetworkSecurityGroup, Integer, Hash)>] NetworkSecurityGroup data, response status code and response headers
225
+ def v1_network_security_groups_id_post_with_http_info(network_security_group_id, body, opts = {})
226
+ if @api_client.config.debugging
227
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_id_post ...'
228
+ end
229
+ # verify the required parameter 'network_security_group_id' is set
230
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
231
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_post"
232
+ end
233
+ # verify the required parameter 'body' is set
234
+ if @api_client.config.client_side_validation && body.nil?
235
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_post"
236
+ end
237
+ # resource path
238
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
239
+
240
+ # query parameters
241
+ query_params = opts[:query_params] || {}
242
+
243
+ # header parameters
244
+ header_params = opts[:header_params] || {}
245
+ # HTTP header 'Accept' (if needed)
246
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
247
+ # HTTP header 'Content-Type'
248
+ content_type = @api_client.select_header_content_type(['application/json'])
249
+ if !content_type.nil?
250
+ header_params['Content-Type'] = content_type
251
+ end
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroup'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || []
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_id_post",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type
273
+ )
274
+
275
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
276
+ if @api_client.config.debugging
277
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_id_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
+ end
279
+ return data, status_code, headers
280
+ end
281
+
282
+ # Update a Network Security Group
283
+ # @param network_security_group_id [String] Network Security Group ID
284
+ # @param body [NetworkSecurityGroupUpdate] Parameters for the update of a Network Security Group
285
+ # @param [Hash] opts the optional parameters
286
+ # @return [NetworkSecurityGroup]
287
+ def v1_network_security_groups_id_put(network_security_group_id, body, opts = {})
288
+ data, _status_code, _headers = v1_network_security_groups_id_put_with_http_info(network_security_group_id, body, opts)
289
+ data
290
+ end
291
+
292
+ # Update a Network Security Group
293
+ # @param network_security_group_id [String] Network Security Group ID
294
+ # @param body [NetworkSecurityGroupUpdate] Parameters for the update of a Network Security Group
295
+ # @param [Hash] opts the optional parameters
296
+ # @return [Array<(NetworkSecurityGroup, Integer, Hash)>] NetworkSecurityGroup data, response status code and response headers
297
+ def v1_network_security_groups_id_put_with_http_info(network_security_group_id, body, opts = {})
298
+ if @api_client.config.debugging
299
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_id_put ...'
300
+ end
301
+ # verify the required parameter 'network_security_group_id' is set
302
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
303
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_put"
304
+ end
305
+ # verify the required parameter 'body' is set
306
+ if @api_client.config.client_side_validation && body.nil?
307
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_id_put"
308
+ end
309
+ # resource path
310
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
311
+
312
+ # query parameters
313
+ query_params = opts[:query_params] || {}
314
+
315
+ # header parameters
316
+ header_params = opts[:header_params] || {}
317
+ # HTTP header 'Accept' (if needed)
318
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
319
+ # HTTP header 'Content-Type'
320
+ content_type = @api_client.select_header_content_type(['application/json'])
321
+ if !content_type.nil?
322
+ header_params['Content-Type'] = content_type
323
+ end
324
+
325
+ # form parameters
326
+ form_params = opts[:form_params] || {}
327
+
328
+ # http body (model)
329
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
330
+
331
+ # return_type
332
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroup'
333
+
334
+ # auth_names
335
+ auth_names = opts[:debug_auth_names] || []
336
+
337
+ new_options = opts.merge(
338
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_id_put",
339
+ :header_params => header_params,
340
+ :query_params => query_params,
341
+ :form_params => form_params,
342
+ :body => post_body,
343
+ :auth_names => auth_names,
344
+ :return_type => return_type
345
+ )
346
+
347
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
348
+ if @api_client.config.debugging
349
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_id_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
350
+ end
351
+ return data, status_code, headers
352
+ end
353
+
354
+ # Get the list of Network Security Groups for a workspace
355
+ # @param [Hash] opts the optional parameters
356
+ # @option opts [Boolean] :default_nsg
357
+ # @return [NetworkSecurityGroups]
358
+ def v1_network_security_groups_list(opts = {})
359
+ data, _status_code, _headers = v1_network_security_groups_list_with_http_info(opts)
360
+ data
361
+ end
362
+
363
+ # Get the list of Network Security Groups for a workspace
364
+ # @param [Hash] opts the optional parameters
365
+ # @option opts [Boolean] :default_nsg
366
+ # @return [Array<(NetworkSecurityGroups, Integer, Hash)>] NetworkSecurityGroups data, response status code and response headers
367
+ def v1_network_security_groups_list_with_http_info(opts = {})
368
+ if @api_client.config.debugging
369
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_list ...'
370
+ end
371
+ # resource path
372
+ local_var_path = '/v1/network-security-groups'
373
+
374
+ # query parameters
375
+ query_params = opts[:query_params] || {}
376
+ query_params[:'default_nsg'] = opts[:'default_nsg'] if !opts[:'default_nsg'].nil?
377
+
378
+ # header parameters
379
+ header_params = opts[:header_params] || {}
380
+ # HTTP header 'Accept' (if needed)
381
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
382
+
383
+ # form parameters
384
+ form_params = opts[:form_params] || {}
385
+
386
+ # http body (model)
387
+ post_body = opts[:debug_body]
388
+
389
+ # return_type
390
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroups'
391
+
392
+ # auth_names
393
+ auth_names = opts[:debug_auth_names] || []
394
+
395
+ new_options = opts.merge(
396
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_list",
397
+ :header_params => header_params,
398
+ :query_params => query_params,
399
+ :form_params => form_params,
400
+ :body => post_body,
401
+ :auth_names => auth_names,
402
+ :return_type => return_type
403
+ )
404
+
405
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
406
+ if @api_client.config.debugging
407
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
408
+ end
409
+ return data, status_code, headers
410
+ end
411
+
412
+ # Delete the member from a Network Security Group
413
+ # @param network_security_group_id [String] Network Security Group ID
414
+ # @param network_security_group_member_id [String] Network Security Group Member ID
415
+ # @param [Hash] opts the optional parameters
416
+ # @return [Object]
417
+ def v1_network_security_groups_members_delete(network_security_group_id, network_security_group_member_id, opts = {})
418
+ data, _status_code, _headers = v1_network_security_groups_members_delete_with_http_info(network_security_group_id, network_security_group_member_id, opts)
419
+ data
420
+ end
421
+
422
+ # Delete the member from a Network Security Group
423
+ # @param network_security_group_id [String] Network Security Group ID
424
+ # @param network_security_group_member_id [String] Network Security Group Member ID
425
+ # @param [Hash] opts the optional parameters
426
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
427
+ def v1_network_security_groups_members_delete_with_http_info(network_security_group_id, network_security_group_member_id, opts = {})
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_members_delete ...'
430
+ end
431
+ # verify the required parameter 'network_security_group_id' is set
432
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
433
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_members_delete"
434
+ end
435
+ # verify the required parameter 'network_security_group_member_id' is set
436
+ if @api_client.config.client_side_validation && network_security_group_member_id.nil?
437
+ fail ArgumentError, "Missing the required parameter 'network_security_group_member_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_members_delete"
438
+ end
439
+ # resource path
440
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}/members/{network_security_group_member_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s)).sub('{' + 'network_security_group_member_id' + '}', CGI.escape(network_security_group_member_id.to_s))
441
+
442
+ # query parameters
443
+ query_params = opts[:query_params] || {}
444
+
445
+ # header parameters
446
+ header_params = opts[:header_params] || {}
447
+ # HTTP header 'Accept' (if needed)
448
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
449
+
450
+ # form parameters
451
+ form_params = opts[:form_params] || {}
452
+
453
+ # http body (model)
454
+ post_body = opts[:debug_body]
455
+
456
+ # return_type
457
+ return_type = opts[:debug_return_type] || 'Object'
458
+
459
+ # auth_names
460
+ auth_names = opts[:debug_auth_names] || []
461
+
462
+ new_options = opts.merge(
463
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_members_delete",
464
+ :header_params => header_params,
465
+ :query_params => query_params,
466
+ :form_params => form_params,
467
+ :body => post_body,
468
+ :auth_names => auth_names,
469
+ :return_type => return_type
470
+ )
471
+
472
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
473
+ if @api_client.config.debugging
474
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_members_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
475
+ end
476
+ return data, status_code, headers
477
+ end
478
+
479
+ # Add a member to a Network Security Group
480
+ # @param network_security_group_id [String] Network Security Group ID
481
+ # @param body [NetworkSecurityGroupAddMember] Parameters for adding a member to a Network Security Group
482
+ # @param [Hash] opts the optional parameters
483
+ # @return [NetworkSecurityGroupMember]
484
+ def v1_network_security_groups_members_post(network_security_group_id, body, opts = {})
485
+ data, _status_code, _headers = v1_network_security_groups_members_post_with_http_info(network_security_group_id, body, opts)
486
+ data
487
+ end
488
+
489
+ # Add a member to a Network Security Group
490
+ # @param network_security_group_id [String] Network Security Group ID
491
+ # @param body [NetworkSecurityGroupAddMember] Parameters for adding a member to a Network Security Group
492
+ # @param [Hash] opts the optional parameters
493
+ # @return [Array<(NetworkSecurityGroupMember, Integer, Hash)>] NetworkSecurityGroupMember data, response status code and response headers
494
+ def v1_network_security_groups_members_post_with_http_info(network_security_group_id, body, opts = {})
495
+ if @api_client.config.debugging
496
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_members_post ...'
497
+ end
498
+ # verify the required parameter 'network_security_group_id' is set
499
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
500
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_members_post"
501
+ end
502
+ # verify the required parameter 'body' is set
503
+ if @api_client.config.client_side_validation && body.nil?
504
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_members_post"
505
+ end
506
+ # resource path
507
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}/members'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
508
+
509
+ # query parameters
510
+ query_params = opts[:query_params] || {}
511
+
512
+ # header parameters
513
+ header_params = opts[:header_params] || {}
514
+ # HTTP header 'Accept' (if needed)
515
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
516
+ # HTTP header 'Content-Type'
517
+ content_type = @api_client.select_header_content_type(['application/json'])
518
+ if !content_type.nil?
519
+ header_params['Content-Type'] = content_type
520
+ end
521
+
522
+ # form parameters
523
+ form_params = opts[:form_params] || {}
524
+
525
+ # http body (model)
526
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
527
+
528
+ # return_type
529
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroupMember'
530
+
531
+ # auth_names
532
+ auth_names = opts[:debug_auth_names] || []
533
+
534
+ new_options = opts.merge(
535
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_members_post",
536
+ :header_params => header_params,
537
+ :query_params => query_params,
538
+ :form_params => form_params,
539
+ :body => post_body,
540
+ :auth_names => auth_names,
541
+ :return_type => return_type
542
+ )
543
+
544
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
545
+ if @api_client.config.debugging
546
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_members_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
547
+ end
548
+ return data, status_code, headers
549
+ end
550
+
551
+ # Move a Network Security Group member to another Network Security Group
552
+ # @param network_security_group_id [String] Network Security Group ID
553
+ # @param body [NetworkSecurityGroupMoveMember] Parameters for moving a Network Security Group member to another Network Security Group
554
+ # @param [Hash] opts the optional parameters
555
+ # @return [NetworkSecurityGroupMember]
556
+ def v1_network_security_groups_move_member_post(network_security_group_id, body, opts = {})
557
+ data, _status_code, _headers = v1_network_security_groups_move_member_post_with_http_info(network_security_group_id, body, opts)
558
+ data
559
+ end
560
+
561
+ # Move a Network Security Group member to another Network Security Group
562
+ # @param network_security_group_id [String] Network Security Group ID
563
+ # @param body [NetworkSecurityGroupMoveMember] Parameters for moving a Network Security Group member to another Network Security Group
564
+ # @param [Hash] opts the optional parameters
565
+ # @return [Array<(NetworkSecurityGroupMember, Integer, Hash)>] NetworkSecurityGroupMember data, response status code and response headers
566
+ def v1_network_security_groups_move_member_post_with_http_info(network_security_group_id, body, opts = {})
567
+ if @api_client.config.debugging
568
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_move_member_post ...'
569
+ end
570
+ # verify the required parameter 'network_security_group_id' is set
571
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
572
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_move_member_post"
573
+ end
574
+ # verify the required parameter 'body' is set
575
+ if @api_client.config.client_side_validation && body.nil?
576
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_move_member_post"
577
+ end
578
+ # resource path
579
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}/move_member'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
580
+
581
+ # query parameters
582
+ query_params = opts[:query_params] || {}
583
+
584
+ # header parameters
585
+ header_params = opts[:header_params] || {}
586
+ # HTTP header 'Accept' (if needed)
587
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
588
+ # HTTP header 'Content-Type'
589
+ content_type = @api_client.select_header_content_type(['application/json'])
590
+ if !content_type.nil?
591
+ header_params['Content-Type'] = content_type
592
+ end
593
+
594
+ # form parameters
595
+ form_params = opts[:form_params] || {}
596
+
597
+ # http body (model)
598
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
599
+
600
+ # return_type
601
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroupMember'
602
+
603
+ # auth_names
604
+ auth_names = opts[:debug_auth_names] || []
605
+
606
+ new_options = opts.merge(
607
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_move_member_post",
608
+ :header_params => header_params,
609
+ :query_params => query_params,
610
+ :form_params => form_params,
611
+ :body => post_body,
612
+ :auth_names => auth_names,
613
+ :return_type => return_type
614
+ )
615
+
616
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
617
+ if @api_client.config.debugging
618
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_move_member_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
619
+ end
620
+ return data, status_code, headers
621
+ end
622
+
623
+ # Create a new Network Security Group
624
+ # @param body [NetworkSecurityGroupCreate] Parameters for the creation of a Network Security Group
625
+ # @param [Hash] opts the optional parameters
626
+ # @return [NetworkSecurityGroup]
627
+ def v1_network_security_groups_post(body, opts = {})
628
+ data, _status_code, _headers = v1_network_security_groups_post_with_http_info(body, opts)
629
+ data
630
+ end
631
+
632
+ # Create a new Network Security Group
633
+ # @param body [NetworkSecurityGroupCreate] Parameters for the creation of a Network Security Group
634
+ # @param [Hash] opts the optional parameters
635
+ # @return [Array<(NetworkSecurityGroup, Integer, Hash)>] NetworkSecurityGroup data, response status code and response headers
636
+ def v1_network_security_groups_post_with_http_info(body, opts = {})
637
+ if @api_client.config.debugging
638
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_post ...'
639
+ end
640
+ # verify the required parameter 'body' is set
641
+ if @api_client.config.client_side_validation && body.nil?
642
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_post"
643
+ end
644
+ # resource path
645
+ local_var_path = '/v1/network-security-groups'
646
+
647
+ # query parameters
648
+ query_params = opts[:query_params] || {}
649
+
650
+ # header parameters
651
+ header_params = opts[:header_params] || {}
652
+ # HTTP header 'Accept' (if needed)
653
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
654
+ # HTTP header 'Content-Type'
655
+ content_type = @api_client.select_header_content_type(['application/json'])
656
+ if !content_type.nil?
657
+ header_params['Content-Type'] = content_type
658
+ end
659
+
660
+ # form parameters
661
+ form_params = opts[:form_params] || {}
662
+
663
+ # http body (model)
664
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
665
+
666
+ # return_type
667
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroup'
668
+
669
+ # auth_names
670
+ auth_names = opts[:debug_auth_names] || []
671
+
672
+ new_options = opts.merge(
673
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_post",
674
+ :header_params => header_params,
675
+ :query_params => query_params,
676
+ :form_params => form_params,
677
+ :body => post_body,
678
+ :auth_names => auth_names,
679
+ :return_type => return_type
680
+ )
681
+
682
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
683
+ if @api_client.config.debugging
684
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
685
+ end
686
+ return data, status_code, headers
687
+ end
688
+
689
+ # Delete the rule from a Network Security Group
690
+ # @param network_security_group_id [String] Network Security Group ID
691
+ # @param network_security_group_rule_id [String] Network Security Group Rule ID
692
+ # @param [Hash] opts the optional parameters
693
+ # @return [Object]
694
+ def v1_network_security_groups_rules_delete(network_security_group_id, network_security_group_rule_id, opts = {})
695
+ data, _status_code, _headers = v1_network_security_groups_rules_delete_with_http_info(network_security_group_id, network_security_group_rule_id, opts)
696
+ data
697
+ end
698
+
699
+ # Delete the rule from a Network Security Group
700
+ # @param network_security_group_id [String] Network Security Group ID
701
+ # @param network_security_group_rule_id [String] Network Security Group Rule ID
702
+ # @param [Hash] opts the optional parameters
703
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
704
+ def v1_network_security_groups_rules_delete_with_http_info(network_security_group_id, network_security_group_rule_id, opts = {})
705
+ if @api_client.config.debugging
706
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_rules_delete ...'
707
+ end
708
+ # verify the required parameter 'network_security_group_id' is set
709
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
710
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_rules_delete"
711
+ end
712
+ # verify the required parameter 'network_security_group_rule_id' is set
713
+ if @api_client.config.client_side_validation && network_security_group_rule_id.nil?
714
+ fail ArgumentError, "Missing the required parameter 'network_security_group_rule_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_rules_delete"
715
+ end
716
+ # resource path
717
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}/rules/{network_security_group_rule_id}'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s)).sub('{' + 'network_security_group_rule_id' + '}', CGI.escape(network_security_group_rule_id.to_s))
718
+
719
+ # query parameters
720
+ query_params = opts[:query_params] || {}
721
+
722
+ # header parameters
723
+ header_params = opts[:header_params] || {}
724
+ # HTTP header 'Accept' (if needed)
725
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
726
+
727
+ # form parameters
728
+ form_params = opts[:form_params] || {}
729
+
730
+ # http body (model)
731
+ post_body = opts[:debug_body]
732
+
733
+ # return_type
734
+ return_type = opts[:debug_return_type] || 'Object'
735
+
736
+ # auth_names
737
+ auth_names = opts[:debug_auth_names] || []
738
+
739
+ new_options = opts.merge(
740
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_rules_delete",
741
+ :header_params => header_params,
742
+ :query_params => query_params,
743
+ :form_params => form_params,
744
+ :body => post_body,
745
+ :auth_names => auth_names,
746
+ :return_type => return_type
747
+ )
748
+
749
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_rules_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
752
+ end
753
+ return data, status_code, headers
754
+ end
755
+
756
+ # Add a rule to a Network Security Group
757
+ # @param network_security_group_id [String] Network Security Group ID
758
+ # @param body [NetworkSecurityGroupAddRule] Parameters for adding a rule to a Network Security Group
759
+ # @param [Hash] opts the optional parameters
760
+ # @return [NetworkSecurityGroupRule]
761
+ def v1_network_security_groups_rules_post(network_security_group_id, body, opts = {})
762
+ data, _status_code, _headers = v1_network_security_groups_rules_post_with_http_info(network_security_group_id, body, opts)
763
+ data
764
+ end
765
+
766
+ # Add a rule to a Network Security Group
767
+ # @param network_security_group_id [String] Network Security Group ID
768
+ # @param body [NetworkSecurityGroupAddRule] Parameters for adding a rule to a Network Security Group
769
+ # @param [Hash] opts the optional parameters
770
+ # @return [Array<(NetworkSecurityGroupRule, Integer, Hash)>] NetworkSecurityGroupRule data, response status code and response headers
771
+ def v1_network_security_groups_rules_post_with_http_info(network_security_group_id, body, opts = {})
772
+ if @api_client.config.debugging
773
+ @api_client.config.logger.debug 'Calling API: NetworkSecurityGroupsApi.v1_network_security_groups_rules_post ...'
774
+ end
775
+ # verify the required parameter 'network_security_group_id' is set
776
+ if @api_client.config.client_side_validation && network_security_group_id.nil?
777
+ fail ArgumentError, "Missing the required parameter 'network_security_group_id' when calling NetworkSecurityGroupsApi.v1_network_security_groups_rules_post"
778
+ end
779
+ # verify the required parameter 'body' is set
780
+ if @api_client.config.client_side_validation && body.nil?
781
+ fail ArgumentError, "Missing the required parameter 'body' when calling NetworkSecurityGroupsApi.v1_network_security_groups_rules_post"
782
+ end
783
+ # resource path
784
+ local_var_path = '/v1/network-security-groups/{network_security_group_id}/rules'.sub('{' + 'network_security_group_id' + '}', CGI.escape(network_security_group_id.to_s))
785
+
786
+ # query parameters
787
+ query_params = opts[:query_params] || {}
788
+
789
+ # header parameters
790
+ header_params = opts[:header_params] || {}
791
+ # HTTP header 'Accept' (if needed)
792
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
793
+ # HTTP header 'Content-Type'
794
+ content_type = @api_client.select_header_content_type(['application/json'])
795
+ if !content_type.nil?
796
+ header_params['Content-Type'] = content_type
797
+ end
798
+
799
+ # form parameters
800
+ form_params = opts[:form_params] || {}
801
+
802
+ # http body (model)
803
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
804
+
805
+ # return_type
806
+ return_type = opts[:debug_return_type] || 'NetworkSecurityGroupRule'
807
+
808
+ # auth_names
809
+ auth_names = opts[:debug_auth_names] || []
810
+
811
+ new_options = opts.merge(
812
+ :operation => :"NetworkSecurityGroupsApi.v1_network_security_groups_rules_post",
813
+ :header_params => header_params,
814
+ :query_params => query_params,
815
+ :form_params => form_params,
816
+ :body => post_body,
817
+ :auth_names => auth_names,
818
+ :return_type => return_type
819
+ )
820
+
821
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
822
+ if @api_client.config.debugging
823
+ @api_client.config.logger.debug "API called: NetworkSecurityGroupsApi#v1_network_security_groups_rules_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
824
+ end
825
+ return data, status_code, headers
826
+ end
827
+ end
828
+ end