ionoscloud 5.1.1 → 6.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -19
  3. data/docs/CHANGELOG.md +1 -0
  4. data/docs/README.md +4 -4
  5. data/docs/api/BackupUnitsApi.md +594 -0
  6. data/docs/api/ContractResourcesApi.md +89 -0
  7. data/docs/api/DataCentersApi.md +516 -0
  8. data/docs/api/DefaultApi.md +8 -19
  9. data/docs/api/FirewallRulesApi.md +552 -0
  10. data/docs/api/FlowLogsApi.md +540 -0
  11. data/docs/api/IPBlocksApi.md +50 -51
  12. data/docs/api/ImagesApi.md +428 -0
  13. data/docs/api/KubernetesApi.md +131 -211
  14. data/docs/api/LabelsApi.md +2338 -0
  15. data/docs/api/LansApi.md +794 -0
  16. data/docs/api/LoadBalancersApi.md +877 -0
  17. data/docs/api/LocationsApi.md +259 -0
  18. data/docs/api/NATGatewaysApi.md +1574 -0
  19. data/docs/api/NetworkInterfacesApi.md +540 -0
  20. data/docs/api/NetworkLoadBalancersApi.md +1586 -0
  21. data/docs/api/PrivateCrossConnectsApi.md +426 -0
  22. data/docs/api/{RequestApi.md → RequestsApi.md} +36 -36
  23. data/docs/api/ServersApi.md +1908 -0
  24. data/docs/api/SnapshotsApi.md +428 -0
  25. data/docs/api/TemplatesApi.md +165 -0
  26. data/docs/api/UserManagementApi.md +173 -687
  27. data/docs/api/UserS3KeysApi.md +516 -0
  28. data/docs/api/VolumesApi.md +709 -0
  29. data/docs/models/AttachedVolumes.md +1 -1
  30. data/docs/models/Cdroms.md +1 -1
  31. data/docs/models/Contracts.md +24 -0
  32. data/docs/models/CpuArchitectureProperties.md +24 -0
  33. data/docs/models/DataCenterEntities.md +5 -1
  34. data/docs/models/DatacenterProperties.md +3 -1
  35. data/docs/models/FirewallruleProperties.md +3 -1
  36. data/docs/models/FlowLog.md +26 -0
  37. data/docs/models/FlowLogProperties.md +24 -0
  38. data/docs/models/FlowLogPut.md +24 -0
  39. data/docs/models/FlowLogs.md +30 -0
  40. data/docs/models/Group.md +1 -1
  41. data/docs/models/GroupMembers.md +1 -1
  42. data/docs/models/GroupProperties.md +7 -1
  43. data/docs/models/GroupShare.md +1 -1
  44. data/docs/models/GroupShares.md +1 -1
  45. data/docs/models/GroupUsers.md +1 -1
  46. data/docs/models/Groups.md +1 -1
  47. data/docs/models/KubernetesAutoScaling.md +2 -2
  48. data/docs/models/KubernetesClusterProperties.md +1 -1
  49. data/docs/models/KubernetesClusterPropertiesForPost.md +1 -1
  50. data/docs/models/KubernetesClusterPropertiesForPut.md +1 -1
  51. data/docs/models/KubernetesClusters.md +1 -1
  52. data/docs/models/KubernetesMaintenanceWindow.md +2 -2
  53. data/docs/models/KubernetesNodePoolLan.md +5 -1
  54. data/docs/models/KubernetesNodePoolLanRoutes.md +20 -0
  55. data/docs/models/KubernetesNodePools.md +1 -1
  56. data/docs/models/Lans.md +1 -1
  57. data/docs/models/LocationProperties.md +3 -1
  58. data/docs/models/NatGateway.md +28 -0
  59. data/docs/models/NatGatewayEntities.md +20 -0
  60. data/docs/models/NatGatewayLanProperties.md +20 -0
  61. data/docs/models/NatGatewayProperties.md +22 -0
  62. data/docs/models/NatGatewayPut.md +24 -0
  63. data/docs/models/NatGatewayRule.md +26 -0
  64. data/docs/models/NatGatewayRuleProperties.md +30 -0
  65. data/docs/models/NatGatewayRuleProtocol.md +15 -0
  66. data/docs/models/NatGatewayRulePut.md +24 -0
  67. data/docs/models/NatGatewayRuleType.md +15 -0
  68. data/docs/models/NatGatewayRules.md +24 -0
  69. data/docs/models/NatGateways.md +30 -0
  70. data/docs/models/NetworkLoadBalancer.md +28 -0
  71. data/docs/models/NetworkLoadBalancerEntities.md +20 -0
  72. data/docs/models/NetworkLoadBalancerForwardingRule.md +26 -0
  73. data/docs/models/NetworkLoadBalancerForwardingRuleHealthCheck.md +24 -0
  74. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +30 -0
  75. data/docs/models/NetworkLoadBalancerForwardingRulePut.md +24 -0
  76. data/docs/models/NetworkLoadBalancerForwardingRuleTarget.md +24 -0
  77. data/docs/models/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +22 -0
  78. data/docs/models/NetworkLoadBalancerForwardingRules.md +30 -0
  79. data/docs/models/NetworkLoadBalancerProperties.md +26 -0
  80. data/docs/models/NetworkLoadBalancerPut.md +24 -0
  81. data/docs/models/NetworkLoadBalancers.md +30 -0
  82. data/docs/models/NicEntities.md +2 -0
  83. data/docs/models/NicProperties.md +6 -2
  84. data/docs/models/NicPut.md +24 -0
  85. data/docs/models/Nics.md +1 -1
  86. data/docs/models/PrivateCrossConnectProperties.md +1 -1
  87. data/docs/models/RemoteConsoleUrl.md +18 -0
  88. data/docs/models/Resource.md +1 -1
  89. data/docs/models/ResourceGroups.md +1 -1
  90. data/docs/models/ResourceLimits.md +11 -1
  91. data/docs/models/ResourceProperties.md +1 -1
  92. data/docs/models/Resources.md +1 -1
  93. data/docs/models/ResourcesUsers.md +1 -1
  94. data/docs/models/S3Bucket.md +1 -1
  95. data/docs/models/S3Key.md +1 -1
  96. data/docs/models/S3Keys.md +1 -1
  97. data/docs/models/ServerProperties.md +6 -2
  98. data/docs/models/TargetPortRange.md +20 -0
  99. data/docs/models/Template.md +26 -0
  100. data/docs/models/TemplateProperties.md +24 -0
  101. data/docs/models/Templates.md +24 -0
  102. data/docs/models/Token.md +18 -0
  103. data/docs/models/VolumeProperties.md +5 -3
  104. data/docs/summary.md +386 -159
  105. data/ionoscloud.gemspec +3 -3
  106. data/lib/ionoscloud/api/_api.rb +9 -9
  107. data/lib/ionoscloud/api/{backup_unit_api.rb → backup_units_api.rb} +101 -101
  108. data/lib/ionoscloud/api/contract_resources_api.rb +96 -0
  109. data/lib/ionoscloud/api/data_centers_api.rb +532 -0
  110. data/lib/ionoscloud/api/firewall_rules_api.rb +640 -0
  111. data/lib/ionoscloud/api/flow_logs_api.rb +622 -0
  112. data/lib/ionoscloud/api/{image_api.rb → images_api.rb} +71 -71
  113. data/lib/ionoscloud/api/ip_blocks_api.rb +55 -55
  114. data/lib/ionoscloud/api/kubernetes_api.rb +131 -194
  115. data/lib/ionoscloud/api/{label_api.rb → labels_api.rb} +416 -470
  116. data/lib/ionoscloud/api/{lan_api.rb → lans_api.rb} +178 -178
  117. data/lib/ionoscloud/api/{load_balancer_api.rb → load_balancers_api.rb} +198 -216
  118. data/lib/ionoscloud/api/{location_api.rb → locations_api.rb} +49 -49
  119. data/lib/ionoscloud/api/nat_gateways_api.rb +1672 -0
  120. data/lib/ionoscloud/api/network_interfaces_api.rb +604 -0
  121. data/lib/ionoscloud/api/network_load_balancers_api.rb +1690 -0
  122. data/lib/ionoscloud/api/{private_cross_connect_api.rb → private_cross_connects_api.rb} +76 -76
  123. data/lib/ionoscloud/api/{request_api.rb → requests_api.rb} +45 -45
  124. data/lib/ionoscloud/api/servers_api.rb +2023 -0
  125. data/lib/ionoscloud/api/{snapshot_api.rb → snapshots_api.rb} +77 -77
  126. data/lib/ionoscloud/api/templates_api.rb +164 -0
  127. data/lib/ionoscloud/api/user_management_api.rb +172 -667
  128. data/lib/ionoscloud/api/user_s3_keys_api.rb +517 -0
  129. data/lib/ionoscloud/api/{volume_api.rb → volumes_api.rb} +145 -145
  130. data/lib/ionoscloud/api_client.rb +5 -5
  131. data/lib/ionoscloud/api_error.rb +2 -2
  132. data/lib/ionoscloud/configuration.rb +4 -4
  133. data/lib/ionoscloud/models/attached_volumes.rb +2 -2
  134. data/lib/ionoscloud/models/backup_unit.rb +2 -2
  135. data/lib/ionoscloud/models/backup_unit_properties.rb +2 -2
  136. data/lib/ionoscloud/models/backup_unit_sso.rb +2 -2
  137. data/lib/ionoscloud/models/backup_units.rb +2 -2
  138. data/lib/ionoscloud/models/balanced_nics.rb +2 -2
  139. data/lib/ionoscloud/models/cdroms.rb +2 -2
  140. data/lib/ionoscloud/models/connectable_datacenter.rb +2 -2
  141. data/lib/ionoscloud/models/contract.rb +2 -2
  142. data/lib/ionoscloud/models/contract_properties.rb +2 -2
  143. data/lib/ionoscloud/models/contracts.rb +251 -0
  144. data/lib/ionoscloud/models/cpu_architecture_properties.rb +249 -0
  145. data/lib/ionoscloud/models/data_center_entities.rb +24 -6
  146. data/lib/ionoscloud/models/datacenter.rb +2 -2
  147. data/lib/ionoscloud/models/datacenter_element_metadata.rb +4 -4
  148. data/lib/ionoscloud/models/datacenter_properties.rb +18 -6
  149. data/lib/ionoscloud/models/datacenters.rb +2 -2
  150. data/lib/ionoscloud/models/error.rb +2 -2
  151. data/lib/ionoscloud/models/error_message.rb +2 -2
  152. data/lib/ionoscloud/models/firewall_rule.rb +2 -2
  153. data/lib/ionoscloud/models/firewall_rules.rb +2 -2
  154. data/lib/ionoscloud/models/firewallrule_properties.rb +28 -6
  155. data/lib/ionoscloud/models/flow_log.rb +262 -0
  156. data/lib/ionoscloud/models/flow_log_properties.rb +315 -0
  157. data/lib/ionoscloud/models/{kubernetes_config.rb → flow_log_put.rb} +9 -43
  158. data/lib/ionoscloud/models/flow_logs.rb +280 -0
  159. data/lib/ionoscloud/models/group.rb +2 -2
  160. data/lib/ionoscloud/models/group_entities.rb +2 -2
  161. data/lib/ionoscloud/models/group_members.rb +2 -2
  162. data/lib/ionoscloud/models/group_properties.rb +36 -6
  163. data/lib/ionoscloud/models/group_share.rb +2 -2
  164. data/lib/ionoscloud/models/group_share_properties.rb +2 -2
  165. data/lib/ionoscloud/models/group_shares.rb +2 -2
  166. data/lib/ionoscloud/models/group_users.rb +2 -2
  167. data/lib/ionoscloud/models/groups.rb +2 -2
  168. data/lib/ionoscloud/models/image.rb +2 -2
  169. data/lib/ionoscloud/models/image_properties.rb +2 -2
  170. data/lib/ionoscloud/models/images.rb +2 -2
  171. data/lib/ionoscloud/models/info.rb +2 -2
  172. data/lib/ionoscloud/models/ip_block.rb +2 -2
  173. data/lib/ionoscloud/models/ip_block_properties.rb +2 -2
  174. data/lib/ionoscloud/models/ip_blocks.rb +2 -2
  175. data/lib/ionoscloud/models/ip_consumer.rb +2 -2
  176. data/lib/ionoscloud/models/ip_failover.rb +2 -2
  177. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +12 -2
  178. data/lib/ionoscloud/models/kubernetes_cluster.rb +2 -2
  179. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +2 -2
  180. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +2 -2
  181. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +2 -2
  182. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +3 -3
  183. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +3 -3
  184. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +3 -3
  185. data/lib/ionoscloud/models/kubernetes_clusters.rb +3 -3
  186. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +12 -2
  187. data/lib/ionoscloud/models/kubernetes_node.rb +2 -2
  188. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +4 -4
  189. data/lib/ionoscloud/models/kubernetes_node_pool.rb +2 -2
  190. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +2 -2
  191. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +2 -2
  192. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +28 -6
  193. data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +229 -0
  194. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +2 -2
  195. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +2 -2
  196. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +2 -2
  197. data/lib/ionoscloud/models/kubernetes_node_pools.rb +3 -3
  198. data/lib/ionoscloud/models/kubernetes_node_properties.rb +2 -2
  199. data/lib/ionoscloud/models/kubernetes_nodes.rb +2 -2
  200. data/lib/ionoscloud/models/label.rb +2 -2
  201. data/lib/ionoscloud/models/label_properties.rb +2 -2
  202. data/lib/ionoscloud/models/label_resource.rb +2 -2
  203. data/lib/ionoscloud/models/label_resource_properties.rb +2 -2
  204. data/lib/ionoscloud/models/label_resources.rb +2 -2
  205. data/lib/ionoscloud/models/labels.rb +2 -2
  206. data/lib/ionoscloud/models/lan.rb +2 -2
  207. data/lib/ionoscloud/models/lan_entities.rb +2 -2
  208. data/lib/ionoscloud/models/lan_nics.rb +2 -2
  209. data/lib/ionoscloud/models/lan_post.rb +2 -2
  210. data/lib/ionoscloud/models/lan_properties.rb +2 -2
  211. data/lib/ionoscloud/models/lan_properties_post.rb +2 -2
  212. data/lib/ionoscloud/models/lans.rb +3 -3
  213. data/lib/ionoscloud/models/loadbalancer.rb +2 -2
  214. data/lib/ionoscloud/models/loadbalancer_entities.rb +2 -2
  215. data/lib/ionoscloud/models/loadbalancer_properties.rb +2 -2
  216. data/lib/ionoscloud/models/loadbalancers.rb +2 -2
  217. data/lib/ionoscloud/models/location.rb +2 -2
  218. data/lib/ionoscloud/models/location_properties.rb +18 -6
  219. data/lib/ionoscloud/models/locations.rb +2 -2
  220. data/lib/ionoscloud/models/nat_gateway.rb +271 -0
  221. data/lib/ionoscloud/models/nat_gateway_entities.rb +227 -0
  222. data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +236 -0
  223. data/lib/ionoscloud/models/nat_gateway_properties.rb +253 -0
  224. data/lib/ionoscloud/models/nat_gateway_put.rb +253 -0
  225. data/lib/ionoscloud/models/nat_gateway_rule.rb +262 -0
  226. data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +293 -0
  227. data/lib/ionoscloud/models/nat_gateway_rule_protocol.rb +39 -0
  228. data/lib/ionoscloud/models/nat_gateway_rule_put.rb +253 -0
  229. data/lib/ionoscloud/models/nat_gateway_rule_type.rb +36 -0
  230. data/lib/ionoscloud/models/nat_gateway_rules.rb +251 -0
  231. data/lib/ionoscloud/models/nat_gateways.rb +280 -0
  232. data/lib/ionoscloud/models/network_load_balancer.rb +271 -0
  233. data/lib/ionoscloud/models/network_load_balancer_entities.rb +227 -0
  234. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +262 -0
  235. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +249 -0
  236. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +356 -0
  237. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +253 -0
  238. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +263 -0
  239. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +239 -0
  240. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +280 -0
  241. data/lib/ionoscloud/models/network_load_balancer_properties.rb +278 -0
  242. data/lib/ionoscloud/models/network_load_balancer_put.rb +253 -0
  243. data/lib/ionoscloud/models/network_load_balancers.rb +280 -0
  244. data/lib/ionoscloud/models/nic.rb +2 -2
  245. data/lib/ionoscloud/models/nic_entities.rb +12 -3
  246. data/lib/ionoscloud/models/nic_properties.rb +64 -10
  247. data/lib/ionoscloud/models/nic_put.rb +253 -0
  248. data/lib/ionoscloud/models/nics.rb +2 -2
  249. data/lib/ionoscloud/models/no_state_meta_data.rb +2 -2
  250. data/lib/ionoscloud/models/pagination_links.rb +2 -2
  251. data/lib/ionoscloud/models/peer.rb +2 -2
  252. data/lib/ionoscloud/models/private_cross_connect.rb +2 -2
  253. data/lib/ionoscloud/models/private_cross_connect_properties.rb +3 -3
  254. data/lib/ionoscloud/models/private_cross_connects.rb +2 -2
  255. data/lib/ionoscloud/models/{kubernetes_config_properties.rb → remote_console_url.rb} +13 -13
  256. data/lib/ionoscloud/models/request.rb +2 -2
  257. data/lib/ionoscloud/models/request_metadata.rb +2 -2
  258. data/lib/ionoscloud/models/request_properties.rb +2 -2
  259. data/lib/ionoscloud/models/request_status.rb +2 -2
  260. data/lib/ionoscloud/models/request_status_metadata.rb +2 -2
  261. data/lib/ionoscloud/models/request_target.rb +2 -2
  262. data/lib/ionoscloud/models/requests.rb +2 -2
  263. data/lib/ionoscloud/models/resource.rb +2 -2
  264. data/lib/ionoscloud/models/resource_entities.rb +2 -2
  265. data/lib/ionoscloud/models/resource_groups.rb +2 -2
  266. data/lib/ionoscloud/models/resource_limits.rb +81 -6
  267. data/lib/ionoscloud/models/resource_properties.rb +3 -3
  268. data/lib/ionoscloud/models/resource_reference.rb +2 -2
  269. data/lib/ionoscloud/models/resources.rb +2 -2
  270. data/lib/ionoscloud/models/resources_users.rb +2 -2
  271. data/lib/ionoscloud/models/s3_bucket.rb +3 -3
  272. data/lib/ionoscloud/models/s3_key.rb +2 -2
  273. data/lib/ionoscloud/models/s3_key_metadata.rb +2 -2
  274. data/lib/ionoscloud/models/s3_key_properties.rb +2 -2
  275. data/lib/ionoscloud/models/s3_keys.rb +2 -2
  276. data/lib/ionoscloud/models/s3_object_storage_sso.rb +2 -2
  277. data/lib/ionoscloud/models/server.rb +2 -2
  278. data/lib/ionoscloud/models/server_entities.rb +2 -2
  279. data/lib/ionoscloud/models/server_properties.rb +27 -7
  280. data/lib/ionoscloud/models/servers.rb +2 -2
  281. data/lib/ionoscloud/models/snapshot.rb +2 -2
  282. data/lib/ionoscloud/models/snapshot_properties.rb +2 -2
  283. data/lib/ionoscloud/models/snapshots.rb +2 -2
  284. data/lib/ionoscloud/models/target_port_range.rb +229 -0
  285. data/lib/ionoscloud/models/template.rb +262 -0
  286. data/lib/ionoscloud/models/template_properties.rb +269 -0
  287. data/lib/ionoscloud/models/templates.rb +251 -0
  288. data/lib/ionoscloud/models/token.rb +219 -0
  289. data/lib/ionoscloud/models/type.rb +10 -2
  290. data/lib/ionoscloud/models/user.rb +2 -2
  291. data/lib/ionoscloud/models/user_metadata.rb +2 -2
  292. data/lib/ionoscloud/models/user_post.rb +2 -2
  293. data/lib/ionoscloud/models/user_properties.rb +2 -2
  294. data/lib/ionoscloud/models/user_properties_post.rb +2 -2
  295. data/lib/ionoscloud/models/user_properties_put.rb +2 -2
  296. data/lib/ionoscloud/models/user_put.rb +2 -2
  297. data/lib/ionoscloud/models/users.rb +2 -2
  298. data/lib/ionoscloud/models/users_entities.rb +2 -2
  299. data/lib/ionoscloud/models/volume.rb +2 -2
  300. data/lib/ionoscloud/models/volume_properties.rb +16 -6
  301. data/lib/ionoscloud/models/volumes.rb +2 -2
  302. data/lib/ionoscloud/version.rb +3 -3
  303. data/lib/ionoscloud.rb +60 -18
  304. data/spec/api/_api_spec.rb +5 -5
  305. data/spec/api/backup_units_api_spec.rb +140 -0
  306. data/spec/api/contract_resources_api_spec.rb +49 -0
  307. data/spec/api/data_centers_api_spec.rb +128 -0
  308. data/spec/api/firewall_rules_api_spec.rb +146 -0
  309. data/spec/api/flow_logs_api_spec.rb +140 -0
  310. data/spec/api/images_api_spec.rb +111 -0
  311. data/spec/api/ip_blocks_api_spec.rb +27 -27
  312. data/spec/api/kubernetes_api_spec.rb +55 -67
  313. data/spec/api/labels_api_spec.rb +474 -0
  314. data/spec/api/lans_api_spec.rb +186 -0
  315. data/spec/api/load_balancers_api_spec.rb +201 -0
  316. data/spec/api/locations_api_spec.rb +80 -0
  317. data/spec/api/nat_gateways_api_spec.rb +334 -0
  318. data/spec/api/network_interfaces_api_spec.rb +140 -0
  319. data/spec/api/network_load_balancers_api_spec.rb +340 -0
  320. data/spec/api/private_cross_connects_api_spec.rb +110 -0
  321. data/spec/api/{request_api_spec.rb → requests_api_spec.rb} +19 -19
  322. data/spec/api/servers_api_spec.rb +401 -0
  323. data/spec/api/snapshots_api_spec.rb +111 -0
  324. data/spec/api/templates_api_spec.rb +60 -0
  325. data/spec/api/user_management_api_spec.rb +81 -174
  326. data/spec/api/user_s3_keys_api_spec.rb +128 -0
  327. data/spec/api/volumes_api_spec.rb +171 -0
  328. data/spec/api_client_spec.rb +2 -2
  329. data/spec/configuration_spec.rb +5 -5
  330. data/spec/models/attached_volumes_spec.rb +2 -2
  331. data/spec/models/backup_unit_properties_spec.rb +2 -2
  332. data/spec/models/backup_unit_spec.rb +2 -2
  333. data/spec/models/backup_unit_sso_spec.rb +2 -2
  334. data/spec/models/backup_units_spec.rb +2 -2
  335. data/spec/models/balanced_nics_spec.rb +2 -2
  336. data/spec/models/cdroms_spec.rb +2 -2
  337. data/spec/models/connectable_datacenter_spec.rb +2 -2
  338. data/spec/models/contract_properties_spec.rb +2 -2
  339. data/spec/models/contract_spec.rb +2 -2
  340. data/spec/models/contracts_spec.rb +52 -0
  341. data/spec/models/cpu_architecture_properties_spec.rb +52 -0
  342. data/spec/models/data_center_entities_spec.rb +14 -2
  343. data/spec/models/datacenter_element_metadata_spec.rb +3 -3
  344. data/spec/models/datacenter_properties_spec.rb +8 -2
  345. data/spec/models/datacenter_spec.rb +2 -2
  346. data/spec/models/datacenters_spec.rb +2 -2
  347. data/spec/models/error_message_spec.rb +2 -2
  348. data/spec/models/error_spec.rb +2 -2
  349. data/spec/models/firewall_rule_spec.rb +2 -2
  350. data/spec/models/firewall_rules_spec.rb +2 -2
  351. data/spec/models/firewallrule_properties_spec.rb +12 -2
  352. data/spec/models/flow_log_properties_spec.rb +60 -0
  353. data/spec/models/flow_log_put_spec.rb +52 -0
  354. data/spec/models/flow_log_spec.rb +58 -0
  355. data/spec/models/flow_logs_spec.rb +70 -0
  356. data/spec/models/group_entities_spec.rb +2 -2
  357. data/spec/models/group_members_spec.rb +2 -2
  358. data/spec/models/group_properties_spec.rb +20 -2
  359. data/spec/models/group_share_properties_spec.rb +2 -2
  360. data/spec/models/group_share_spec.rb +2 -2
  361. data/spec/models/group_shares_spec.rb +2 -2
  362. data/spec/models/group_spec.rb +2 -2
  363. data/spec/models/group_users_spec.rb +2 -2
  364. data/spec/models/groups_spec.rb +2 -2
  365. data/spec/models/image_properties_spec.rb +2 -2
  366. data/spec/models/image_spec.rb +2 -2
  367. data/spec/models/images_spec.rb +2 -2
  368. data/spec/models/info_spec.rb +2 -2
  369. data/spec/models/ip_block_properties_spec.rb +2 -2
  370. data/spec/models/ip_block_spec.rb +2 -2
  371. data/spec/models/ip_blocks_spec.rb +2 -2
  372. data/spec/models/ip_consumer_spec.rb +2 -2
  373. data/spec/models/ip_failover_spec.rb +2 -2
  374. data/spec/models/kubernetes_auto_scaling_spec.rb +2 -2
  375. data/spec/models/kubernetes_cluster_entities_spec.rb +2 -2
  376. data/spec/models/kubernetes_cluster_for_post_spec.rb +2 -2
  377. data/spec/models/kubernetes_cluster_for_put_spec.rb +2 -2
  378. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +2 -2
  379. data/spec/models/kubernetes_cluster_properties_for_put_spec.rb +2 -2
  380. data/spec/models/kubernetes_cluster_properties_spec.rb +2 -2
  381. data/spec/models/kubernetes_cluster_spec.rb +2 -2
  382. data/spec/models/kubernetes_clusters_spec.rb +2 -2
  383. data/spec/models/kubernetes_maintenance_window_spec.rb +2 -2
  384. data/spec/models/kubernetes_node_metadata_spec.rb +3 -3
  385. data/spec/models/kubernetes_node_pool_for_post_spec.rb +2 -2
  386. data/spec/models/kubernetes_node_pool_for_put_spec.rb +2 -2
  387. data/spec/models/kubernetes_node_pool_lan_routes_spec.rb +40 -0
  388. data/spec/models/kubernetes_node_pool_lan_spec.rb +14 -2
  389. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +2 -2
  390. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +2 -2
  391. data/spec/models/kubernetes_node_pool_properties_spec.rb +2 -2
  392. data/spec/models/kubernetes_node_pool_spec.rb +2 -2
  393. data/spec/models/kubernetes_node_pools_spec.rb +2 -2
  394. data/spec/models/kubernetes_node_properties_spec.rb +2 -2
  395. data/spec/models/kubernetes_node_spec.rb +2 -2
  396. data/spec/models/kubernetes_nodes_spec.rb +2 -2
  397. data/spec/models/label_properties_spec.rb +2 -2
  398. data/spec/models/label_resource_properties_spec.rb +2 -2
  399. data/spec/models/label_resource_spec.rb +2 -2
  400. data/spec/models/label_resources_spec.rb +2 -2
  401. data/spec/models/label_spec.rb +2 -2
  402. data/spec/models/labels_spec.rb +2 -2
  403. data/spec/models/lan_entities_spec.rb +2 -2
  404. data/spec/models/lan_nics_spec.rb +2 -2
  405. data/spec/models/lan_post_spec.rb +2 -2
  406. data/spec/models/lan_properties_post_spec.rb +2 -2
  407. data/spec/models/lan_properties_spec.rb +2 -2
  408. data/spec/models/lan_spec.rb +2 -2
  409. data/spec/models/lans_spec.rb +2 -2
  410. data/spec/models/loadbalancer_entities_spec.rb +2 -2
  411. data/spec/models/loadbalancer_properties_spec.rb +2 -2
  412. data/spec/models/loadbalancer_spec.rb +2 -2
  413. data/spec/models/loadbalancers_spec.rb +2 -2
  414. data/spec/models/location_properties_spec.rb +8 -2
  415. data/spec/models/location_spec.rb +2 -2
  416. data/spec/models/locations_spec.rb +2 -2
  417. data/spec/models/nat_gateway_entities_spec.rb +40 -0
  418. data/spec/models/nat_gateway_lan_properties_spec.rb +40 -0
  419. data/spec/models/nat_gateway_properties_spec.rb +46 -0
  420. data/spec/models/nat_gateway_put_spec.rb +52 -0
  421. data/spec/models/nat_gateway_rule_properties_spec.rb +70 -0
  422. data/spec/models/nat_gateway_rule_protocol_spec.rb +28 -0
  423. data/spec/models/nat_gateway_rule_put_spec.rb +52 -0
  424. data/spec/models/nat_gateway_rule_spec.rb +58 -0
  425. data/spec/models/nat_gateway_rule_type_spec.rb +28 -0
  426. data/spec/models/nat_gateway_rules_spec.rb +52 -0
  427. data/spec/models/nat_gateway_spec.rb +64 -0
  428. data/spec/models/nat_gateways_spec.rb +70 -0
  429. data/spec/models/network_load_balancer_entities_spec.rb +40 -0
  430. data/spec/models/network_load_balancer_forwarding_rule_health_check_spec.rb +52 -0
  431. data/spec/models/network_load_balancer_forwarding_rule_properties_spec.rb +78 -0
  432. data/spec/models/network_load_balancer_forwarding_rule_put_spec.rb +52 -0
  433. data/spec/models/network_load_balancer_forwarding_rule_spec.rb +58 -0
  434. data/spec/models/network_load_balancer_forwarding_rule_target_health_check_spec.rb +46 -0
  435. data/spec/models/network_load_balancer_forwarding_rule_target_spec.rb +52 -0
  436. data/spec/models/network_load_balancer_forwarding_rules_spec.rb +70 -0
  437. data/spec/models/network_load_balancer_properties_spec.rb +58 -0
  438. data/spec/models/network_load_balancer_put_spec.rb +52 -0
  439. data/spec/models/network_load_balancer_spec.rb +64 -0
  440. data/spec/models/network_load_balancers_spec.rb +70 -0
  441. data/spec/models/nic_entities_spec.rb +8 -2
  442. data/spec/models/nic_properties_spec.rb +19 -3
  443. data/spec/models/nic_put_spec.rb +52 -0
  444. data/spec/models/nic_spec.rb +2 -2
  445. data/spec/models/nics_spec.rb +2 -2
  446. data/spec/models/no_state_meta_data_spec.rb +2 -2
  447. data/spec/models/pagination_links_spec.rb +2 -2
  448. data/spec/models/peer_spec.rb +2 -2
  449. data/spec/models/private_cross_connect_properties_spec.rb +2 -2
  450. data/spec/models/private_cross_connect_spec.rb +2 -2
  451. data/spec/models/private_cross_connects_spec.rb +2 -2
  452. data/spec/models/remote_console_url_spec.rb +34 -0
  453. data/spec/models/request_metadata_spec.rb +2 -2
  454. data/spec/models/request_properties_spec.rb +2 -2
  455. data/spec/models/request_spec.rb +2 -2
  456. data/spec/models/request_status_metadata_spec.rb +2 -2
  457. data/spec/models/request_status_spec.rb +2 -2
  458. data/spec/models/request_target_spec.rb +2 -2
  459. data/spec/models/requests_spec.rb +2 -2
  460. data/spec/models/resource_entities_spec.rb +2 -2
  461. data/spec/models/resource_groups_spec.rb +2 -2
  462. data/spec/models/resource_limits_spec.rb +32 -2
  463. data/spec/models/resource_properties_spec.rb +2 -2
  464. data/spec/models/resource_reference_spec.rb +2 -2
  465. data/spec/models/resource_spec.rb +2 -2
  466. data/spec/models/resources_spec.rb +2 -2
  467. data/spec/models/resources_users_spec.rb +2 -2
  468. data/spec/models/s3_bucket_spec.rb +2 -2
  469. data/spec/models/s3_key_metadata_spec.rb +2 -2
  470. data/spec/models/s3_key_properties_spec.rb +2 -2
  471. data/spec/models/s3_key_spec.rb +2 -2
  472. data/spec/models/s3_keys_spec.rb +2 -2
  473. data/spec/models/s3_object_storage_sso_spec.rb +2 -2
  474. data/spec/models/server_entities_spec.rb +2 -2
  475. data/spec/models/server_properties_spec.rb +14 -2
  476. data/spec/models/server_spec.rb +2 -2
  477. data/spec/models/servers_spec.rb +2 -2
  478. data/spec/models/snapshot_properties_spec.rb +2 -2
  479. data/spec/models/snapshot_spec.rb +2 -2
  480. data/spec/models/snapshots_spec.rb +2 -2
  481. data/spec/models/target_port_range_spec.rb +40 -0
  482. data/spec/models/template_properties_spec.rb +52 -0
  483. data/spec/models/template_spec.rb +58 -0
  484. data/spec/models/templates_spec.rb +52 -0
  485. data/spec/models/token_spec.rb +34 -0
  486. data/spec/models/type_spec.rb +2 -2
  487. data/spec/models/user_metadata_spec.rb +2 -2
  488. data/spec/models/user_post_spec.rb +2 -2
  489. data/spec/models/user_properties_post_spec.rb +2 -2
  490. data/spec/models/user_properties_put_spec.rb +2 -2
  491. data/spec/models/user_properties_spec.rb +2 -2
  492. data/spec/models/user_put_spec.rb +2 -2
  493. data/spec/models/user_spec.rb +2 -2
  494. data/spec/models/users_entities_spec.rb +2 -2
  495. data/spec/models/users_spec.rb +2 -2
  496. data/spec/models/volume_properties_spec.rb +8 -2
  497. data/spec/models/volume_spec.rb +2 -2
  498. data/spec/models/volumes_spec.rb +2 -2
  499. data/spec/spec_helper.rb +2 -2
  500. metadata +246 -80
  501. data/Gemfile.lock +0 -68
  502. data/docs/api/BackupUnitApi.md +0 -595
  503. data/docs/api/ContractApi.md +0 -89
  504. data/docs/api/DataCenterApi.md +0 -517
  505. data/docs/api/ImageApi.md +0 -429
  506. data/docs/api/LabelApi.md +0 -2355
  507. data/docs/api/LanApi.md +0 -795
  508. data/docs/api/LoadBalancerApi.md +0 -883
  509. data/docs/api/LocationApi.md +0 -259
  510. data/docs/api/NicApi.md +0 -1087
  511. data/docs/api/PrivateCrossConnectApi.md +0 -427
  512. data/docs/api/ServerApi.md +0 -1573
  513. data/docs/api/SnapshotApi.md +0 -429
  514. data/docs/api/VolumeApi.md +0 -711
  515. data/docs/models/KubernetesConfig.md +0 -24
  516. data/docs/models/KubernetesConfigProperties.md +0 -18
  517. data/lib/ionoscloud/api/contract_api.rb +0 -96
  518. data/lib/ionoscloud/api/data_center_api.rb +0 -532
  519. data/lib/ionoscloud/api/nic_api.rb +0 -1222
  520. data/lib/ionoscloud/api/server_api.rb +0 -1679
  521. data/lib/test_driver.rb +0 -104
  522. data/spec/api/backup_unit_api_spec.rb +0 -140
  523. data/spec/api/contract_api_spec.rb +0 -49
  524. data/spec/api/data_center_api_spec.rb +0 -128
  525. data/spec/api/image_api_spec.rb +0 -111
  526. data/spec/api/label_api_spec.rb +0 -480
  527. data/spec/api/lan_api_spec.rb +0 -186
  528. data/spec/api/load_balancer_api_spec.rb +0 -203
  529. data/spec/api/location_api_spec.rb +0 -80
  530. data/spec/api/nic_api_spec.rb +0 -251
  531. data/spec/api/private_cross_connect_api_spec.rb +0 -110
  532. data/spec/api/server_api_spec.rb +0 -337
  533. data/spec/api/snapshot_api_spec.rb +0 -111
  534. data/spec/api/volume_api_spec.rb +0 -171
  535. data/spec/models/kubernetes_config_properties_spec.rb +0 -34
  536. data/spec/models/kubernetes_config_spec.rb +0 -56
@@ -0,0 +1,640 @@
1
+ =begin
2
+ #CLOUD API
3
+
4
+ #IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
5
+
6
+ The version of the OpenAPI document: 6.0-SDK.3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
30
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to be executed.
32
+ # @return [nil]
33
+ def datacenters_servers_nics_firewallrules_delete(datacenter_id, server_id, nic_id, firewallrule_id, opts = {})
34
+ datacenters_servers_nics_firewallrules_delete_with_http_info(datacenter_id, server_id, nic_id, firewallrule_id, opts)
35
+ nil
36
+ end
37
+
38
+ # Delete a Firewall Rule
39
+ # Removes the specified firewall rule.
40
+ # @param datacenter_id [String] The unique ID of the data center.
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 the response is pretty-printed (with indentations and new lines).
46
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to be executed.
48
+ # @return [Array<(nil, Integer, Hash)>] nil, 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]
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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
128
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines).
144
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
225
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to be executed.
227
+ # @option opts [Integer] :offset The first element (from the complete list of the 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 data center.
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 the response is pretty-printed (with indentations and new lines).
242
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to be executed.
244
+ # @option opts [Integer] :offset The first element (from the complete list of the 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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
337
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines).
354
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
442
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines).
458
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines). (default to true)
543
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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 data center.
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 the response is pretty-printed (with indentations and new lines).
560
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) 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 with multiple contracts must provide the contract number, against which all API requests are to 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