ionoscloud 5.0.0.beta.1 → 5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (472) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +68 -0
  3. data/LICENSE +190 -0
  4. data/README.md +18 -8
  5. data/docs/README.md +111 -0
  6. data/docs/api/BackupUnitApi.md +595 -0
  7. data/docs/api/ContractApi.md +89 -0
  8. data/docs/api/DataCenterApi.md +517 -0
  9. data/docs/api/DefaultApi.md +89 -0
  10. data/docs/api/IPBlocksApi.md +517 -0
  11. data/docs/api/ImageApi.md +429 -0
  12. data/docs/api/KubernetesApi.md +1513 -0
  13. data/docs/api/LabelApi.md +2355 -0
  14. data/docs/api/LanApi.md +795 -0
  15. data/docs/api/LoadBalancerApi.md +883 -0
  16. data/docs/api/LocationApi.md +259 -0
  17. data/docs/api/NicApi.md +1087 -0
  18. data/docs/api/PrivateCrossConnectApi.md +427 -0
  19. data/docs/api/RequestApi.md +283 -0
  20. data/docs/api/ServerApi.md +1573 -0
  21. data/docs/api/SnapshotApi.md +429 -0
  22. data/docs/api/UserManagementApi.md +2551 -0
  23. data/docs/api/VolumeApi.md +711 -0
  24. data/docs/models/AttachedVolumes.md +30 -0
  25. data/docs/models/BackupUnit.md +26 -0
  26. data/docs/models/BackupUnitProperties.md +22 -0
  27. data/docs/models/BackupUnitSSO.md +18 -0
  28. data/docs/models/BackupUnits.md +24 -0
  29. data/docs/models/BalancedNics.md +30 -0
  30. data/docs/models/Cdroms.md +30 -0
  31. data/docs/models/ConnectableDatacenter.md +22 -0
  32. data/docs/models/Contract.md +20 -0
  33. data/docs/models/ContractProperties.md +26 -0
  34. data/docs/models/DataCenterEntities.md +24 -0
  35. data/docs/models/Datacenter.md +28 -0
  36. data/docs/models/DatacenterElementMetadata.md +32 -0
  37. data/docs/models/DatacenterProperties.md +28 -0
  38. data/docs/models/Datacenters.md +30 -0
  39. data/docs/models/Error.md +20 -0
  40. data/docs/models/ErrorMessage.md +20 -0
  41. data/docs/models/FirewallRule.md +26 -0
  42. data/docs/models/FirewallRules.md +30 -0
  43. data/docs/models/FirewallruleProperties.md +34 -0
  44. data/docs/models/Group.md +26 -0
  45. data/docs/models/GroupEntities.md +20 -0
  46. data/docs/models/GroupMembers.md +24 -0
  47. data/docs/models/GroupProperties.md +36 -0
  48. data/docs/models/GroupShare.md +24 -0
  49. data/docs/models/GroupShareProperties.md +20 -0
  50. data/docs/models/GroupShares.md +24 -0
  51. data/docs/models/GroupUsers.md +24 -0
  52. data/docs/models/Groups.md +24 -0
  53. data/docs/models/IPFailover.md +20 -0
  54. data/docs/models/Image.md +26 -0
  55. data/docs/models/ImageProperties.md +54 -0
  56. data/docs/models/Images.md +24 -0
  57. data/docs/models/Info.md +22 -0
  58. data/docs/models/IpBlock.md +26 -0
  59. data/docs/models/IpBlockProperties.md +26 -0
  60. data/docs/models/IpBlocks.md +30 -0
  61. data/docs/models/IpConsumer.md +34 -0
  62. data/docs/models/KubernetesAutoScaling.md +20 -0
  63. data/docs/models/KubernetesCluster.md +28 -0
  64. data/docs/models/KubernetesClusterEntities.md +18 -0
  65. data/docs/models/KubernetesClusterForPost.md +28 -0
  66. data/docs/models/KubernetesClusterForPut.md +28 -0
  67. data/docs/models/KubernetesClusterProperties.md +32 -0
  68. data/docs/models/KubernetesClusterPropertiesForPost.md +28 -0
  69. data/docs/models/KubernetesClusterPropertiesForPut.md +26 -0
  70. data/docs/models/KubernetesClusters.md +24 -0
  71. data/docs/models/KubernetesConfig.md +24 -0
  72. data/docs/models/KubernetesConfigProperties.md +18 -0
  73. data/docs/models/KubernetesMaintenanceWindow.md +20 -0
  74. data/docs/models/KubernetesNode.md +26 -0
  75. data/docs/models/KubernetesNodeMetadata.md +26 -0
  76. data/docs/models/KubernetesNodePool.md +26 -0
  77. data/docs/models/KubernetesNodePoolForPost.md +26 -0
  78. data/docs/models/KubernetesNodePoolForPut.md +26 -0
  79. data/docs/models/KubernetesNodePoolLan.md +18 -0
  80. data/docs/models/KubernetesNodePoolProperties.md +52 -0
  81. data/docs/models/KubernetesNodePoolPropertiesForPost.md +50 -0
  82. data/docs/models/KubernetesNodePoolPropertiesForPut.md +34 -0
  83. data/docs/models/KubernetesNodePools.md +24 -0
  84. data/docs/models/KubernetesNodeProperties.md +24 -0
  85. data/docs/models/KubernetesNodes.md +24 -0
  86. data/docs/models/Label.md +26 -0
  87. data/docs/models/LabelProperties.md +26 -0
  88. data/docs/models/LabelResource.md +26 -0
  89. data/docs/models/LabelResourceProperties.md +20 -0
  90. data/docs/models/LabelResources.md +30 -0
  91. data/docs/models/Labels.md +24 -0
  92. data/docs/models/Lan.md +28 -0
  93. data/docs/models/LanEntities.md +18 -0
  94. data/docs/models/LanNics.md +30 -0
  95. data/docs/models/LanPost.md +28 -0
  96. data/docs/models/LanProperties.md +24 -0
  97. data/docs/models/LanPropertiesPost.md +24 -0
  98. data/docs/models/Lans.md +30 -0
  99. data/docs/models/Loadbalancer.md +28 -0
  100. data/docs/models/LoadbalancerEntities.md +18 -0
  101. data/docs/models/LoadbalancerProperties.md +22 -0
  102. data/docs/models/Loadbalancers.md +30 -0
  103. data/docs/models/Location.md +26 -0
  104. data/docs/models/LocationProperties.md +22 -0
  105. data/docs/models/Locations.md +24 -0
  106. data/docs/models/Nic.md +28 -0
  107. data/docs/models/NicEntities.md +18 -0
  108. data/docs/models/NicProperties.md +30 -0
  109. data/docs/models/Nics.md +30 -0
  110. data/docs/models/NoStateMetaData.md +30 -0
  111. data/docs/models/PaginationLinks.md +22 -0
  112. data/docs/models/Peer.md +26 -0
  113. data/docs/models/PrivateCrossConnect.md +26 -0
  114. data/docs/models/PrivateCrossConnectProperties.md +24 -0
  115. data/docs/models/PrivateCrossConnects.md +24 -0
  116. data/docs/models/Request.md +26 -0
  117. data/docs/models/RequestMetadata.md +24 -0
  118. data/docs/models/RequestProperties.md +24 -0
  119. data/docs/models/RequestStatus.md +24 -0
  120. data/docs/models/RequestStatusMetadata.md +24 -0
  121. data/docs/models/RequestTarget.md +20 -0
  122. data/docs/models/Requests.md +30 -0
  123. data/docs/models/Resource.md +28 -0
  124. data/docs/models/ResourceEntities.md +18 -0
  125. data/docs/models/ResourceGroups.md +24 -0
  126. data/docs/models/ResourceLimits.md +50 -0
  127. data/docs/models/ResourceProperties.md +20 -0
  128. data/docs/models/ResourceReference.md +22 -0
  129. data/docs/models/Resources.md +24 -0
  130. data/docs/models/ResourcesUsers.md +24 -0
  131. data/docs/models/S3Bucket.md +18 -0
  132. data/docs/models/S3Key.md +26 -0
  133. data/docs/models/S3KeyMetadata.md +20 -0
  134. data/docs/models/S3KeyProperties.md +20 -0
  135. data/docs/models/S3Keys.md +24 -0
  136. data/docs/models/S3ObjectStorageSSO.md +18 -0
  137. data/docs/models/Server.md +28 -0
  138. data/docs/models/ServerEntities.md +22 -0
  139. data/docs/models/ServerProperties.md +32 -0
  140. data/docs/models/Servers.md +30 -0
  141. data/docs/models/Snapshot.md +26 -0
  142. data/docs/models/SnapshotProperties.md +48 -0
  143. data/docs/models/Snapshots.md +24 -0
  144. data/docs/models/Type.md +15 -0
  145. data/docs/models/User.md +28 -0
  146. data/docs/models/UserMetadata.md +22 -0
  147. data/docs/models/UserPost.md +18 -0
  148. data/docs/models/UserProperties.md +32 -0
  149. data/docs/models/UserPropertiesPost.md +32 -0
  150. data/docs/models/UserPropertiesPut.md +30 -0
  151. data/docs/models/UserPut.md +20 -0
  152. data/docs/models/Users.md +30 -0
  153. data/docs/models/UsersEntities.md +20 -0
  154. data/docs/models/Volume.md +26 -0
  155. data/docs/models/VolumeProperties.md +54 -0
  156. data/docs/models/Volumes.md +30 -0
  157. data/docs/summary.md +168 -0
  158. data/gitbook.yaml +4 -0
  159. data/ionoscloud.gemspec +1 -1
  160. data/lib/ionoscloud/api/_api.rb +2 -2
  161. data/lib/ionoscloud/api/backup_unit_api.rb +1 -1
  162. data/lib/ionoscloud/api/contract_api.rb +1 -1
  163. data/lib/ionoscloud/api/data_center_api.rb +3 -3
  164. data/lib/ionoscloud/api/image_api.rb +1 -1
  165. data/lib/ionoscloud/api/ip_blocks_api.rb +19 -1
  166. data/lib/ionoscloud/api/kubernetes_api.rb +12 -12
  167. data/lib/ionoscloud/api/label_api.rb +1 -1
  168. data/lib/ionoscloud/api/lan_api.rb +1 -1
  169. data/lib/ionoscloud/api/load_balancer_api.rb +1 -1
  170. data/lib/ionoscloud/api/location_api.rb +1 -1
  171. data/lib/ionoscloud/api/nic_api.rb +1 -1
  172. data/lib/ionoscloud/api/private_cross_connect_api.rb +1 -1
  173. data/lib/ionoscloud/api/request_api.rb +31 -7
  174. data/lib/ionoscloud/api/server_api.rb +1 -1
  175. data/lib/ionoscloud/api/snapshot_api.rb +1 -1
  176. data/lib/ionoscloud/api/user_management_api.rb +27 -9
  177. data/lib/ionoscloud/api/volume_api.rb +1 -1
  178. data/lib/ionoscloud/api_client.rb +19 -22
  179. data/lib/ionoscloud/api_error.rb +1 -1
  180. data/lib/ionoscloud/configuration.rb +3 -3
  181. data/lib/ionoscloud/models/attached_volumes.rb +3 -1
  182. data/lib/ionoscloud/models/backup_unit.rb +3 -1
  183. data/lib/ionoscloud/models/backup_unit_properties.rb +3 -1
  184. data/lib/ionoscloud/models/backup_unit_sso.rb +3 -1
  185. data/lib/ionoscloud/models/backup_units.rb +5 -3
  186. data/lib/ionoscloud/models/balanced_nics.rb +3 -1
  187. data/lib/ionoscloud/models/cdroms.rb +3 -1
  188. data/lib/ionoscloud/models/connectable_datacenter.rb +3 -1
  189. data/lib/ionoscloud/models/contract.rb +3 -1
  190. data/lib/ionoscloud/models/contract_properties.rb +3 -1
  191. data/lib/ionoscloud/models/data_center_entities.rb +3 -1
  192. data/lib/ionoscloud/models/datacenter.rb +3 -1
  193. data/lib/ionoscloud/models/datacenter_element_metadata.rb +5 -3
  194. data/lib/ionoscloud/models/datacenter_properties.rb +3 -23
  195. data/lib/ionoscloud/models/datacenters.rb +3 -1
  196. data/lib/ionoscloud/models/error.rb +3 -1
  197. data/lib/ionoscloud/models/error_message.rb +3 -1
  198. data/lib/ionoscloud/models/firewall_rule.rb +3 -1
  199. data/lib/ionoscloud/models/firewall_rules.rb +3 -1
  200. data/lib/ionoscloud/models/firewallrule_properties.rb +39 -22
  201. data/lib/ionoscloud/models/group.rb +3 -1
  202. data/lib/ionoscloud/models/group_entities.rb +3 -1
  203. data/lib/ionoscloud/models/group_members.rb +3 -1
  204. data/lib/ionoscloud/models/group_properties.rb +3 -1
  205. data/lib/ionoscloud/models/group_share.rb +3 -1
  206. data/lib/ionoscloud/models/group_share_properties.rb +3 -1
  207. data/lib/ionoscloud/models/group_shares.rb +3 -1
  208. data/lib/ionoscloud/models/group_users.rb +3 -1
  209. data/lib/ionoscloud/models/groups.rb +3 -1
  210. data/lib/ionoscloud/models/image.rb +3 -1
  211. data/lib/ionoscloud/models/image_properties.rb +43 -7
  212. data/lib/ionoscloud/models/images.rb +3 -1
  213. data/lib/ionoscloud/models/info.rb +3 -1
  214. data/lib/ionoscloud/models/ip_block.rb +3 -1
  215. data/lib/ionoscloud/models/ip_block_properties.rb +3 -1
  216. data/lib/ionoscloud/models/ip_blocks.rb +36 -5
  217. data/lib/ionoscloud/models/ip_consumer.rb +25 -5
  218. data/lib/ionoscloud/models/ip_failover.rb +3 -1
  219. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +3 -1
  220. data/lib/ionoscloud/models/kubernetes_cluster.rb +3 -1
  221. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +3 -1
  222. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +305 -0
  223. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +305 -0
  224. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +43 -5
  225. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +279 -0
  226. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +267 -0
  227. data/lib/ionoscloud/models/kubernetes_clusters.rb +3 -1
  228. data/lib/ionoscloud/models/kubernetes_config.rb +3 -1
  229. data/lib/ionoscloud/models/kubernetes_config_properties.rb +3 -1
  230. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +3 -1
  231. data/lib/ionoscloud/models/kubernetes_node.rb +5 -3
  232. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +5 -3
  233. data/lib/ionoscloud/models/kubernetes_node_pool.rb +3 -1
  234. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +296 -0
  235. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +3 -1
  236. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +8 -1
  237. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +18 -6
  238. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +18 -6
  239. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +4 -153
  240. data/lib/ionoscloud/models/kubernetes_node_pools.rb +3 -1
  241. data/lib/ionoscloud/models/kubernetes_node_properties.rb +14 -7
  242. data/lib/ionoscloud/models/kubernetes_nodes.rb +5 -3
  243. data/lib/ionoscloud/models/label.rb +3 -1
  244. data/lib/ionoscloud/models/label_properties.rb +3 -1
  245. data/lib/ionoscloud/models/label_resource.rb +3 -1
  246. data/lib/ionoscloud/models/label_resource_properties.rb +3 -1
  247. data/lib/ionoscloud/models/label_resources.rb +5 -3
  248. data/lib/ionoscloud/models/labels.rb +5 -3
  249. data/lib/ionoscloud/models/lan.rb +3 -1
  250. data/lib/ionoscloud/models/lan_entities.rb +3 -1
  251. data/lib/ionoscloud/models/lan_nics.rb +3 -1
  252. data/lib/ionoscloud/models/lan_post.rb +3 -1
  253. data/lib/ionoscloud/models/lan_properties.rb +3 -1
  254. data/lib/ionoscloud/models/lan_properties_post.rb +3 -1
  255. data/lib/ionoscloud/models/lans.rb +3 -1
  256. data/lib/ionoscloud/models/loadbalancer.rb +3 -1
  257. data/lib/ionoscloud/models/loadbalancer_entities.rb +3 -1
  258. data/lib/ionoscloud/models/loadbalancer_properties.rb +15 -30
  259. data/lib/ionoscloud/models/loadbalancers.rb +3 -1
  260. data/lib/ionoscloud/models/location.rb +3 -1
  261. data/lib/ionoscloud/models/location_properties.rb +3 -23
  262. data/lib/ionoscloud/models/locations.rb +3 -1
  263. data/lib/ionoscloud/models/nic.rb +3 -1
  264. data/lib/ionoscloud/models/nic_entities.rb +3 -1
  265. data/lib/ionoscloud/models/nic_properties.rb +3 -1
  266. data/lib/ionoscloud/models/nics.rb +3 -1
  267. data/lib/ionoscloud/models/no_state_meta_data.rb +3 -1
  268. data/lib/ionoscloud/models/pagination_links.rb +3 -1
  269. data/lib/ionoscloud/models/peer.rb +3 -1
  270. data/lib/ionoscloud/models/private_cross_connect.rb +3 -1
  271. data/lib/ionoscloud/models/private_cross_connect_properties.rb +3 -1
  272. data/lib/ionoscloud/models/private_cross_connects.rb +3 -1
  273. data/lib/ionoscloud/models/request.rb +3 -1
  274. data/lib/ionoscloud/models/request_metadata.rb +3 -1
  275. data/lib/ionoscloud/models/request_properties.rb +3 -1
  276. data/lib/ionoscloud/models/request_status.rb +3 -1
  277. data/lib/ionoscloud/models/request_status_metadata.rb +3 -1
  278. data/lib/ionoscloud/models/request_target.rb +3 -1
  279. data/lib/ionoscloud/models/requests.rb +4 -2
  280. data/lib/ionoscloud/models/resource.rb +3 -1
  281. data/lib/ionoscloud/models/resource_entities.rb +3 -1
  282. data/lib/ionoscloud/models/resource_groups.rb +3 -1
  283. data/lib/ionoscloud/models/resource_limits.rb +3 -1
  284. data/lib/ionoscloud/models/resource_properties.rb +3 -1
  285. data/lib/ionoscloud/models/resource_reference.rb +3 -1
  286. data/lib/ionoscloud/models/resources.rb +3 -1
  287. data/lib/ionoscloud/models/resources_users.rb +3 -1
  288. data/lib/ionoscloud/models/{kubernetes_cluster_properties_for_post_and_put.rb → s3_bucket.rb} +11 -28
  289. data/lib/ionoscloud/models/s3_key.rb +3 -1
  290. data/lib/ionoscloud/models/s3_key_metadata.rb +3 -1
  291. data/lib/ionoscloud/models/s3_key_properties.rb +5 -3
  292. data/lib/ionoscloud/models/s3_keys.rb +3 -1
  293. data/lib/ionoscloud/models/s3_object_storage_sso.rb +3 -1
  294. data/lib/ionoscloud/models/server.rb +3 -1
  295. data/lib/ionoscloud/models/server_entities.rb +3 -1
  296. data/lib/ionoscloud/models/server_properties.rb +5 -3
  297. data/lib/ionoscloud/models/servers.rb +3 -1
  298. data/lib/ionoscloud/models/snapshot.rb +3 -1
  299. data/lib/ionoscloud/models/snapshot_properties.rb +3 -1
  300. data/lib/ionoscloud/models/snapshots.rb +3 -1
  301. data/lib/ionoscloud/models/type.rb +2 -1
  302. data/lib/ionoscloud/models/user.rb +3 -1
  303. data/lib/ionoscloud/models/user_metadata.rb +3 -1
  304. data/lib/ionoscloud/models/user_post.rb +223 -0
  305. data/lib/ionoscloud/models/user_properties.rb +4 -12
  306. data/lib/ionoscloud/models/user_properties_post.rb +289 -0
  307. data/lib/ionoscloud/models/user_properties_put.rb +279 -0
  308. data/lib/ionoscloud/models/user_put.rb +233 -0
  309. data/lib/ionoscloud/models/users.rb +36 -5
  310. data/lib/ionoscloud/models/users_entities.rb +3 -1
  311. data/lib/ionoscloud/models/volume.rb +3 -1
  312. data/lib/ionoscloud/models/volume_properties.rb +22 -10
  313. data/lib/ionoscloud/models/volumes.rb +3 -1
  314. data/lib/ionoscloud/version.rb +2 -2
  315. data/lib/ionoscloud.rb +11 -2
  316. data/lib/test_driver.rb +104 -0
  317. data/spec/api/_api_spec.rb +1 -1
  318. data/spec/api/backup_unit_api_spec.rb +1 -1
  319. data/spec/api/contract_api_spec.rb +1 -1
  320. data/spec/api/data_center_api_spec.rb +2 -2
  321. data/spec/api/image_api_spec.rb +1 -1
  322. data/spec/api/ip_blocks_api_spec.rb +3 -1
  323. data/spec/api/kubernetes_api_spec.rb +5 -5
  324. data/spec/api/label_api_spec.rb +1 -1
  325. data/spec/api/lan_api_spec.rb +1 -1
  326. data/spec/api/load_balancer_api_spec.rb +1 -1
  327. data/spec/api/location_api_spec.rb +1 -1
  328. data/spec/api/nic_api_spec.rb +1 -1
  329. data/spec/api/private_cross_connect_api_spec.rb +1 -1
  330. data/spec/api/request_api_spec.rb +12 -4
  331. data/spec/api/server_api_spec.rb +1 -1
  332. data/spec/api/snapshot_api_spec.rb +1 -1
  333. data/spec/api/user_management_api_spec.rb +5 -3
  334. data/spec/api/volume_api_spec.rb +1 -1
  335. data/spec/api_client_spec.rb +1 -1
  336. data/spec/configuration_spec.rb +1 -1
  337. data/spec/models/attached_volumes_spec.rb +1 -1
  338. data/spec/models/backup_unit_properties_spec.rb +1 -1
  339. data/spec/models/backup_unit_spec.rb +1 -1
  340. data/spec/models/backup_unit_sso_spec.rb +1 -1
  341. data/spec/models/backup_units_spec.rb +2 -2
  342. data/spec/models/balanced_nics_spec.rb +1 -1
  343. data/spec/models/cdroms_spec.rb +1 -1
  344. data/spec/models/connectable_datacenter_spec.rb +1 -1
  345. data/spec/models/contract_properties_spec.rb +1 -1
  346. data/spec/models/contract_spec.rb +1 -1
  347. data/spec/models/data_center_entities_spec.rb +1 -1
  348. data/spec/models/datacenter_element_metadata_spec.rb +2 -2
  349. data/spec/models/datacenter_properties_spec.rb +1 -5
  350. data/spec/models/datacenter_spec.rb +1 -1
  351. data/spec/models/datacenters_spec.rb +1 -1
  352. data/spec/models/error_message_spec.rb +1 -1
  353. data/spec/models/error_spec.rb +1 -1
  354. data/spec/models/firewall_rule_spec.rb +1 -1
  355. data/spec/models/firewall_rules_spec.rb +1 -1
  356. data/spec/models/firewallrule_properties_spec.rb +1 -13
  357. data/spec/models/group_entities_spec.rb +1 -1
  358. data/spec/models/group_members_spec.rb +1 -1
  359. data/spec/models/group_properties_spec.rb +1 -1
  360. data/spec/models/group_share_properties_spec.rb +1 -1
  361. data/spec/models/group_share_spec.rb +1 -1
  362. data/spec/models/group_shares_spec.rb +1 -1
  363. data/spec/models/group_spec.rb +1 -1
  364. data/spec/models/group_users_spec.rb +1 -1
  365. data/spec/models/groups_spec.rb +1 -1
  366. data/spec/models/image_properties_spec.rb +18 -2
  367. data/spec/models/image_spec.rb +1 -1
  368. data/spec/models/images_spec.rb +1 -1
  369. data/spec/models/info_spec.rb +1 -1
  370. data/spec/models/ip_block_properties_spec.rb +1 -1
  371. data/spec/models/ip_block_spec.rb +1 -1
  372. data/spec/models/ip_blocks_spec.rb +19 -1
  373. data/spec/models/ip_consumer_spec.rb +13 -1
  374. data/spec/models/ip_failover_spec.rb +1 -1
  375. data/spec/models/kubernetes_auto_scaling_spec.rb +1 -1
  376. data/spec/models/kubernetes_cluster_entities_spec.rb +1 -1
  377. data/spec/models/kubernetes_cluster_for_post_spec.rb +68 -0
  378. data/spec/models/kubernetes_cluster_for_put_spec.rb +68 -0
  379. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +64 -0
  380. data/spec/models/{kubernetes_cluster_properties_for_post_and_put_spec.rb → kubernetes_cluster_properties_for_put_spec.rb} +19 -7
  381. data/spec/models/kubernetes_cluster_properties_spec.rb +19 -1
  382. data/spec/models/kubernetes_cluster_spec.rb +1 -1
  383. data/spec/models/kubernetes_clusters_spec.rb +1 -1
  384. data/spec/models/kubernetes_config_properties_spec.rb +1 -1
  385. data/spec/models/kubernetes_config_spec.rb +1 -1
  386. data/spec/models/kubernetes_maintenance_window_spec.rb +1 -1
  387. data/spec/models/kubernetes_node_metadata_spec.rb +2 -2
  388. data/spec/models/kubernetes_node_pool_for_post_spec.rb +62 -0
  389. data/spec/models/kubernetes_node_pool_for_put_spec.rb +1 -1
  390. data/spec/models/kubernetes_node_pool_lan_spec.rb +1 -1
  391. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +7 -1
  392. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +1 -51
  393. data/spec/models/kubernetes_node_pool_properties_spec.rb +7 -1
  394. data/spec/models/kubernetes_node_pool_spec.rb +1 -1
  395. data/spec/models/kubernetes_node_pools_spec.rb +1 -1
  396. data/spec/models/kubernetes_node_properties_spec.rb +7 -1
  397. data/spec/models/kubernetes_node_spec.rb +2 -2
  398. data/spec/models/kubernetes_nodes_spec.rb +2 -2
  399. data/spec/models/label_properties_spec.rb +1 -1
  400. data/spec/models/label_resource_properties_spec.rb +1 -1
  401. data/spec/models/label_resource_spec.rb +1 -1
  402. data/spec/models/label_resources_spec.rb +2 -2
  403. data/spec/models/label_spec.rb +1 -1
  404. data/spec/models/labels_spec.rb +2 -2
  405. data/spec/models/lan_entities_spec.rb +1 -1
  406. data/spec/models/lan_nics_spec.rb +1 -1
  407. data/spec/models/lan_post_spec.rb +1 -1
  408. data/spec/models/lan_properties_post_spec.rb +1 -1
  409. data/spec/models/lan_properties_spec.rb +1 -1
  410. data/spec/models/lan_spec.rb +1 -1
  411. data/spec/models/lans_spec.rb +1 -1
  412. data/spec/models/loadbalancer_entities_spec.rb +1 -1
  413. data/spec/models/loadbalancer_properties_spec.rb +1 -5
  414. data/spec/models/loadbalancer_spec.rb +1 -1
  415. data/spec/models/loadbalancers_spec.rb +1 -1
  416. data/spec/models/location_properties_spec.rb +1 -5
  417. data/spec/models/location_spec.rb +1 -1
  418. data/spec/models/locations_spec.rb +1 -1
  419. data/spec/models/nic_entities_spec.rb +1 -1
  420. data/spec/models/nic_properties_spec.rb +1 -1
  421. data/spec/models/nic_spec.rb +1 -1
  422. data/spec/models/nics_spec.rb +1 -1
  423. data/spec/models/no_state_meta_data_spec.rb +1 -1
  424. data/spec/models/pagination_links_spec.rb +1 -1
  425. data/spec/models/peer_spec.rb +1 -1
  426. data/spec/models/private_cross_connect_properties_spec.rb +1 -1
  427. data/spec/models/private_cross_connect_spec.rb +1 -1
  428. data/spec/models/private_cross_connects_spec.rb +1 -1
  429. data/spec/models/request_metadata_spec.rb +1 -1
  430. data/spec/models/request_properties_spec.rb +1 -1
  431. data/spec/models/request_spec.rb +1 -1
  432. data/spec/models/request_status_metadata_spec.rb +1 -1
  433. data/spec/models/request_status_spec.rb +1 -1
  434. data/spec/models/request_target_spec.rb +1 -1
  435. data/spec/models/requests_spec.rb +1 -1
  436. data/spec/models/resource_entities_spec.rb +1 -1
  437. data/spec/models/resource_groups_spec.rb +1 -1
  438. data/spec/models/resource_limits_spec.rb +1 -1
  439. data/spec/models/resource_properties_spec.rb +1 -1
  440. data/spec/models/resource_reference_spec.rb +1 -1
  441. data/spec/models/resource_spec.rb +1 -1
  442. data/spec/models/resources_spec.rb +1 -1
  443. data/spec/models/resources_users_spec.rb +1 -1
  444. data/spec/models/s3_bucket_spec.rb +34 -0
  445. data/spec/models/s3_key_metadata_spec.rb +1 -1
  446. data/spec/models/s3_key_properties_spec.rb +1 -1
  447. data/spec/models/s3_key_spec.rb +1 -1
  448. data/spec/models/s3_keys_spec.rb +1 -1
  449. data/spec/models/s3_object_storage_sso_spec.rb +1 -1
  450. data/spec/models/server_entities_spec.rb +1 -1
  451. data/spec/models/server_properties_spec.rb +2 -2
  452. data/spec/models/server_spec.rb +1 -1
  453. data/spec/models/servers_spec.rb +1 -1
  454. data/spec/models/snapshot_properties_spec.rb +1 -1
  455. data/spec/models/snapshot_spec.rb +1 -1
  456. data/spec/models/snapshots_spec.rb +1 -1
  457. data/spec/models/type_spec.rb +1 -1
  458. data/spec/models/user_metadata_spec.rb +1 -1
  459. data/spec/models/user_post_spec.rb +34 -0
  460. data/spec/models/user_properties_post_spec.rb +76 -0
  461. data/spec/models/user_properties_put_spec.rb +70 -0
  462. data/spec/models/user_properties_spec.rb +1 -7
  463. data/spec/models/user_put_spec.rb +40 -0
  464. data/spec/models/user_spec.rb +1 -1
  465. data/spec/models/users_entities_spec.rb +1 -1
  466. data/spec/models/users_spec.rb +19 -1
  467. data/spec/models/volume_properties_spec.rb +9 -3
  468. data/spec/models/volume_spec.rb +1 -1
  469. data/spec/models/volumes_spec.rb +1 -1
  470. data/spec/spec_helper.rb +1 -1
  471. metadata +311 -128
  472. data/DOCS.md +0 -14618
@@ -0,0 +1,233 @@
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: 5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Ionoscloud
17
+ class UserPut
18
+ # The resource's unique identifier
19
+ attr_accessor :id
20
+
21
+ attr_accessor :properties
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'id' => :'id',
27
+ :'properties' => :'properties'
28
+ }
29
+ end
30
+
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'id' => :'String',
40
+ :'properties' => :'UserPropertiesPut'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Ionoscloud::UserPut` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::UserPut`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'id')
66
+ self.id = attributes[:'id']
67
+ end
68
+
69
+ if attributes.key?(:'properties')
70
+ self.properties = attributes[:'properties']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = Array.new
78
+ if @properties.nil?
79
+ invalid_properties.push('invalid value for "properties", properties cannot be nil.')
80
+ end
81
+
82
+ invalid_properties
83
+ end
84
+
85
+ # Check to see if the all the properties in the model are valid
86
+ # @return true if the model is valid
87
+ def valid?
88
+ return false if @properties.nil?
89
+ true
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] Object to be compared
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ id == o.id &&
98
+ properties == o.properties
99
+ end
100
+
101
+ # @see the `==` method
102
+ # @param [Object] Object to be compared
103
+ def eql?(o)
104
+ self == o
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ def hash
110
+ [id, properties].hash
111
+ end
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def self.build_from_hash(attributes)
117
+ new.build_from_hash(attributes)
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.openapi_types.each_pair do |key, type|
126
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
127
+ self.send("#{key}=", nil)
128
+ elsif type =~ /\AArray<(.*)>/i
129
+ # check to ensure the input is an array given that the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
132
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
133
+ end
134
+ elsif !attributes[self.class.attribute_map[key]].nil?
135
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
136
+ end
137
+ end
138
+
139
+ self
140
+ end
141
+
142
+ # Deserializes the data based on type
143
+ # @param string type Data type
144
+ # @param string value Value to be deserialized
145
+ # @return [Object] Deserialized data
146
+ def _deserialize(type, value)
147
+ case type.to_sym
148
+ when :Time
149
+ Time.parse(value)
150
+ when :Date
151
+ Date.parse(value)
152
+ when :String
153
+ value.to_s
154
+ when :Integer
155
+ value.to_i
156
+ when :Float
157
+ value.to_f
158
+ when :Boolean
159
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
160
+ true
161
+ else
162
+ false
163
+ end
164
+ when :Object
165
+ # generic object (usually a Hash), return directly
166
+ value
167
+ when /\AArray<(?<inner_type>.+)>\z/
168
+ inner_type = Regexp.last_match[:inner_type]
169
+ value.map { |v| _deserialize(inner_type, v) }
170
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
171
+ k_type = Regexp.last_match[:k_type]
172
+ v_type = Regexp.last_match[:v_type]
173
+ {}.tap do |hash|
174
+ value.each do |k, v|
175
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
176
+ end
177
+ end
178
+ else # model
179
+ # models (e.g. Pet) or oneOf
180
+ klass = Ionoscloud.const_get(type)
181
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
182
+ end
183
+ end
184
+
185
+ # Returns the string representation of the object
186
+ # @return [String] String presentation of the object
187
+ def to_s
188
+ to_hash.to_s
189
+ end
190
+
191
+ # to_body is an alias to to_hash (backward compatibility)
192
+ # @return [Hash] Returns the object in the form of hash
193
+ def to_body
194
+ to_hash
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ if value.nil?
204
+ is_nullable = self.class.openapi_nullable.include?(attr)
205
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
206
+ end
207
+
208
+ hash[param] = _to_hash(value)
209
+ end
210
+ hash
211
+ end
212
+
213
+ # Outputs non-array value in the form of hash
214
+ # For object, use to_hash. Otherwise, just return the value
215
+ # @param [Object] value Any valid value
216
+ # @return [Hash] Returns the value in the form of hash
217
+ def _to_hash(value)
218
+ if value.is_a?(Array)
219
+ value.compact.map { |v| _to_hash(v) }
220
+ elsif value.is_a?(Hash)
221
+ {}.tap do |hash|
222
+ value.each { |k, v| hash[k] = _to_hash(v) }
223
+ end
224
+ elsif value.respond_to? :to_hash
225
+ value.to_hash
226
+ else
227
+ value
228
+ end
229
+ end
230
+
231
+ end
232
+
233
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -27,13 +27,24 @@ module Ionoscloud
27
27
  # Array of items in that collection
28
28
  attr_accessor :items
29
29
 
30
+ # the offset (if specified in the request)
31
+ attr_accessor :offset
32
+
33
+ # the limit (if specified in the request)
34
+ attr_accessor :limit
35
+
36
+ attr_accessor :_links
37
+
30
38
  # Attribute mapping from ruby-style variable name to JSON key.
31
39
  def self.attribute_map
32
40
  {
33
41
  :'id' => :'id',
34
42
  :'type' => :'type',
35
43
  :'href' => :'href',
36
- :'items' => :'items'
44
+ :'items' => :'items',
45
+ :'offset' => :'offset',
46
+ :'limit' => :'limit',
47
+ :'_links' => :'_links'
37
48
  }
38
49
  end
39
50
 
@@ -48,7 +59,10 @@ module Ionoscloud
48
59
  :'id' => :'String',
49
60
  :'type' => :'Type',
50
61
  :'href' => :'String',
51
- :'items' => :'Array<User>'
62
+ :'items' => :'Array<User>',
63
+ :'offset' => :'Float',
64
+ :'limit' => :'Float',
65
+ :'_links' => :'PaginationLinks'
52
66
  }
53
67
  end
54
68
 
@@ -90,6 +104,18 @@ module Ionoscloud
90
104
  self.items = value
91
105
  end
92
106
  end
107
+
108
+ if attributes.key?(:'offset')
109
+ self.offset = attributes[:'offset']
110
+ end
111
+
112
+ if attributes.key?(:'limit')
113
+ self.limit = attributes[:'limit']
114
+ end
115
+
116
+ if attributes.key?(:'_links')
117
+ self._links = attributes[:'_links']
118
+ end
93
119
  end
94
120
 
95
121
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -113,7 +139,10 @@ module Ionoscloud
113
139
  id == o.id &&
114
140
  type == o.type &&
115
141
  href == o.href &&
116
- items == o.items
142
+ items == o.items &&
143
+ offset == o.offset &&
144
+ limit == o.limit &&
145
+ _links == o._links
117
146
  end
118
147
 
119
148
  # @see the `==` method
@@ -125,7 +154,7 @@ module Ionoscloud
125
154
  # Calculates hash code according to all attributes.
126
155
  # @return [Integer] Hash code
127
156
  def hash
128
- [id, type, href, items].hash
157
+ [id, type, href, items, offset, limit, _links].hash
129
158
  end
130
159
 
131
160
  # Builds the object from hash
@@ -245,5 +274,7 @@ module Ionoscloud
245
274
  value
246
275
  end
247
276
  end
277
+
248
278
  end
279
+
249
280
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -221,5 +221,7 @@ module Ionoscloud
221
221
  value
222
222
  end
223
223
  end
224
+
224
225
  end
226
+
225
227
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -256,5 +256,7 @@ module Ionoscloud
256
256
  value
257
257
  end
258
258
  end
259
+
259
260
  end
261
+
260
262
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -65,9 +65,12 @@ module Ionoscloud
65
65
  # The LUN ID of the storage volume. Null for volumes not mounted to any VM
66
66
  attr_accessor :device_number
67
67
 
68
- # 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 provied either public image or imageAlias in conjunction with this property.
68
+ # 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 'public image' or 'imageAlias' in conjunction with this property.
69
69
  attr_accessor :backupunit_id
70
70
 
71
+ # 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 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
72
+ attr_accessor :user_data
73
+
71
74
  class EnumAttributeValidator
72
75
  attr_reader :datatype
73
76
  attr_reader :allowable_values
@@ -110,7 +113,8 @@ module Ionoscloud
110
113
  :'disc_virtio_hot_plug' => :'discVirtioHotPlug',
111
114
  :'disc_virtio_hot_unplug' => :'discVirtioHotUnplug',
112
115
  :'device_number' => :'deviceNumber',
113
- :'backupunit_id' => :'backupunitId'
116
+ :'backupunit_id' => :'backupunitId',
117
+ :'user_data' => :'userData'
114
118
  }
115
119
  end
116
120
 
@@ -139,7 +143,8 @@ module Ionoscloud
139
143
  :'disc_virtio_hot_plug' => :'Boolean',
140
144
  :'disc_virtio_hot_unplug' => :'Boolean',
141
145
  :'device_number' => :'Integer',
142
- :'backupunit_id' => :'String'
146
+ :'backupunit_id' => :'String',
147
+ :'user_data' => :'String'
143
148
  }
144
149
  end
145
150
 
@@ -237,6 +242,10 @@ module Ionoscloud
237
242
  if attributes.key?(:'backupunit_id')
238
243
  self.backupunit_id = attributes[:'backupunit_id']
239
244
  end
245
+
246
+ if attributes.key?(:'user_data')
247
+ self.user_data = attributes[:'user_data']
248
+ end
240
249
  end
241
250
 
242
251
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -253,12 +262,12 @@ module Ionoscloud
253
262
  # Check to see if the all the properties in the model are valid
254
263
  # @return true if the model is valid
255
264
  def valid?
256
- type_validator = EnumAttributeValidator.new('String', ["HDD", "SSD", "SSD Standard", "SSD Premium"])
265
+ type_validator = EnumAttributeValidator.new('String', ["HDD", "SSD", "SSD Standard", "SSD Premium", "DAS", "ISO"])
257
266
  return false unless type_validator.valid?(@type)
258
267
  return false if @size.nil?
259
268
  availability_zone_validator = EnumAttributeValidator.new('String', ["AUTO", "ZONE_1", "ZONE_2", "ZONE_3"])
260
269
  return false unless availability_zone_validator.valid?(@availability_zone)
261
- bus_validator = EnumAttributeValidator.new('String', ["VIRTIO", "IDE"])
270
+ bus_validator = EnumAttributeValidator.new('String', ["VIRTIO", "IDE", "UNKNOWN"])
262
271
  return false unless bus_validator.valid?(@bus)
263
272
  licence_type_validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "LINUX", "OTHER"])
264
273
  return false unless licence_type_validator.valid?(@licence_type)
@@ -268,7 +277,7 @@ module Ionoscloud
268
277
  # Custom attribute writer method checking allowed values (enum).
269
278
  # @param [Object] type Object to be assigned
270
279
  def type=(type)
271
- validator = EnumAttributeValidator.new('String', ["HDD", "SSD", "SSD Standard", "SSD Premium"])
280
+ validator = EnumAttributeValidator.new('String', ["HDD", "SSD", "SSD Standard", "SSD Premium", "DAS", "ISO"])
272
281
  unless validator.valid?(type)
273
282
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
274
283
  end
@@ -288,7 +297,7 @@ module Ionoscloud
288
297
  # Custom attribute writer method checking allowed values (enum).
289
298
  # @param [Object] bus Object to be assigned
290
299
  def bus=(bus)
291
- validator = EnumAttributeValidator.new('String', ["VIRTIO", "IDE"])
300
+ validator = EnumAttributeValidator.new('String', ["VIRTIO", "IDE", "UNKNOWN"])
292
301
  unless validator.valid?(bus)
293
302
  fail ArgumentError, "invalid value for \"bus\", must be one of #{validator.allowable_values}."
294
303
  end
@@ -327,7 +336,8 @@ module Ionoscloud
327
336
  disc_virtio_hot_plug == o.disc_virtio_hot_plug &&
328
337
  disc_virtio_hot_unplug == o.disc_virtio_hot_unplug &&
329
338
  device_number == o.device_number &&
330
- backupunit_id == o.backupunit_id
339
+ backupunit_id == o.backupunit_id &&
340
+ user_data == o.user_data
331
341
  end
332
342
 
333
343
  # @see the `==` method
@@ -339,7 +349,7 @@ module Ionoscloud
339
349
  # Calculates hash code according to all attributes.
340
350
  # @return [Integer] Hash code
341
351
  def hash
342
- [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, backupunit_id].hash
352
+ [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, backupunit_id, user_data].hash
343
353
  end
344
354
 
345
355
  # Builds the object from hash
@@ -459,5 +469,7 @@ module Ionoscloud
459
469
  value
460
470
  end
461
471
  end
472
+
462
473
  end
474
+
463
475
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -274,5 +274,7 @@ module Ionoscloud
274
274
  value
275
275
  end
276
276
  end
277
+
277
278
  end
279
+
278
280
  end
@@ -6,10 +6,10 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
13
13
  module Ionoscloud
14
- VERSION = '5.0.0.beta.1'
14
+ VERSION = '5.1.1'
15
15
  end
data/lib/ionoscloud.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -58,8 +58,11 @@ require 'ionoscloud/models/ip_consumer'
58
58
  require 'ionoscloud/models/kubernetes_auto_scaling'
59
59
  require 'ionoscloud/models/kubernetes_cluster'
60
60
  require 'ionoscloud/models/kubernetes_cluster_entities'
61
+ require 'ionoscloud/models/kubernetes_cluster_for_post'
62
+ require 'ionoscloud/models/kubernetes_cluster_for_put'
61
63
  require 'ionoscloud/models/kubernetes_cluster_properties'
62
- require 'ionoscloud/models/kubernetes_cluster_properties_for_post_and_put'
64
+ require 'ionoscloud/models/kubernetes_cluster_properties_for_post'
65
+ require 'ionoscloud/models/kubernetes_cluster_properties_for_put'
63
66
  require 'ionoscloud/models/kubernetes_clusters'
64
67
  require 'ionoscloud/models/kubernetes_config'
65
68
  require 'ionoscloud/models/kubernetes_config_properties'
@@ -67,6 +70,7 @@ require 'ionoscloud/models/kubernetes_maintenance_window'
67
70
  require 'ionoscloud/models/kubernetes_node'
68
71
  require 'ionoscloud/models/kubernetes_node_metadata'
69
72
  require 'ionoscloud/models/kubernetes_node_pool'
73
+ require 'ionoscloud/models/kubernetes_node_pool_for_post'
70
74
  require 'ionoscloud/models/kubernetes_node_pool_for_put'
71
75
  require 'ionoscloud/models/kubernetes_node_pool_lan'
72
76
  require 'ionoscloud/models/kubernetes_node_pool_properties'
@@ -120,6 +124,7 @@ require 'ionoscloud/models/resource_properties'
120
124
  require 'ionoscloud/models/resource_reference'
121
125
  require 'ionoscloud/models/resources'
122
126
  require 'ionoscloud/models/resources_users'
127
+ require 'ionoscloud/models/s3_bucket'
123
128
  require 'ionoscloud/models/s3_key'
124
129
  require 'ionoscloud/models/s3_key_metadata'
125
130
  require 'ionoscloud/models/s3_key_properties'
@@ -135,7 +140,11 @@ require 'ionoscloud/models/snapshots'
135
140
  require 'ionoscloud/models/type'
136
141
  require 'ionoscloud/models/user'
137
142
  require 'ionoscloud/models/user_metadata'
143
+ require 'ionoscloud/models/user_post'
138
144
  require 'ionoscloud/models/user_properties'
145
+ require 'ionoscloud/models/user_properties_post'
146
+ require 'ionoscloud/models/user_properties_put'
147
+ require 'ionoscloud/models/user_put'
139
148
  require 'ionoscloud/models/users'
140
149
  require 'ionoscloud/models/users_entities'
141
150
  require 'ionoscloud/models/volume'
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH << '.'
4
+
5
+ require 'json'
6
+ require 'ionoscloud'
7
+
8
+ config = Ionoscloud::Configuration.new
9
+
10
+ config.username = ENV['IONOS_USERNAME']
11
+ config.password = ENV['IONOS_PASSWORD']
12
+
13
+ api_client = Ionoscloud::ApiClient.new(config)
14
+
15
+ def underscore_string(str)
16
+ str.gsub(/::/, '/')
17
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
18
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
19
+ .tr('-', '_')
20
+ .downcase
21
+ end
22
+
23
+ def get_class(operation)
24
+ Ionoscloud.constants.select do |c|
25
+ Ionoscloud.const_get(c).is_a? Class and Ionoscloud.const_get(c).name.end_with? 'Api'
26
+ end.each do |class_symbol|
27
+ class_name = class_symbol.to_s
28
+ methods = Ionoscloud.const_get(class_name).new.methods - Object.methods
29
+ return Ionoscloud.const_get(class_name) if methods.map(&:to_s).include? operation
30
+ end
31
+ nil
32
+ end
33
+
34
+ input = gets.chomp
35
+ testing_data = JSON.parse(input.gsub('\"', '"'))
36
+
37
+ operation = testing_data['operation']
38
+
39
+ begin
40
+ if operation == 'waitForRequest'
41
+ request_id = testing_data['params'][0]['value'].scan(%r{/requests/(\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b)}).last.first
42
+ api_client.wait_for_completion(request_id)
43
+ puts JSON[{}]
44
+ else
45
+ method_name = "#{underscore_string(operation)}_with_http_info"
46
+
47
+ cls = get_class method_name
48
+
49
+ special_params_names = %w[pretty depth XContractNumber contractNumber offset limit]
50
+
51
+ normal_params, special_params = testing_data['params'].partition do |el|
52
+ special_params_names.none? do |special_param_name|
53
+ special_param_name == el['name']
54
+ end
55
+ end
56
+
57
+ normal_params = normal_params.map { |el| el['value'] }
58
+
59
+ special_params = special_params.each_with_object({}) do |current, total|
60
+ total[current['name'].to_sym] = current['value']
61
+ end
62
+
63
+ response, status_code, headers = cls.new(api_client).public_send(
64
+ method_name.to_sym,
65
+ *normal_params,
66
+ special_params
67
+ )
68
+
69
+ response = response.to_hash unless response.nil?
70
+
71
+ headers = headers.transform_values do |value|
72
+ value.split(',', -1)
73
+ end
74
+
75
+ puts JSON[{
76
+ 'result' => response,
77
+ 'httpResponse' => {
78
+ 'statusCode' => status_code,
79
+ 'headers' => headers,
80
+ 'body' => response
81
+ }
82
+ }]
83
+ end
84
+ rescue Ionoscloud::ApiError => e
85
+ puts JSON[{
86
+ 'result' => 'ApiException occured',
87
+ 'httpResponse' => {
88
+ 'statusCode' => e.code,
89
+ 'headers' => e.response_headers,
90
+ 'body' => JSON.parse(e.response_body)
91
+ },
92
+ 'error' => JSON.parse(e.response_body)
93
+ }]
94
+ rescue StandardError => e
95
+ puts JSON[{
96
+ 'result' => 'GeneralException occured',
97
+ 'httpResponse' => {
98
+ 'statusCode' => nil,
99
+ 'headers' => nil,
100
+ 'body' => nil
101
+ },
102
+ 'error' => e.inspect
103
+ }]
104
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 5.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
10
 
11
11
  =end
12
12