ionoscloud 5.1.2 → 6.0.0.beta.1

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