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,640 @@
1
+ =begin
2
+ #CLOUD API
3
+
4
+ #An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 6.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Ionoscloud
16
+ class FirewallRulesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete a Firewall Rule
23
+ # Removes the specified firewall rule.
24
+ # @param datacenter_id [String] The unique ID of the datacenter
25
+ # @param server_id [String] The unique ID of the Server
26
+ # @param nic_id [String] The unique ID of the NIC
27
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
28
+ # @param [Hash] opts the optional parameters
29
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
30
+ # @option opts [Integer] :depth 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 (default to 0)
31
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
32
+ # @return [Object]
33
+ def datacenters_servers_nics_firewallrules_delete(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
34
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts)
35
+ data
36
+ end
37
+
38
+ # Delete a Firewall Rule
39
+ # Removes the specified firewall rule.
40
+ # @param datacenter_id [String] The unique ID of the datacenter
41
+ # @param server_id [String] The unique ID of the Server
42
+ # @param nic_id [String] The unique ID of the NIC
43
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
44
+ # @param [Hash] opts the optional parameters
45
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
46
+ # @option opts [Integer] :depth 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
47
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
48
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
49
+ def datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
50
+ if @api_client.config.debugging
51
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_delete ...'
52
+ end
53
+ # verify the required parameter 'datacenter_id' is set
54
+ if @api_client.config.client_side_validation && datacenter_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete"
56
+ end
57
+ # verify the required parameter 'server_id' is set
58
+ if @api_client.config.client_side_validation && server_id.nil?
59
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete"
60
+ end
61
+ # verify the required parameter 'nic_id' is set
62
+ if @api_client.config.client_side_validation && nic_id.nil?
63
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete"
64
+ end
65
+ # verify the required parameter 'firewallrule_id' is set
66
+ if @api_client.config.client_side_validation && firewallrule_id.nil?
67
+ fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete"
68
+ end
69
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
70
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete, must be smaller than or equal to 10.'
71
+ end
72
+
73
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
74
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_delete, must be greater than or equal to 0.'
75
+ end
76
+
77
+ # resource path
78
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))
79
+
80
+ # query parameters
81
+ query_params = opts[:query_params] || {}
82
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
83
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
84
+
85
+ # header parameters
86
+ header_params = opts[:header_params] || {}
87
+ # HTTP header 'Accept' (if needed)
88
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
89
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
90
+
91
+ # form parameters
92
+ form_params = opts[:form_params] || {}
93
+
94
+ # http body (model)
95
+ post_body = opts[:debug_body]
96
+
97
+ # return_type
98
+ return_type = opts[:debug_return_type] || 'Object'
99
+
100
+ # auth_names
101
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
102
+
103
+ new_options = opts.merge(
104
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_delete",
105
+ :header_params => header_params,
106
+ :query_params => query_params,
107
+ :form_params => form_params,
108
+ :body => post_body,
109
+ :auth_names => auth_names,
110
+ :return_type => return_type
111
+ )
112
+
113
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
116
+ end
117
+ return data, status_code, headers
118
+ end
119
+
120
+ # Retrieve a Firewall Rule
121
+ # Retrieves the attributes of a given firewall rule.
122
+ # @param datacenter_id [String] The unique ID of the datacenter
123
+ # @param server_id [String] The unique ID of the Server
124
+ # @param nic_id [String] The unique ID of the NIC
125
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
126
+ # @param [Hash] opts the optional parameters
127
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
128
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
129
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
130
+ # @return [FirewallRule]
131
+ def datacenters_servers_nics_firewallrules_find_by_id(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
132
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_find_by_id_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts)
133
+ data
134
+ end
135
+
136
+ # Retrieve a Firewall Rule
137
+ # Retrieves the attributes of a given firewall rule.
138
+ # @param datacenter_id [String] The unique ID of the datacenter
139
+ # @param server_id [String] The unique ID of the Server
140
+ # @param nic_id [String] The unique ID of the NIC
141
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
142
+ # @param [Hash] opts the optional parameters
143
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
144
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
145
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
146
+ # @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers
147
+ def datacenters_servers_nics_firewallrules_find_by_id_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
148
+ if @api_client.config.debugging
149
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id ...'
150
+ end
151
+ # verify the required parameter 'datacenter_id' is set
152
+ if @api_client.config.client_side_validation && datacenter_id.nil?
153
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id"
154
+ end
155
+ # verify the required parameter 'server_id' is set
156
+ if @api_client.config.client_side_validation && server_id.nil?
157
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id"
158
+ end
159
+ # verify the required parameter 'nic_id' is set
160
+ if @api_client.config.client_side_validation && nic_id.nil?
161
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id"
162
+ end
163
+ # verify the required parameter 'firewallrule_id' is set
164
+ if @api_client.config.client_side_validation && firewallrule_id.nil?
165
+ fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id"
166
+ end
167
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
168
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id, must be smaller than or equal to 10.'
169
+ end
170
+
171
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
172
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id, must be greater than or equal to 0.'
173
+ end
174
+
175
+ # resource path
176
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))
177
+
178
+ # query parameters
179
+ query_params = opts[:query_params] || {}
180
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
181
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
182
+
183
+ # header parameters
184
+ header_params = opts[:header_params] || {}
185
+ # HTTP header 'Accept' (if needed)
186
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
187
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
188
+
189
+ # form parameters
190
+ form_params = opts[:form_params] || {}
191
+
192
+ # http body (model)
193
+ post_body = opts[:debug_body]
194
+
195
+ # return_type
196
+ return_type = opts[:debug_return_type] || 'FirewallRule'
197
+
198
+ # auth_names
199
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
200
+
201
+ new_options = opts.merge(
202
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_find_by_id",
203
+ :header_params => header_params,
204
+ :query_params => query_params,
205
+ :form_params => form_params,
206
+ :body => post_body,
207
+ :auth_names => auth_names,
208
+ :return_type => return_type
209
+ )
210
+
211
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
212
+ if @api_client.config.debugging
213
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
214
+ end
215
+ return data, status_code, headers
216
+ end
217
+
218
+ # List Firewall Rules
219
+ # Retrieves a list of firewall rules associated with a particular network interface.
220
+ # @param datacenter_id [String] The unique ID of the datacenter
221
+ # @param server_id [String] The unique ID of the Server
222
+ # @param nic_id [String] The unique ID of the NIC
223
+ # @param [Hash] opts the optional parameters
224
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
225
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
226
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
227
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination) (default to 0)
228
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination) (default to 1000)
229
+ # @return [FirewallRules]
230
+ def datacenters_servers_nics_firewallrules_get(datacenter_id, server_id, nic_id, opts = {})
231
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_get_with_http_info(datacenter_id, server_id, nic_id, opts)
232
+ data
233
+ end
234
+
235
+ # List Firewall Rules
236
+ # Retrieves a list of firewall rules associated with a particular network interface.
237
+ # @param datacenter_id [String] The unique ID of the datacenter
238
+ # @param server_id [String] The unique ID of the Server
239
+ # @param nic_id [String] The unique ID of the NIC
240
+ # @param [Hash] opts the optional parameters
241
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
242
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
243
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
244
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with limit for pagination)
245
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with offset for pagination)
246
+ # @return [Array<(FirewallRules, Integer, Hash)>] FirewallRules data, response status code and response headers
247
+ def datacenters_servers_nics_firewallrules_get_with_http_info(datacenter_id, server_id, nic_id, opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_get ...'
250
+ end
251
+ # verify the required parameter 'datacenter_id' is set
252
+ if @api_client.config.client_side_validation && datacenter_id.nil?
253
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get"
254
+ end
255
+ # verify the required parameter 'server_id' is set
256
+ if @api_client.config.client_side_validation && server_id.nil?
257
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get"
258
+ end
259
+ # verify the required parameter 'nic_id' is set
260
+ if @api_client.config.client_side_validation && nic_id.nil?
261
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get"
262
+ end
263
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
264
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get, must be smaller than or equal to 10.'
265
+ end
266
+
267
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
268
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 0.'
269
+ end
270
+
271
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
272
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 0.'
273
+ end
274
+
275
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
276
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get, must be smaller than or equal to 10000.'
277
+ end
278
+
279
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
280
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_get, must be greater than or equal to 1.'
281
+ end
282
+
283
+ # resource path
284
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
285
+
286
+ # query parameters
287
+ query_params = opts[:query_params] || {}
288
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
289
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
290
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
291
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
292
+
293
+ # header parameters
294
+ header_params = opts[:header_params] || {}
295
+ # HTTP header 'Accept' (if needed)
296
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
297
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
298
+
299
+ # form parameters
300
+ form_params = opts[:form_params] || {}
301
+
302
+ # http body (model)
303
+ post_body = opts[:debug_body]
304
+
305
+ # return_type
306
+ return_type = opts[:debug_return_type] || 'FirewallRules'
307
+
308
+ # auth_names
309
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
310
+
311
+ new_options = opts.merge(
312
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_get",
313
+ :header_params => header_params,
314
+ :query_params => query_params,
315
+ :form_params => form_params,
316
+ :body => post_body,
317
+ :auth_names => auth_names,
318
+ :return_type => return_type
319
+ )
320
+
321
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
322
+ if @api_client.config.debugging
323
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
324
+ end
325
+ return data, status_code, headers
326
+ end
327
+
328
+ # Partially Modify a Firewall Rule
329
+ # You can use update attributes of a resource.
330
+ # @param datacenter_id [String] The unique ID of the datacenter
331
+ # @param server_id [String] The unique ID of the Server
332
+ # @param nic_id [String] The unique ID of the NIC
333
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
334
+ # @param firewallrule [FirewallruleProperties] Modified Firewall Rule
335
+ # @param [Hash] opts the optional parameters
336
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
337
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
338
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
339
+ # @return [FirewallRule]
340
+ def datacenters_servers_nics_firewallrules_patch(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
341
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_patch_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts)
342
+ data
343
+ end
344
+
345
+ # Partially Modify a Firewall Rule
346
+ # You can use update attributes of a resource.
347
+ # @param datacenter_id [String] The unique ID of the datacenter
348
+ # @param server_id [String] The unique ID of the Server
349
+ # @param nic_id [String] The unique ID of the NIC
350
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
351
+ # @param firewallrule [FirewallruleProperties] Modified Firewall Rule
352
+ # @param [Hash] opts the optional parameters
353
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
354
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
355
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
356
+ # @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers
357
+ def datacenters_servers_nics_firewallrules_patch_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
358
+ if @api_client.config.debugging
359
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_patch ...'
360
+ end
361
+ # verify the required parameter 'datacenter_id' is set
362
+ if @api_client.config.client_side_validation && datacenter_id.nil?
363
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch"
364
+ end
365
+ # verify the required parameter 'server_id' is set
366
+ if @api_client.config.client_side_validation && server_id.nil?
367
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch"
368
+ end
369
+ # verify the required parameter 'nic_id' is set
370
+ if @api_client.config.client_side_validation && nic_id.nil?
371
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch"
372
+ end
373
+ # verify the required parameter 'firewallrule_id' is set
374
+ if @api_client.config.client_side_validation && firewallrule_id.nil?
375
+ fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch"
376
+ end
377
+ # verify the required parameter 'firewallrule' is set
378
+ if @api_client.config.client_side_validation && firewallrule.nil?
379
+ fail ArgumentError, "Missing the required parameter 'firewallrule' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch"
380
+ end
381
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
382
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch, must be smaller than or equal to 10.'
383
+ end
384
+
385
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
386
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_patch, must be greater than or equal to 0.'
387
+ end
388
+
389
+ # resource path
390
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))
391
+
392
+ # query parameters
393
+ query_params = opts[:query_params] || {}
394
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
395
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
396
+
397
+ # header parameters
398
+ header_params = opts[:header_params] || {}
399
+ # HTTP header 'Accept' (if needed)
400
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
401
+ # HTTP header 'Content-Type'
402
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
403
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
404
+
405
+ # form parameters
406
+ form_params = opts[:form_params] || {}
407
+
408
+ # http body (model)
409
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)
410
+
411
+ # return_type
412
+ return_type = opts[:debug_return_type] || 'FirewallRule'
413
+
414
+ # auth_names
415
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
416
+
417
+ new_options = opts.merge(
418
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_patch",
419
+ :header_params => header_params,
420
+ :query_params => query_params,
421
+ :form_params => form_params,
422
+ :body => post_body,
423
+ :auth_names => auth_names,
424
+ :return_type => return_type
425
+ )
426
+
427
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
430
+ end
431
+ return data, status_code, headers
432
+ end
433
+
434
+ # Create a Firewall Rule
435
+ # This will add a Firewall Rule to the network interface.
436
+ # @param datacenter_id [String] The unique ID of the datacenter
437
+ # @param server_id [String] The unique ID of the server
438
+ # @param nic_id [String] The unique ID of the NIC
439
+ # @param firewallrule [FirewallRule] Firewall Rule to be created
440
+ # @param [Hash] opts the optional parameters
441
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
442
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
443
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
444
+ # @return [FirewallRule]
445
+ def datacenters_servers_nics_firewallrules_post(datacenter_id, server_id, nic_id, firewallrule, opts = {})
446
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_post_with_http_info(datacenter_id, server_id, nic_id, firewallrule, opts)
447
+ data
448
+ end
449
+
450
+ # Create a Firewall Rule
451
+ # This will add a Firewall Rule to the network interface.
452
+ # @param datacenter_id [String] The unique ID of the datacenter
453
+ # @param server_id [String] The unique ID of the server
454
+ # @param nic_id [String] The unique ID of the NIC
455
+ # @param firewallrule [FirewallRule] Firewall Rule to be created
456
+ # @param [Hash] opts the optional parameters
457
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
458
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
459
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
460
+ # @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers
461
+ def datacenters_servers_nics_firewallrules_post_with_http_info(datacenter_id, server_id, nic_id, firewallrule, opts = {})
462
+ if @api_client.config.debugging
463
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_post ...'
464
+ end
465
+ # verify the required parameter 'datacenter_id' is set
466
+ if @api_client.config.client_side_validation && datacenter_id.nil?
467
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post"
468
+ end
469
+ # verify the required parameter 'server_id' is set
470
+ if @api_client.config.client_side_validation && server_id.nil?
471
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post"
472
+ end
473
+ # verify the required parameter 'nic_id' is set
474
+ if @api_client.config.client_side_validation && nic_id.nil?
475
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post"
476
+ end
477
+ # verify the required parameter 'firewallrule' is set
478
+ if @api_client.config.client_side_validation && firewallrule.nil?
479
+ fail ArgumentError, "Missing the required parameter 'firewallrule' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post"
480
+ end
481
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
482
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post, must be smaller than or equal to 10.'
483
+ end
484
+
485
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
486
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_post, must be greater than or equal to 0.'
487
+ end
488
+
489
+ # resource path
490
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
491
+
492
+ # query parameters
493
+ query_params = opts[:query_params] || {}
494
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
495
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
496
+
497
+ # header parameters
498
+ header_params = opts[:header_params] || {}
499
+ # HTTP header 'Accept' (if needed)
500
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
501
+ # HTTP header 'Content-Type'
502
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
503
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
504
+
505
+ # form parameters
506
+ form_params = opts[:form_params] || {}
507
+
508
+ # http body (model)
509
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)
510
+
511
+ # return_type
512
+ return_type = opts[:debug_return_type] || 'FirewallRule'
513
+
514
+ # auth_names
515
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
516
+
517
+ new_options = opts.merge(
518
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_post",
519
+ :header_params => header_params,
520
+ :query_params => query_params,
521
+ :form_params => form_params,
522
+ :body => post_body,
523
+ :auth_names => auth_names,
524
+ :return_type => return_type
525
+ )
526
+
527
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
528
+ if @api_client.config.debugging
529
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
530
+ end
531
+ return data, status_code, headers
532
+ end
533
+
534
+ # Modify a Firewall Rule
535
+ # You can use update attributes of a resource.
536
+ # @param datacenter_id [String] The unique ID of the datacenter
537
+ # @param server_id [String] The unique ID of the Server
538
+ # @param nic_id [String] The unique ID of the NIC
539
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
540
+ # @param firewallrule [FirewallRule] Modified Firewall Rule
541
+ # @param [Hash] opts the optional parameters
542
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
543
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on (default to 0)
544
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
545
+ # @return [FirewallRule]
546
+ def datacenters_servers_nics_firewallrules_put(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
547
+ data, _status_code, _headers = datacenters_servers_nics_firewallrules_put_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts)
548
+ data
549
+ end
550
+
551
+ # Modify a Firewall Rule
552
+ # You can use update attributes of a resource.
553
+ # @param datacenter_id [String] The unique ID of the datacenter
554
+ # @param server_id [String] The unique ID of the Server
555
+ # @param nic_id [String] The unique ID of the NIC
556
+ # @param firewallrule_id [String] The unique ID of the Firewall Rule
557
+ # @param firewallrule [FirewallRule] Modified Firewall Rule
558
+ # @param [Hash] opts the optional parameters
559
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
560
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on
561
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
562
+ # @return [Array<(FirewallRule, Integer, Hash)>] FirewallRule data, response status code and response headers
563
+ def datacenters_servers_nics_firewallrules_put_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, firewallrule, opts = {})
564
+ if @api_client.config.debugging
565
+ @api_client.config.logger.debug 'Calling API: FirewallRulesApi.datacenters_servers_nics_firewallrules_put ...'
566
+ end
567
+ # verify the required parameter 'datacenter_id' is set
568
+ if @api_client.config.client_side_validation && datacenter_id.nil?
569
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put"
570
+ end
571
+ # verify the required parameter 'server_id' is set
572
+ if @api_client.config.client_side_validation && server_id.nil?
573
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put"
574
+ end
575
+ # verify the required parameter 'nic_id' is set
576
+ if @api_client.config.client_side_validation && nic_id.nil?
577
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put"
578
+ end
579
+ # verify the required parameter 'firewallrule_id' is set
580
+ if @api_client.config.client_side_validation && firewallrule_id.nil?
581
+ fail ArgumentError, "Missing the required parameter 'firewallrule_id' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put"
582
+ end
583
+ # verify the required parameter 'firewallrule' is set
584
+ if @api_client.config.client_side_validation && firewallrule.nil?
585
+ fail ArgumentError, "Missing the required parameter 'firewallrule' when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put"
586
+ end
587
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
588
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put, must be smaller than or equal to 10.'
589
+ end
590
+
591
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
592
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling FirewallRulesApi.datacenters_servers_nics_firewallrules_put, must be greater than or equal to 0.'
593
+ end
594
+
595
+ # resource path
596
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s)).sub('{' + 'firewallruleId' + '}', CGI.escape(firewallrule_id.to_s))
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
601
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
602
+
603
+ # header parameters
604
+ header_params = opts[:header_params] || {}
605
+ # HTTP header 'Accept' (if needed)
606
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
607
+ # HTTP header 'Content-Type'
608
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
609
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(firewallrule)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'FirewallRule'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"FirewallRulesApi.datacenters_servers_nics_firewallrules_put",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: FirewallRulesApi#datacenters_servers_nics_firewallrules_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
639
+ end
640
+ end