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
data/docs/Users.md ADDED
@@ -0,0 +1,24 @@
1
+ # Users
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource's unique identifier | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path) | [optional][readonly] |
10
+ | **items** | [**Array<User>**](User.md) | Array of items in that collection | [optional][readonly] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'ionoscloud'
16
+
17
+ instance = Ionoscloud::Users.new(
18
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
19
+ type: "collection",
20
+ href: <RESOURCE-URI>,
21
+ items: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # UsersEntities
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **owns** | [**ResourcesUsers**](ResourcesUsers.md) | | [optional] |
8
+ | **groups** | [**GroupUsers**](GroupUsers.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ionoscloud'
14
+
15
+ instance = Ionoscloud::UsersEntities.new(
16
+ owns: null,
17
+ groups: null
18
+ )
19
+ ```
20
+
data/docs/Volume.md ADDED
@@ -0,0 +1,26 @@
1
+ # Volume
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path) | [optional][readonly] |
10
+ | **metadata** | [**DatacenterElementMetadata**](DatacenterElementMetadata.md) | | [optional] |
11
+ | **properties** | [**VolumeProperties**](VolumeProperties.md) | | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ionoscloud'
17
+
18
+ instance = Ionoscloud::Volume.new(
19
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
20
+ type: "volume",
21
+ href: <RESOURCE-URI>,
22
+ metadata: null,
23
+ properties: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,54 @@
1
+ # VolumeProperties
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | A name of that resource | [optional] |
8
+ | **type** | **String** | Hardware type of the volume. DAS (Direct Attached Storage) could be used only in a composite call with a Cube server | [optional] |
9
+ | **size** | **Float** | The size of the volume in GB | |
10
+ | **availability_zone** | **String** | The availability zone in which the volume should exist. The storage volume will be provisioned on as less physical storages as possible but cannot guarantee upfront. It is not available for DAS (Direct Attached Storage) and subject of availability for SSD. | [optional] |
11
+ | **image** | **String** | Image or snapshot ID to be used as template for this volume | [optional] |
12
+ | **image_password** | **String** | Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests. Password rules allows all characters from a-z, A-Z, 0-9 | [optional] |
13
+ | **ssh_keys** | **Array&lt;String&gt;** | Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. | [optional] |
14
+ | **bus** | **String** | The bus type of the volume. Default is VIRTIO | [optional] |
15
+ | **licence_type** | **String** | OS type of this volume | [optional][readonly] |
16
+ | **cpu_hot_plug** | **Boolean** | Is capable of CPU hot plug (no reboot required) | [optional] |
17
+ | **ram_hot_plug** | **Boolean** | Is capable of memory hot plug (no reboot required) | [optional] |
18
+ | **nic_hot_plug** | **Boolean** | Is capable of nic hot plug (no reboot required) | [optional] |
19
+ | **nic_hot_unplug** | **Boolean** | Is capable of nic hot unplug (no reboot required) | [optional] |
20
+ | **disc_virtio_hot_plug** | **Boolean** | Is capable of Virt-IO drive hot plug (no reboot required) | [optional] |
21
+ | **disc_virtio_hot_unplug** | **Boolean** | Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. | [optional] |
22
+ | **device_number** | **Integer** | The Logical Unit Number of the storage volume. Null for volumes not mounted to any VM | [optional][readonly] |
23
+ | **pci_slot** | **Integer** | The PCI slot number of the storage volume. Null for volumes not mounted to any VM | [optional][readonly] |
24
+ | **backupunit_id** | **String** | The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either &#39;public image&#39; or &#39;imageAlias&#39; in conjunction with this property. | [optional] |
25
+ | **user_data** | **String** | The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either &#39;public image&#39; or &#39;imageAlias&#39; that has cloud-init compatibility in conjunction with this property. | [optional] |
26
+
27
+ ## Example
28
+
29
+ ```ruby
30
+ require 'ionoscloud'
31
+
32
+ instance = Ionoscloud::VolumeProperties.new(
33
+ name: My resource,
34
+ type: HDD,
35
+ size: 100.0,
36
+ availability_zone: AUTO,
37
+ image: d6ad1576-fde9-4696-aa41-1ebd75bdaf49,
38
+ image_password: mypass123,
39
+ ssh_keys: [ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyWh6LZ7f2wxnupVgtK2096bc69Vv9uT2A58lwN3ol0A6mxqlT0f4M1NbarVUxa+MVdxBLud5PvlkbYc9mY91OyzLGZMfVWvhAYz/tJSsDtsgRUl0GFVv332zDWk0i+mAVy0N408OORm5XqV6zvIDaiB/jopyjemUp2rnP7pXU4+98ilZw6ef9DF9y4YZ64mchL5//rcrGm1Lff3pC75X/polGONHeG6m4Vs8eIu+0epJ4PJBxO+rwRYp1zMnn90UCk21KvTcYops2cte7ouXQwkGUq3vmXxnSdvuivK/4JNoFQBsaGV974hDmloS5LOvSJjKpXs8Ed437ln712345, ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyWh6LZ7f2wxnupVgtK2096bc69Vv9uT2A58lwN3ol0A6mxqlT0f4M1NbarVUxa+MVdxBLud5PvlkbYc9mY91OyzLGZMfVWvhAYz/tJSsDtsgRUl0GFVv332zDWk0i+mAVy0N408OORm5XqV6zvIDaiB/jopyjemUp2rnP7pXU4+98ilZw6ef9DF9y4YZ64mchL5//rcrGm1Lff3pC75X/polGONHeG6m4Vs8eIu+0epJ4PJBxO+rwRYp1zMnn90UCk21KvTcYops2cte7ouXQwkGUq3vmXxnSdvuivK/asdfghjkjhyutry545tgvbn76e4rf43],
40
+ bus: VIRTIO,
41
+ licence_type: LINUX,
42
+ cpu_hot_plug: true,
43
+ ram_hot_plug: true,
44
+ nic_hot_plug: true,
45
+ nic_hot_unplug: true,
46
+ disc_virtio_hot_plug: true,
47
+ disc_virtio_hot_unplug: true,
48
+ device_number: 3,
49
+ pci_slot: 7,
50
+ backupunit_id: 25f67991-0f51-4efc-a8ad-ef1fb31a481c,
51
+ user_data: null
52
+ )
53
+ ```
54
+
data/docs/Volumes.md ADDED
@@ -0,0 +1,30 @@
1
+ # Volumes
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The resource&#39;s unique identifier | [optional][readonly] |
8
+ | **type** | [**Type**](Type.md) | The type of object that has been created | [optional] |
9
+ | **href** | **String** | URL to the object representation (absolute path) | [optional][readonly] |
10
+ | **items** | [**Array&lt;Volume&gt;**](Volume.md) | Array of items in that collection | [optional][readonly] |
11
+ | **offset** | **Float** | the offset (if specified in the request) | [optional] |
12
+ | **limit** | **Float** | the limit (if specified in the request) | [optional] |
13
+ | **_links** | [**PaginationLinks**](PaginationLinks.md) | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ionoscloud'
19
+
20
+ instance = Ionoscloud::Volumes.new(
21
+ id: 15f67991-0f51-4efc-a8ad-ef1fb31a480c,
22
+ type: "collection",
23
+ href: <RESOURCE-URI>,
24
+ items: null,
25
+ offset: 0,
26
+ limit: 1000,
27
+ _links: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,709 @@
1
+ # VolumesApi
2
+
3
+ All URIs are relative to *https://api.ionos.com/cloudapi/v6*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**datacenters_volumes_create_snapshot_post**](VolumesApi.md#datacenters_volumes_create_snapshot_post) | **POST** /datacenters/{datacenterId}/volumes/{volumeId}/create-snapshot | Create Volume Snapshot |
8
+ | [**datacenters_volumes_delete**](VolumesApi.md#datacenters_volumes_delete) | **DELETE** /datacenters/{datacenterId}/volumes/{volumeId} | Delete a Volume |
9
+ | [**datacenters_volumes_find_by_id**](VolumesApi.md#datacenters_volumes_find_by_id) | **GET** /datacenters/{datacenterId}/volumes/{volumeId} | Retrieve a Volume |
10
+ | [**datacenters_volumes_get**](VolumesApi.md#datacenters_volumes_get) | **GET** /datacenters/{datacenterId}/volumes | List Volumes |
11
+ | [**datacenters_volumes_patch**](VolumesApi.md#datacenters_volumes_patch) | **PATCH** /datacenters/{datacenterId}/volumes/{volumeId} | Partially modify a Volume |
12
+ | [**datacenters_volumes_post**](VolumesApi.md#datacenters_volumes_post) | **POST** /datacenters/{datacenterId}/volumes | Create a Volume |
13
+ | [**datacenters_volumes_put**](VolumesApi.md#datacenters_volumes_put) | **PUT** /datacenters/{datacenterId}/volumes/{volumeId} | Modify a Volume |
14
+ | [**datacenters_volumes_restore_snapshot_post**](VolumesApi.md#datacenters_volumes_restore_snapshot_post) | **POST** /datacenters/{datacenterId}/volumes/{volumeId}/restore-snapshot | Restore Volume Snapshot |
15
+
16
+
17
+ ## datacenters_volumes_create_snapshot_post
18
+
19
+ > <Snapshot> datacenters_volumes_create_snapshot_post(datacenter_id, volume_id, opts)
20
+
21
+ Create Volume Snapshot
22
+
23
+ Creates a snapshot of a volume within the datacenter. You can use a snapshot to create a new storage volume or to restore a storage volume.
24
+
25
+ ### Examples
26
+
27
+ ```ruby
28
+ require 'time'
29
+ require 'ionoscloud'
30
+ # setup authorization
31
+ Ionoscloud.configure do |config|
32
+ # Configure HTTP basic authorization: Basic Authentication
33
+ config.username = 'YOUR USERNAME'
34
+ config.password = 'YOUR PASSWORD'
35
+
36
+ # Configure API key authorization: Token Authentication
37
+ config.api_key['Authorization'] = 'YOUR API KEY'
38
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
39
+ # config.api_key_prefix['Authorization'] = 'Bearer'
40
+ end
41
+
42
+ api_instance = Ionoscloud::VolumesApi.new
43
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
44
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
45
+ opts = {
46
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
47
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
48
+ x_contract_number: 56, # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
49
+ name: 'name_example', # String | The name of the snapshot
50
+ description: 'description_example', # String | The description of the snapshot
51
+ sec_auth_protection: true, # Boolean | Flag representing if extra protection is enabled on snapshot e.g. Two Factor protection etc.
52
+ licence_type: 'UNKNOWN' # String | The OS type of this Snapshot
53
+ }
54
+
55
+ begin
56
+ # Create Volume Snapshot
57
+ result = api_instance.datacenters_volumes_create_snapshot_post(datacenter_id, volume_id, opts)
58
+ p result
59
+ rescue Ionoscloud::ApiError => e
60
+ puts "Error when calling VolumesApi->datacenters_volumes_create_snapshot_post: #{e}"
61
+ end
62
+ ```
63
+
64
+ #### Using the datacenters_volumes_create_snapshot_post_with_http_info variant
65
+
66
+ This returns an Array which contains the response data, status code and headers.
67
+
68
+ > <Array(<Snapshot>, Integer, Hash)> datacenters_volumes_create_snapshot_post_with_http_info(datacenter_id, volume_id, opts)
69
+
70
+ ```ruby
71
+ begin
72
+ # Create Volume Snapshot
73
+ data, status_code, headers = api_instance.datacenters_volumes_create_snapshot_post_with_http_info(datacenter_id, volume_id, opts)
74
+ p status_code # => 2xx
75
+ p headers # => { ... }
76
+ p data # => <Snapshot>
77
+ rescue Ionoscloud::ApiError => e
78
+ puts "Error when calling VolumesApi->datacenters_volumes_create_snapshot_post_with_http_info: #{e}"
79
+ end
80
+ ```
81
+
82
+ ### Parameters
83
+
84
+ | Name | Type | Description | Notes |
85
+ | ---- | ---- | ----------- | ----- |
86
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
87
+ | **volume_id** | **String** | The unique ID of the Volume | |
88
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
89
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
90
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
91
+ | **name** | **String** | The name of the snapshot | [optional] |
92
+ | **description** | **String** | The description of the snapshot | [optional] |
93
+ | **sec_auth_protection** | **Boolean** | Flag representing if extra protection is enabled on snapshot e.g. Two Factor protection etc. | [optional] |
94
+ | **licence_type** | **String** | The OS type of this Snapshot | [optional] |
95
+
96
+ ### Return type
97
+
98
+ [**Snapshot**](Snapshot.md)
99
+
100
+ ### Authorization
101
+
102
+ Basic Authentication, Token Authentication
103
+
104
+ ### HTTP request headers
105
+
106
+ - **Content-Type**: application/x-www-form-urlencoded
107
+ - **Accept**: application/json
108
+
109
+
110
+ ## datacenters_volumes_delete
111
+
112
+ > datacenters_volumes_delete(datacenter_id, volume_id, opts)
113
+
114
+ Delete a Volume
115
+
116
+ Deletes the specified volume. This will result in the volume being removed from your datacenter. Use this with caution.
117
+
118
+ ### Examples
119
+
120
+ ```ruby
121
+ require 'time'
122
+ require 'ionoscloud'
123
+ # setup authorization
124
+ Ionoscloud.configure do |config|
125
+ # Configure HTTP basic authorization: Basic Authentication
126
+ config.username = 'YOUR USERNAME'
127
+ config.password = 'YOUR PASSWORD'
128
+
129
+ # Configure API key authorization: Token Authentication
130
+ config.api_key['Authorization'] = 'YOUR API KEY'
131
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
132
+ # config.api_key_prefix['Authorization'] = 'Bearer'
133
+ end
134
+
135
+ api_instance = Ionoscloud::VolumesApi.new
136
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
137
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
138
+ opts = {
139
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
140
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
141
+ x_contract_number: 56 # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
142
+ }
143
+
144
+ begin
145
+ # Delete a Volume
146
+ api_instance.datacenters_volumes_delete(datacenter_id, volume_id, opts)
147
+ rescue Ionoscloud::ApiError => e
148
+ puts "Error when calling VolumesApi->datacenters_volumes_delete: #{e}"
149
+ end
150
+ ```
151
+
152
+ #### Using the datacenters_volumes_delete_with_http_info variant
153
+
154
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
155
+
156
+ > <Array(nil, Integer, Hash)> datacenters_volumes_delete_with_http_info(datacenter_id, volume_id, opts)
157
+
158
+ ```ruby
159
+ begin
160
+ # Delete a Volume
161
+ data, status_code, headers = api_instance.datacenters_volumes_delete_with_http_info(datacenter_id, volume_id, opts)
162
+ p status_code # => 2xx
163
+ p headers # => { ... }
164
+ p data # => nil
165
+ rescue Ionoscloud::ApiError => e
166
+ puts "Error when calling VolumesApi->datacenters_volumes_delete_with_http_info: #{e}"
167
+ end
168
+ ```
169
+
170
+ ### Parameters
171
+
172
+ | Name | Type | Description | Notes |
173
+ | ---- | ---- | ----------- | ----- |
174
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
175
+ | **volume_id** | **String** | The unique ID of the Volume | |
176
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
177
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
178
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
179
+
180
+ ### Return type
181
+
182
+ nil (empty response body)
183
+
184
+ ### Authorization
185
+
186
+ Basic Authentication, Token Authentication
187
+
188
+ ### HTTP request headers
189
+
190
+ - **Content-Type**: Not defined
191
+ - **Accept**: application/json
192
+
193
+
194
+ ## datacenters_volumes_find_by_id
195
+
196
+ > <Volume> datacenters_volumes_find_by_id(datacenter_id, volume_id, opts)
197
+
198
+ Retrieve a Volume
199
+
200
+ Retrieves the attributes of a given Volume
201
+
202
+ ### Examples
203
+
204
+ ```ruby
205
+ require 'time'
206
+ require 'ionoscloud'
207
+ # setup authorization
208
+ Ionoscloud.configure do |config|
209
+ # Configure HTTP basic authorization: Basic Authentication
210
+ config.username = 'YOUR USERNAME'
211
+ config.password = 'YOUR PASSWORD'
212
+
213
+ # Configure API key authorization: Token Authentication
214
+ config.api_key['Authorization'] = 'YOUR API KEY'
215
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
216
+ # config.api_key_prefix['Authorization'] = 'Bearer'
217
+ end
218
+
219
+ api_instance = Ionoscloud::VolumesApi.new
220
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
221
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
222
+ opts = {
223
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
224
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
225
+ x_contract_number: 56 # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
226
+ }
227
+
228
+ begin
229
+ # Retrieve a Volume
230
+ result = api_instance.datacenters_volumes_find_by_id(datacenter_id, volume_id, opts)
231
+ p result
232
+ rescue Ionoscloud::ApiError => e
233
+ puts "Error when calling VolumesApi->datacenters_volumes_find_by_id: #{e}"
234
+ end
235
+ ```
236
+
237
+ #### Using the datacenters_volumes_find_by_id_with_http_info variant
238
+
239
+ This returns an Array which contains the response data, status code and headers.
240
+
241
+ > <Array(<Volume>, Integer, Hash)> datacenters_volumes_find_by_id_with_http_info(datacenter_id, volume_id, opts)
242
+
243
+ ```ruby
244
+ begin
245
+ # Retrieve a Volume
246
+ data, status_code, headers = api_instance.datacenters_volumes_find_by_id_with_http_info(datacenter_id, volume_id, opts)
247
+ p status_code # => 2xx
248
+ p headers # => { ... }
249
+ p data # => <Volume>
250
+ rescue Ionoscloud::ApiError => e
251
+ puts "Error when calling VolumesApi->datacenters_volumes_find_by_id_with_http_info: #{e}"
252
+ end
253
+ ```
254
+
255
+ ### Parameters
256
+
257
+ | Name | Type | Description | Notes |
258
+ | ---- | ---- | ----------- | ----- |
259
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
260
+ | **volume_id** | **String** | The unique ID of the Volume | |
261
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
262
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
263
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
264
+
265
+ ### Return type
266
+
267
+ [**Volume**](Volume.md)
268
+
269
+ ### Authorization
270
+
271
+ Basic Authentication, Token Authentication
272
+
273
+ ### HTTP request headers
274
+
275
+ - **Content-Type**: Not defined
276
+ - **Accept**: application/json
277
+
278
+
279
+ ## datacenters_volumes_get
280
+
281
+ > <Volumes> datacenters_volumes_get(datacenter_id, opts)
282
+
283
+ List Volumes
284
+
285
+ Retrieves a list of Volumes.
286
+
287
+ ### Examples
288
+
289
+ ```ruby
290
+ require 'time'
291
+ require 'ionoscloud'
292
+ # setup authorization
293
+ Ionoscloud.configure do |config|
294
+ # Configure HTTP basic authorization: Basic Authentication
295
+ config.username = 'YOUR USERNAME'
296
+ config.password = 'YOUR PASSWORD'
297
+
298
+ # Configure API key authorization: Token Authentication
299
+ config.api_key['Authorization'] = 'YOUR API KEY'
300
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
301
+ # config.api_key_prefix['Authorization'] = 'Bearer'
302
+ end
303
+
304
+ api_instance = Ionoscloud::VolumesApi.new
305
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
306
+ opts = {
307
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
308
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
309
+ x_contract_number: 56, # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
310
+ offset: 56, # Integer | the first element (of the total list of elements) to include in the response (use together with limit for pagination)
311
+ limit: 56 # Integer | the maximum number of elements to return (use together with offset for pagination)
312
+ }
313
+
314
+ begin
315
+ # List Volumes
316
+ result = api_instance.datacenters_volumes_get(datacenter_id, opts)
317
+ p result
318
+ rescue Ionoscloud::ApiError => e
319
+ puts "Error when calling VolumesApi->datacenters_volumes_get: #{e}"
320
+ end
321
+ ```
322
+
323
+ #### Using the datacenters_volumes_get_with_http_info variant
324
+
325
+ This returns an Array which contains the response data, status code and headers.
326
+
327
+ > <Array(<Volumes>, Integer, Hash)> datacenters_volumes_get_with_http_info(datacenter_id, opts)
328
+
329
+ ```ruby
330
+ begin
331
+ # List Volumes
332
+ data, status_code, headers = api_instance.datacenters_volumes_get_with_http_info(datacenter_id, opts)
333
+ p status_code # => 2xx
334
+ p headers # => { ... }
335
+ p data # => <Volumes>
336
+ rescue Ionoscloud::ApiError => e
337
+ puts "Error when calling VolumesApi->datacenters_volumes_get_with_http_info: #{e}"
338
+ end
339
+ ```
340
+
341
+ ### Parameters
342
+
343
+ | Name | Type | Description | Notes |
344
+ | ---- | ---- | ----------- | ----- |
345
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
346
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
347
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
348
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
349
+ | **offset** | **Integer** | the first element (of the total list of elements) to include in the response (use together with limit for pagination) | [optional][default to 0] |
350
+ | **limit** | **Integer** | the maximum number of elements to return (use together with offset for pagination) | [optional][default to 1000] |
351
+
352
+ ### Return type
353
+
354
+ [**Volumes**](Volumes.md)
355
+
356
+ ### Authorization
357
+
358
+ Basic Authentication, Token Authentication
359
+
360
+ ### HTTP request headers
361
+
362
+ - **Content-Type**: Not defined
363
+ - **Accept**: application/json
364
+
365
+
366
+ ## datacenters_volumes_patch
367
+
368
+ > <Volume> datacenters_volumes_patch(datacenter_id, volume_id, volume, opts)
369
+
370
+ Partially modify a Volume
371
+
372
+ You can use update attributes of a volume.
373
+
374
+ ### Examples
375
+
376
+ ```ruby
377
+ require 'time'
378
+ require 'ionoscloud'
379
+ # setup authorization
380
+ Ionoscloud.configure do |config|
381
+ # Configure HTTP basic authorization: Basic Authentication
382
+ config.username = 'YOUR USERNAME'
383
+ config.password = 'YOUR PASSWORD'
384
+
385
+ # Configure API key authorization: Token Authentication
386
+ config.api_key['Authorization'] = 'YOUR API KEY'
387
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
388
+ # config.api_key_prefix['Authorization'] = 'Bearer'
389
+ end
390
+
391
+ api_instance = Ionoscloud::VolumesApi.new
392
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
393
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
394
+ volume = Ionoscloud::VolumeProperties.new({size: 100.0}) # VolumeProperties | Modified properties of Volume
395
+ opts = {
396
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
397
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
398
+ x_contract_number: 56 # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
399
+ }
400
+
401
+ begin
402
+ # Partially modify a Volume
403
+ result = api_instance.datacenters_volumes_patch(datacenter_id, volume_id, volume, opts)
404
+ p result
405
+ rescue Ionoscloud::ApiError => e
406
+ puts "Error when calling VolumesApi->datacenters_volumes_patch: #{e}"
407
+ end
408
+ ```
409
+
410
+ #### Using the datacenters_volumes_patch_with_http_info variant
411
+
412
+ This returns an Array which contains the response data, status code and headers.
413
+
414
+ > <Array(<Volume>, Integer, Hash)> datacenters_volumes_patch_with_http_info(datacenter_id, volume_id, volume, opts)
415
+
416
+ ```ruby
417
+ begin
418
+ # Partially modify a Volume
419
+ data, status_code, headers = api_instance.datacenters_volumes_patch_with_http_info(datacenter_id, volume_id, volume, opts)
420
+ p status_code # => 2xx
421
+ p headers # => { ... }
422
+ p data # => <Volume>
423
+ rescue Ionoscloud::ApiError => e
424
+ puts "Error when calling VolumesApi->datacenters_volumes_patch_with_http_info: #{e}"
425
+ end
426
+ ```
427
+
428
+ ### Parameters
429
+
430
+ | Name | Type | Description | Notes |
431
+ | ---- | ---- | ----------- | ----- |
432
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
433
+ | **volume_id** | **String** | The unique ID of the Volume | |
434
+ | **volume** | [**VolumeProperties**](VolumeProperties.md) | Modified properties of Volume | |
435
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
436
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
437
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
438
+
439
+ ### Return type
440
+
441
+ [**Volume**](Volume.md)
442
+
443
+ ### Authorization
444
+
445
+ Basic Authentication, Token Authentication
446
+
447
+ ### HTTP request headers
448
+
449
+ - **Content-Type**: application/json
450
+ - **Accept**: application/json
451
+
452
+
453
+ ## datacenters_volumes_post
454
+
455
+ > <Volume> datacenters_volumes_post(datacenter_id, volume, opts)
456
+
457
+ Create a Volume
458
+
459
+ Creates a volume within the datacenter. This will not attach the volume to a server. Please see the Servers section for details on how to attach storage volumes
460
+
461
+ ### Examples
462
+
463
+ ```ruby
464
+ require 'time'
465
+ require 'ionoscloud'
466
+ # setup authorization
467
+ Ionoscloud.configure do |config|
468
+ # Configure HTTP basic authorization: Basic Authentication
469
+ config.username = 'YOUR USERNAME'
470
+ config.password = 'YOUR PASSWORD'
471
+
472
+ # Configure API key authorization: Token Authentication
473
+ config.api_key['Authorization'] = 'YOUR API KEY'
474
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
475
+ # config.api_key_prefix['Authorization'] = 'Bearer'
476
+ end
477
+
478
+ api_instance = Ionoscloud::VolumesApi.new
479
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
480
+ volume = Ionoscloud::Volume.new({properties: Ionoscloud::VolumeProperties.new({size: 100.0})}) # Volume | Volume to be created
481
+ opts = {
482
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
483
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
484
+ x_contract_number: 56 # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
485
+ }
486
+
487
+ begin
488
+ # Create a Volume
489
+ result = api_instance.datacenters_volumes_post(datacenter_id, volume, opts)
490
+ p result
491
+ rescue Ionoscloud::ApiError => e
492
+ puts "Error when calling VolumesApi->datacenters_volumes_post: #{e}"
493
+ end
494
+ ```
495
+
496
+ #### Using the datacenters_volumes_post_with_http_info variant
497
+
498
+ This returns an Array which contains the response data, status code and headers.
499
+
500
+ > <Array(<Volume>, Integer, Hash)> datacenters_volumes_post_with_http_info(datacenter_id, volume, opts)
501
+
502
+ ```ruby
503
+ begin
504
+ # Create a Volume
505
+ data, status_code, headers = api_instance.datacenters_volumes_post_with_http_info(datacenter_id, volume, opts)
506
+ p status_code # => 2xx
507
+ p headers # => { ... }
508
+ p data # => <Volume>
509
+ rescue Ionoscloud::ApiError => e
510
+ puts "Error when calling VolumesApi->datacenters_volumes_post_with_http_info: #{e}"
511
+ end
512
+ ```
513
+
514
+ ### Parameters
515
+
516
+ | Name | Type | Description | Notes |
517
+ | ---- | ---- | ----------- | ----- |
518
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
519
+ | **volume** | [**Volume**](Volume.md) | Volume to be created | |
520
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
521
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
522
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
523
+
524
+ ### Return type
525
+
526
+ [**Volume**](Volume.md)
527
+
528
+ ### Authorization
529
+
530
+ Basic Authentication, Token Authentication
531
+
532
+ ### HTTP request headers
533
+
534
+ - **Content-Type**: application/json
535
+ - **Accept**: application/json
536
+
537
+
538
+ ## datacenters_volumes_put
539
+
540
+ > <Volume> datacenters_volumes_put(datacenter_id, volume_id, volume, opts)
541
+
542
+ Modify a Volume
543
+
544
+ You can use update attributes of a Volume
545
+
546
+ ### Examples
547
+
548
+ ```ruby
549
+ require 'time'
550
+ require 'ionoscloud'
551
+ # setup authorization
552
+ Ionoscloud.configure do |config|
553
+ # Configure HTTP basic authorization: Basic Authentication
554
+ config.username = 'YOUR USERNAME'
555
+ config.password = 'YOUR PASSWORD'
556
+
557
+ # Configure API key authorization: Token Authentication
558
+ config.api_key['Authorization'] = 'YOUR API KEY'
559
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
560
+ # config.api_key_prefix['Authorization'] = 'Bearer'
561
+ end
562
+
563
+ api_instance = Ionoscloud::VolumesApi.new
564
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
565
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
566
+ volume = Ionoscloud::Volume.new({properties: Ionoscloud::VolumeProperties.new({size: 100.0})}) # Volume | Modified Volume
567
+ opts = {
568
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
569
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
570
+ x_contract_number: 56 # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
571
+ }
572
+
573
+ begin
574
+ # Modify a Volume
575
+ result = api_instance.datacenters_volumes_put(datacenter_id, volume_id, volume, opts)
576
+ p result
577
+ rescue Ionoscloud::ApiError => e
578
+ puts "Error when calling VolumesApi->datacenters_volumes_put: #{e}"
579
+ end
580
+ ```
581
+
582
+ #### Using the datacenters_volumes_put_with_http_info variant
583
+
584
+ This returns an Array which contains the response data, status code and headers.
585
+
586
+ > <Array(<Volume>, Integer, Hash)> datacenters_volumes_put_with_http_info(datacenter_id, volume_id, volume, opts)
587
+
588
+ ```ruby
589
+ begin
590
+ # Modify a Volume
591
+ data, status_code, headers = api_instance.datacenters_volumes_put_with_http_info(datacenter_id, volume_id, volume, opts)
592
+ p status_code # => 2xx
593
+ p headers # => { ... }
594
+ p data # => <Volume>
595
+ rescue Ionoscloud::ApiError => e
596
+ puts "Error when calling VolumesApi->datacenters_volumes_put_with_http_info: #{e}"
597
+ end
598
+ ```
599
+
600
+ ### Parameters
601
+
602
+ | Name | Type | Description | Notes |
603
+ | ---- | ---- | ----------- | ----- |
604
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
605
+ | **volume_id** | **String** | The unique ID of the Volume | |
606
+ | **volume** | [**Volume**](Volume.md) | Modified Volume | |
607
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
608
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
609
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
610
+
611
+ ### Return type
612
+
613
+ [**Volume**](Volume.md)
614
+
615
+ ### Authorization
616
+
617
+ Basic Authentication, Token Authentication
618
+
619
+ ### HTTP request headers
620
+
621
+ - **Content-Type**: application/json
622
+ - **Accept**: application/json
623
+
624
+
625
+ ## datacenters_volumes_restore_snapshot_post
626
+
627
+ > datacenters_volumes_restore_snapshot_post(datacenter_id, volume_id, opts)
628
+
629
+ Restore Volume Snapshot
630
+
631
+ This will restore a snapshot onto a volume. A snapshot is created as just another image that can be used to create subsequent volumes if you want or to restore an existing volume.
632
+
633
+ ### Examples
634
+
635
+ ```ruby
636
+ require 'time'
637
+ require 'ionoscloud'
638
+ # setup authorization
639
+ Ionoscloud.configure do |config|
640
+ # Configure HTTP basic authorization: Basic Authentication
641
+ config.username = 'YOUR USERNAME'
642
+ config.password = 'YOUR PASSWORD'
643
+
644
+ # Configure API key authorization: Token Authentication
645
+ config.api_key['Authorization'] = 'YOUR API KEY'
646
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
647
+ # config.api_key_prefix['Authorization'] = 'Bearer'
648
+ end
649
+
650
+ api_instance = Ionoscloud::VolumesApi.new
651
+ datacenter_id = 'datacenter_id_example' # String | The unique ID of the datacenter
652
+ volume_id = 'volume_id_example' # String | The unique ID of the Volume
653
+ opts = {
654
+ pretty: true, # Boolean | Controls whether response is pretty-printed (with indentation and new lines)
655
+ depth: 56, # Integer | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) are not included - depth=1: direct properties and children references are included - depth=2: direct properties and children properties are included - depth=3: direct properties and children properties and children's children are included - depth=... and so on
656
+ x_contract_number: 56, # Integer | Users having more than 1 contract need to provide contract number, against which all API requests should be executed
657
+ snapshot_id: 'snapshot_id_example' # String | This is the ID of the snapshot
658
+ }
659
+
660
+ begin
661
+ # Restore Volume Snapshot
662
+ api_instance.datacenters_volumes_restore_snapshot_post(datacenter_id, volume_id, opts)
663
+ rescue Ionoscloud::ApiError => e
664
+ puts "Error when calling VolumesApi->datacenters_volumes_restore_snapshot_post: #{e}"
665
+ end
666
+ ```
667
+
668
+ #### Using the datacenters_volumes_restore_snapshot_post_with_http_info variant
669
+
670
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
671
+
672
+ > <Array(nil, Integer, Hash)> datacenters_volumes_restore_snapshot_post_with_http_info(datacenter_id, volume_id, opts)
673
+
674
+ ```ruby
675
+ begin
676
+ # Restore Volume Snapshot
677
+ data, status_code, headers = api_instance.datacenters_volumes_restore_snapshot_post_with_http_info(datacenter_id, volume_id, opts)
678
+ p status_code # => 2xx
679
+ p headers # => { ... }
680
+ p data # => nil
681
+ rescue Ionoscloud::ApiError => e
682
+ puts "Error when calling VolumesApi->datacenters_volumes_restore_snapshot_post_with_http_info: #{e}"
683
+ end
684
+ ```
685
+
686
+ ### Parameters
687
+
688
+ | Name | Type | Description | Notes |
689
+ | ---- | ---- | ----------- | ----- |
690
+ | **datacenter_id** | **String** | The unique ID of the datacenter | |
691
+ | **volume_id** | **String** | The unique ID of the Volume | |
692
+ | **pretty** | **Boolean** | Controls whether response is pretty-printed (with indentation and new lines) | [optional][default to true] |
693
+ | **depth** | **Integer** | Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) are not included - depth&#x3D;1: direct properties and children references are included - depth&#x3D;2: direct properties and children properties are included - depth&#x3D;3: direct properties and children properties and children&#39;s children are included - depth&#x3D;... and so on | [optional][default to 0] |
694
+ | **x_contract_number** | **Integer** | Users having more than 1 contract need to provide contract number, against which all API requests should be executed | [optional] |
695
+ | **snapshot_id** | **String** | This is the ID of the snapshot | [optional] |
696
+
697
+ ### Return type
698
+
699
+ nil (empty response body)
700
+
701
+ ### Authorization
702
+
703
+ Basic Authentication, Token Authentication
704
+
705
+ ### HTTP request headers
706
+
707
+ - **Content-Type**: application/x-www-form-urlencoded
708
+ - **Accept**: application/json
709
+