ionoscloud 5.0.0 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +68 -0
  3. data/LICENSE +190 -0
  4. data/README.md +14 -4
  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 +30 -0
  68. data/docs/models/KubernetesClusterPropertiesForPost.md +26 -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 +49 -0
  81. data/docs/models/KubernetesNodePoolPropertiesForPost.md +47 -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 +18 -21
  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 +68 -12
  182. data/lib/ionoscloud/models/backup_unit.rb +48 -6
  183. data/lib/ionoscloud/models/backup_unit_properties.rb +30 -4
  184. data/lib/ionoscloud/models/backup_unit_sso.rb +12 -2
  185. data/lib/ionoscloud/models/backup_units.rb +43 -11
  186. data/lib/ionoscloud/models/balanced_nics.rb +68 -12
  187. data/lib/ionoscloud/models/cdroms.rb +68 -12
  188. data/lib/ionoscloud/models/connectable_datacenter.rb +30 -4
  189. data/lib/ionoscloud/models/contract.rb +21 -3
  190. data/lib/ionoscloud/models/contract_properties.rb +48 -6
  191. data/lib/ionoscloud/models/data_center_entities.rb +39 -5
  192. data/lib/ionoscloud/models/datacenter.rb +57 -7
  193. data/lib/ionoscloud/models/datacenter_element_metadata.rb +77 -11
  194. data/lib/ionoscloud/models/datacenter_properties.rb +59 -33
  195. data/lib/ionoscloud/models/datacenters.rb +68 -12
  196. data/lib/ionoscloud/models/error.rb +23 -7
  197. data/lib/ionoscloud/models/error_message.rb +21 -3
  198. data/lib/ionoscloud/models/firewall_rule.rb +48 -6
  199. data/lib/ionoscloud/models/firewall_rules.rb +68 -12
  200. data/lib/ionoscloud/models/firewallrule_properties.rb +120 -31
  201. data/lib/ionoscloud/models/group.rb +48 -6
  202. data/lib/ionoscloud/models/group_entities.rb +21 -3
  203. data/lib/ionoscloud/models/group_members.rb +41 -9
  204. data/lib/ionoscloud/models/group_properties.rb +93 -11
  205. data/lib/ionoscloud/models/group_share.rb +39 -5
  206. data/lib/ionoscloud/models/group_share_properties.rb +21 -3
  207. data/lib/ionoscloud/models/group_shares.rb +41 -9
  208. data/lib/ionoscloud/models/group_users.rb +41 -9
  209. data/lib/ionoscloud/models/groups.rb +41 -9
  210. data/lib/ionoscloud/models/image.rb +48 -6
  211. data/lib/ionoscloud/models/image_properties.rb +209 -23
  212. data/lib/ionoscloud/models/images.rb +41 -9
  213. data/lib/ionoscloud/models/info.rb +30 -4
  214. data/lib/ionoscloud/models/ip_block.rb +48 -6
  215. data/lib/ionoscloud/models/ip_block_properties.rb +52 -14
  216. data/lib/ionoscloud/models/ip_blocks.rb +97 -12
  217. data/lib/ionoscloud/models/ip_consumer.rb +103 -11
  218. data/lib/ionoscloud/models/ip_failover.rb +21 -3
  219. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +21 -3
  220. data/lib/ionoscloud/models/kubernetes_cluster.rb +57 -7
  221. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +12 -2
  222. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +353 -0
  223. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +353 -0
  224. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +91 -17
  225. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +303 -0
  226. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +303 -0
  227. data/lib/ionoscloud/models/kubernetes_clusters.rb +41 -9
  228. data/lib/ionoscloud/models/kubernetes_config.rb +39 -5
  229. data/lib/ionoscloud/models/kubernetes_config_properties.rb +12 -2
  230. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +21 -3
  231. data/lib/ionoscloud/models/kubernetes_node.rb +50 -8
  232. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +50 -8
  233. data/lib/ionoscloud/models/kubernetes_node_pool.rb +48 -6
  234. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +336 -0
  235. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +48 -6
  236. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +17 -2
  237. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +170 -42
  238. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +159 -37
  239. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +80 -165
  240. data/lib/ionoscloud/models/kubernetes_node_pools.rb +41 -9
  241. data/lib/ionoscloud/models/kubernetes_node_properties.rb +48 -9
  242. data/lib/ionoscloud/models/kubernetes_nodes.rb +43 -11
  243. data/lib/ionoscloud/models/label.rb +48 -6
  244. data/lib/ionoscloud/models/label_properties.rb +48 -6
  245. data/lib/ionoscloud/models/label_resource.rb +48 -6
  246. data/lib/ionoscloud/models/label_resource_properties.rb +21 -3
  247. data/lib/ionoscloud/models/label_resources.rb +70 -14
  248. data/lib/ionoscloud/models/labels.rb +43 -11
  249. data/lib/ionoscloud/models/lan.rb +57 -7
  250. data/lib/ionoscloud/models/lan_entities.rb +12 -2
  251. data/lib/ionoscloud/models/lan_nics.rb +68 -12
  252. data/lib/ionoscloud/models/lan_post.rb +57 -7
  253. data/lib/ionoscloud/models/lan_properties.rb +41 -9
  254. data/lib/ionoscloud/models/lan_properties_post.rb +41 -9
  255. data/lib/ionoscloud/models/lans.rb +68 -12
  256. data/lib/ionoscloud/models/loadbalancer.rb +57 -7
  257. data/lib/ionoscloud/models/loadbalancer_entities.rb +12 -2
  258. data/lib/ionoscloud/models/loadbalancer_properties.rb +42 -33
  259. data/lib/ionoscloud/models/loadbalancers.rb +68 -12
  260. data/lib/ionoscloud/models/location.rb +48 -6
  261. data/lib/ionoscloud/models/location_properties.rb +34 -34
  262. data/lib/ionoscloud/models/locations.rb +41 -9
  263. data/lib/ionoscloud/models/nic.rb +57 -7
  264. data/lib/ionoscloud/models/nic_entities.rb +12 -2
  265. data/lib/ionoscloud/models/nic_properties.rb +68 -12
  266. data/lib/ionoscloud/models/nics.rb +68 -12
  267. data/lib/ionoscloud/models/no_state_meta_data.rb +66 -8
  268. data/lib/ionoscloud/models/pagination_links.rb +30 -4
  269. data/lib/ionoscloud/models/peer.rb +48 -6
  270. data/lib/ionoscloud/models/private_cross_connect.rb +48 -6
  271. data/lib/ionoscloud/models/private_cross_connect_properties.rb +43 -13
  272. data/lib/ionoscloud/models/private_cross_connects.rb +41 -9
  273. data/lib/ionoscloud/models/request.rb +48 -6
  274. data/lib/ionoscloud/models/request_metadata.rb +39 -5
  275. data/lib/ionoscloud/models/request_properties.rb +41 -9
  276. data/lib/ionoscloud/models/request_status.rb +39 -5
  277. data/lib/ionoscloud/models/request_status_metadata.rb +41 -9
  278. data/lib/ionoscloud/models/request_target.rb +21 -3
  279. data/lib/ionoscloud/models/requests.rb +69 -13
  280. data/lib/ionoscloud/models/resource.rb +57 -7
  281. data/lib/ionoscloud/models/resource_entities.rb +12 -2
  282. data/lib/ionoscloud/models/resource_groups.rb +41 -9
  283. data/lib/ionoscloud/models/resource_limits.rb +156 -18
  284. data/lib/ionoscloud/models/resource_properties.rb +21 -3
  285. data/lib/ionoscloud/models/resource_reference.rb +30 -4
  286. data/lib/ionoscloud/models/resources.rb +41 -9
  287. data/lib/ionoscloud/models/resources_users.rb +41 -9
  288. data/lib/ionoscloud/models/{kubernetes_cluster_properties_for_post_and_put.rb → s3_bucket.rb} +19 -28
  289. data/lib/ionoscloud/models/s3_key.rb +48 -6
  290. data/lib/ionoscloud/models/s3_key_metadata.rb +21 -3
  291. data/lib/ionoscloud/models/s3_key_properties.rb +23 -5
  292. data/lib/ionoscloud/models/s3_keys.rb +41 -9
  293. data/lib/ionoscloud/models/s3_object_storage_sso.rb +12 -2
  294. data/lib/ionoscloud/models/server.rb +57 -7
  295. data/lib/ionoscloud/models/server_entities.rb +30 -4
  296. data/lib/ionoscloud/models/server_properties.rb +77 -11
  297. data/lib/ionoscloud/models/servers.rb +68 -12
  298. data/lib/ionoscloud/models/snapshot.rb +48 -6
  299. data/lib/ionoscloud/models/snapshot_properties.rb +147 -17
  300. data/lib/ionoscloud/models/snapshots.rb +41 -9
  301. data/lib/ionoscloud/models/type.rb +2 -1
  302. data/lib/ionoscloud/models/user.rb +57 -7
  303. data/lib/ionoscloud/models/user_metadata.rb +30 -4
  304. data/lib/ionoscloud/models/user_post.rb +231 -0
  305. data/lib/ionoscloud/models/user_properties.rb +74 -18
  306. data/lib/ionoscloud/models/user_properties_post.rb +353 -0
  307. data/lib/ionoscloud/models/user_properties_put.rb +335 -0
  308. data/lib/ionoscloud/models/user_put.rb +249 -0
  309. data/lib/ionoscloud/models/users.rb +97 -12
  310. data/lib/ionoscloud/models/users_entities.rb +21 -3
  311. data/lib/ionoscloud/models/volume.rb +48 -6
  312. data/lib/ionoscloud/models/volume_properties.rb +193 -31
  313. data/lib/ionoscloud/models/volumes.rb +68 -12
  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_client_spec.rb +1 -1
  318. data/spec/configuration_spec.rb +1 -1
  319. data/spec/spec_helper.rb +1 -1
  320. metadata +172 -291
  321. data/DOCS.md +0 -14618
  322. data/spec/api/_api_spec.rb +0 -49
  323. data/spec/api/backup_unit_api_spec.rb +0 -140
  324. data/spec/api/contract_api_spec.rb +0 -49
  325. data/spec/api/data_center_api_spec.rb +0 -128
  326. data/spec/api/image_api_spec.rb +0 -111
  327. data/spec/api/ip_blocks_api_spec.rb +0 -126
  328. data/spec/api/kubernetes_api_spec.rb +0 -306
  329. data/spec/api/label_api_spec.rb +0 -480
  330. data/spec/api/lan_api_spec.rb +0 -186
  331. data/spec/api/load_balancer_api_spec.rb +0 -203
  332. data/spec/api/location_api_spec.rb +0 -80
  333. data/spec/api/nic_api_spec.rb +0 -251
  334. data/spec/api/private_cross_connect_api_spec.rb +0 -110
  335. data/spec/api/request_api_spec.rb +0 -84
  336. data/spec/api/server_api_spec.rb +0 -337
  337. data/spec/api/snapshot_api_spec.rb +0 -111
  338. data/spec/api/user_management_api_spec.rb +0 -495
  339. data/spec/api/volume_api_spec.rb +0 -171
  340. data/spec/models/attached_volumes_spec.rb +0 -70
  341. data/spec/models/backup_unit_properties_spec.rb +0 -46
  342. data/spec/models/backup_unit_spec.rb +0 -62
  343. data/spec/models/backup_unit_sso_spec.rb +0 -34
  344. data/spec/models/backup_units_spec.rb +0 -56
  345. data/spec/models/balanced_nics_spec.rb +0 -70
  346. data/spec/models/cdroms_spec.rb +0 -70
  347. data/spec/models/connectable_datacenter_spec.rb +0 -46
  348. data/spec/models/contract_properties_spec.rb +0 -58
  349. data/spec/models/contract_spec.rb +0 -40
  350. data/spec/models/data_center_entities_spec.rb +0 -52
  351. data/spec/models/datacenter_element_metadata_spec.rb +0 -80
  352. data/spec/models/datacenter_properties_spec.rb +0 -68
  353. data/spec/models/datacenter_spec.rb +0 -64
  354. data/spec/models/datacenters_spec.rb +0 -70
  355. data/spec/models/error_message_spec.rb +0 -40
  356. data/spec/models/error_spec.rb +0 -40
  357. data/spec/models/firewall_rule_spec.rb +0 -58
  358. data/spec/models/firewall_rules_spec.rb +0 -70
  359. data/spec/models/firewallrule_properties_spec.rb +0 -98
  360. data/spec/models/group_entities_spec.rb +0 -40
  361. data/spec/models/group_members_spec.rb +0 -52
  362. data/spec/models/group_properties_spec.rb +0 -88
  363. data/spec/models/group_share_properties_spec.rb +0 -40
  364. data/spec/models/group_share_spec.rb +0 -52
  365. data/spec/models/group_shares_spec.rb +0 -52
  366. data/spec/models/group_spec.rb +0 -58
  367. data/spec/models/group_users_spec.rb +0 -52
  368. data/spec/models/groups_spec.rb +0 -52
  369. data/spec/models/image_properties_spec.rb +0 -138
  370. data/spec/models/image_spec.rb +0 -58
  371. data/spec/models/images_spec.rb +0 -52
  372. data/spec/models/info_spec.rb +0 -46
  373. data/spec/models/ip_block_properties_spec.rb +0 -58
  374. data/spec/models/ip_block_spec.rb +0 -58
  375. data/spec/models/ip_blocks_spec.rb +0 -52
  376. data/spec/models/ip_consumer_spec.rb +0 -70
  377. data/spec/models/ip_failover_spec.rb +0 -40
  378. data/spec/models/kubernetes_auto_scaling_spec.rb +0 -40
  379. data/spec/models/kubernetes_cluster_entities_spec.rb +0 -34
  380. data/spec/models/kubernetes_cluster_properties_for_post_and_put_spec.rb +0 -46
  381. data/spec/models/kubernetes_cluster_properties_spec.rb +0 -58
  382. data/spec/models/kubernetes_cluster_spec.rb +0 -68
  383. data/spec/models/kubernetes_clusters_spec.rb +0 -56
  384. data/spec/models/kubernetes_config_properties_spec.rb +0 -34
  385. data/spec/models/kubernetes_config_spec.rb +0 -56
  386. data/spec/models/kubernetes_maintenance_window_spec.rb +0 -44
  387. data/spec/models/kubernetes_node_metadata_spec.rb +0 -62
  388. data/spec/models/kubernetes_node_pool_for_put_spec.rb +0 -62
  389. data/spec/models/kubernetes_node_pool_lan_spec.rb +0 -34
  390. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +0 -132
  391. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +0 -132
  392. data/spec/models/kubernetes_node_pool_properties_spec.rb +0 -138
  393. data/spec/models/kubernetes_node_pool_spec.rb +0 -62
  394. data/spec/models/kubernetes_node_pools_spec.rb +0 -56
  395. data/spec/models/kubernetes_node_properties_spec.rb +0 -46
  396. data/spec/models/kubernetes_node_spec.rb +0 -62
  397. data/spec/models/kubernetes_nodes_spec.rb +0 -56
  398. data/spec/models/label_properties_spec.rb +0 -58
  399. data/spec/models/label_resource_properties_spec.rb +0 -40
  400. data/spec/models/label_resource_spec.rb +0 -62
  401. data/spec/models/label_resources_spec.rb +0 -74
  402. data/spec/models/label_spec.rb +0 -62
  403. data/spec/models/labels_spec.rb +0 -56
  404. data/spec/models/lan_entities_spec.rb +0 -34
  405. data/spec/models/lan_nics_spec.rb +0 -70
  406. data/spec/models/lan_post_spec.rb +0 -64
  407. data/spec/models/lan_properties_post_spec.rb +0 -52
  408. data/spec/models/lan_properties_spec.rb +0 -52
  409. data/spec/models/lan_spec.rb +0 -64
  410. data/spec/models/lans_spec.rb +0 -70
  411. data/spec/models/loadbalancer_entities_spec.rb +0 -34
  412. data/spec/models/loadbalancer_properties_spec.rb +0 -50
  413. data/spec/models/loadbalancer_spec.rb +0 -64
  414. data/spec/models/loadbalancers_spec.rb +0 -70
  415. data/spec/models/location_properties_spec.rb +0 -50
  416. data/spec/models/location_spec.rb +0 -58
  417. data/spec/models/locations_spec.rb +0 -52
  418. data/spec/models/nic_entities_spec.rb +0 -34
  419. data/spec/models/nic_properties_spec.rb +0 -70
  420. data/spec/models/nic_spec.rb +0 -64
  421. data/spec/models/nics_spec.rb +0 -70
  422. data/spec/models/no_state_meta_data_spec.rb +0 -70
  423. data/spec/models/pagination_links_spec.rb +0 -46
  424. data/spec/models/peer_spec.rb +0 -58
  425. data/spec/models/private_cross_connect_properties_spec.rb +0 -52
  426. data/spec/models/private_cross_connect_spec.rb +0 -58
  427. data/spec/models/private_cross_connects_spec.rb +0 -52
  428. data/spec/models/request_metadata_spec.rb +0 -52
  429. data/spec/models/request_properties_spec.rb +0 -52
  430. data/spec/models/request_spec.rb +0 -58
  431. data/spec/models/request_status_metadata_spec.rb +0 -56
  432. data/spec/models/request_status_spec.rb +0 -52
  433. data/spec/models/request_target_spec.rb +0 -44
  434. data/spec/models/requests_spec.rb +0 -70
  435. data/spec/models/resource_entities_spec.rb +0 -34
  436. data/spec/models/resource_groups_spec.rb +0 -52
  437. data/spec/models/resource_limits_spec.rb +0 -130
  438. data/spec/models/resource_properties_spec.rb +0 -40
  439. data/spec/models/resource_reference_spec.rb +0 -46
  440. data/spec/models/resource_spec.rb +0 -64
  441. data/spec/models/resources_spec.rb +0 -52
  442. data/spec/models/resources_users_spec.rb +0 -52
  443. data/spec/models/s3_key_metadata_spec.rb +0 -40
  444. data/spec/models/s3_key_properties_spec.rb +0 -40
  445. data/spec/models/s3_key_spec.rb +0 -58
  446. data/spec/models/s3_keys_spec.rb +0 -52
  447. data/spec/models/s3_object_storage_sso_spec.rb +0 -34
  448. data/spec/models/server_entities_spec.rb +0 -46
  449. data/spec/models/server_properties_spec.rb +0 -84
  450. data/spec/models/server_spec.rb +0 -64
  451. data/spec/models/servers_spec.rb +0 -70
  452. data/spec/models/snapshot_properties_spec.rb +0 -128
  453. data/spec/models/snapshot_spec.rb +0 -58
  454. data/spec/models/snapshots_spec.rb +0 -52
  455. data/spec/models/type_spec.rb +0 -28
  456. data/spec/models/user_metadata_spec.rb +0 -46
  457. data/spec/models/user_properties_spec.rb +0 -82
  458. data/spec/models/user_spec.rb +0 -64
  459. data/spec/models/users_entities_spec.rb +0 -40
  460. data/spec/models/users_spec.rb +0 -52
  461. data/spec/models/volume_properties_spec.rb +0 -152
  462. data/spec/models/volume_spec.rb +0 -58
  463. data/spec/models/volumes_spec.rb +0 -70
@@ -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
 
@@ -15,28 +15,50 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class KubernetesClusterProperties
18
+
18
19
  # 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
20
  attr_accessor :name
20
21
 
22
+
21
23
  # 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
24
  attr_accessor :k8s_version
23
25
 
26
+
24
27
  attr_accessor :maintenance_window
25
28
 
29
+
26
30
  # List of available versions for upgrading the cluster
27
31
  attr_accessor :available_upgrade_versions
28
32
 
33
+
29
34
  # List of versions that may be used for node pools under this cluster
30
35
  attr_accessor :viable_node_pool_versions
31
36
 
37
+
38
+ # 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.
39
+ attr_accessor :api_subnet_allow_list
40
+
41
+
42
+ # List of S3 bucket configured for K8s usage. For now it contains only one S3 bucket used to store K8s API audit logs
43
+ attr_accessor :s3_buckets
44
+
32
45
  # Attribute mapping from ruby-style variable name to JSON key.
33
46
  def self.attribute_map
34
47
  {
48
+
35
49
  :'name' => :'name',
50
+
36
51
  :'k8s_version' => :'k8sVersion',
52
+
37
53
  :'maintenance_window' => :'maintenanceWindow',
54
+
38
55
  :'available_upgrade_versions' => :'availableUpgradeVersions',
39
- :'viable_node_pool_versions' => :'viableNodePoolVersions'
56
+
57
+ :'viable_node_pool_versions' => :'viableNodePoolVersions',
58
+
59
+ :'api_subnet_allow_list' => :'apiSubnetAllowList',
60
+
61
+ :'s3_buckets' => :'s3Buckets'
40
62
  }
41
63
  end
42
64
 
@@ -48,17 +70,33 @@ module Ionoscloud
48
70
  # Attribute type mapping.
49
71
  def self.openapi_types
50
72
  {
73
+
51
74
  :'name' => :'String',
75
+
52
76
  :'k8s_version' => :'String',
77
+
53
78
  :'maintenance_window' => :'KubernetesMaintenanceWindow',
79
+
54
80
  :'available_upgrade_versions' => :'Array<String>',
55
- :'viable_node_pool_versions' => :'Array<String>'
81
+
82
+ :'viable_node_pool_versions' => :'Array<String>',
83
+
84
+ :'api_subnet_allow_list' => :'Array<String>',
85
+
86
+ :'s3_buckets' => :'Array<S3Bucket>'
56
87
  }
57
88
  end
58
89
 
59
90
  # List of attributes with nullable: true
60
91
  def self.openapi_nullable
61
92
  Set.new([
93
+
94
+
95
+
96
+
97
+
98
+
99
+
62
100
  ])
63
101
  end
64
102
 
@@ -76,29 +114,40 @@ module Ionoscloud
76
114
  end
77
115
  h[k.to_sym] = v
78
116
  }
117
+
79
118
 
80
119
  if attributes.key?(:'name')
81
120
  self.name = attributes[:'name']
82
121
  end
83
122
 
123
+
84
124
  if attributes.key?(:'k8s_version')
85
125
  self.k8s_version = attributes[:'k8s_version']
86
126
  end
87
127
 
128
+
88
129
  if attributes.key?(:'maintenance_window')
89
130
  self.maintenance_window = attributes[:'maintenance_window']
90
131
  end
91
132
 
92
- if attributes.key?(:'available_upgrade_versions')
93
- if (value = attributes[:'available_upgrade_versions']).is_a?(Array)
94
- self.available_upgrade_versions = value
95
- end
133
+
134
+ if attributes.key?(:'available_upgrade_versions') && (value = attributes[:'available_upgrade_versions']).is_a?(Array)
135
+ self.available_upgrade_versions = value
96
136
  end
97
137
 
98
- if attributes.key?(:'viable_node_pool_versions')
99
- if (value = attributes[:'viable_node_pool_versions']).is_a?(Array)
100
- self.viable_node_pool_versions = value
101
- end
138
+
139
+ if attributes.key?(:'viable_node_pool_versions') && (value = attributes[:'viable_node_pool_versions']).is_a?(Array)
140
+ self.viable_node_pool_versions = value
141
+ end
142
+
143
+
144
+ if attributes.key?(:'api_subnet_allow_list') && (value = attributes[:'api_subnet_allow_list']).is_a?(Array)
145
+ self.api_subnet_allow_list = value
146
+ end
147
+
148
+
149
+ if attributes.key?(:'s3_buckets') && (value = attributes[:'s3_buckets']).is_a?(Array)
150
+ self.s3_buckets = value
102
151
  end
103
152
  end
104
153
 
@@ -106,30 +155,53 @@ module Ionoscloud
106
155
  # @return Array for valid properties with the reasons
107
156
  def list_invalid_properties
108
157
  invalid_properties = Array.new
158
+
109
159
  if @name.nil?
110
160
  invalid_properties.push('invalid value for "name", name cannot be nil.')
111
161
  end
112
162
 
163
+
164
+
165
+
166
+
167
+
168
+
113
169
  invalid_properties
114
170
  end
115
171
 
116
172
  # Check to see if the all the properties in the model are valid
117
173
  # @return true if the model is valid
118
174
  def valid?
175
+
119
176
  return false if @name.nil?
177
+
178
+
179
+
180
+
181
+
182
+
120
183
  true
121
184
  end
122
185
 
186
+
187
+
188
+
189
+
190
+
191
+
192
+
123
193
  # Checks equality by comparing each attribute.
124
194
  # @param [Object] Object to be compared
125
195
  def ==(o)
126
196
  return true if self.equal?(o)
127
197
  self.class == o.class &&
128
- name == o.name &&
129
- k8s_version == o.k8s_version &&
130
- maintenance_window == o.maintenance_window &&
131
- available_upgrade_versions == o.available_upgrade_versions &&
132
- viable_node_pool_versions == o.viable_node_pool_versions
198
+ name == o.name &&
199
+ k8s_version == o.k8s_version &&
200
+ maintenance_window == o.maintenance_window &&
201
+ available_upgrade_versions == o.available_upgrade_versions &&
202
+ viable_node_pool_versions == o.viable_node_pool_versions &&
203
+ api_subnet_allow_list == o.api_subnet_allow_list &&
204
+ s3_buckets == o.s3_buckets
133
205
  end
134
206
 
135
207
  # @see the `==` method
@@ -141,7 +213,7 @@ module Ionoscloud
141
213
  # Calculates hash code according to all attributes.
142
214
  # @return [Integer] Hash code
143
215
  def hash
144
- [name, k8s_version, maintenance_window, available_upgrade_versions, viable_node_pool_versions].hash
216
+ [name, k8s_version, maintenance_window, available_upgrade_versions, viable_node_pool_versions, api_subnet_allow_list, s3_buckets].hash
145
217
  end
146
218
 
147
219
  # Builds the object from hash
@@ -261,5 +333,7 @@ module Ionoscloud
261
333
  value
262
334
  end
263
335
  end
336
+
264
337
  end
338
+
265
339
  end
@@ -0,0 +1,303 @@
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
+
19
+ # 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.
20
+ attr_accessor :name
21
+
22
+
23
+ # 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.
24
+ attr_accessor :k8s_version
25
+
26
+
27
+ attr_accessor :maintenance_window
28
+
29
+
30
+ # 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.
31
+ attr_accessor :api_subnet_allow_list
32
+
33
+
34
+ # List of S3 bucket configured for K8s usage. For now it contains only one S3 bucket used to store K8s API audit logs
35
+ attr_accessor :s3_buckets
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ def self.attribute_map
39
+ {
40
+
41
+ :'name' => :'name',
42
+
43
+ :'k8s_version' => :'k8sVersion',
44
+
45
+ :'maintenance_window' => :'maintenanceWindow',
46
+
47
+ :'api_subnet_allow_list' => :'apiSubnetAllowList',
48
+
49
+ :'s3_buckets' => :'s3Buckets'
50
+ }
51
+ end
52
+
53
+ # Returns all the JSON keys this model knows about
54
+ def self.acceptable_attributes
55
+ attribute_map.values
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+
62
+ :'name' => :'String',
63
+
64
+ :'k8s_version' => :'String',
65
+
66
+ :'maintenance_window' => :'KubernetesMaintenanceWindow',
67
+
68
+ :'api_subnet_allow_list' => :'Array<String>',
69
+
70
+ :'s3_buckets' => :'Array<S3Bucket>'
71
+ }
72
+ end
73
+
74
+ # List of attributes with nullable: true
75
+ def self.openapi_nullable
76
+ Set.new([
77
+
78
+
79
+
80
+
81
+
82
+ ])
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Ionoscloud::KubernetesClusterPropertiesForPost` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ 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
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+
101
+ if attributes.key?(:'name')
102
+ self.name = attributes[:'name']
103
+ end
104
+
105
+
106
+ if attributes.key?(:'k8s_version')
107
+ self.k8s_version = attributes[:'k8s_version']
108
+ end
109
+
110
+
111
+ if attributes.key?(:'maintenance_window')
112
+ self.maintenance_window = attributes[:'maintenance_window']
113
+ end
114
+
115
+
116
+ if attributes.key?(:'api_subnet_allow_list') && (value = attributes[:'api_subnet_allow_list']).is_a?(Array)
117
+ self.api_subnet_allow_list = value
118
+ end
119
+
120
+
121
+ if attributes.key?(:'s3_buckets') && (value = attributes[:'s3_buckets']).is_a?(Array)
122
+ self.s3_buckets = value
123
+ end
124
+ end
125
+
126
+ # Show invalid properties with the reasons. Usually used together with valid?
127
+ # @return Array for valid properties with the reasons
128
+ def list_invalid_properties
129
+ invalid_properties = Array.new
130
+
131
+ if @name.nil?
132
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
133
+ end
134
+
135
+
136
+
137
+
138
+
139
+ invalid_properties
140
+ end
141
+
142
+ # Check to see if the all the properties in the model are valid
143
+ # @return true if the model is valid
144
+ def valid?
145
+
146
+ return false if @name.nil?
147
+
148
+
149
+
150
+
151
+ true
152
+ end
153
+
154
+
155
+
156
+
157
+
158
+
159
+ # Checks equality by comparing each attribute.
160
+ # @param [Object] Object to be compared
161
+ def ==(o)
162
+ return true if self.equal?(o)
163
+ self.class == o.class &&
164
+ name == o.name &&
165
+ k8s_version == o.k8s_version &&
166
+ maintenance_window == o.maintenance_window &&
167
+ api_subnet_allow_list == o.api_subnet_allow_list &&
168
+ s3_buckets == o.s3_buckets
169
+ end
170
+
171
+ # @see the `==` method
172
+ # @param [Object] Object to be compared
173
+ def eql?(o)
174
+ self == o
175
+ end
176
+
177
+ # Calculates hash code according to all attributes.
178
+ # @return [Integer] Hash code
179
+ def hash
180
+ [name, k8s_version, maintenance_window, api_subnet_allow_list, s3_buckets].hash
181
+ end
182
+
183
+ # Builds the object from hash
184
+ # @param [Hash] attributes Model attributes in the form of hash
185
+ # @return [Object] Returns the model itself
186
+ def self.build_from_hash(attributes)
187
+ new.build_from_hash(attributes)
188
+ end
189
+
190
+ # Builds the object from hash
191
+ # @param [Hash] attributes Model attributes in the form of hash
192
+ # @return [Object] Returns the model itself
193
+ def build_from_hash(attributes)
194
+ return nil unless attributes.is_a?(Hash)
195
+ self.class.openapi_types.each_pair do |key, type|
196
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
197
+ self.send("#{key}=", nil)
198
+ elsif type =~ /\AArray<(.*)>/i
199
+ # check to ensure the input is an array given that the attribute
200
+ # is documented as an array but the input is not
201
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
202
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
203
+ end
204
+ elsif !attributes[self.class.attribute_map[key]].nil?
205
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
206
+ end
207
+ end
208
+
209
+ self
210
+ end
211
+
212
+ # Deserializes the data based on type
213
+ # @param string type Data type
214
+ # @param string value Value to be deserialized
215
+ # @return [Object] Deserialized data
216
+ def _deserialize(type, value)
217
+ case type.to_sym
218
+ when :Time
219
+ Time.parse(value)
220
+ when :Date
221
+ Date.parse(value)
222
+ when :String
223
+ value.to_s
224
+ when :Integer
225
+ value.to_i
226
+ when :Float
227
+ value.to_f
228
+ when :Boolean
229
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
230
+ true
231
+ else
232
+ false
233
+ end
234
+ when :Object
235
+ # generic object (usually a Hash), return directly
236
+ value
237
+ when /\AArray<(?<inner_type>.+)>\z/
238
+ inner_type = Regexp.last_match[:inner_type]
239
+ value.map { |v| _deserialize(inner_type, v) }
240
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
241
+ k_type = Regexp.last_match[:k_type]
242
+ v_type = Regexp.last_match[:v_type]
243
+ {}.tap do |hash|
244
+ value.each do |k, v|
245
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
246
+ end
247
+ end
248
+ else # model
249
+ # models (e.g. Pet) or oneOf
250
+ klass = Ionoscloud.const_get(type)
251
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
252
+ end
253
+ end
254
+
255
+ # Returns the string representation of the object
256
+ # @return [String] String presentation of the object
257
+ def to_s
258
+ to_hash.to_s
259
+ end
260
+
261
+ # to_body is an alias to to_hash (backward compatibility)
262
+ # @return [Hash] Returns the object in the form of hash
263
+ def to_body
264
+ to_hash
265
+ end
266
+
267
+ # Returns the object in the form of hash
268
+ # @return [Hash] Returns the object in the form of hash
269
+ def to_hash
270
+ hash = {}
271
+ self.class.attribute_map.each_pair do |attr, param|
272
+ value = self.send(attr)
273
+ if value.nil?
274
+ is_nullable = self.class.openapi_nullable.include?(attr)
275
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
276
+ end
277
+
278
+ hash[param] = _to_hash(value)
279
+ end
280
+ hash
281
+ end
282
+
283
+ # Outputs non-array value in the form of hash
284
+ # For object, use to_hash. Otherwise, just return the value
285
+ # @param [Object] value Any valid value
286
+ # @return [Hash] Returns the value in the form of hash
287
+ def _to_hash(value)
288
+ if value.is_a?(Array)
289
+ value.compact.map { |v| _to_hash(v) }
290
+ elsif value.is_a?(Hash)
291
+ {}.tap do |hash|
292
+ value.each { |k, v| hash[k] = _to_hash(v) }
293
+ end
294
+ elsif value.respond_to? :to_hash
295
+ value.to_hash
296
+ else
297
+ value
298
+ end
299
+ end
300
+
301
+ end
302
+
303
+ end