ionoscloud 5.0.0 → 6.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (594) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/docs/AttachedVolumes.md +30 -0
  4. data/docs/BackupUnit.md +26 -0
  5. data/docs/BackupUnitProperties.md +22 -0
  6. data/docs/BackupUnitSSO.md +18 -0
  7. data/docs/BackupUnits.md +24 -0
  8. data/docs/BackupUnitsApi.md +594 -0
  9. data/docs/BalancedNics.md +30 -0
  10. data/docs/CHANGELOG.md +1 -0
  11. data/docs/Cdroms.md +30 -0
  12. data/docs/ConnectableDatacenter.md +22 -0
  13. data/docs/Contract.md +20 -0
  14. data/docs/ContractProperties.md +26 -0
  15. data/docs/ContractResourcesApi.md +89 -0
  16. data/docs/Contracts.md +24 -0
  17. data/docs/CpuArchitectureProperties.md +24 -0
  18. data/docs/DataCenterEntities.md +28 -0
  19. data/docs/DataCentersApi.md +516 -0
  20. data/docs/Datacenter.md +28 -0
  21. data/docs/DatacenterElementMetadata.md +32 -0
  22. data/docs/DatacenterProperties.md +30 -0
  23. data/docs/Datacenters.md +30 -0
  24. data/docs/DefaultApi.md +78 -0
  25. data/docs/Error.md +20 -0
  26. data/docs/ErrorMessage.md +20 -0
  27. data/docs/FirewallRule.md +26 -0
  28. data/docs/FirewallRules.md +30 -0
  29. data/docs/FirewallRulesApi.md +552 -0
  30. data/docs/FirewallruleProperties.md +36 -0
  31. data/docs/FlowLog.md +26 -0
  32. data/docs/FlowLogProperties.md +24 -0
  33. data/docs/FlowLogPut.md +24 -0
  34. data/docs/FlowLogs.md +30 -0
  35. data/docs/FlowLogsApi.md +540 -0
  36. data/docs/Group.md +26 -0
  37. data/docs/GroupEntities.md +20 -0
  38. data/docs/GroupMembers.md +24 -0
  39. data/docs/GroupProperties.md +42 -0
  40. data/docs/GroupShare.md +24 -0
  41. data/docs/GroupShareProperties.md +20 -0
  42. data/docs/GroupShares.md +24 -0
  43. data/docs/GroupUsers.md +24 -0
  44. data/docs/Groups.md +24 -0
  45. data/docs/IPBlocksApi.md +512 -0
  46. data/docs/IPFailover.md +20 -0
  47. data/docs/Image.md +26 -0
  48. data/docs/ImageProperties.md +54 -0
  49. data/docs/Images.md +24 -0
  50. data/docs/ImagesApi.md +428 -0
  51. data/docs/Info.md +22 -0
  52. data/docs/IpBlock.md +26 -0
  53. data/docs/IpBlockProperties.md +26 -0
  54. data/docs/IpBlocks.md +24 -0
  55. data/docs/IpConsumer.md +34 -0
  56. data/docs/KubernetesApi.md +1433 -0
  57. data/docs/KubernetesAutoScaling.md +20 -0
  58. data/docs/KubernetesCluster.md +28 -0
  59. data/docs/KubernetesClusterEntities.md +18 -0
  60. data/docs/KubernetesClusterForPost.md +28 -0
  61. data/docs/KubernetesClusterForPut.md +28 -0
  62. data/docs/KubernetesClusterProperties.md +30 -0
  63. data/docs/KubernetesClusterPropertiesForPost.md +26 -0
  64. data/docs/KubernetesClusterPropertiesForPut.md +22 -0
  65. data/docs/KubernetesClusters.md +24 -0
  66. data/docs/KubernetesMaintenanceWindow.md +20 -0
  67. data/docs/KubernetesNode.md +26 -0
  68. data/docs/KubernetesNodeMetadata.md +26 -0
  69. data/docs/KubernetesNodePool.md +26 -0
  70. data/docs/KubernetesNodePoolForPost.md +26 -0
  71. data/docs/KubernetesNodePoolForPut.md +26 -0
  72. data/docs/KubernetesNodePoolLan.md +22 -0
  73. data/docs/KubernetesNodePoolLanRoutes.md +20 -0
  74. data/docs/KubernetesNodePoolProperties.md +50 -0
  75. data/docs/KubernetesNodePoolPropertiesForPost.md +48 -0
  76. data/docs/KubernetesNodePoolPropertiesForPut.md +34 -0
  77. data/docs/KubernetesNodePools.md +24 -0
  78. data/docs/KubernetesNodeProperties.md +24 -0
  79. data/docs/KubernetesNodes.md +24 -0
  80. data/docs/Label.md +26 -0
  81. data/docs/LabelProperties.md +26 -0
  82. data/docs/LabelResource.md +26 -0
  83. data/docs/LabelResourceProperties.md +20 -0
  84. data/docs/LabelResources.md +30 -0
  85. data/docs/Labels.md +24 -0
  86. data/docs/LabelsApi.md +2346 -0
  87. data/docs/Lan.md +28 -0
  88. data/docs/LanEntities.md +18 -0
  89. data/docs/LanNics.md +30 -0
  90. data/docs/LanPost.md +28 -0
  91. data/docs/LanProperties.md +24 -0
  92. data/docs/LanPropertiesPost.md +24 -0
  93. data/docs/Lans.md +30 -0
  94. data/docs/LansApi.md +794 -0
  95. data/docs/LoadBalancersApi.md +885 -0
  96. data/docs/Loadbalancer.md +28 -0
  97. data/docs/LoadbalancerEntities.md +18 -0
  98. data/docs/LoadbalancerProperties.md +22 -0
  99. data/docs/Loadbalancers.md +30 -0
  100. data/docs/Location.md +26 -0
  101. data/docs/LocationProperties.md +24 -0
  102. data/docs/Locations.md +24 -0
  103. data/docs/LocationsApi.md +259 -0
  104. data/docs/NATGatewaysApi.md +1578 -0
  105. data/docs/NatGateway.md +28 -0
  106. data/docs/NatGatewayEntities.md +20 -0
  107. data/docs/NatGatewayLanProperties.md +20 -0
  108. data/docs/NatGatewayProperties.md +22 -0
  109. data/docs/NatGatewayPut.md +24 -0
  110. data/docs/NatGatewayRule.md +26 -0
  111. data/docs/NatGatewayRuleProperties.md +30 -0
  112. data/docs/NatGatewayRuleProtocol.md +15 -0
  113. data/docs/NatGatewayRulePut.md +24 -0
  114. data/docs/NatGatewayRuleType.md +15 -0
  115. data/docs/NatGatewayRules.md +24 -0
  116. data/docs/NatGateways.md +30 -0
  117. data/docs/NetworkInterfacesApi.md +540 -0
  118. data/docs/NetworkLoadBalancer.md +28 -0
  119. data/docs/NetworkLoadBalancerEntities.md +20 -0
  120. data/docs/NetworkLoadBalancerForwardingRule.md +26 -0
  121. data/docs/NetworkLoadBalancerForwardingRuleHealthCheck.md +26 -0
  122. data/docs/NetworkLoadBalancerForwardingRuleProperties.md +30 -0
  123. data/docs/NetworkLoadBalancerForwardingRulePut.md +24 -0
  124. data/docs/NetworkLoadBalancerForwardingRuleTarget.md +24 -0
  125. data/docs/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +22 -0
  126. data/docs/NetworkLoadBalancerForwardingRules.md +30 -0
  127. data/docs/NetworkLoadBalancerProperties.md +26 -0
  128. data/docs/NetworkLoadBalancerPut.md +24 -0
  129. data/docs/NetworkLoadBalancers.md +30 -0
  130. data/docs/NetworkLoadBalancersApi.md +1590 -0
  131. data/docs/Nic.md +28 -0
  132. data/docs/NicEntities.md +20 -0
  133. data/docs/NicProperties.md +34 -0
  134. data/docs/NicPut.md +24 -0
  135. data/docs/Nics.md +30 -0
  136. data/docs/NoStateMetaData.md +30 -0
  137. data/docs/PaginationLinks.md +22 -0
  138. data/docs/Peer.md +26 -0
  139. data/docs/PrivateCrossConnect.md +26 -0
  140. data/docs/PrivateCrossConnectProperties.md +24 -0
  141. data/docs/PrivateCrossConnects.md +24 -0
  142. data/docs/PrivateCrossConnectsApi.md +430 -0
  143. data/docs/README.md +111 -0
  144. data/docs/RemoteConsoleUrl.md +18 -0
  145. data/docs/Request.md +26 -0
  146. data/docs/RequestMetadata.md +24 -0
  147. data/docs/RequestProperties.md +24 -0
  148. data/docs/RequestStatus.md +24 -0
  149. data/docs/RequestStatusMetadata.md +24 -0
  150. data/docs/RequestTarget.md +20 -0
  151. data/docs/Requests.md +30 -0
  152. data/docs/RequestsApi.md +283 -0
  153. data/docs/Resource.md +28 -0
  154. data/docs/ResourceEntities.md +18 -0
  155. data/docs/ResourceGroups.md +24 -0
  156. data/docs/ResourceLimits.md +60 -0
  157. data/docs/ResourceProperties.md +20 -0
  158. data/docs/ResourceReference.md +22 -0
  159. data/docs/Resources.md +24 -0
  160. data/docs/ResourcesUsers.md +24 -0
  161. data/docs/S3Key.md +26 -0
  162. data/docs/S3KeyMetadata.md +20 -0
  163. data/docs/S3KeyProperties.md +20 -0
  164. data/docs/S3Keys.md +24 -0
  165. data/docs/S3ObjectStorageSSO.md +18 -0
  166. data/docs/Server.md +28 -0
  167. data/docs/ServerEntities.md +22 -0
  168. data/docs/ServerProperties.md +36 -0
  169. data/docs/Servers.md +30 -0
  170. data/docs/ServersApi.md +1908 -0
  171. data/docs/Snapshot.md +26 -0
  172. data/docs/SnapshotProperties.md +48 -0
  173. data/docs/Snapshots.md +24 -0
  174. data/docs/SnapshotsApi.md +428 -0
  175. data/docs/TargetPortRange.md +20 -0
  176. data/docs/Template.md +26 -0
  177. data/docs/TemplateProperties.md +24 -0
  178. data/docs/Templates.md +24 -0
  179. data/docs/TemplatesApi.md +165 -0
  180. data/docs/Token.md +18 -0
  181. data/docs/Type.md +15 -0
  182. data/docs/User.md +28 -0
  183. data/docs/UserManagementApi.md +2033 -0
  184. data/docs/UserMetadata.md +22 -0
  185. data/docs/UserPost.md +18 -0
  186. data/docs/UserProperties.md +32 -0
  187. data/docs/UserPropertiesPost.md +32 -0
  188. data/docs/UserPropertiesPut.md +30 -0
  189. data/docs/UserPut.md +20 -0
  190. data/docs/UserS3KeysApi.md +516 -0
  191. data/docs/Users.md +24 -0
  192. data/docs/UsersEntities.md +20 -0
  193. data/docs/Volume.md +26 -0
  194. data/docs/VolumeProperties.md +54 -0
  195. data/docs/Volumes.md +30 -0
  196. data/docs/VolumesApi.md +709 -0
  197. data/docs/summary.md +395 -0
  198. data/gitbook.yaml +4 -0
  199. data/ionoscloud.gemspec +1 -1
  200. data/lib/ionoscloud.rb +68 -18
  201. data/lib/ionoscloud/api/_api.rb +1 -1
  202. data/lib/ionoscloud/api/{backup_unit_api.rb → backup_units_api.rb} +60 -60
  203. data/lib/ionoscloud/api/{contract_api.rb → contract_resources_api.rb} +12 -12
  204. data/lib/ionoscloud/api/{data_center_api.rb → data_centers_api.rb} +51 -51
  205. data/lib/ionoscloud/api/firewall_rules_api.rb +640 -0
  206. data/lib/ionoscloud/api/flow_logs_api.rb +622 -0
  207. data/lib/ionoscloud/api/{image_api.rb → images_api.rb} +40 -40
  208. data/lib/ionoscloud/api/ip_blocks_api.rb +16 -16
  209. data/lib/ionoscloud/api/kubernetes_api.rb +33 -96
  210. data/lib/ionoscloud/api/{label_api.rb → labels_api.rb} +269 -287
  211. data/lib/ionoscloud/api/{lan_api.rb → lans_api.rb} +105 -105
  212. data/lib/ionoscloud/api/{load_balancer_api.rb → load_balancers_api.rb} +153 -135
  213. data/lib/ionoscloud/api/{location_api.rb → locations_api.rb} +20 -20
  214. data/lib/ionoscloud/api/nat_gateways_api.rb +1690 -0
  215. data/lib/ionoscloud/api/network_interfaces_api.rb +604 -0
  216. data/lib/ionoscloud/api/network_load_balancers_api.rb +1708 -0
  217. data/lib/ionoscloud/api/{private_cross_connect_api.rb → private_cross_connects_api.rb} +61 -43
  218. data/lib/ionoscloud/api/{request_api.rb → requests_api.rb} +56 -32
  219. data/lib/ionoscloud/api/{server_api.rb → servers_api.rb} +535 -191
  220. data/lib/ionoscloud/api/{snapshot_api.rb → snapshots_api.rb} +46 -46
  221. data/lib/ionoscloud/api/templates_api.rb +164 -0
  222. data/lib/ionoscloud/api/user_management_api.rb +29 -524
  223. data/lib/ionoscloud/api/user_s3_keys_api.rb +517 -0
  224. data/lib/ionoscloud/api/{volume_api.rb → volumes_api.rb} +80 -80
  225. data/lib/ionoscloud/api_client.rb +19 -23
  226. data/lib/ionoscloud/api_error.rb +1 -1
  227. data/lib/ionoscloud/configuration.rb +5 -5
  228. data/lib/ionoscloud/models/attached_volumes.rb +1 -1
  229. data/lib/ionoscloud/models/backup_unit.rb +1 -1
  230. data/lib/ionoscloud/models/backup_unit_properties.rb +1 -1
  231. data/lib/ionoscloud/models/backup_unit_sso.rb +1 -1
  232. data/lib/ionoscloud/models/backup_units.rb +3 -3
  233. data/lib/ionoscloud/models/balanced_nics.rb +1 -1
  234. data/lib/ionoscloud/models/cdroms.rb +1 -1
  235. data/lib/ionoscloud/models/connectable_datacenter.rb +1 -1
  236. data/lib/ionoscloud/models/contract.rb +1 -1
  237. data/lib/ionoscloud/models/contract_properties.rb +1 -1
  238. data/lib/ionoscloud/models/contracts.rb +249 -0
  239. data/lib/ionoscloud/models/cpu_architecture_properties.rb +247 -0
  240. data/lib/ionoscloud/models/data_center_entities.rb +23 -5
  241. data/lib/ionoscloud/models/datacenter.rb +1 -1
  242. data/lib/ionoscloud/models/datacenter_element_metadata.rb +1 -1
  243. data/lib/ionoscloud/models/datacenter_properties.rb +16 -26
  244. data/lib/ionoscloud/models/datacenters.rb +1 -1
  245. data/lib/ionoscloud/models/error.rb +1 -1
  246. data/lib/ionoscloud/models/error_message.rb +1 -1
  247. data/lib/ionoscloud/models/firewall_rule.rb +1 -1
  248. data/lib/ionoscloud/models/firewall_rules.rb +1 -1
  249. data/lib/ionoscloud/models/firewallrule_properties.rb +63 -26
  250. data/lib/ionoscloud/models/flow_log.rb +260 -0
  251. data/lib/ionoscloud/models/flow_log_properties.rb +313 -0
  252. data/lib/ionoscloud/models/flow_log_put.rb +251 -0
  253. data/lib/ionoscloud/models/flow_logs.rb +278 -0
  254. data/lib/ionoscloud/models/group.rb +1 -1
  255. data/lib/ionoscloud/models/group_entities.rb +1 -1
  256. data/lib/ionoscloud/models/group_members.rb +1 -1
  257. data/lib/ionoscloud/models/group_properties.rb +35 -5
  258. data/lib/ionoscloud/models/group_share.rb +1 -1
  259. data/lib/ionoscloud/models/group_share_properties.rb +1 -1
  260. data/lib/ionoscloud/models/group_shares.rb +1 -1
  261. data/lib/ionoscloud/models/group_users.rb +1 -1
  262. data/lib/ionoscloud/models/groups.rb +1 -1
  263. data/lib/ionoscloud/models/image.rb +1 -1
  264. data/lib/ionoscloud/models/image_properties.rb +39 -5
  265. data/lib/ionoscloud/models/images.rb +1 -1
  266. data/lib/ionoscloud/models/info.rb +1 -1
  267. data/lib/ionoscloud/models/ip_block.rb +1 -1
  268. data/lib/ionoscloud/models/ip_block_properties.rb +1 -1
  269. data/lib/ionoscloud/models/ip_blocks.rb +1 -1
  270. data/lib/ionoscloud/models/ip_consumer.rb +23 -5
  271. data/lib/ionoscloud/models/ip_failover.rb +1 -1
  272. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +11 -1
  273. data/lib/ionoscloud/models/kubernetes_cluster.rb +1 -1
  274. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +1 -1
  275. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +303 -0
  276. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +303 -0
  277. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +27 -5
  278. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +263 -0
  279. data/lib/ionoscloud/models/{kubernetes_cluster_properties_for_post_and_put.rb → kubernetes_cluster_properties_for_put.rb} +5 -5
  280. data/lib/ionoscloud/models/kubernetes_clusters.rb +2 -2
  281. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +11 -1
  282. data/lib/ionoscloud/models/kubernetes_node.rb +3 -3
  283. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +1 -1
  284. data/lib/ionoscloud/models/kubernetes_node_pool.rb +1 -1
  285. data/lib/ionoscloud/models/{kubernetes_config.rb → kubernetes_node_pool_for_post.rb} +17 -8
  286. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +1 -1
  287. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +27 -5
  288. data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +227 -0
  289. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +2 -2
  290. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +2 -2
  291. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +2 -153
  292. data/lib/ionoscloud/models/kubernetes_node_pools.rb +2 -2
  293. data/lib/ionoscloud/models/kubernetes_node_properties.rb +12 -7
  294. data/lib/ionoscloud/models/kubernetes_nodes.rb +3 -3
  295. data/lib/ionoscloud/models/label.rb +1 -1
  296. data/lib/ionoscloud/models/label_properties.rb +1 -1
  297. data/lib/ionoscloud/models/label_resource.rb +1 -1
  298. data/lib/ionoscloud/models/label_resource_properties.rb +1 -1
  299. data/lib/ionoscloud/models/label_resources.rb +3 -3
  300. data/lib/ionoscloud/models/labels.rb +3 -3
  301. data/lib/ionoscloud/models/lan.rb +1 -1
  302. data/lib/ionoscloud/models/lan_entities.rb +1 -1
  303. data/lib/ionoscloud/models/lan_nics.rb +1 -1
  304. data/lib/ionoscloud/models/lan_post.rb +1 -1
  305. data/lib/ionoscloud/models/lan_properties.rb +1 -1
  306. data/lib/ionoscloud/models/lan_properties_post.rb +1 -1
  307. data/lib/ionoscloud/models/lans.rb +2 -2
  308. data/lib/ionoscloud/models/loadbalancer.rb +1 -1
  309. data/lib/ionoscloud/models/loadbalancer_entities.rb +1 -1
  310. data/lib/ionoscloud/models/loadbalancer_properties.rb +13 -30
  311. data/lib/ionoscloud/models/loadbalancers.rb +1 -1
  312. data/lib/ionoscloud/models/location.rb +1 -1
  313. data/lib/ionoscloud/models/location_properties.rb +16 -26
  314. data/lib/ionoscloud/models/locations.rb +1 -1
  315. data/lib/ionoscloud/models/nat_gateway.rb +269 -0
  316. data/lib/ionoscloud/models/nat_gateway_entities.rb +225 -0
  317. data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +234 -0
  318. data/lib/ionoscloud/models/nat_gateway_properties.rb +251 -0
  319. data/lib/ionoscloud/models/nat_gateway_put.rb +251 -0
  320. data/lib/ionoscloud/models/nat_gateway_rule.rb +260 -0
  321. data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +291 -0
  322. data/lib/ionoscloud/models/nat_gateway_rule_protocol.rb +39 -0
  323. data/lib/ionoscloud/models/nat_gateway_rule_put.rb +251 -0
  324. data/lib/ionoscloud/models/nat_gateway_rule_type.rb +36 -0
  325. data/lib/ionoscloud/models/nat_gateway_rules.rb +249 -0
  326. data/lib/ionoscloud/models/nat_gateways.rb +278 -0
  327. data/lib/ionoscloud/models/network_load_balancer.rb +269 -0
  328. data/lib/ionoscloud/models/network_load_balancer_entities.rb +225 -0
  329. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +260 -0
  330. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +257 -0
  331. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +354 -0
  332. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +251 -0
  333. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +261 -0
  334. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +237 -0
  335. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +278 -0
  336. data/lib/ionoscloud/models/network_load_balancer_properties.rb +276 -0
  337. data/lib/ionoscloud/models/network_load_balancer_put.rb +251 -0
  338. data/lib/ionoscloud/models/network_load_balancers.rb +278 -0
  339. data/lib/ionoscloud/models/nic.rb +1 -1
  340. data/lib/ionoscloud/models/nic_entities.rb +11 -2
  341. data/lib/ionoscloud/models/nic_properties.rb +63 -9
  342. data/lib/ionoscloud/models/nic_put.rb +251 -0
  343. data/lib/ionoscloud/models/nics.rb +1 -1
  344. data/lib/ionoscloud/models/no_state_meta_data.rb +1 -1
  345. data/lib/ionoscloud/models/pagination_links.rb +1 -1
  346. data/lib/ionoscloud/models/peer.rb +1 -1
  347. data/lib/ionoscloud/models/private_cross_connect.rb +1 -1
  348. data/lib/ionoscloud/models/private_cross_connect_properties.rb +1 -1
  349. data/lib/ionoscloud/models/private_cross_connects.rb +1 -1
  350. data/lib/ionoscloud/models/{kubernetes_config_properties.rb → remote_console_url.rb} +12 -12
  351. data/lib/ionoscloud/models/request.rb +1 -1
  352. data/lib/ionoscloud/models/request_metadata.rb +1 -1
  353. data/lib/ionoscloud/models/request_properties.rb +1 -1
  354. data/lib/ionoscloud/models/request_status.rb +1 -1
  355. data/lib/ionoscloud/models/request_status_metadata.rb +1 -1
  356. data/lib/ionoscloud/models/request_target.rb +1 -1
  357. data/lib/ionoscloud/models/requests.rb +1 -1
  358. data/lib/ionoscloud/models/resource.rb +1 -1
  359. data/lib/ionoscloud/models/resource_entities.rb +1 -1
  360. data/lib/ionoscloud/models/resource_groups.rb +1 -1
  361. data/lib/ionoscloud/models/resource_limits.rb +80 -5
  362. data/lib/ionoscloud/models/resource_properties.rb +1 -1
  363. data/lib/ionoscloud/models/resource_reference.rb +1 -1
  364. data/lib/ionoscloud/models/resources.rb +1 -1
  365. data/lib/ionoscloud/models/resources_users.rb +1 -1
  366. data/lib/ionoscloud/models/s3_key.rb +1 -1
  367. data/lib/ionoscloud/models/s3_key_metadata.rb +1 -1
  368. data/lib/ionoscloud/models/s3_key_properties.rb +3 -3
  369. data/lib/ionoscloud/models/s3_keys.rb +1 -1
  370. data/lib/ionoscloud/models/s3_object_storage_sso.rb +1 -1
  371. data/lib/ionoscloud/models/server.rb +1 -1
  372. data/lib/ionoscloud/models/server_entities.rb +1 -1
  373. data/lib/ionoscloud/models/server_properties.rb +28 -8
  374. data/lib/ionoscloud/models/servers.rb +1 -1
  375. data/lib/ionoscloud/models/snapshot.rb +1 -1
  376. data/lib/ionoscloud/models/snapshot_properties.rb +1 -1
  377. data/lib/ionoscloud/models/snapshots.rb +1 -1
  378. data/lib/ionoscloud/models/target_port_range.rb +227 -0
  379. data/lib/ionoscloud/models/template.rb +260 -0
  380. data/lib/ionoscloud/models/template_properties.rb +267 -0
  381. data/lib/ionoscloud/models/templates.rb +249 -0
  382. data/lib/ionoscloud/models/token.rb +217 -0
  383. data/lib/ionoscloud/models/type.rb +10 -1
  384. data/lib/ionoscloud/models/user.rb +1 -1
  385. data/lib/ionoscloud/models/user_metadata.rb +1 -1
  386. data/lib/ionoscloud/models/user_post.rb +221 -0
  387. data/lib/ionoscloud/models/user_properties.rb +2 -12
  388. data/lib/ionoscloud/models/user_properties_post.rb +287 -0
  389. data/lib/ionoscloud/models/user_properties_put.rb +277 -0
  390. data/lib/ionoscloud/models/user_put.rb +231 -0
  391. data/lib/ionoscloud/models/users.rb +1 -1
  392. data/lib/ionoscloud/models/users_entities.rb +1 -1
  393. data/lib/ionoscloud/models/volume.rb +1 -1
  394. data/lib/ionoscloud/models/volume_properties.rb +31 -20
  395. data/lib/ionoscloud/models/volumes.rb +1 -1
  396. data/lib/ionoscloud/version.rb +2 -2
  397. data/spec/api/_api_spec.rb +1 -1
  398. data/spec/api/{backup_unit_api_spec.rb → backup_units_api_spec.rb} +14 -14
  399. data/spec/api/{contract_api_spec.rb → contract_resources_api_spec.rb} +9 -9
  400. data/spec/api/{data_center_api_spec.rb → data_centers_api_spec.rb} +10 -10
  401. data/spec/api/firewall_rules_api_spec.rb +146 -0
  402. data/spec/api/flow_logs_api_spec.rb +140 -0
  403. data/spec/api/{image_api_spec.rb → images_api_spec.rb} +9 -9
  404. data/spec/api/ip_blocks_api_spec.rb +7 -7
  405. data/spec/api/kubernetes_api_spec.rb +10 -22
  406. data/spec/api/{label_api_spec.rb → labels_api_spec.rb} +21 -23
  407. data/spec/api/{lan_api_spec.rb → lans_api_spec.rb} +21 -21
  408. data/spec/api/{load_balancer_api_spec.rb → load_balancers_api_spec.rb} +27 -25
  409. data/spec/api/{location_api_spec.rb → locations_api_spec.rb} +7 -7
  410. data/spec/api/{nic_api_spec.rb → nat_gateways_api_spec.rb} +188 -103
  411. data/spec/api/network_interfaces_api_spec.rb +140 -0
  412. data/spec/api/network_load_balancers_api_spec.rb +342 -0
  413. data/spec/api/{private_cross_connect_api_spec.rb → private_cross_connects_api_spec.rb} +13 -11
  414. data/spec/api/{request_api_spec.rb → requests_api_spec.rb} +20 -12
  415. data/spec/api/{server_api_spec.rb → servers_api_spec.rb} +84 -20
  416. data/spec/api/{snapshot_api_spec.rb → snapshots_api_spec.rb} +12 -12
  417. data/spec/api/templates_api_spec.rb +60 -0
  418. data/spec/api/user_management_api_spec.rb +7 -100
  419. data/spec/api/user_s3_keys_api_spec.rb +128 -0
  420. data/spec/api/{volume_api_spec.rb → volumes_api_spec.rb} +13 -13
  421. data/spec/api_client_spec.rb +1 -1
  422. data/spec/configuration_spec.rb +4 -4
  423. data/spec/models/attached_volumes_spec.rb +1 -1
  424. data/spec/models/backup_unit_properties_spec.rb +1 -1
  425. data/spec/models/backup_unit_spec.rb +1 -1
  426. data/spec/models/backup_unit_sso_spec.rb +1 -1
  427. data/spec/models/backup_units_spec.rb +2 -2
  428. data/spec/models/balanced_nics_spec.rb +1 -1
  429. data/spec/models/cdroms_spec.rb +1 -1
  430. data/spec/models/connectable_datacenter_spec.rb +1 -1
  431. data/spec/models/contract_properties_spec.rb +1 -1
  432. data/spec/models/contract_spec.rb +1 -1
  433. data/spec/models/contracts_spec.rb +52 -0
  434. data/spec/models/cpu_architecture_properties_spec.rb +52 -0
  435. data/spec/models/data_center_entities_spec.rb +13 -1
  436. data/spec/models/datacenter_element_metadata_spec.rb +1 -1
  437. data/spec/models/datacenter_properties_spec.rb +7 -5
  438. data/spec/models/datacenter_spec.rb +1 -1
  439. data/spec/models/datacenters_spec.rb +1 -1
  440. data/spec/models/error_message_spec.rb +1 -1
  441. data/spec/models/error_spec.rb +1 -1
  442. data/spec/models/firewall_rule_spec.rb +1 -1
  443. data/spec/models/firewall_rules_spec.rb +1 -1
  444. data/spec/models/firewallrule_properties_spec.rb +11 -13
  445. data/spec/models/flow_log_properties_spec.rb +60 -0
  446. data/spec/models/flow_log_put_spec.rb +52 -0
  447. data/spec/models/flow_log_spec.rb +58 -0
  448. data/spec/models/flow_logs_spec.rb +70 -0
  449. data/spec/models/group_entities_spec.rb +1 -1
  450. data/spec/models/group_members_spec.rb +1 -1
  451. data/spec/models/group_properties_spec.rb +19 -1
  452. data/spec/models/group_share_properties_spec.rb +1 -1
  453. data/spec/models/group_share_spec.rb +1 -1
  454. data/spec/models/group_shares_spec.rb +1 -1
  455. data/spec/models/group_spec.rb +1 -1
  456. data/spec/models/group_users_spec.rb +1 -1
  457. data/spec/models/groups_spec.rb +1 -1
  458. data/spec/models/image_properties_spec.rb +17 -1
  459. data/spec/models/image_spec.rb +1 -1
  460. data/spec/models/images_spec.rb +1 -1
  461. data/spec/models/info_spec.rb +1 -1
  462. data/spec/models/ip_block_properties_spec.rb +1 -1
  463. data/spec/models/ip_block_spec.rb +1 -1
  464. data/spec/models/ip_blocks_spec.rb +1 -1
  465. data/spec/models/ip_consumer_spec.rb +13 -1
  466. data/spec/models/ip_failover_spec.rb +1 -1
  467. data/spec/models/kubernetes_auto_scaling_spec.rb +1 -1
  468. data/spec/models/kubernetes_cluster_entities_spec.rb +1 -1
  469. data/spec/models/kubernetes_cluster_for_post_spec.rb +68 -0
  470. data/spec/models/kubernetes_cluster_for_put_spec.rb +68 -0
  471. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +58 -0
  472. data/spec/models/{kubernetes_cluster_properties_for_post_and_put_spec.rb → kubernetes_cluster_properties_for_put_spec.rb} +7 -7
  473. data/spec/models/kubernetes_cluster_properties_spec.rb +13 -1
  474. data/spec/models/kubernetes_cluster_spec.rb +1 -1
  475. data/spec/models/kubernetes_clusters_spec.rb +1 -1
  476. data/spec/models/kubernetes_maintenance_window_spec.rb +1 -1
  477. data/spec/models/kubernetes_node_metadata_spec.rb +1 -1
  478. data/spec/models/{kubernetes_config_spec.rb → kubernetes_node_pool_for_post_spec.rb} +14 -8
  479. data/spec/models/kubernetes_node_pool_for_put_spec.rb +1 -1
  480. data/spec/models/kubernetes_node_pool_lan_routes_spec.rb +40 -0
  481. data/spec/models/kubernetes_node_pool_lan_spec.rb +13 -1
  482. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +1 -1
  483. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +1 -51
  484. data/spec/models/kubernetes_node_pool_properties_spec.rb +1 -1
  485. data/spec/models/kubernetes_node_pool_spec.rb +1 -1
  486. data/spec/models/kubernetes_node_pools_spec.rb +1 -1
  487. data/spec/models/kubernetes_node_properties_spec.rb +7 -1
  488. data/spec/models/kubernetes_node_spec.rb +2 -2
  489. data/spec/models/kubernetes_nodes_spec.rb +2 -2
  490. data/spec/models/label_properties_spec.rb +1 -1
  491. data/spec/models/label_resource_properties_spec.rb +1 -1
  492. data/spec/models/label_resource_spec.rb +1 -1
  493. data/spec/models/label_resources_spec.rb +2 -2
  494. data/spec/models/label_spec.rb +1 -1
  495. data/spec/models/labels_spec.rb +2 -2
  496. data/spec/models/lan_entities_spec.rb +1 -1
  497. data/spec/models/lan_nics_spec.rb +1 -1
  498. data/spec/models/lan_post_spec.rb +1 -1
  499. data/spec/models/lan_properties_post_spec.rb +1 -1
  500. data/spec/models/lan_properties_spec.rb +1 -1
  501. data/spec/models/lan_spec.rb +1 -1
  502. data/spec/models/lans_spec.rb +1 -1
  503. data/spec/models/loadbalancer_entities_spec.rb +1 -1
  504. data/spec/models/loadbalancer_properties_spec.rb +1 -5
  505. data/spec/models/loadbalancer_spec.rb +1 -1
  506. data/spec/models/loadbalancers_spec.rb +1 -1
  507. data/spec/models/location_properties_spec.rb +7 -5
  508. data/spec/models/location_spec.rb +1 -1
  509. data/spec/models/locations_spec.rb +1 -1
  510. data/spec/models/nat_gateway_entities_spec.rb +40 -0
  511. data/spec/models/nat_gateway_lan_properties_spec.rb +40 -0
  512. data/spec/models/nat_gateway_properties_spec.rb +46 -0
  513. data/spec/models/nat_gateway_put_spec.rb +52 -0
  514. data/spec/models/nat_gateway_rule_properties_spec.rb +70 -0
  515. data/spec/models/nat_gateway_rule_protocol_spec.rb +28 -0
  516. data/spec/models/nat_gateway_rule_put_spec.rb +52 -0
  517. data/spec/models/nat_gateway_rule_spec.rb +58 -0
  518. data/spec/models/nat_gateway_rule_type_spec.rb +28 -0
  519. data/spec/models/nat_gateway_rules_spec.rb +52 -0
  520. data/spec/models/nat_gateway_spec.rb +64 -0
  521. data/spec/models/nat_gateways_spec.rb +70 -0
  522. data/spec/models/network_load_balancer_entities_spec.rb +40 -0
  523. data/spec/models/network_load_balancer_forwarding_rule_health_check_spec.rb +58 -0
  524. data/spec/models/network_load_balancer_forwarding_rule_properties_spec.rb +78 -0
  525. data/spec/models/network_load_balancer_forwarding_rule_put_spec.rb +52 -0
  526. data/spec/models/network_load_balancer_forwarding_rule_spec.rb +58 -0
  527. data/spec/models/network_load_balancer_forwarding_rule_target_health_check_spec.rb +46 -0
  528. data/spec/models/network_load_balancer_forwarding_rule_target_spec.rb +52 -0
  529. data/spec/models/network_load_balancer_forwarding_rules_spec.rb +70 -0
  530. data/spec/models/network_load_balancer_properties_spec.rb +58 -0
  531. data/spec/models/network_load_balancer_put_spec.rb +52 -0
  532. data/spec/models/network_load_balancer_spec.rb +64 -0
  533. data/spec/models/network_load_balancers_spec.rb +70 -0
  534. data/spec/models/nic_entities_spec.rb +7 -1
  535. data/spec/models/nic_properties_spec.rb +18 -2
  536. data/spec/models/nic_put_spec.rb +52 -0
  537. data/spec/models/nic_spec.rb +1 -1
  538. data/spec/models/nics_spec.rb +1 -1
  539. data/spec/models/no_state_meta_data_spec.rb +1 -1
  540. data/spec/models/pagination_links_spec.rb +1 -1
  541. data/spec/models/peer_spec.rb +1 -1
  542. data/spec/models/private_cross_connect_properties_spec.rb +1 -1
  543. data/spec/models/private_cross_connect_spec.rb +1 -1
  544. data/spec/models/private_cross_connects_spec.rb +1 -1
  545. data/spec/models/{kubernetes_config_properties_spec.rb → remote_console_url_spec.rb} +8 -8
  546. data/spec/models/request_metadata_spec.rb +1 -1
  547. data/spec/models/request_properties_spec.rb +1 -1
  548. data/spec/models/request_spec.rb +1 -1
  549. data/spec/models/request_status_metadata_spec.rb +1 -1
  550. data/spec/models/request_status_spec.rb +1 -1
  551. data/spec/models/request_target_spec.rb +1 -1
  552. data/spec/models/requests_spec.rb +1 -1
  553. data/spec/models/resource_entities_spec.rb +1 -1
  554. data/spec/models/resource_groups_spec.rb +1 -1
  555. data/spec/models/resource_limits_spec.rb +31 -1
  556. data/spec/models/resource_properties_spec.rb +1 -1
  557. data/spec/models/resource_reference_spec.rb +1 -1
  558. data/spec/models/resource_spec.rb +1 -1
  559. data/spec/models/resources_spec.rb +1 -1
  560. data/spec/models/resources_users_spec.rb +1 -1
  561. data/spec/models/s3_key_metadata_spec.rb +1 -1
  562. data/spec/models/s3_key_properties_spec.rb +1 -1
  563. data/spec/models/s3_key_spec.rb +1 -1
  564. data/spec/models/s3_keys_spec.rb +1 -1
  565. data/spec/models/s3_object_storage_sso_spec.rb +1 -1
  566. data/spec/models/server_entities_spec.rb +1 -1
  567. data/spec/models/server_properties_spec.rb +14 -2
  568. data/spec/models/server_spec.rb +1 -1
  569. data/spec/models/servers_spec.rb +1 -1
  570. data/spec/models/snapshot_properties_spec.rb +1 -1
  571. data/spec/models/snapshot_spec.rb +1 -1
  572. data/spec/models/snapshots_spec.rb +1 -1
  573. data/spec/models/target_port_range_spec.rb +40 -0
  574. data/spec/models/template_properties_spec.rb +52 -0
  575. data/spec/models/template_spec.rb +58 -0
  576. data/spec/models/templates_spec.rb +52 -0
  577. data/spec/models/token_spec.rb +34 -0
  578. data/spec/models/type_spec.rb +1 -1
  579. data/spec/models/user_metadata_spec.rb +1 -1
  580. data/spec/models/user_post_spec.rb +34 -0
  581. data/spec/models/user_properties_post_spec.rb +76 -0
  582. data/spec/models/user_properties_put_spec.rb +70 -0
  583. data/spec/models/user_properties_spec.rb +1 -7
  584. data/spec/models/user_put_spec.rb +40 -0
  585. data/spec/models/user_spec.rb +1 -1
  586. data/spec/models/users_entities_spec.rb +1 -1
  587. data/spec/models/users_spec.rb +1 -1
  588. data/spec/models/volume_properties_spec.rb +14 -8
  589. data/spec/models/volume_spec.rb +1 -1
  590. data/spec/models/volumes_spec.rb +1 -1
  591. data/spec/spec_helper.rb +1 -1
  592. metadata +505 -160
  593. data/DOCS.md +0 -14618
  594. data/lib/ionoscloud/api/nic_api.rb +0 -1222
@@ -3,7 +3,7 @@
3
3
 
4
4
  #An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
5
 
6
- The version of the OpenAPI document: 5.0
6
+ The version of the OpenAPI document: 6.0-SDK.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.0.1-SNAPSHOT
@@ -13,7 +13,7 @@ OpenAPI Generator version: 5.0.1-SNAPSHOT
13
13
  require 'cgi'
14
14
 
15
15
  module Ionoscloud
16
- class LocationApi
16
+ class LocationsApi
17
17
  attr_accessor :api_client
18
18
 
19
19
  def initialize(api_client = ApiClient.default)
@@ -42,18 +42,18 @@ module Ionoscloud
42
42
  # @return [Array<(Locations, Integer, Hash)>] Locations data, response status code and response headers
43
43
  def locations_find_by_region_id_with_http_info(region_id, opts = {})
44
44
  if @api_client.config.debugging
45
- @api_client.config.logger.debug 'Calling API: LocationApi.locations_find_by_region_id ...'
45
+ @api_client.config.logger.debug 'Calling API: LocationsApi.locations_find_by_region_id ...'
46
46
  end
47
47
  # verify the required parameter 'region_id' is set
48
48
  if @api_client.config.client_side_validation && region_id.nil?
49
- fail ArgumentError, "Missing the required parameter 'region_id' when calling LocationApi.locations_find_by_region_id"
49
+ fail ArgumentError, "Missing the required parameter 'region_id' when calling LocationsApi.locations_find_by_region_id"
50
50
  end
51
51
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
52
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_find_by_region_id, must be smaller than or equal to 10.'
52
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_find_by_region_id, must be smaller than or equal to 10.'
53
53
  end
54
54
 
55
55
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
56
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_find_by_region_id, must be greater than or equal to 0.'
56
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_find_by_region_id, must be greater than or equal to 0.'
57
57
  end
58
58
 
59
59
  # resource path
@@ -83,7 +83,7 @@ module Ionoscloud
83
83
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
84
84
 
85
85
  new_options = opts.merge(
86
- :operation => :"LocationApi.locations_find_by_region_id",
86
+ :operation => :"LocationsApi.locations_find_by_region_id",
87
87
  :header_params => header_params,
88
88
  :query_params => query_params,
89
89
  :form_params => form_params,
@@ -94,7 +94,7 @@ module Ionoscloud
94
94
 
95
95
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
96
96
  if @api_client.config.debugging
97
- @api_client.config.logger.debug "API called: LocationApi#locations_find_by_region_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
97
+ @api_client.config.logger.debug "API called: LocationsApi#locations_find_by_region_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
98
98
  end
99
99
  return data, status_code, headers
100
100
  end
@@ -124,22 +124,22 @@ module Ionoscloud
124
124
  # @return [Array<(Location, Integer, Hash)>] Location data, response status code and response headers
125
125
  def locations_find_by_region_id_and_id_with_http_info(region_id, location_id, opts = {})
126
126
  if @api_client.config.debugging
127
- @api_client.config.logger.debug 'Calling API: LocationApi.locations_find_by_region_id_and_id ...'
127
+ @api_client.config.logger.debug 'Calling API: LocationsApi.locations_find_by_region_id_and_id ...'
128
128
  end
129
129
  # verify the required parameter 'region_id' is set
130
130
  if @api_client.config.client_side_validation && region_id.nil?
131
- fail ArgumentError, "Missing the required parameter 'region_id' when calling LocationApi.locations_find_by_region_id_and_id"
131
+ fail ArgumentError, "Missing the required parameter 'region_id' when calling LocationsApi.locations_find_by_region_id_and_id"
132
132
  end
133
133
  # verify the required parameter 'location_id' is set
134
134
  if @api_client.config.client_side_validation && location_id.nil?
135
- fail ArgumentError, "Missing the required parameter 'location_id' when calling LocationApi.locations_find_by_region_id_and_id"
135
+ fail ArgumentError, "Missing the required parameter 'location_id' when calling LocationsApi.locations_find_by_region_id_and_id"
136
136
  end
137
137
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
138
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_find_by_region_id_and_id, must be smaller than or equal to 10.'
138
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_find_by_region_id_and_id, must be smaller than or equal to 10.'
139
139
  end
140
140
 
141
141
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
142
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_find_by_region_id_and_id, must be greater than or equal to 0.'
142
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_find_by_region_id_and_id, must be greater than or equal to 0.'
143
143
  end
144
144
 
145
145
  # resource path
@@ -169,7 +169,7 @@ module Ionoscloud
169
169
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
170
170
 
171
171
  new_options = opts.merge(
172
- :operation => :"LocationApi.locations_find_by_region_id_and_id",
172
+ :operation => :"LocationsApi.locations_find_by_region_id_and_id",
173
173
  :header_params => header_params,
174
174
  :query_params => query_params,
175
175
  :form_params => form_params,
@@ -180,7 +180,7 @@ module Ionoscloud
180
180
 
181
181
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
182
182
  if @api_client.config.debugging
183
- @api_client.config.logger.debug "API called: LocationApi#locations_find_by_region_id_and_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
183
+ @api_client.config.logger.debug "API called: LocationsApi#locations_find_by_region_id_and_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
184
184
  end
185
185
  return data, status_code, headers
186
186
  end
@@ -206,14 +206,14 @@ module Ionoscloud
206
206
  # @return [Array<(Locations, Integer, Hash)>] Locations data, response status code and response headers
207
207
  def locations_get_with_http_info(opts = {})
208
208
  if @api_client.config.debugging
209
- @api_client.config.logger.debug 'Calling API: LocationApi.locations_get ...'
209
+ @api_client.config.logger.debug 'Calling API: LocationsApi.locations_get ...'
210
210
  end
211
211
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
212
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_get, must be smaller than or equal to 10.'
212
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_get, must be smaller than or equal to 10.'
213
213
  end
214
214
 
215
215
  if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
216
- fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationApi.locations_get, must be greater than or equal to 0.'
216
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LocationsApi.locations_get, must be greater than or equal to 0.'
217
217
  end
218
218
 
219
219
  # resource path
@@ -243,7 +243,7 @@ module Ionoscloud
243
243
  auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
244
244
 
245
245
  new_options = opts.merge(
246
- :operation => :"LocationApi.locations_get",
246
+ :operation => :"LocationsApi.locations_get",
247
247
  :header_params => header_params,
248
248
  :query_params => query_params,
249
249
  :form_params => form_params,
@@ -254,7 +254,7 @@ module Ionoscloud
254
254
 
255
255
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
256
256
  if @api_client.config.debugging
257
- @api_client.config.logger.debug "API called: LocationApi#locations_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
257
+ @api_client.config.logger.debug "API called: LocationsApi#locations_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
258
258
  end
259
259
  return data, status_code, headers
260
260
  end
@@ -0,0 +1,1690 @@
1
+ =begin
2
+ #CLOUD API
3
+
4
+ #An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 6.0-SDK.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Ionoscloud
16
+ class NATGatewaysApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Remove a NAT gateway
23
+ # Removes the specified NAT gateway.
24
+ # @param datacenter_id [String] The unique ID of the datacenter
25
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
28
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
29
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
30
+ # @return [nil]
31
+ def datacenters_natgateways_delete(datacenter_id, nat_gateway_id, opts = {})
32
+ datacenters_natgateways_delete_with_http_info(datacenter_id, nat_gateway_id, opts)
33
+ nil
34
+ end
35
+
36
+ # Remove a NAT gateway
37
+ # Removes the specified NAT gateway.
38
+ # @param datacenter_id [String] The unique ID of the datacenter
39
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
42
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
43
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
44
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
45
+ def datacenters_natgateways_delete_with_http_info(datacenter_id, nat_gateway_id, opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_delete ...'
48
+ end
49
+ # verify the required parameter 'datacenter_id' is set
50
+ if @api_client.config.client_side_validation && datacenter_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_delete"
52
+ end
53
+ # verify the required parameter 'nat_gateway_id' is set
54
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_delete"
56
+ end
57
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
58
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_delete, must be smaller than or equal to 10.'
59
+ end
60
+
61
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
62
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_delete, must be greater than or equal to 0.'
63
+ end
64
+
65
+ # resource path
66
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
67
+
68
+ # query parameters
69
+ query_params = opts[:query_params] || {}
70
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
71
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
72
+
73
+ # header parameters
74
+ header_params = opts[:header_params] || {}
75
+ # HTTP header 'Accept' (if needed)
76
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
77
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
78
+
79
+ # form parameters
80
+ form_params = opts[:form_params] || {}
81
+
82
+ # http body (model)
83
+ post_body = opts[:debug_body]
84
+
85
+ # return_type
86
+ return_type = opts[:debug_return_type]
87
+
88
+ # auth_names
89
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
90
+
91
+ new_options = opts.merge(
92
+ :operation => :"NATGatewaysApi.datacenters_natgateways_delete",
93
+ :header_params => header_params,
94
+ :query_params => query_params,
95
+ :form_params => form_params,
96
+ :body => post_body,
97
+ :auth_names => auth_names,
98
+ :return_type => return_type
99
+ )
100
+
101
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
104
+ end
105
+ return data, status_code, headers
106
+ end
107
+
108
+ # Retrieve a NAT gateway
109
+ # Retrieves the attributes of a given NAT gateway.
110
+ # @param datacenter_id [String] The unique ID of the datacenter
111
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
112
+ # @param [Hash] opts the optional parameters
113
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
114
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
115
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
116
+ # @return [NatGateway]
117
+ def datacenters_natgateways_find_by_nat_gateway_id(datacenter_id, nat_gateway_id, opts = {})
118
+ data, _status_code, _headers = datacenters_natgateways_find_by_nat_gateway_id_with_http_info(datacenter_id, nat_gateway_id, opts)
119
+ data
120
+ end
121
+
122
+ # Retrieve a NAT gateway
123
+ # Retrieves the attributes of a given NAT gateway.
124
+ # @param datacenter_id [String] The unique ID of the datacenter
125
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
126
+ # @param [Hash] opts the optional parameters
127
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
128
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
129
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
130
+ # @return [Array<(NatGateway, Integer, Hash)>] NatGateway data, response status code and response headers
131
+ def datacenters_natgateways_find_by_nat_gateway_id_with_http_info(datacenter_id, nat_gateway_id, opts = {})
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id ...'
134
+ end
135
+ # verify the required parameter 'datacenter_id' is set
136
+ if @api_client.config.client_side_validation && datacenter_id.nil?
137
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id"
138
+ end
139
+ # verify the required parameter 'nat_gateway_id' is set
140
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
141
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id"
142
+ end
143
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
144
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id, must be smaller than or equal to 10.'
145
+ end
146
+
147
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
148
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id, must be greater than or equal to 0.'
149
+ end
150
+
151
+ # resource path
152
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
153
+
154
+ # query parameters
155
+ query_params = opts[:query_params] || {}
156
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
157
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
158
+
159
+ # header parameters
160
+ header_params = opts[:header_params] || {}
161
+ # HTTP header 'Accept' (if needed)
162
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
163
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
164
+
165
+ # form parameters
166
+ form_params = opts[:form_params] || {}
167
+
168
+ # http body (model)
169
+ post_body = opts[:debug_body]
170
+
171
+ # return_type
172
+ return_type = opts[:debug_return_type] || 'NatGateway'
173
+
174
+ # auth_names
175
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
176
+
177
+ new_options = opts.merge(
178
+ :operation => :"NATGatewaysApi.datacenters_natgateways_find_by_nat_gateway_id",
179
+ :header_params => header_params,
180
+ :query_params => query_params,
181
+ :form_params => form_params,
182
+ :body => post_body,
183
+ :auth_names => auth_names,
184
+ :return_type => return_type
185
+ )
186
+
187
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
188
+ if @api_client.config.debugging
189
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_find_by_nat_gateway_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
190
+ end
191
+ return data, status_code, headers
192
+ end
193
+
194
+ # Remove Flow Log from NAT Gateway
195
+ # This will remove a flow log from the NAT gateway.
196
+ # @param datacenter_id [String] The unique ID of the datacenter
197
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
198
+ # @param flow_log_id [String] The unique ID of the flow log
199
+ # @param [Hash] opts the optional parameters
200
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
201
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
202
+ # @return [nil]
203
+ def datacenters_natgateways_flowlogs_delete(datacenter_id, nat_gateway_id, flow_log_id, opts = {})
204
+ datacenters_natgateways_flowlogs_delete_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, opts)
205
+ nil
206
+ end
207
+
208
+ # Remove Flow Log from NAT Gateway
209
+ # This will remove a flow log from the NAT gateway.
210
+ # @param datacenter_id [String] The unique ID of the datacenter
211
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
212
+ # @param flow_log_id [String] The unique ID of the flow log
213
+ # @param [Hash] opts the optional parameters
214
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
215
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
216
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
217
+ def datacenters_natgateways_flowlogs_delete_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, opts = {})
218
+ if @api_client.config.debugging
219
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_delete ...'
220
+ end
221
+ # verify the required parameter 'datacenter_id' is set
222
+ if @api_client.config.client_side_validation && datacenter_id.nil?
223
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete"
224
+ end
225
+ # verify the required parameter 'nat_gateway_id' is set
226
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
227
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete"
228
+ end
229
+ # verify the required parameter 'flow_log_id' is set
230
+ if @api_client.config.client_side_validation && flow_log_id.nil?
231
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete"
232
+ end
233
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
234
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete, must be smaller than or equal to 10.'
235
+ end
236
+
237
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
238
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_delete, must be greater than or equal to 0.'
239
+ end
240
+
241
+ # resource path
242
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
243
+
244
+ # query parameters
245
+ query_params = opts[:query_params] || {}
246
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
247
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
248
+
249
+ # header parameters
250
+ header_params = opts[:header_params] || {}
251
+ # HTTP header 'Accept' (if needed)
252
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
253
+
254
+ # form parameters
255
+ form_params = opts[:form_params] || {}
256
+
257
+ # http body (model)
258
+ post_body = opts[:debug_body]
259
+
260
+ # return_type
261
+ return_type = opts[:debug_return_type]
262
+
263
+ # auth_names
264
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
265
+
266
+ new_options = opts.merge(
267
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_delete",
268
+ :header_params => header_params,
269
+ :query_params => query_params,
270
+ :form_params => form_params,
271
+ :body => post_body,
272
+ :auth_names => auth_names,
273
+ :return_type => return_type
274
+ )
275
+
276
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
279
+ end
280
+ return data, status_code, headers
281
+ end
282
+
283
+ # Retrieve a Flow Log of the NAT Gateway
284
+ # This will return a Flow Log of the NAT Gateway.
285
+ # @param datacenter_id [String] The unique ID of the datacenter
286
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
287
+ # @param flow_log_id [String] The unique ID of the flow log
288
+ # @param [Hash] opts the optional parameters
289
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
290
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
291
+ # @return [FlowLog]
292
+ def datacenters_natgateways_flowlogs_find_by_flow_log_id(datacenter_id, nat_gateway_id, flow_log_id, opts = {})
293
+ data, _status_code, _headers = datacenters_natgateways_flowlogs_find_by_flow_log_id_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, opts)
294
+ data
295
+ end
296
+
297
+ # Retrieve a Flow Log of the NAT Gateway
298
+ # This will return a Flow Log of the NAT Gateway.
299
+ # @param datacenter_id [String] The unique ID of the datacenter
300
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
301
+ # @param flow_log_id [String] The unique ID of the flow log
302
+ # @param [Hash] opts the optional parameters
303
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
304
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
305
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
306
+ def datacenters_natgateways_flowlogs_find_by_flow_log_id_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, opts = {})
307
+ if @api_client.config.debugging
308
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id ...'
309
+ end
310
+ # verify the required parameter 'datacenter_id' is set
311
+ if @api_client.config.client_side_validation && datacenter_id.nil?
312
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id"
313
+ end
314
+ # verify the required parameter 'nat_gateway_id' is set
315
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
316
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id"
317
+ end
318
+ # verify the required parameter 'flow_log_id' is set
319
+ if @api_client.config.client_side_validation && flow_log_id.nil?
320
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id"
321
+ end
322
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
323
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id, must be smaller than or equal to 10.'
324
+ end
325
+
326
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
327
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id, must be greater than or equal to 0.'
328
+ end
329
+
330
+ # resource path
331
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
332
+
333
+ # query parameters
334
+ query_params = opts[:query_params] || {}
335
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
336
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
337
+
338
+ # header parameters
339
+ header_params = opts[:header_params] || {}
340
+ # HTTP header 'Accept' (if needed)
341
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
342
+
343
+ # form parameters
344
+ form_params = opts[:form_params] || {}
345
+
346
+ # http body (model)
347
+ post_body = opts[:debug_body]
348
+
349
+ # return_type
350
+ return_type = opts[:debug_return_type] || 'FlowLog'
351
+
352
+ # auth_names
353
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
354
+
355
+ new_options = opts.merge(
356
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_find_by_flow_log_id",
357
+ :header_params => header_params,
358
+ :query_params => query_params,
359
+ :form_params => form_params,
360
+ :body => post_body,
361
+ :auth_names => auth_names,
362
+ :return_type => return_type
363
+ )
364
+
365
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
366
+ if @api_client.config.debugging
367
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_find_by_flow_log_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
368
+ end
369
+ return data, status_code, headers
370
+ end
371
+
372
+ # List NAT Gateway Flow Logs
373
+ # You can retrieve a list of Flow Logs of the NAT Gateway.
374
+ # @param datacenter_id [String] The unique ID of the datacenter
375
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
376
+ # @param [Hash] opts the optional parameters
377
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
378
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
379
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination) (default to 0)
380
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination) (default to 1000)
381
+ # @return [FlowLogs]
382
+ def datacenters_natgateways_flowlogs_get(datacenter_id, nat_gateway_id, opts = {})
383
+ data, _status_code, _headers = datacenters_natgateways_flowlogs_get_with_http_info(datacenter_id, nat_gateway_id, opts)
384
+ data
385
+ end
386
+
387
+ # List NAT Gateway Flow Logs
388
+ # You can retrieve a list of Flow Logs of the NAT Gateway.
389
+ # @param datacenter_id [String] The unique ID of the datacenter
390
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
391
+ # @param [Hash] opts the optional parameters
392
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
393
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
394
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination)
395
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination)
396
+ # @return [Array<(FlowLogs, Integer, Hash)>] FlowLogs data, response status code and response headers
397
+ def datacenters_natgateways_flowlogs_get_with_http_info(datacenter_id, nat_gateway_id, opts = {})
398
+ if @api_client.config.debugging
399
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_get ...'
400
+ end
401
+ # verify the required parameter 'datacenter_id' is set
402
+ if @api_client.config.client_side_validation && datacenter_id.nil?
403
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get"
404
+ end
405
+ # verify the required parameter 'nat_gateway_id' is set
406
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
407
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get"
408
+ end
409
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
410
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get, must be smaller than or equal to 10.'
411
+ end
412
+
413
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
414
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get, must be greater than or equal to 0.'
415
+ end
416
+
417
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
418
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get, must be greater than or equal to 0.'
419
+ end
420
+
421
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
422
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get, must be smaller than or equal to 10000.'
423
+ end
424
+
425
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
426
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_get, must be greater than or equal to 1.'
427
+ end
428
+
429
+ # resource path
430
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
431
+
432
+ # query parameters
433
+ query_params = opts[:query_params] || {}
434
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
435
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
436
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
437
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
438
+
439
+ # header parameters
440
+ header_params = opts[:header_params] || {}
441
+ # HTTP header 'Accept' (if needed)
442
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
443
+
444
+ # form parameters
445
+ form_params = opts[:form_params] || {}
446
+
447
+ # http body (model)
448
+ post_body = opts[:debug_body]
449
+
450
+ # return_type
451
+ return_type = opts[:debug_return_type] || 'FlowLogs'
452
+
453
+ # auth_names
454
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
455
+
456
+ new_options = opts.merge(
457
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_get",
458
+ :header_params => header_params,
459
+ :query_params => query_params,
460
+ :form_params => form_params,
461
+ :body => post_body,
462
+ :auth_names => auth_names,
463
+ :return_type => return_type
464
+ )
465
+
466
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
467
+ if @api_client.config.debugging
468
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
469
+ end
470
+ return data, status_code, headers
471
+ end
472
+
473
+ # Partially modify a Flow Log of the NAT Gateway
474
+ # You can use to partially update a Flow Log of a NAT Gateway.
475
+ # @param datacenter_id [String] The unique ID of the datacenter
476
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
477
+ # @param flow_log_id [String] The unique ID of the flow log
478
+ # @param nat_gateway_flow_log_properties [FlowLogProperties] Properties of a Flow Log to be updated
479
+ # @param [Hash] opts the optional parameters
480
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
481
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
482
+ # @return [FlowLog]
483
+ def datacenters_natgateways_flowlogs_patch(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log_properties, opts = {})
484
+ data, _status_code, _headers = datacenters_natgateways_flowlogs_patch_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log_properties, opts)
485
+ data
486
+ end
487
+
488
+ # Partially modify a Flow Log of the NAT Gateway
489
+ # You can use to partially update a Flow Log of a NAT Gateway.
490
+ # @param datacenter_id [String] The unique ID of the datacenter
491
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
492
+ # @param flow_log_id [String] The unique ID of the flow log
493
+ # @param nat_gateway_flow_log_properties [FlowLogProperties] Properties of a Flow Log to be updated
494
+ # @param [Hash] opts the optional parameters
495
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
496
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
497
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
498
+ def datacenters_natgateways_flowlogs_patch_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log_properties, opts = {})
499
+ if @api_client.config.debugging
500
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_patch ...'
501
+ end
502
+ # verify the required parameter 'datacenter_id' is set
503
+ if @api_client.config.client_side_validation && datacenter_id.nil?
504
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch"
505
+ end
506
+ # verify the required parameter 'nat_gateway_id' is set
507
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
508
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch"
509
+ end
510
+ # verify the required parameter 'flow_log_id' is set
511
+ if @api_client.config.client_side_validation && flow_log_id.nil?
512
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch"
513
+ end
514
+ # verify the required parameter 'nat_gateway_flow_log_properties' is set
515
+ if @api_client.config.client_side_validation && nat_gateway_flow_log_properties.nil?
516
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_flow_log_properties' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch"
517
+ end
518
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
519
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch, must be smaller than or equal to 10.'
520
+ end
521
+
522
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
523
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_patch, must be greater than or equal to 0.'
524
+ end
525
+
526
+ # resource path
527
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
528
+
529
+ # query parameters
530
+ query_params = opts[:query_params] || {}
531
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
532
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
533
+
534
+ # header parameters
535
+ header_params = opts[:header_params] || {}
536
+ # HTTP header 'Accept' (if needed)
537
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
538
+
539
+ # form parameters
540
+ form_params = opts[:form_params] || {}
541
+
542
+ # http body (model)
543
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_flow_log_properties)
544
+
545
+ # return_type
546
+ return_type = opts[:debug_return_type] || 'FlowLog'
547
+
548
+ # auth_names
549
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
550
+
551
+ new_options = opts.merge(
552
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_patch",
553
+ :header_params => header_params,
554
+ :query_params => query_params,
555
+ :form_params => form_params,
556
+ :body => post_body,
557
+ :auth_names => auth_names,
558
+ :return_type => return_type
559
+ )
560
+
561
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
562
+ if @api_client.config.debugging
563
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
564
+ end
565
+ return data, status_code, headers
566
+ end
567
+
568
+ # Add a NAT Gateways Flow Log
569
+ # This will add a new Flow Log to the NAT Gateway.
570
+ # @param datacenter_id [String] The unique ID of the datacenter
571
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
572
+ # @param nat_gateway_flow_log [FlowLog] Flow Log to add on NAT Gateway
573
+ # @param [Hash] opts the optional parameters
574
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
575
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
576
+ # @return [FlowLog]
577
+ def datacenters_natgateways_flowlogs_post(datacenter_id, nat_gateway_id, nat_gateway_flow_log, opts = {})
578
+ data, _status_code, _headers = datacenters_natgateways_flowlogs_post_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_flow_log, opts)
579
+ data
580
+ end
581
+
582
+ # Add a NAT Gateways Flow Log
583
+ # This will add a new Flow Log to the NAT Gateway.
584
+ # @param datacenter_id [String] The unique ID of the datacenter
585
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
586
+ # @param nat_gateway_flow_log [FlowLog] Flow Log to add on NAT Gateway
587
+ # @param [Hash] opts the optional parameters
588
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
589
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
590
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
591
+ def datacenters_natgateways_flowlogs_post_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_flow_log, opts = {})
592
+ if @api_client.config.debugging
593
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_post ...'
594
+ end
595
+ # verify the required parameter 'datacenter_id' is set
596
+ if @api_client.config.client_side_validation && datacenter_id.nil?
597
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post"
598
+ end
599
+ # verify the required parameter 'nat_gateway_id' is set
600
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
601
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post"
602
+ end
603
+ # verify the required parameter 'nat_gateway_flow_log' is set
604
+ if @api_client.config.client_side_validation && nat_gateway_flow_log.nil?
605
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_flow_log' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post"
606
+ end
607
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
608
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post, must be smaller than or equal to 10.'
609
+ end
610
+
611
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
612
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_post, must be greater than or equal to 0.'
613
+ end
614
+
615
+ # resource path
616
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
617
+
618
+ # query parameters
619
+ query_params = opts[:query_params] || {}
620
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
621
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
622
+
623
+ # header parameters
624
+ header_params = opts[:header_params] || {}
625
+ # HTTP header 'Accept' (if needed)
626
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
627
+ # HTTP header 'Content-Type'
628
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
629
+
630
+ # form parameters
631
+ form_params = opts[:form_params] || {}
632
+
633
+ # http body (model)
634
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_flow_log)
635
+
636
+ # return_type
637
+ return_type = opts[:debug_return_type] || 'FlowLog'
638
+
639
+ # auth_names
640
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
641
+
642
+ new_options = opts.merge(
643
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_post",
644
+ :header_params => header_params,
645
+ :query_params => query_params,
646
+ :form_params => form_params,
647
+ :body => post_body,
648
+ :auth_names => auth_names,
649
+ :return_type => return_type
650
+ )
651
+
652
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
653
+ if @api_client.config.debugging
654
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
655
+ end
656
+ return data, status_code, headers
657
+ end
658
+
659
+ # Modify a Flow Log of the NAT Gateway
660
+ # You can use to update a Flow Log of the NAT Gateway.
661
+ # @param datacenter_id [String] The unique ID of the datacenter
662
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
663
+ # @param flow_log_id [String] The unique ID of the flow log
664
+ # @param nat_gateway_flow_log [FlowLogPut] Modified NAT Gateway Flow Log
665
+ # @param [Hash] opts the optional parameters
666
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
667
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
668
+ # @return [FlowLog]
669
+ def datacenters_natgateways_flowlogs_put(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log, opts = {})
670
+ data, _status_code, _headers = datacenters_natgateways_flowlogs_put_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log, opts)
671
+ data
672
+ end
673
+
674
+ # Modify a Flow Log of the NAT Gateway
675
+ # You can use to update a Flow Log of the NAT Gateway.
676
+ # @param datacenter_id [String] The unique ID of the datacenter
677
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
678
+ # @param flow_log_id [String] The unique ID of the flow log
679
+ # @param nat_gateway_flow_log [FlowLogPut] Modified NAT Gateway Flow Log
680
+ # @param [Hash] opts the optional parameters
681
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
682
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
683
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
684
+ def datacenters_natgateways_flowlogs_put_with_http_info(datacenter_id, nat_gateway_id, flow_log_id, nat_gateway_flow_log, opts = {})
685
+ if @api_client.config.debugging
686
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_flowlogs_put ...'
687
+ end
688
+ # verify the required parameter 'datacenter_id' is set
689
+ if @api_client.config.client_side_validation && datacenter_id.nil?
690
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put"
691
+ end
692
+ # verify the required parameter 'nat_gateway_id' is set
693
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
694
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put"
695
+ end
696
+ # verify the required parameter 'flow_log_id' is set
697
+ if @api_client.config.client_side_validation && flow_log_id.nil?
698
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put"
699
+ end
700
+ # verify the required parameter 'nat_gateway_flow_log' is set
701
+ if @api_client.config.client_side_validation && nat_gateway_flow_log.nil?
702
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_flow_log' when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put"
703
+ end
704
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
705
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put, must be smaller than or equal to 10.'
706
+ end
707
+
708
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
709
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_flowlogs_put, must be greater than or equal to 0.'
710
+ end
711
+
712
+ # resource path
713
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
714
+
715
+ # query parameters
716
+ query_params = opts[:query_params] || {}
717
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
718
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
719
+
720
+ # header parameters
721
+ header_params = opts[:header_params] || {}
722
+ # HTTP header 'Accept' (if needed)
723
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
724
+ # HTTP header 'Content-Type'
725
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
726
+
727
+ # form parameters
728
+ form_params = opts[:form_params] || {}
729
+
730
+ # http body (model)
731
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_flow_log)
732
+
733
+ # return_type
734
+ return_type = opts[:debug_return_type] || 'FlowLog'
735
+
736
+ # auth_names
737
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
738
+
739
+ new_options = opts.merge(
740
+ :operation => :"NATGatewaysApi.datacenters_natgateways_flowlogs_put",
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(:PUT, local_var_path, new_options)
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_flowlogs_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
752
+ end
753
+ return data, status_code, headers
754
+ end
755
+
756
+ # List NAT Gateways
757
+ # Retrieve a list of NAT Gateways within the datacenter.
758
+ # @param datacenter_id [String] The unique ID of the datacenter
759
+ # @param [Hash] opts the optional parameters
760
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
761
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
762
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
763
+ # @return [NatGateways]
764
+ def datacenters_natgateways_get(datacenter_id, opts = {})
765
+ data, _status_code, _headers = datacenters_natgateways_get_with_http_info(datacenter_id, opts)
766
+ data
767
+ end
768
+
769
+ # List NAT Gateways
770
+ # Retrieve a list of NAT Gateways within the datacenter.
771
+ # @param datacenter_id [String] The unique ID of the datacenter
772
+ # @param [Hash] opts the optional parameters
773
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
774
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
775
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
776
+ # @return [Array<(NatGateways, Integer, Hash)>] NatGateways data, response status code and response headers
777
+ def datacenters_natgateways_get_with_http_info(datacenter_id, opts = {})
778
+ if @api_client.config.debugging
779
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_get ...'
780
+ end
781
+ # verify the required parameter 'datacenter_id' is set
782
+ if @api_client.config.client_side_validation && datacenter_id.nil?
783
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_get"
784
+ end
785
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
786
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_get, must be smaller than or equal to 10.'
787
+ end
788
+
789
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
790
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_get, must be greater than or equal to 0.'
791
+ end
792
+
793
+ # resource path
794
+ local_var_path = '/datacenters/{datacenterId}/natgateways'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
795
+
796
+ # query parameters
797
+ query_params = opts[:query_params] || {}
798
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
799
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
800
+
801
+ # header parameters
802
+ header_params = opts[:header_params] || {}
803
+ # HTTP header 'Accept' (if needed)
804
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
805
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
806
+
807
+ # form parameters
808
+ form_params = opts[:form_params] || {}
809
+
810
+ # http body (model)
811
+ post_body = opts[:debug_body]
812
+
813
+ # return_type
814
+ return_type = opts[:debug_return_type] || 'NatGateways'
815
+
816
+ # auth_names
817
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
818
+
819
+ new_options = opts.merge(
820
+ :operation => :"NATGatewaysApi.datacenters_natgateways_get",
821
+ :header_params => header_params,
822
+ :query_params => query_params,
823
+ :form_params => form_params,
824
+ :body => post_body,
825
+ :auth_names => auth_names,
826
+ :return_type => return_type
827
+ )
828
+
829
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
830
+ if @api_client.config.debugging
831
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
832
+ end
833
+ return data, status_code, headers
834
+ end
835
+
836
+ # Partially update a NAT gateway
837
+ # Partially update the attributes of a given NAT gateway
838
+ # @param datacenter_id [String] The unique ID of the datacenter
839
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
840
+ # @param nat_gateway_properties [NatGatewayProperties] NAT gateway properties to be updated
841
+ # @param [Hash] opts the optional parameters
842
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
843
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
844
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
845
+ # @return [NatGateway]
846
+ def datacenters_natgateways_patch(datacenter_id, nat_gateway_id, nat_gateway_properties, opts = {})
847
+ data, _status_code, _headers = datacenters_natgateways_patch_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_properties, opts)
848
+ data
849
+ end
850
+
851
+ # Partially update a NAT gateway
852
+ # Partially update the attributes of a given NAT gateway
853
+ # @param datacenter_id [String] The unique ID of the datacenter
854
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
855
+ # @param nat_gateway_properties [NatGatewayProperties] NAT gateway properties to be updated
856
+ # @param [Hash] opts the optional parameters
857
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
858
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
859
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
860
+ # @return [Array<(NatGateway, Integer, Hash)>] NatGateway data, response status code and response headers
861
+ def datacenters_natgateways_patch_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_properties, opts = {})
862
+ if @api_client.config.debugging
863
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_patch ...'
864
+ end
865
+ # verify the required parameter 'datacenter_id' is set
866
+ if @api_client.config.client_side_validation && datacenter_id.nil?
867
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_patch"
868
+ end
869
+ # verify the required parameter 'nat_gateway_id' is set
870
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
871
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_patch"
872
+ end
873
+ # verify the required parameter 'nat_gateway_properties' is set
874
+ if @api_client.config.client_side_validation && nat_gateway_properties.nil?
875
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_properties' when calling NATGatewaysApi.datacenters_natgateways_patch"
876
+ end
877
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
878
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_patch, must be smaller than or equal to 10.'
879
+ end
880
+
881
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
882
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_patch, must be greater than or equal to 0.'
883
+ end
884
+
885
+ # resource path
886
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
887
+
888
+ # query parameters
889
+ query_params = opts[:query_params] || {}
890
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
891
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
892
+
893
+ # header parameters
894
+ header_params = opts[:header_params] || {}
895
+ # HTTP header 'Accept' (if needed)
896
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
897
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
898
+
899
+ # form parameters
900
+ form_params = opts[:form_params] || {}
901
+
902
+ # http body (model)
903
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_properties)
904
+
905
+ # return_type
906
+ return_type = opts[:debug_return_type] || 'NatGateway'
907
+
908
+ # auth_names
909
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
910
+
911
+ new_options = opts.merge(
912
+ :operation => :"NATGatewaysApi.datacenters_natgateways_patch",
913
+ :header_params => header_params,
914
+ :query_params => query_params,
915
+ :form_params => form_params,
916
+ :body => post_body,
917
+ :auth_names => auth_names,
918
+ :return_type => return_type
919
+ )
920
+
921
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
922
+ if @api_client.config.debugging
923
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
924
+ end
925
+ return data, status_code, headers
926
+ end
927
+
928
+ # Create a NAT Gateway
929
+ # Creates a NAT Gateway within the datacenter. User should be the contract owner or a admin or a user with createInternetAccess privilege
930
+ # @param datacenter_id [String] The unique ID of the datacenter
931
+ # @param nat_gateway [NatGateway] NAT gateway to be created
932
+ # @param [Hash] opts the optional parameters
933
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
934
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
935
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
936
+ # @return [NatGateway]
937
+ def datacenters_natgateways_post(datacenter_id, nat_gateway, opts = {})
938
+ data, _status_code, _headers = datacenters_natgateways_post_with_http_info(datacenter_id, nat_gateway, opts)
939
+ data
940
+ end
941
+
942
+ # Create a NAT Gateway
943
+ # Creates a NAT Gateway within the datacenter. User should be the contract owner or a admin or a user with createInternetAccess privilege
944
+ # @param datacenter_id [String] The unique ID of the datacenter
945
+ # @param nat_gateway [NatGateway] NAT gateway to be created
946
+ # @param [Hash] opts the optional parameters
947
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
948
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
949
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
950
+ # @return [Array<(NatGateway, Integer, Hash)>] NatGateway data, response status code and response headers
951
+ def datacenters_natgateways_post_with_http_info(datacenter_id, nat_gateway, opts = {})
952
+ if @api_client.config.debugging
953
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_post ...'
954
+ end
955
+ # verify the required parameter 'datacenter_id' is set
956
+ if @api_client.config.client_side_validation && datacenter_id.nil?
957
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_post"
958
+ end
959
+ # verify the required parameter 'nat_gateway' is set
960
+ if @api_client.config.client_side_validation && nat_gateway.nil?
961
+ fail ArgumentError, "Missing the required parameter 'nat_gateway' when calling NATGatewaysApi.datacenters_natgateways_post"
962
+ end
963
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
964
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_post, must be smaller than or equal to 10.'
965
+ end
966
+
967
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
968
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_post, must be greater than or equal to 0.'
969
+ end
970
+
971
+ # resource path
972
+ local_var_path = '/datacenters/{datacenterId}/natgateways'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
973
+
974
+ # query parameters
975
+ query_params = opts[:query_params] || {}
976
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
977
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
978
+
979
+ # header parameters
980
+ header_params = opts[:header_params] || {}
981
+ # HTTP header 'Accept' (if needed)
982
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
983
+ # HTTP header 'Content-Type'
984
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
985
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
986
+
987
+ # form parameters
988
+ form_params = opts[:form_params] || {}
989
+
990
+ # http body (model)
991
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway)
992
+
993
+ # return_type
994
+ return_type = opts[:debug_return_type] || 'NatGateway'
995
+
996
+ # auth_names
997
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
998
+
999
+ new_options = opts.merge(
1000
+ :operation => :"NATGatewaysApi.datacenters_natgateways_post",
1001
+ :header_params => header_params,
1002
+ :query_params => query_params,
1003
+ :form_params => form_params,
1004
+ :body => post_body,
1005
+ :auth_names => auth_names,
1006
+ :return_type => return_type
1007
+ )
1008
+
1009
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1010
+ if @api_client.config.debugging
1011
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1012
+ end
1013
+ return data, status_code, headers
1014
+ end
1015
+
1016
+ # Update a NAT gateway
1017
+ # Update the attributes of a given NAT gateway
1018
+ # @param datacenter_id [String] The unique ID of the datacenter
1019
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1020
+ # @param nat_gateway [NatGatewayPut] Modified NAT Gateway
1021
+ # @param [Hash] opts the optional parameters
1022
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1023
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1024
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1025
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination) (default to 0)
1026
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination) (default to 1000)
1027
+ # @return [NatGateway]
1028
+ def datacenters_natgateways_put(datacenter_id, nat_gateway_id, nat_gateway, opts = {})
1029
+ data, _status_code, _headers = datacenters_natgateways_put_with_http_info(datacenter_id, nat_gateway_id, nat_gateway, opts)
1030
+ data
1031
+ end
1032
+
1033
+ # Update a NAT gateway
1034
+ # Update the attributes of a given NAT gateway
1035
+ # @param datacenter_id [String] The unique ID of the datacenter
1036
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1037
+ # @param nat_gateway [NatGatewayPut] Modified NAT Gateway
1038
+ # @param [Hash] opts the optional parameters
1039
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1040
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1041
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1042
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination)
1043
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination)
1044
+ # @return [Array<(NatGateway, Integer, Hash)>] NatGateway data, response status code and response headers
1045
+ def datacenters_natgateways_put_with_http_info(datacenter_id, nat_gateway_id, nat_gateway, opts = {})
1046
+ if @api_client.config.debugging
1047
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_put ...'
1048
+ end
1049
+ # verify the required parameter 'datacenter_id' is set
1050
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1051
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_put"
1052
+ end
1053
+ # verify the required parameter 'nat_gateway_id' is set
1054
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1055
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_put"
1056
+ end
1057
+ # verify the required parameter 'nat_gateway' is set
1058
+ if @api_client.config.client_side_validation && nat_gateway.nil?
1059
+ fail ArgumentError, "Missing the required parameter 'nat_gateway' when calling NATGatewaysApi.datacenters_natgateways_put"
1060
+ end
1061
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1062
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_put, must be smaller than or equal to 10.'
1063
+ end
1064
+
1065
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1066
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_put, must be greater than or equal to 0.'
1067
+ end
1068
+
1069
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
1070
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling NATGatewaysApi.datacenters_natgateways_put, must be greater than or equal to 0.'
1071
+ end
1072
+
1073
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
1074
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NATGatewaysApi.datacenters_natgateways_put, must be smaller than or equal to 10000.'
1075
+ end
1076
+
1077
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
1078
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NATGatewaysApi.datacenters_natgateways_put, must be greater than or equal to 1.'
1079
+ end
1080
+
1081
+ # resource path
1082
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
1083
+
1084
+ # query parameters
1085
+ query_params = opts[:query_params] || {}
1086
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1087
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1088
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
1089
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1090
+
1091
+ # header parameters
1092
+ header_params = opts[:header_params] || {}
1093
+ # HTTP header 'Accept' (if needed)
1094
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1095
+ # HTTP header 'Content-Type'
1096
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1097
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1098
+
1099
+ # form parameters
1100
+ form_params = opts[:form_params] || {}
1101
+
1102
+ # http body (model)
1103
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway)
1104
+
1105
+ # return_type
1106
+ return_type = opts[:debug_return_type] || 'NatGateway'
1107
+
1108
+ # auth_names
1109
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1110
+
1111
+ new_options = opts.merge(
1112
+ :operation => :"NATGatewaysApi.datacenters_natgateways_put",
1113
+ :header_params => header_params,
1114
+ :query_params => query_params,
1115
+ :form_params => form_params,
1116
+ :body => post_body,
1117
+ :auth_names => auth_names,
1118
+ :return_type => return_type
1119
+ )
1120
+
1121
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1122
+ if @api_client.config.debugging
1123
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1124
+ end
1125
+ return data, status_code, headers
1126
+ end
1127
+
1128
+ # Remove rule from NAT Gateway
1129
+ # This will remove a rule from the NAT gateway.
1130
+ # @param datacenter_id [String] The unique ID of the datacenter
1131
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1132
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1133
+ # @param [Hash] opts the optional parameters
1134
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1135
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1136
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1137
+ # @return [nil]
1138
+ def datacenters_natgateways_rules_delete(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts = {})
1139
+ datacenters_natgateways_rules_delete_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts)
1140
+ nil
1141
+ end
1142
+
1143
+ # Remove rule from NAT Gateway
1144
+ # This will remove a rule from the NAT gateway.
1145
+ # @param datacenter_id [String] The unique ID of the datacenter
1146
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1147
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1148
+ # @param [Hash] opts the optional parameters
1149
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1150
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1151
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1152
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1153
+ def datacenters_natgateways_rules_delete_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts = {})
1154
+ if @api_client.config.debugging
1155
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_delete ...'
1156
+ end
1157
+ # verify the required parameter 'datacenter_id' is set
1158
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1159
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_delete"
1160
+ end
1161
+ # verify the required parameter 'nat_gateway_id' is set
1162
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1163
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_delete"
1164
+ end
1165
+ # verify the required parameter 'nat_gateway_rule_id' is set
1166
+ if @api_client.config.client_side_validation && nat_gateway_rule_id.nil?
1167
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule_id' when calling NATGatewaysApi.datacenters_natgateways_rules_delete"
1168
+ end
1169
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1170
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_delete, must be smaller than or equal to 10.'
1171
+ end
1172
+
1173
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1174
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_delete, must be greater than or equal to 0.'
1175
+ end
1176
+
1177
+ # resource path
1178
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'natGatewayRuleId' + '}', CGI.escape(nat_gateway_rule_id.to_s))
1179
+
1180
+ # query parameters
1181
+ query_params = opts[:query_params] || {}
1182
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1183
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1184
+
1185
+ # header parameters
1186
+ header_params = opts[:header_params] || {}
1187
+ # HTTP header 'Accept' (if needed)
1188
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1189
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1190
+
1191
+ # form parameters
1192
+ form_params = opts[:form_params] || {}
1193
+
1194
+ # http body (model)
1195
+ post_body = opts[:debug_body]
1196
+
1197
+ # return_type
1198
+ return_type = opts[:debug_return_type]
1199
+
1200
+ # auth_names
1201
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1202
+
1203
+ new_options = opts.merge(
1204
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_delete",
1205
+ :header_params => header_params,
1206
+ :query_params => query_params,
1207
+ :form_params => form_params,
1208
+ :body => post_body,
1209
+ :auth_names => auth_names,
1210
+ :return_type => return_type
1211
+ )
1212
+
1213
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1214
+ if @api_client.config.debugging
1215
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1216
+ end
1217
+ return data, status_code, headers
1218
+ end
1219
+
1220
+ # Retrieve a NAT Gateway Rule
1221
+ # Retrieves the attributes of a given NAT gateway rule.
1222
+ # @param datacenter_id [String] The unique ID of the datacenter
1223
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1224
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1225
+ # @param [Hash] opts the optional parameters
1226
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1227
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1228
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1229
+ # @return [NatGatewayRule]
1230
+ def datacenters_natgateways_rules_find_by_nat_gateway_rule_id(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts = {})
1231
+ data, _status_code, _headers = datacenters_natgateways_rules_find_by_nat_gateway_rule_id_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts)
1232
+ data
1233
+ end
1234
+
1235
+ # Retrieve a NAT Gateway Rule
1236
+ # Retrieves the attributes of a given NAT gateway rule.
1237
+ # @param datacenter_id [String] The unique ID of the datacenter
1238
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1239
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1240
+ # @param [Hash] opts the optional parameters
1241
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1242
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1243
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1244
+ # @return [Array<(NatGatewayRule, Integer, Hash)>] NatGatewayRule data, response status code and response headers
1245
+ def datacenters_natgateways_rules_find_by_nat_gateway_rule_id_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, opts = {})
1246
+ if @api_client.config.debugging
1247
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id ...'
1248
+ end
1249
+ # verify the required parameter 'datacenter_id' is set
1250
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1251
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id"
1252
+ end
1253
+ # verify the required parameter 'nat_gateway_id' is set
1254
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1255
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id"
1256
+ end
1257
+ # verify the required parameter 'nat_gateway_rule_id' is set
1258
+ if @api_client.config.client_side_validation && nat_gateway_rule_id.nil?
1259
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule_id' when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id"
1260
+ end
1261
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1262
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id, must be smaller than or equal to 10.'
1263
+ end
1264
+
1265
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1266
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id, must be greater than or equal to 0.'
1267
+ end
1268
+
1269
+ # resource path
1270
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'natGatewayRuleId' + '}', CGI.escape(nat_gateway_rule_id.to_s))
1271
+
1272
+ # query parameters
1273
+ query_params = opts[:query_params] || {}
1274
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1275
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1276
+
1277
+ # header parameters
1278
+ header_params = opts[:header_params] || {}
1279
+ # HTTP header 'Accept' (if needed)
1280
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1281
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1282
+
1283
+ # form parameters
1284
+ form_params = opts[:form_params] || {}
1285
+
1286
+ # http body (model)
1287
+ post_body = opts[:debug_body]
1288
+
1289
+ # return_type
1290
+ return_type = opts[:debug_return_type] || 'NatGatewayRule'
1291
+
1292
+ # auth_names
1293
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1294
+
1295
+ new_options = opts.merge(
1296
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_find_by_nat_gateway_rule_id",
1297
+ :header_params => header_params,
1298
+ :query_params => query_params,
1299
+ :form_params => form_params,
1300
+ :body => post_body,
1301
+ :auth_names => auth_names,
1302
+ :return_type => return_type
1303
+ )
1304
+
1305
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1306
+ if @api_client.config.debugging
1307
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_find_by_nat_gateway_rule_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1308
+ end
1309
+ return data, status_code, headers
1310
+ end
1311
+
1312
+ # List NAT Gateways Rules
1313
+ # Retrieve a list of rules of a NAT Gateway within the datacenter.
1314
+ # @param datacenter_id [String] The unique ID of the datacenter
1315
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1316
+ # @param [Hash] opts the optional parameters
1317
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1318
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1319
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1320
+ # @return [NatGatewayRules]
1321
+ def datacenters_natgateways_rules_get(datacenter_id, nat_gateway_id, opts = {})
1322
+ data, _status_code, _headers = datacenters_natgateways_rules_get_with_http_info(datacenter_id, nat_gateway_id, opts)
1323
+ data
1324
+ end
1325
+
1326
+ # List NAT Gateways Rules
1327
+ # Retrieve a list of rules of a NAT Gateway within the datacenter.
1328
+ # @param datacenter_id [String] The unique ID of the datacenter
1329
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1330
+ # @param [Hash] opts the optional parameters
1331
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1332
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1333
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1334
+ # @return [Array<(NatGatewayRules, Integer, Hash)>] NatGatewayRules data, response status code and response headers
1335
+ def datacenters_natgateways_rules_get_with_http_info(datacenter_id, nat_gateway_id, opts = {})
1336
+ if @api_client.config.debugging
1337
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_get ...'
1338
+ end
1339
+ # verify the required parameter 'datacenter_id' is set
1340
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1341
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_get"
1342
+ end
1343
+ # verify the required parameter 'nat_gateway_id' is set
1344
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1345
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_get"
1346
+ end
1347
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1348
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_get, must be smaller than or equal to 10.'
1349
+ end
1350
+
1351
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1352
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_get, must be greater than or equal to 0.'
1353
+ end
1354
+
1355
+ # resource path
1356
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
1357
+
1358
+ # query parameters
1359
+ query_params = opts[:query_params] || {}
1360
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1361
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1362
+
1363
+ # header parameters
1364
+ header_params = opts[:header_params] || {}
1365
+ # HTTP header 'Accept' (if needed)
1366
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1367
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1368
+
1369
+ # form parameters
1370
+ form_params = opts[:form_params] || {}
1371
+
1372
+ # http body (model)
1373
+ post_body = opts[:debug_body]
1374
+
1375
+ # return_type
1376
+ return_type = opts[:debug_return_type] || 'NatGatewayRules'
1377
+
1378
+ # auth_names
1379
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1380
+
1381
+ new_options = opts.merge(
1382
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_get",
1383
+ :header_params => header_params,
1384
+ :query_params => query_params,
1385
+ :form_params => form_params,
1386
+ :body => post_body,
1387
+ :auth_names => auth_names,
1388
+ :return_type => return_type
1389
+ )
1390
+
1391
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1392
+ if @api_client.config.debugging
1393
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1394
+ end
1395
+ return data, status_code, headers
1396
+ end
1397
+
1398
+ # Partially modify a rule of the NAT gateway
1399
+ # You can use to partially update a rule of a NAT gateway.
1400
+ # @param datacenter_id [String] The unique ID of the datacenter
1401
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1402
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1403
+ # @param nat_gateway_rule_properties [NatGatewayRuleProperties] Properties of a NAT gateway rule to be updated
1404
+ # @param [Hash] opts the optional parameters
1405
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1406
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1407
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1408
+ # @return [NatGatewayRule]
1409
+ def datacenters_natgateways_rules_patch(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule_properties, opts = {})
1410
+ data, _status_code, _headers = datacenters_natgateways_rules_patch_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule_properties, opts)
1411
+ data
1412
+ end
1413
+
1414
+ # Partially modify a rule of the NAT gateway
1415
+ # You can use to partially update a rule of a NAT gateway.
1416
+ # @param datacenter_id [String] The unique ID of the datacenter
1417
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1418
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1419
+ # @param nat_gateway_rule_properties [NatGatewayRuleProperties] Properties of a NAT gateway rule to be updated
1420
+ # @param [Hash] opts the optional parameters
1421
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1422
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1423
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1424
+ # @return [Array<(NatGatewayRule, Integer, Hash)>] NatGatewayRule data, response status code and response headers
1425
+ def datacenters_natgateways_rules_patch_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule_properties, opts = {})
1426
+ if @api_client.config.debugging
1427
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_patch ...'
1428
+ end
1429
+ # verify the required parameter 'datacenter_id' is set
1430
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1431
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_patch"
1432
+ end
1433
+ # verify the required parameter 'nat_gateway_id' is set
1434
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1435
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_patch"
1436
+ end
1437
+ # verify the required parameter 'nat_gateway_rule_id' is set
1438
+ if @api_client.config.client_side_validation && nat_gateway_rule_id.nil?
1439
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule_id' when calling NATGatewaysApi.datacenters_natgateways_rules_patch"
1440
+ end
1441
+ # verify the required parameter 'nat_gateway_rule_properties' is set
1442
+ if @api_client.config.client_side_validation && nat_gateway_rule_properties.nil?
1443
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule_properties' when calling NATGatewaysApi.datacenters_natgateways_rules_patch"
1444
+ end
1445
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1446
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_patch, must be smaller than or equal to 10.'
1447
+ end
1448
+
1449
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1450
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_patch, must be greater than or equal to 0.'
1451
+ end
1452
+
1453
+ # resource path
1454
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'natGatewayRuleId' + '}', CGI.escape(nat_gateway_rule_id.to_s))
1455
+
1456
+ # query parameters
1457
+ query_params = opts[:query_params] || {}
1458
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1459
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1460
+
1461
+ # header parameters
1462
+ header_params = opts[:header_params] || {}
1463
+ # HTTP header 'Accept' (if needed)
1464
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1465
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1466
+
1467
+ # form parameters
1468
+ form_params = opts[:form_params] || {}
1469
+
1470
+ # http body (model)
1471
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_rule_properties)
1472
+
1473
+ # return_type
1474
+ return_type = opts[:debug_return_type] || 'NatGatewayRule'
1475
+
1476
+ # auth_names
1477
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1478
+
1479
+ new_options = opts.merge(
1480
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_patch",
1481
+ :header_params => header_params,
1482
+ :query_params => query_params,
1483
+ :form_params => form_params,
1484
+ :body => post_body,
1485
+ :auth_names => auth_names,
1486
+ :return_type => return_type
1487
+ )
1488
+
1489
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1490
+ if @api_client.config.debugging
1491
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1492
+ end
1493
+ return data, status_code, headers
1494
+ end
1495
+
1496
+ # Create a NAT Gateway Rule
1497
+ # Creates a rule within the NAT Gateway of a datacenter.
1498
+ # @param datacenter_id [String] The unique ID of the datacenter
1499
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1500
+ # @param nat_gateway_rule [NatGatewayRule] NAT gateway rule to be created
1501
+ # @param [Hash] opts the optional parameters
1502
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1503
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1504
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1505
+ # @return [NatGatewayRule]
1506
+ def datacenters_natgateways_rules_post(datacenter_id, nat_gateway_id, nat_gateway_rule, opts = {})
1507
+ data, _status_code, _headers = datacenters_natgateways_rules_post_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule, opts)
1508
+ data
1509
+ end
1510
+
1511
+ # Create a NAT Gateway Rule
1512
+ # Creates a rule within the NAT Gateway of a datacenter.
1513
+ # @param datacenter_id [String] The unique ID of the datacenter
1514
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1515
+ # @param nat_gateway_rule [NatGatewayRule] NAT gateway rule to be created
1516
+ # @param [Hash] opts the optional parameters
1517
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1518
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1519
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1520
+ # @return [Array<(NatGatewayRule, Integer, Hash)>] NatGatewayRule data, response status code and response headers
1521
+ def datacenters_natgateways_rules_post_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule, opts = {})
1522
+ if @api_client.config.debugging
1523
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_post ...'
1524
+ end
1525
+ # verify the required parameter 'datacenter_id' is set
1526
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1527
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_post"
1528
+ end
1529
+ # verify the required parameter 'nat_gateway_id' is set
1530
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1531
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_post"
1532
+ end
1533
+ # verify the required parameter 'nat_gateway_rule' is set
1534
+ if @api_client.config.client_side_validation && nat_gateway_rule.nil?
1535
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule' when calling NATGatewaysApi.datacenters_natgateways_rules_post"
1536
+ end
1537
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1538
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_post, must be smaller than or equal to 10.'
1539
+ end
1540
+
1541
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1542
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_post, must be greater than or equal to 0.'
1543
+ end
1544
+
1545
+ # resource path
1546
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s))
1547
+
1548
+ # query parameters
1549
+ query_params = opts[:query_params] || {}
1550
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1551
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1552
+
1553
+ # header parameters
1554
+ header_params = opts[:header_params] || {}
1555
+ # HTTP header 'Accept' (if needed)
1556
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1557
+ # HTTP header 'Content-Type'
1558
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1559
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1560
+
1561
+ # form parameters
1562
+ form_params = opts[:form_params] || {}
1563
+
1564
+ # http body (model)
1565
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_rule)
1566
+
1567
+ # return_type
1568
+ return_type = opts[:debug_return_type] || 'NatGatewayRule'
1569
+
1570
+ # auth_names
1571
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1572
+
1573
+ new_options = opts.merge(
1574
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_post",
1575
+ :header_params => header_params,
1576
+ :query_params => query_params,
1577
+ :form_params => form_params,
1578
+ :body => post_body,
1579
+ :auth_names => auth_names,
1580
+ :return_type => return_type
1581
+ )
1582
+
1583
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1584
+ if @api_client.config.debugging
1585
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1586
+ end
1587
+ return data, status_code, headers
1588
+ end
1589
+
1590
+ # Modify a rule of the NAT gateway
1591
+ # You can use to update a rule of the NAT gateway.
1592
+ # @param datacenter_id [String] The unique ID of the datacenter
1593
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1594
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1595
+ # @param nat_gateway_rule [NatGatewayRulePut] Modified NAT Gateway Rule
1596
+ # @param [Hash] opts the optional parameters
1597
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
1598
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
1599
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1600
+ # @return [NatGatewayRule]
1601
+ def datacenters_natgateways_rules_put(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule, opts = {})
1602
+ data, _status_code, _headers = datacenters_natgateways_rules_put_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule, opts)
1603
+ data
1604
+ end
1605
+
1606
+ # Modify a rule of the NAT gateway
1607
+ # You can use to update a rule of the NAT gateway.
1608
+ # @param datacenter_id [String] The unique ID of the datacenter
1609
+ # @param nat_gateway_id [String] The unique ID of the NAT gateway
1610
+ # @param nat_gateway_rule_id [String] The unique ID of the NAT gateway rule
1611
+ # @param nat_gateway_rule [NatGatewayRulePut] Modified NAT Gateway Rule
1612
+ # @param [Hash] opts the optional parameters
1613
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
1614
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
1615
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
1616
+ # @return [Array<(NatGatewayRule, Integer, Hash)>] NatGatewayRule data, response status code and response headers
1617
+ def datacenters_natgateways_rules_put_with_http_info(datacenter_id, nat_gateway_id, nat_gateway_rule_id, nat_gateway_rule, opts = {})
1618
+ if @api_client.config.debugging
1619
+ @api_client.config.logger.debug 'Calling API: NATGatewaysApi.datacenters_natgateways_rules_put ...'
1620
+ end
1621
+ # verify the required parameter 'datacenter_id' is set
1622
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1623
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NATGatewaysApi.datacenters_natgateways_rules_put"
1624
+ end
1625
+ # verify the required parameter 'nat_gateway_id' is set
1626
+ if @api_client.config.client_side_validation && nat_gateway_id.nil?
1627
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_id' when calling NATGatewaysApi.datacenters_natgateways_rules_put"
1628
+ end
1629
+ # verify the required parameter 'nat_gateway_rule_id' is set
1630
+ if @api_client.config.client_side_validation && nat_gateway_rule_id.nil?
1631
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule_id' when calling NATGatewaysApi.datacenters_natgateways_rules_put"
1632
+ end
1633
+ # verify the required parameter 'nat_gateway_rule' is set
1634
+ if @api_client.config.client_side_validation && nat_gateway_rule.nil?
1635
+ fail ArgumentError, "Missing the required parameter 'nat_gateway_rule' when calling NATGatewaysApi.datacenters_natgateways_rules_put"
1636
+ end
1637
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1638
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_put, must be smaller than or equal to 10.'
1639
+ end
1640
+
1641
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1642
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NATGatewaysApi.datacenters_natgateways_rules_put, must be greater than or equal to 0.'
1643
+ end
1644
+
1645
+ # resource path
1646
+ local_var_path = '/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'natGatewayId' + '}', CGI.escape(nat_gateway_id.to_s)).sub('{' + 'natGatewayRuleId' + '}', CGI.escape(nat_gateway_rule_id.to_s))
1647
+
1648
+ # query parameters
1649
+ query_params = opts[:query_params] || {}
1650
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1651
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1652
+
1653
+ # header parameters
1654
+ header_params = opts[:header_params] || {}
1655
+ # HTTP header 'Accept' (if needed)
1656
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1657
+ # HTTP header 'Content-Type'
1658
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1659
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1660
+
1661
+ # form parameters
1662
+ form_params = opts[:form_params] || {}
1663
+
1664
+ # http body (model)
1665
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nat_gateway_rule)
1666
+
1667
+ # return_type
1668
+ return_type = opts[:debug_return_type] || 'NatGatewayRule'
1669
+
1670
+ # auth_names
1671
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1672
+
1673
+ new_options = opts.merge(
1674
+ :operation => :"NATGatewaysApi.datacenters_natgateways_rules_put",
1675
+ :header_params => header_params,
1676
+ :query_params => query_params,
1677
+ :form_params => form_params,
1678
+ :body => post_body,
1679
+ :auth_names => auth_names,
1680
+ :return_type => return_type
1681
+ )
1682
+
1683
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1684
+ if @api_client.config.debugging
1685
+ @api_client.config.logger.debug "API called: NATGatewaysApi#datacenters_natgateways_rules_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1686
+ end
1687
+ return data, status_code, headers
1688
+ end
1689
+ end
1690
+ end