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,279 @@
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 KubernetesClusterPropertiesForPost
18
+ # A Kubernetes Cluster Name. Valid Kubernetes Cluster name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
19
+ attr_accessor :name
20
+
21
+ # The kubernetes version in which a cluster is running. This imposes restrictions on what kubernetes versions can be run in a cluster's nodepools. Additionally, not all kubernetes versions are viable upgrade targets for all prior versions.
22
+ attr_accessor :k8s_version
23
+
24
+ attr_accessor :maintenance_window
25
+
26
+ # The indicator if the cluster is public or private. Be aware that setting it to false is currently in beta phase.
27
+ attr_accessor :public
28
+
29
+ # Access to the K8s API server is restricted to these CIDRs. Cluster-internal traffic is not affected by this restriction. If no allowlist is specified, access is not restricted. If an IP without subnet mask is provided, the default value will be used: 32 for IPv4 and 128 for IPv6.
30
+ attr_accessor :api_subnet_allow_list
31
+
32
+ # List of S3 bucket configured for K8s usage. For now it contains only one S3 bucket used to store K8s API audit logs
33
+ attr_accessor :s3_buckets
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'name' => :'name',
39
+ :'k8s_version' => :'k8sVersion',
40
+ :'maintenance_window' => :'maintenanceWindow',
41
+ :'public' => :'public',
42
+ :'api_subnet_allow_list' => :'apiSubnetAllowList',
43
+ :'s3_buckets' => :'s3Buckets'
44
+ }
45
+ end
46
+
47
+ # Returns all the JSON keys this model knows about
48
+ def self.acceptable_attributes
49
+ attribute_map.values
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ :'name' => :'String',
56
+ :'k8s_version' => :'String',
57
+ :'maintenance_window' => :'KubernetesMaintenanceWindow',
58
+ :'public' => :'Boolean',
59
+ :'api_subnet_allow_list' => :'Array<String>',
60
+ :'s3_buckets' => :'Array<S3Bucket>'
61
+ }
62
+ end
63
+
64
+ # List of attributes with nullable: true
65
+ def self.openapi_nullable
66
+ Set.new([
67
+ ])
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ if (!attributes.is_a?(Hash))
74
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Ionoscloud::KubernetesClusterPropertiesForPost` initialize method"
75
+ end
76
+
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!self.class.attribute_map.key?(k.to_sym))
80
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::KubernetesClusterPropertiesForPost`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
+ end
82
+ h[k.to_sym] = v
83
+ }
84
+
85
+ if attributes.key?(:'name')
86
+ self.name = attributes[:'name']
87
+ end
88
+
89
+ if attributes.key?(:'k8s_version')
90
+ self.k8s_version = attributes[:'k8s_version']
91
+ end
92
+
93
+ if attributes.key?(:'maintenance_window')
94
+ self.maintenance_window = attributes[:'maintenance_window']
95
+ end
96
+
97
+ if attributes.key?(:'public')
98
+ self.public = attributes[:'public']
99
+ else
100
+ self.public = true
101
+ end
102
+
103
+ if attributes.key?(:'api_subnet_allow_list')
104
+ if (value = attributes[:'api_subnet_allow_list']).is_a?(Array)
105
+ self.api_subnet_allow_list = value
106
+ end
107
+ end
108
+
109
+ if attributes.key?(:'s3_buckets')
110
+ if (value = attributes[:'s3_buckets']).is_a?(Array)
111
+ self.s3_buckets = value
112
+ end
113
+ end
114
+ end
115
+
116
+ # Show invalid properties with the reasons. Usually used together with valid?
117
+ # @return Array for valid properties with the reasons
118
+ def list_invalid_properties
119
+ invalid_properties = Array.new
120
+ if @name.nil?
121
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
122
+ end
123
+
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ return false if @name.nil?
131
+ true
132
+ end
133
+
134
+ # Checks equality by comparing each attribute.
135
+ # @param [Object] Object to be compared
136
+ def ==(o)
137
+ return true if self.equal?(o)
138
+ self.class == o.class &&
139
+ name == o.name &&
140
+ k8s_version == o.k8s_version &&
141
+ maintenance_window == o.maintenance_window &&
142
+ public == o.public &&
143
+ api_subnet_allow_list == o.api_subnet_allow_list &&
144
+ s3_buckets == o.s3_buckets
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ def hash
156
+ [name, k8s_version, maintenance_window, public, api_subnet_allow_list, s3_buckets].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def self.build_from_hash(attributes)
163
+ new.build_from_hash(attributes)
164
+ end
165
+
166
+ # Builds the object from hash
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ # @return [Object] Returns the model itself
169
+ def build_from_hash(attributes)
170
+ return nil unless attributes.is_a?(Hash)
171
+ self.class.openapi_types.each_pair do |key, type|
172
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
173
+ self.send("#{key}=", nil)
174
+ elsif type =~ /\AArray<(.*)>/i
175
+ # check to ensure the input is an array given that the attribute
176
+ # is documented as an array but the input is not
177
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
178
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
179
+ end
180
+ elsif !attributes[self.class.attribute_map[key]].nil?
181
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
182
+ end
183
+ end
184
+
185
+ self
186
+ end
187
+
188
+ # Deserializes the data based on type
189
+ # @param string type Data type
190
+ # @param string value Value to be deserialized
191
+ # @return [Object] Deserialized data
192
+ def _deserialize(type, value)
193
+ case type.to_sym
194
+ when :Time
195
+ Time.parse(value)
196
+ when :Date
197
+ Date.parse(value)
198
+ when :String
199
+ value.to_s
200
+ when :Integer
201
+ value.to_i
202
+ when :Float
203
+ value.to_f
204
+ when :Boolean
205
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
206
+ true
207
+ else
208
+ false
209
+ end
210
+ when :Object
211
+ # generic object (usually a Hash), return directly
212
+ value
213
+ when /\AArray<(?<inner_type>.+)>\z/
214
+ inner_type = Regexp.last_match[:inner_type]
215
+ value.map { |v| _deserialize(inner_type, v) }
216
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
217
+ k_type = Regexp.last_match[:k_type]
218
+ v_type = Regexp.last_match[:v_type]
219
+ {}.tap do |hash|
220
+ value.each do |k, v|
221
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
222
+ end
223
+ end
224
+ else # model
225
+ # models (e.g. Pet) or oneOf
226
+ klass = Ionoscloud.const_get(type)
227
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
228
+ end
229
+ end
230
+
231
+ # Returns the string representation of the object
232
+ # @return [String] String presentation of the object
233
+ def to_s
234
+ to_hash.to_s
235
+ end
236
+
237
+ # to_body is an alias to to_hash (backward compatibility)
238
+ # @return [Hash] Returns the object in the form of hash
239
+ def to_body
240
+ to_hash
241
+ end
242
+
243
+ # Returns the object in the form of hash
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_hash
246
+ hash = {}
247
+ self.class.attribute_map.each_pair do |attr, param|
248
+ value = self.send(attr)
249
+ if value.nil?
250
+ is_nullable = self.class.openapi_nullable.include?(attr)
251
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
252
+ end
253
+
254
+ hash[param] = _to_hash(value)
255
+ end
256
+ hash
257
+ end
258
+
259
+ # Outputs non-array value in the form of hash
260
+ # For object, use to_hash. Otherwise, just return the value
261
+ # @param [Object] value Any valid value
262
+ # @return [Hash] Returns the value in the form of hash
263
+ def _to_hash(value)
264
+ if value.is_a?(Array)
265
+ value.compact.map { |v| _to_hash(v) }
266
+ elsif value.is_a?(Hash)
267
+ {}.tap do |hash|
268
+ value.each { |k, v| hash[k] = _to_hash(v) }
269
+ end
270
+ elsif value.respond_to? :to_hash
271
+ value.to_hash
272
+ else
273
+ value
274
+ end
275
+ end
276
+
277
+ end
278
+
279
+ end
@@ -0,0 +1,267 @@
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 KubernetesClusterPropertiesForPut
18
+ # A Kubernetes Cluster Name. Valid Kubernetes Cluster name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
19
+ attr_accessor :name
20
+
21
+ # The kubernetes version in which a cluster is running. This imposes restrictions on what kubernetes versions can be run in a cluster's nodepools. Additionally, not all kubernetes versions are viable upgrade targets for all prior versions.
22
+ attr_accessor :k8s_version
23
+
24
+ attr_accessor :maintenance_window
25
+
26
+ # Access to the K8s API server is restricted to these CIDRs. Cluster-internal traffic is not affected by this restriction. If no allowlist is specified, access is not restricted. If an IP without subnet mask is provided, the default value will be used: 32 for IPv4 and 128 for IPv6.
27
+ attr_accessor :api_subnet_allow_list
28
+
29
+ # List of S3 bucket configured for K8s usage. For now it contains only one S3 bucket used to store K8s API audit logs
30
+ attr_accessor :s3_buckets
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'name' => :'name',
36
+ :'k8s_version' => :'k8sVersion',
37
+ :'maintenance_window' => :'maintenanceWindow',
38
+ :'api_subnet_allow_list' => :'apiSubnetAllowList',
39
+ :'s3_buckets' => :'s3Buckets'
40
+ }
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'k8s_version' => :'String',
53
+ :'maintenance_window' => :'KubernetesMaintenanceWindow',
54
+ :'api_subnet_allow_list' => :'Array<String>',
55
+ :'s3_buckets' => :'Array<S3Bucket>'
56
+ }
57
+ end
58
+
59
+ # List of attributes with nullable: true
60
+ def self.openapi_nullable
61
+ Set.new([
62
+ ])
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Ionoscloud::KubernetesClusterPropertiesForPut` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::KubernetesClusterPropertiesForPut`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'name')
81
+ self.name = attributes[:'name']
82
+ end
83
+
84
+ if attributes.key?(:'k8s_version')
85
+ self.k8s_version = attributes[:'k8s_version']
86
+ end
87
+
88
+ if attributes.key?(:'maintenance_window')
89
+ self.maintenance_window = attributes[:'maintenance_window']
90
+ end
91
+
92
+ if attributes.key?(:'api_subnet_allow_list')
93
+ if (value = attributes[:'api_subnet_allow_list']).is_a?(Array)
94
+ self.api_subnet_allow_list = value
95
+ end
96
+ end
97
+
98
+ if attributes.key?(:'s3_buckets')
99
+ if (value = attributes[:'s3_buckets']).is_a?(Array)
100
+ self.s3_buckets = value
101
+ end
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ invalid_properties = Array.new
109
+ if @name.nil?
110
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ return false if @name.nil?
120
+ true
121
+ end
122
+
123
+ # Checks equality by comparing each attribute.
124
+ # @param [Object] Object to be compared
125
+ def ==(o)
126
+ return true if self.equal?(o)
127
+ self.class == o.class &&
128
+ name == o.name &&
129
+ k8s_version == o.k8s_version &&
130
+ maintenance_window == o.maintenance_window &&
131
+ api_subnet_allow_list == o.api_subnet_allow_list &&
132
+ s3_buckets == o.s3_buckets
133
+ end
134
+
135
+ # @see the `==` method
136
+ # @param [Object] Object to be compared
137
+ def eql?(o)
138
+ self == o
139
+ end
140
+
141
+ # Calculates hash code according to all attributes.
142
+ # @return [Integer] Hash code
143
+ def hash
144
+ [name, k8s_version, maintenance_window, api_subnet_allow_list, s3_buckets].hash
145
+ end
146
+
147
+ # Builds the object from hash
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ # @return [Object] Returns the model itself
150
+ def self.build_from_hash(attributes)
151
+ new.build_from_hash(attributes)
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def build_from_hash(attributes)
158
+ return nil unless attributes.is_a?(Hash)
159
+ self.class.openapi_types.each_pair do |key, type|
160
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
161
+ self.send("#{key}=", nil)
162
+ elsif type =~ /\AArray<(.*)>/i
163
+ # check to ensure the input is an array given that the attribute
164
+ # is documented as an array but the input is not
165
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
166
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
167
+ end
168
+ elsif !attributes[self.class.attribute_map[key]].nil?
169
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
170
+ end
171
+ end
172
+
173
+ self
174
+ end
175
+
176
+ # Deserializes the data based on type
177
+ # @param string type Data type
178
+ # @param string value Value to be deserialized
179
+ # @return [Object] Deserialized data
180
+ def _deserialize(type, value)
181
+ case type.to_sym
182
+ when :Time
183
+ Time.parse(value)
184
+ when :Date
185
+ Date.parse(value)
186
+ when :String
187
+ value.to_s
188
+ when :Integer
189
+ value.to_i
190
+ when :Float
191
+ value.to_f
192
+ when :Boolean
193
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
194
+ true
195
+ else
196
+ false
197
+ end
198
+ when :Object
199
+ # generic object (usually a Hash), return directly
200
+ value
201
+ when /\AArray<(?<inner_type>.+)>\z/
202
+ inner_type = Regexp.last_match[:inner_type]
203
+ value.map { |v| _deserialize(inner_type, v) }
204
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
205
+ k_type = Regexp.last_match[:k_type]
206
+ v_type = Regexp.last_match[:v_type]
207
+ {}.tap do |hash|
208
+ value.each do |k, v|
209
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
210
+ end
211
+ end
212
+ else # model
213
+ # models (e.g. Pet) or oneOf
214
+ klass = Ionoscloud.const_get(type)
215
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
216
+ end
217
+ end
218
+
219
+ # Returns the string representation of the object
220
+ # @return [String] String presentation of the object
221
+ def to_s
222
+ to_hash.to_s
223
+ end
224
+
225
+ # to_body is an alias to to_hash (backward compatibility)
226
+ # @return [Hash] Returns the object in the form of hash
227
+ def to_body
228
+ to_hash
229
+ end
230
+
231
+ # Returns the object in the form of hash
232
+ # @return [Hash] Returns the object in the form of hash
233
+ def to_hash
234
+ hash = {}
235
+ self.class.attribute_map.each_pair do |attr, param|
236
+ value = self.send(attr)
237
+ if value.nil?
238
+ is_nullable = self.class.openapi_nullable.include?(attr)
239
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
240
+ end
241
+
242
+ hash[param] = _to_hash(value)
243
+ end
244
+ hash
245
+ end
246
+
247
+ # Outputs non-array value in the form of hash
248
+ # For object, use to_hash. Otherwise, just return the value
249
+ # @param [Object] value Any valid value
250
+ # @return [Hash] Returns the value in the form of hash
251
+ def _to_hash(value)
252
+ if value.is_a?(Array)
253
+ value.compact.map { |v| _to_hash(v) }
254
+ elsif value.is_a?(Hash)
255
+ {}.tap do |hash|
256
+ value.each { |k, v| hash[k] = _to_hash(v) }
257
+ end
258
+ elsif value.respond_to? :to_hash
259
+ value.to_hash
260
+ else
261
+ value
262
+ end
263
+ end
264
+
265
+ end
266
+
267
+ 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
 
@@ -279,5 +279,7 @@ module Ionoscloud
279
279
  value
280
280
  end
281
281
  end
282
+
282
283
  end
284
+
283
285
  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
 
@@ -281,5 +281,7 @@ module Ionoscloud
281
281
  value
282
282
  end
283
283
  end
284
+
284
285
  end
286
+
285
287
  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
 
@@ -213,5 +213,7 @@ module Ionoscloud
213
213
  value
214
214
  end
215
215
  end
216
+
216
217
  end
218
+
217
219
  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
 
@@ -257,5 +257,7 @@ module Ionoscloud
257
257
  value
258
258
  end
259
259
  end
260
+
260
261
  end
262
+
261
263
  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
 
@@ -133,7 +133,7 @@ module Ionoscloud
133
133
  # Check to see if the all the properties in the model are valid
134
134
  # @return true if the model is valid
135
135
  def valid?
136
- type_validator = EnumAttributeValidator.new('String', ["nodepool"])
136
+ type_validator = EnumAttributeValidator.new('String', ["node"])
137
137
  return false unless type_validator.valid?(@type)
138
138
  return false if @properties.nil?
139
139
  true
@@ -142,7 +142,7 @@ module Ionoscloud
142
142
  # Custom attribute writer method checking allowed values (enum).
143
143
  # @param [Object] type Object to be assigned
144
144
  def type=(type)
145
- validator = EnumAttributeValidator.new('String', ["nodepool"])
145
+ validator = EnumAttributeValidator.new('String', ["node"])
146
146
  unless validator.valid?(type)
147
147
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
148
148
  end
@@ -290,5 +290,7 @@ module Ionoscloud
290
290
  value
291
291
  end
292
292
  end
293
+
293
294
  end
295
+
294
296
  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
 
@@ -131,7 +131,7 @@ module Ionoscloud
131
131
  # Check to see if the all the properties in the model are valid
132
132
  # @return true if the model is valid
133
133
  def valid?
134
- state_validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
134
+ state_validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY", "UNKNOWN"])
135
135
  return false unless state_validator.valid?(@state)
136
136
  true
137
137
  end
@@ -139,7 +139,7 @@ module Ionoscloud
139
139
  # Custom attribute writer method checking allowed values (enum).
140
140
  # @param [Object] state Object to be assigned
141
141
  def state=(state)
142
- validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
142
+ validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY", "UNKNOWN"])
143
143
  unless validator.valid?(state)
144
144
  fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
145
145
  end
@@ -287,5 +287,7 @@ module Ionoscloud
287
287
  value
288
288
  end
289
289
  end
290
+
290
291
  end
292
+
291
293
  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
 
@@ -290,5 +290,7 @@ module Ionoscloud
290
290
  value
291
291
  end
292
292
  end
293
+
293
294
  end
295
+
294
296
  end