ionoscloud 5.0.0 → 6.0.0.beta.3

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