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,604 @@
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 NetworkInterfacesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete a Network Interface
23
+ # Deletes the specified network interface.
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 [Hash] opts the optional parameters
28
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
29
+ # @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)
30
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
31
+ # @return [nil]
32
+ def datacenters_servers_nics_delete(datacenter_id, server_id, nic_id, opts = {})
33
+ datacenters_servers_nics_delete_with_http_info(datacenter_id, server_id, nic_id, opts)
34
+ nil
35
+ end
36
+
37
+ # Delete a Network Interface
38
+ # Deletes the specified network interface.
39
+ # @param datacenter_id [String] The unique ID of the data center.
40
+ # @param server_id [String] The unique ID of the Server
41
+ # @param nic_id [String] The unique ID of the NIC
42
+ # @param [Hash] opts the optional parameters
43
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
44
+ # @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
45
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
46
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
47
+ def datacenters_servers_nics_delete_with_http_info(datacenter_id, server_id, nic_id, opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_delete ...'
50
+ end
51
+ # verify the required parameter 'datacenter_id' is set
52
+ if @api_client.config.client_side_validation && datacenter_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_delete"
54
+ end
55
+ # verify the required parameter 'server_id' is set
56
+ if @api_client.config.client_side_validation && server_id.nil?
57
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_delete"
58
+ end
59
+ # verify the required parameter 'nic_id' is set
60
+ if @api_client.config.client_side_validation && nic_id.nil?
61
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling NetworkInterfacesApi.datacenters_servers_nics_delete"
62
+ end
63
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
64
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_delete, must be smaller than or equal to 10.'
65
+ end
66
+
67
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
68
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_delete, must be greater than or equal to 0.'
69
+ end
70
+
71
+ # resource path
72
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
73
+
74
+ # query parameters
75
+ query_params = opts[:query_params] || {}
76
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
77
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
78
+
79
+ # header parameters
80
+ header_params = opts[:header_params] || {}
81
+ # HTTP header 'Accept' (if needed)
82
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
83
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type]
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_delete",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+
114
+ # Retrieve a Network Interface
115
+ # Retrieves the attributes of a given network interface.
116
+ # @param datacenter_id [String] The unique ID of the data center.
117
+ # @param server_id [String] The unique ID of the Server
118
+ # @param nic_id [String] The unique ID of the NIC
119
+ # @param [Hash] opts the optional parameters
120
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
121
+ # @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)
122
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
123
+ # @return [Nic]
124
+ def datacenters_servers_nics_find_by_id(datacenter_id, server_id, nic_id, opts = {})
125
+ data, _status_code, _headers = datacenters_servers_nics_find_by_id_with_http_info(datacenter_id, server_id, nic_id, opts)
126
+ data
127
+ end
128
+
129
+ # Retrieve a Network Interface
130
+ # Retrieves the attributes of a given network interface.
131
+ # @param datacenter_id [String] The unique ID of the data center.
132
+ # @param server_id [String] The unique ID of the Server
133
+ # @param nic_id [String] The unique ID of the NIC
134
+ # @param [Hash] opts the optional parameters
135
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
136
+ # @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
137
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
138
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
139
+ def datacenters_servers_nics_find_by_id_with_http_info(datacenter_id, server_id, nic_id, opts = {})
140
+ if @api_client.config.debugging
141
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_find_by_id ...'
142
+ end
143
+ # verify the required parameter 'datacenter_id' is set
144
+ if @api_client.config.client_side_validation && datacenter_id.nil?
145
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_find_by_id"
146
+ end
147
+ # verify the required parameter 'server_id' is set
148
+ if @api_client.config.client_side_validation && server_id.nil?
149
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_find_by_id"
150
+ end
151
+ # verify the required parameter 'nic_id' is set
152
+ if @api_client.config.client_side_validation && nic_id.nil?
153
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling NetworkInterfacesApi.datacenters_servers_nics_find_by_id"
154
+ end
155
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
156
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_find_by_id, must be smaller than or equal to 10.'
157
+ end
158
+
159
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
160
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_find_by_id, must be greater than or equal to 0.'
161
+ end
162
+
163
+ # resource path
164
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
165
+
166
+ # query parameters
167
+ query_params = opts[:query_params] || {}
168
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
169
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
175
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
176
+
177
+ # form parameters
178
+ form_params = opts[:form_params] || {}
179
+
180
+ # http body (model)
181
+ post_body = opts[:debug_body]
182
+
183
+ # return_type
184
+ return_type = opts[:debug_return_type] || 'Nic'
185
+
186
+ # auth_names
187
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
188
+
189
+ new_options = opts.merge(
190
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_find_by_id",
191
+ :header_params => header_params,
192
+ :query_params => query_params,
193
+ :form_params => form_params,
194
+ :body => post_body,
195
+ :auth_names => auth_names,
196
+ :return_type => return_type
197
+ )
198
+
199
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
200
+ if @api_client.config.debugging
201
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
202
+ end
203
+ return data, status_code, headers
204
+ end
205
+
206
+ # List Network Interfaces
207
+ # Retrieves a list of network interfaces.
208
+ # @param datacenter_id [String] The unique ID of the data center.
209
+ # @param server_id [String] The unique ID of the Server
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
212
+ # @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)
213
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
214
+ # @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)
215
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination). (default to 1000)
216
+ # @return [Nics]
217
+ def datacenters_servers_nics_get(datacenter_id, server_id, opts = {})
218
+ data, _status_code, _headers = datacenters_servers_nics_get_with_http_info(datacenter_id, server_id, opts)
219
+ data
220
+ end
221
+
222
+ # List Network Interfaces
223
+ # Retrieves a list of network interfaces.
224
+ # @param datacenter_id [String] The unique ID of the data center.
225
+ # @param server_id [String] The unique ID of the Server
226
+ # @param [Hash] opts the optional parameters
227
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
228
+ # @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
229
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
230
+ # @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).
231
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination).
232
+ # @return [Array<(Nics, Integer, Hash)>] Nics data, response status code and response headers
233
+ def datacenters_servers_nics_get_with_http_info(datacenter_id, server_id, opts = {})
234
+ if @api_client.config.debugging
235
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_get ...'
236
+ end
237
+ # verify the required parameter 'datacenter_id' is set
238
+ if @api_client.config.client_side_validation && datacenter_id.nil?
239
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_get"
240
+ end
241
+ # verify the required parameter 'server_id' is set
242
+ if @api_client.config.client_side_validation && server_id.nil?
243
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_get"
244
+ end
245
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
246
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_get, must be smaller than or equal to 10.'
247
+ end
248
+
249
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
250
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_get, must be greater than or equal to 0.'
251
+ end
252
+
253
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
254
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling NetworkInterfacesApi.datacenters_servers_nics_get, must be greater than or equal to 0.'
255
+ end
256
+
257
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
258
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NetworkInterfacesApi.datacenters_servers_nics_get, must be smaller than or equal to 10000.'
259
+ end
260
+
261
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
262
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling NetworkInterfacesApi.datacenters_servers_nics_get, must be greater than or equal to 1.'
263
+ end
264
+
265
+ # resource path
266
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
267
+
268
+ # query parameters
269
+ query_params = opts[:query_params] || {}
270
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
271
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
272
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
273
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
274
+
275
+ # header parameters
276
+ header_params = opts[:header_params] || {}
277
+ # HTTP header 'Accept' (if needed)
278
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
279
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
280
+
281
+ # form parameters
282
+ form_params = opts[:form_params] || {}
283
+
284
+ # http body (model)
285
+ post_body = opts[:debug_body]
286
+
287
+ # return_type
288
+ return_type = opts[:debug_return_type] || 'Nics'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_get",
295
+ :header_params => header_params,
296
+ :query_params => query_params,
297
+ :form_params => form_params,
298
+ :body => post_body,
299
+ :auth_names => auth_names,
300
+ :return_type => return_type
301
+ )
302
+
303
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers
308
+ end
309
+
310
+ # Partially Modify a Network Interface
311
+ # You can use update attributes of a network interface.
312
+ # @param datacenter_id [String] The unique ID of the data center.
313
+ # @param server_id [String] The unique ID of the Server
314
+ # @param nic_id [String] The unique ID of the NIC
315
+ # @param nic [NicProperties] Modified properties of Nic
316
+ # @param [Hash] opts the optional parameters
317
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
318
+ # @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)
319
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
320
+ # @return [Nic]
321
+ def datacenters_servers_nics_patch(datacenter_id, server_id, nic_id, nic, opts = {})
322
+ data, _status_code, _headers = datacenters_servers_nics_patch_with_http_info(datacenter_id, server_id, nic_id, nic, opts)
323
+ data
324
+ end
325
+
326
+ # Partially Modify a Network Interface
327
+ # You can use update attributes of a network interface.
328
+ # @param datacenter_id [String] The unique ID of the data center.
329
+ # @param server_id [String] The unique ID of the Server
330
+ # @param nic_id [String] The unique ID of the NIC
331
+ # @param nic [NicProperties] Modified properties of Nic
332
+ # @param [Hash] opts the optional parameters
333
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
334
+ # @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
335
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
336
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
337
+ def datacenters_servers_nics_patch_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {})
338
+ if @api_client.config.debugging
339
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_patch ...'
340
+ end
341
+ # verify the required parameter 'datacenter_id' is set
342
+ if @api_client.config.client_side_validation && datacenter_id.nil?
343
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_patch"
344
+ end
345
+ # verify the required parameter 'server_id' is set
346
+ if @api_client.config.client_side_validation && server_id.nil?
347
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_patch"
348
+ end
349
+ # verify the required parameter 'nic_id' is set
350
+ if @api_client.config.client_side_validation && nic_id.nil?
351
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling NetworkInterfacesApi.datacenters_servers_nics_patch"
352
+ end
353
+ # verify the required parameter 'nic' is set
354
+ if @api_client.config.client_side_validation && nic.nil?
355
+ fail ArgumentError, "Missing the required parameter 'nic' when calling NetworkInterfacesApi.datacenters_servers_nics_patch"
356
+ end
357
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
358
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_patch, must be smaller than or equal to 10.'
359
+ end
360
+
361
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
362
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_patch, must be greater than or equal to 0.'
363
+ end
364
+
365
+ # resource path
366
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
367
+
368
+ # query parameters
369
+ query_params = opts[:query_params] || {}
370
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
371
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
372
+
373
+ # header parameters
374
+ header_params = opts[:header_params] || {}
375
+ # HTTP header 'Accept' (if needed)
376
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
377
+ # HTTP header 'Content-Type'
378
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
379
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
380
+
381
+ # form parameters
382
+ form_params = opts[:form_params] || {}
383
+
384
+ # http body (model)
385
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)
386
+
387
+ # return_type
388
+ return_type = opts[:debug_return_type] || 'Nic'
389
+
390
+ # auth_names
391
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
392
+
393
+ new_options = opts.merge(
394
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_patch",
395
+ :header_params => header_params,
396
+ :query_params => query_params,
397
+ :form_params => form_params,
398
+ :body => post_body,
399
+ :auth_names => auth_names,
400
+ :return_type => return_type
401
+ )
402
+
403
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
404
+ if @api_client.config.debugging
405
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
406
+ end
407
+ return data, status_code, headers
408
+ end
409
+
410
+ # Create a Network Interface
411
+ # Adds a network interface to the target server. Combined count of network interfaces and volumes attached to the server should not exceed size 24.
412
+ # @param datacenter_id [String] The unique ID of the data center.
413
+ # @param server_id [String] The unique ID of the Server
414
+ # @param nic [Nic] Nic to be created
415
+ # @param [Hash] opts the optional parameters
416
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
417
+ # @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)
418
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
419
+ # @return [Nic]
420
+ def datacenters_servers_nics_post(datacenter_id, server_id, nic, opts = {})
421
+ data, _status_code, _headers = datacenters_servers_nics_post_with_http_info(datacenter_id, server_id, nic, opts)
422
+ data
423
+ end
424
+
425
+ # Create a Network Interface
426
+ # Adds a network interface to the target server. Combined count of network interfaces and volumes attached to the server should not exceed size 24.
427
+ # @param datacenter_id [String] The unique ID of the data center.
428
+ # @param server_id [String] The unique ID of the Server
429
+ # @param nic [Nic] Nic to be created
430
+ # @param [Hash] opts the optional parameters
431
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
432
+ # @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
433
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
434
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
435
+ def datacenters_servers_nics_post_with_http_info(datacenter_id, server_id, nic, opts = {})
436
+ if @api_client.config.debugging
437
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_post ...'
438
+ end
439
+ # verify the required parameter 'datacenter_id' is set
440
+ if @api_client.config.client_side_validation && datacenter_id.nil?
441
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_post"
442
+ end
443
+ # verify the required parameter 'server_id' is set
444
+ if @api_client.config.client_side_validation && server_id.nil?
445
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_post"
446
+ end
447
+ # verify the required parameter 'nic' is set
448
+ if @api_client.config.client_side_validation && nic.nil?
449
+ fail ArgumentError, "Missing the required parameter 'nic' when calling NetworkInterfacesApi.datacenters_servers_nics_post"
450
+ end
451
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
452
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_post, must be smaller than or equal to 10.'
453
+ end
454
+
455
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
456
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_post, must be greater than or equal to 0.'
457
+ end
458
+
459
+ # resource path
460
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
461
+
462
+ # query parameters
463
+ query_params = opts[:query_params] || {}
464
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
465
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
466
+
467
+ # header parameters
468
+ header_params = opts[:header_params] || {}
469
+ # HTTP header 'Accept' (if needed)
470
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
471
+ # HTTP header 'Content-Type'
472
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
473
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
474
+
475
+ # form parameters
476
+ form_params = opts[:form_params] || {}
477
+
478
+ # http body (model)
479
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)
480
+
481
+ # return_type
482
+ return_type = opts[:debug_return_type] || 'Nic'
483
+
484
+ # auth_names
485
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
486
+
487
+ new_options = opts.merge(
488
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_post",
489
+ :header_params => header_params,
490
+ :query_params => query_params,
491
+ :form_params => form_params,
492
+ :body => post_body,
493
+ :auth_names => auth_names,
494
+ :return_type => return_type
495
+ )
496
+
497
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
498
+ if @api_client.config.debugging
499
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
500
+ end
501
+ return data, status_code, headers
502
+ end
503
+
504
+ # Modify a Network Interface
505
+ # You can use update attributes of a network interface.
506
+ # @param datacenter_id [String] The unique ID of the data center.
507
+ # @param server_id [String] The unique ID of the Server
508
+ # @param nic_id [String] The unique ID of the NIC
509
+ # @param nic [NicPut] Modified Nic
510
+ # @param [Hash] opts the optional parameters
511
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
512
+ # @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)
513
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
514
+ # @return [Nic]
515
+ def datacenters_servers_nics_put(datacenter_id, server_id, nic_id, nic, opts = {})
516
+ data, _status_code, _headers = datacenters_servers_nics_put_with_http_info(datacenter_id, server_id, nic_id, nic, opts)
517
+ data
518
+ end
519
+
520
+ # Modify a Network Interface
521
+ # You can use update attributes of a network interface.
522
+ # @param datacenter_id [String] The unique ID of the data center.
523
+ # @param server_id [String] The unique ID of the Server
524
+ # @param nic_id [String] The unique ID of the NIC
525
+ # @param nic [NicPut] Modified Nic
526
+ # @param [Hash] opts the optional parameters
527
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
528
+ # @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
529
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
530
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
531
+ def datacenters_servers_nics_put_with_http_info(datacenter_id, server_id, nic_id, nic, opts = {})
532
+ if @api_client.config.debugging
533
+ @api_client.config.logger.debug 'Calling API: NetworkInterfacesApi.datacenters_servers_nics_put ...'
534
+ end
535
+ # verify the required parameter 'datacenter_id' is set
536
+ if @api_client.config.client_side_validation && datacenter_id.nil?
537
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling NetworkInterfacesApi.datacenters_servers_nics_put"
538
+ end
539
+ # verify the required parameter 'server_id' is set
540
+ if @api_client.config.client_side_validation && server_id.nil?
541
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling NetworkInterfacesApi.datacenters_servers_nics_put"
542
+ end
543
+ # verify the required parameter 'nic_id' is set
544
+ if @api_client.config.client_side_validation && nic_id.nil?
545
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling NetworkInterfacesApi.datacenters_servers_nics_put"
546
+ end
547
+ # verify the required parameter 'nic' is set
548
+ if @api_client.config.client_side_validation && nic.nil?
549
+ fail ArgumentError, "Missing the required parameter 'nic' when calling NetworkInterfacesApi.datacenters_servers_nics_put"
550
+ end
551
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
552
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_put, must be smaller than or equal to 10.'
553
+ end
554
+
555
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
556
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling NetworkInterfacesApi.datacenters_servers_nics_put, must be greater than or equal to 0.'
557
+ end
558
+
559
+ # resource path
560
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_id.to_s))
561
+
562
+ # query parameters
563
+ query_params = opts[:query_params] || {}
564
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
565
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
566
+
567
+ # header parameters
568
+ header_params = opts[:header_params] || {}
569
+ # HTTP header 'Accept' (if needed)
570
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
571
+ # HTTP header 'Content-Type'
572
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
573
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
574
+
575
+ # form parameters
576
+ form_params = opts[:form_params] || {}
577
+
578
+ # http body (model)
579
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(nic)
580
+
581
+ # return_type
582
+ return_type = opts[:debug_return_type] || 'Nic'
583
+
584
+ # auth_names
585
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
586
+
587
+ new_options = opts.merge(
588
+ :operation => :"NetworkInterfacesApi.datacenters_servers_nics_put",
589
+ :header_params => header_params,
590
+ :query_params => query_params,
591
+ :form_params => form_params,
592
+ :body => post_body,
593
+ :auth_names => auth_names,
594
+ :return_type => return_type
595
+ )
596
+
597
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
598
+ if @api_client.config.debugging
599
+ @api_client.config.logger.debug "API called: NetworkInterfacesApi#datacenters_servers_nics_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
600
+ end
601
+ return data, status_code, headers
602
+ end
603
+ end
604
+ end