ionoscloud 6.1.1 → 6.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +5 -5
  4. data/docs/README.md +1 -1
  5. data/docs/api/ApplicationLoadBalancersApi.md +116 -116
  6. data/docs/api/BackupUnitsApi.md +3 -3
  7. data/docs/api/ContractResourcesApi.md +5 -5
  8. data/docs/api/DataCentersApi.md +18 -18
  9. data/docs/api/DefaultApi.md +5 -5
  10. data/docs/api/FirewallRulesApi.md +13 -13
  11. data/docs/api/FlowLogsApi.md +11 -11
  12. data/docs/api/IPBlocksApi.md +13 -13
  13. data/docs/api/ImagesApi.md +7 -7
  14. data/docs/api/KubernetesApi.md +92 -92
  15. data/docs/api/LANsApi.md +5 -5
  16. data/docs/api/LabelsApi.md +55 -55
  17. data/docs/api/LoadBalancersApi.md +15 -15
  18. data/docs/api/LocationsApi.md +15 -15
  19. data/docs/api/NATGatewaysApi.md +39 -39
  20. data/docs/api/NetworkInterfacesApi.md +8 -8
  21. data/docs/api/NetworkLoadBalancersApi.md +33 -33
  22. data/docs/api/PrivateCrossConnectsApi.md +7 -7
  23. data/docs/api/ServersApi.md +84 -84
  24. data/docs/api/SnapshotsApi.md +7 -7
  25. data/docs/api/TargetGroupsApi.md +36 -36
  26. data/docs/api/TemplatesApi.md +12 -12
  27. data/docs/api/UserManagementApi.md +12 -12
  28. data/docs/api/UserS3KeysApi.md +6 -6
  29. data/docs/api/VolumesApi.md +13 -13
  30. data/docs/models/ApplicationLoadBalancer.md +18 -6
  31. data/docs/models/ApplicationLoadBalancerEntities.md +2 -0
  32. data/docs/models/ApplicationLoadBalancerForwardingRule.md +15 -5
  33. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +24 -10
  34. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +13 -5
  35. data/docs/models/ApplicationLoadBalancerForwardingRules.md +22 -8
  36. data/docs/models/ApplicationLoadBalancerHttpRule.md +32 -14
  37. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +17 -7
  38. data/docs/models/ApplicationLoadBalancerProperties.md +18 -8
  39. data/docs/models/ApplicationLoadBalancerPut.md +13 -5
  40. data/docs/models/ApplicationLoadBalancers.md +22 -8
  41. data/docs/models/AttachedVolumes.md +22 -8
  42. data/docs/models/BackupUnit.md +15 -5
  43. data/docs/models/BackupUnitProperties.md +9 -3
  44. data/docs/models/BackupUnitSSO.md +2 -0
  45. data/docs/models/BackupUnits.md +13 -5
  46. data/docs/models/BalancedNics.md +22 -8
  47. data/docs/models/Cdroms.md +22 -8
  48. data/docs/models/ConnectableDatacenter.md +9 -3
  49. data/docs/models/Contract.md +7 -3
  50. data/docs/models/ContractProperties.md +17 -7
  51. data/docs/models/Contracts.md +13 -5
  52. data/docs/models/CpuArchitectureProperties.md +8 -0
  53. data/docs/models/DataCenterEntities.md +20 -8
  54. data/docs/models/Datacenter.md +18 -6
  55. data/docs/models/DatacenterElementMetadata.md +23 -7
  56. data/docs/models/DatacenterProperties.md +22 -8
  57. data/docs/models/Datacenters.md +22 -8
  58. data/docs/models/Error.md +4 -0
  59. data/docs/models/ErrorMessage.md +4 -0
  60. data/docs/models/FirewallRule.md +15 -5
  61. data/docs/models/FirewallRules.md +22 -8
  62. data/docs/models/FirewallruleProperties.md +35 -11
  63. data/docs/models/FlowLog.md +15 -5
  64. data/docs/models/FlowLogProperties.md +12 -4
  65. data/docs/models/FlowLogPut.md +13 -5
  66. data/docs/models/FlowLogs.md +22 -8
  67. data/docs/models/Group.md +16 -6
  68. data/docs/models/GroupEntities.md +7 -3
  69. data/docs/models/GroupMembers.md +13 -5
  70. data/docs/models/GroupProperties.md +60 -20
  71. data/docs/models/GroupShare.md +13 -5
  72. data/docs/models/GroupShareProperties.md +4 -0
  73. data/docs/models/GroupShares.md +13 -5
  74. data/docs/models/GroupUsers.md +13 -5
  75. data/docs/models/Groups.md +13 -5
  76. data/docs/models/IPFailover.md +4 -0
  77. data/docs/models/Image.md +15 -5
  78. data/docs/models/ImageProperties.md +64 -26
  79. data/docs/models/Images.md +13 -5
  80. data/docs/models/Info.md +11 -5
  81. data/docs/models/IpBlock.md +15 -5
  82. data/docs/models/IpBlockProperties.md +14 -4
  83. data/docs/models/IpBlocks.md +22 -8
  84. data/docs/models/IpConsumer.md +27 -9
  85. data/docs/models/KubernetesAutoScaling.md +8 -4
  86. data/docs/models/KubernetesCluster.md +19 -7
  87. data/docs/models/KubernetesClusterEntities.md +2 -0
  88. data/docs/models/KubernetesClusterForPost.md +19 -7
  89. data/docs/models/KubernetesClusterForPut.md +18 -6
  90. data/docs/models/KubernetesClusterProperties.md +23 -9
  91. data/docs/models/KubernetesClusterPropertiesForPost.md +16 -6
  92. data/docs/models/KubernetesClusterPropertiesForPut.md +16 -6
  93. data/docs/models/KubernetesClusters.md +15 -7
  94. data/docs/models/KubernetesMaintenanceWindow.md +6 -2
  95. data/docs/models/KubernetesNode.md +15 -5
  96. data/docs/models/KubernetesNodeMetadata.md +18 -8
  97. data/docs/models/KubernetesNodePool.md +15 -5
  98. data/docs/models/KubernetesNodePoolForPost.md +15 -5
  99. data/docs/models/KubernetesNodePoolForPut.md +15 -5
  100. data/docs/models/KubernetesNodePoolLan.md +14 -4
  101. data/docs/models/KubernetesNodePoolLanRoutes.md +7 -3
  102. data/docs/models/KubernetesNodePoolProperties.md +62 -28
  103. data/docs/models/KubernetesNodePoolPropertiesForPost.md +58 -26
  104. data/docs/models/KubernetesNodePoolPropertiesForPut.md +32 -14
  105. data/docs/models/KubernetesNodePools.md +13 -5
  106. data/docs/models/KubernetesNodeProperties.md +15 -7
  107. data/docs/models/KubernetesNodes.md +13 -5
  108. data/docs/models/Label.md +15 -5
  109. data/docs/models/LabelProperties.md +14 -4
  110. data/docs/models/LabelResource.md +15 -5
  111. data/docs/models/LabelResourceProperties.md +4 -0
  112. data/docs/models/LabelResources.md +22 -8
  113. data/docs/models/Labels.md +13 -5
  114. data/docs/models/Lan.md +18 -6
  115. data/docs/models/LanEntities.md +2 -0
  116. data/docs/models/LanNics.md +22 -8
  117. data/docs/models/LanPost.md +19 -7
  118. data/docs/models/LanProperties.md +10 -2
  119. data/docs/models/LanPropertiesPost.md +10 -2
  120. data/docs/models/Lans.md +22 -8
  121. data/docs/models/Loadbalancer.md +18 -6
  122. data/docs/models/LoadbalancerEntities.md +2 -0
  123. data/docs/models/LoadbalancerProperties.md +10 -4
  124. data/docs/models/Loadbalancers.md +22 -8
  125. data/docs/models/Location.md +15 -5
  126. data/docs/models/LocationProperties.md +16 -8
  127. data/docs/models/Locations.md +13 -5
  128. data/docs/models/NatGateway.md +18 -6
  129. data/docs/models/NatGatewayEntities.md +7 -3
  130. data/docs/models/NatGatewayLanProperties.md +7 -3
  131. data/docs/models/NatGatewayProperties.md +9 -3
  132. data/docs/models/NatGatewayPut.md +13 -5
  133. data/docs/models/NatGatewayRule.md +15 -5
  134. data/docs/models/NatGatewayRuleProperties.md +20 -6
  135. data/docs/models/NatGatewayRulePut.md +13 -5
  136. data/docs/models/NatGatewayRules.md +13 -5
  137. data/docs/models/NatGateways.md +22 -8
  138. data/docs/models/NetworkLoadBalancer.md +18 -6
  139. data/docs/models/NetworkLoadBalancerEntities.md +4 -0
  140. data/docs/models/NetworkLoadBalancerForwardingRule.md +15 -5
  141. data/docs/models/NetworkLoadBalancerForwardingRuleHealthCheck.md +11 -3
  142. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +21 -7
  143. data/docs/models/NetworkLoadBalancerForwardingRulePut.md +13 -5
  144. data/docs/models/NetworkLoadBalancerForwardingRuleTarget.md +11 -3
  145. data/docs/models/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +6 -0
  146. data/docs/models/NetworkLoadBalancerForwardingRules.md +22 -8
  147. data/docs/models/NetworkLoadBalancerProperties.md +17 -7
  148. data/docs/models/NetworkLoadBalancerPut.md +13 -5
  149. data/docs/models/NetworkLoadBalancers.md +22 -8
  150. data/docs/models/Nic.md +18 -6
  151. data/docs/models/NicEntities.md +7 -3
  152. data/docs/models/NicProperties.md +30 -13
  153. data/docs/models/NicPut.md +13 -5
  154. data/docs/models/Nics.md +22 -8
  155. data/docs/models/NoStateMetaData.md +21 -7
  156. data/docs/models/PaginationLinks.md +9 -3
  157. data/docs/models/Peer.md +15 -5
  158. data/docs/models/PrivateCrossConnect.md +15 -5
  159. data/docs/models/PrivateCrossConnectProperties.md +13 -5
  160. data/docs/models/PrivateCrossConnects.md +13 -5
  161. data/docs/models/RemoteConsoleUrl.md +2 -0
  162. data/docs/models/Request.md +15 -5
  163. data/docs/models/RequestMetadata.md +10 -2
  164. data/docs/models/RequestProperties.md +12 -4
  165. data/docs/models/RequestStatus.md +13 -5
  166. data/docs/models/RequestStatusMetadata.md +12 -4
  167. data/docs/models/RequestTarget.md +7 -3
  168. data/docs/models/Requests.md +22 -8
  169. data/docs/models/Resource.md +18 -6
  170. data/docs/models/ResourceEntities.md +2 -0
  171. data/docs/models/ResourceGroups.md +13 -5
  172. data/docs/models/ResourceLimits.md +88 -44
  173. data/docs/models/ResourceProperties.md +4 -0
  174. data/docs/models/ResourceReference.md +9 -3
  175. data/docs/models/Resources.md +13 -5
  176. data/docs/models/ResourcesUsers.md +13 -5
  177. data/docs/models/S3Bucket.md +4 -2
  178. data/docs/models/S3Key.md +15 -5
  179. data/docs/models/S3KeyMetadata.md +7 -3
  180. data/docs/models/S3KeyProperties.md +7 -3
  181. data/docs/models/S3Keys.md +13 -5
  182. data/docs/models/S3ObjectStorageSSO.md +2 -0
  183. data/docs/models/Server.md +18 -6
  184. data/docs/models/ServerEntities.md +9 -3
  185. data/docs/models/ServerProperties.md +33 -13
  186. data/docs/models/Servers.md +22 -8
  187. data/docs/models/Snapshot.md +15 -5
  188. data/docs/models/SnapshotProperties.md +55 -23
  189. data/docs/models/Snapshots.md +13 -5
  190. data/docs/models/TargetGroup.md +15 -5
  191. data/docs/models/TargetGroupHealthCheck.md +10 -4
  192. data/docs/models/TargetGroupHttpHealthCheck.md +22 -10
  193. data/docs/models/TargetGroupProperties.md +20 -8
  194. data/docs/models/TargetGroupPut.md +13 -5
  195. data/docs/models/TargetGroupTarget.md +16 -6
  196. data/docs/models/TargetGroups.md +22 -8
  197. data/docs/models/TargetPortRange.md +7 -3
  198. data/docs/models/Template.md +15 -5
  199. data/docs/models/TemplateProperties.md +10 -2
  200. data/docs/models/Templates.md +13 -5
  201. data/docs/models/Token.md +2 -0
  202. data/docs/models/User.md +18 -6
  203. data/docs/models/UserMetadata.md +8 -2
  204. data/docs/models/UserPost.md +2 -0
  205. data/docs/models/UserProperties.md +26 -10
  206. data/docs/models/UserPropertiesPost.md +26 -10
  207. data/docs/models/UserPropertiesPut.md +25 -9
  208. data/docs/models/UserPut.md +4 -0
  209. data/docs/models/Users.md +22 -8
  210. data/docs/models/UsersEntities.md +7 -3
  211. data/docs/models/Volume.md +15 -5
  212. data/docs/models/VolumeProperties.md +74 -30
  213. data/docs/models/Volumes.md +22 -8
  214. data/docs/summary.md +22 -4
  215. data/lib/ionoscloud/api/_api.rb +4 -4
  216. data/lib/ionoscloud/api/application_load_balancers_api.rb +86 -86
  217. data/lib/ionoscloud/api/contract_resources_api.rb +4 -4
  218. data/lib/ionoscloud/api/data_centers_api.rb +12 -12
  219. data/lib/ionoscloud/api/firewall_rules_api.rb +8 -8
  220. data/lib/ionoscloud/api/flow_logs_api.rb +4 -4
  221. data/lib/ionoscloud/api/images_api.rb +4 -4
  222. data/lib/ionoscloud/api/ip_blocks_api.rb +8 -8
  223. data/lib/ionoscloud/api/kubernetes_api.rb +70 -70
  224. data/lib/ionoscloud/api/labels_api.rb +36 -36
  225. data/lib/ionoscloud/api/lans_api.rb +2 -2
  226. data/lib/ionoscloud/api/load_balancers_api.rb +10 -10
  227. data/lib/ionoscloud/api/locations_api.rb +12 -12
  228. data/lib/ionoscloud/api/nat_gateways_api.rb +18 -18
  229. data/lib/ionoscloud/api/network_interfaces_api.rb +4 -4
  230. data/lib/ionoscloud/api/network_load_balancers_api.rb +12 -12
  231. data/lib/ionoscloud/api/private_cross_connects_api.rb +4 -4
  232. data/lib/ionoscloud/api/servers_api.rb +62 -62
  233. data/lib/ionoscloud/api/snapshots_api.rb +4 -4
  234. data/lib/ionoscloud/api/target_groups_api.rb +24 -24
  235. data/lib/ionoscloud/api/templates_api.rb +10 -10
  236. data/lib/ionoscloud/api/user_management_api.rb +4 -4
  237. data/lib/ionoscloud/api/user_s3_keys_api.rb +4 -4
  238. data/lib/ionoscloud/api/volumes_api.rb +9 -9
  239. data/lib/ionoscloud/api_client.rb +1 -1
  240. data/lib/ionoscloud/models/application_load_balancer.rb +27 -27
  241. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +33 -33
  242. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +54 -54
  243. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +29 -29
  244. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +40 -40
  245. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +69 -81
  246. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +43 -43
  247. data/lib/ionoscloud/models/application_load_balancer_properties.rb +40 -40
  248. data/lib/ionoscloud/models/application_load_balancer_put.rb +29 -29
  249. data/lib/ionoscloud/models/application_load_balancers.rb +40 -40
  250. data/lib/ionoscloud/models/attached_volumes.rb +40 -40
  251. data/lib/ionoscloud/models/backup_unit.rb +38 -38
  252. data/lib/ionoscloud/models/backup_unit_properties.rb +20 -20
  253. data/lib/ionoscloud/models/backup_units.rb +32 -32
  254. data/lib/ionoscloud/models/balanced_nics.rb +40 -40
  255. data/lib/ionoscloud/models/cdroms.rb +40 -40
  256. data/lib/ionoscloud/models/connectable_datacenter.rb +13 -13
  257. data/lib/ionoscloud/models/contract.rb +16 -16
  258. data/lib/ionoscloud/models/contract_properties.rb +19 -19
  259. data/lib/ionoscloud/models/contracts.rb +28 -28
  260. data/lib/ionoscloud/models/data_center_entities.rb +32 -32
  261. data/lib/ionoscloud/models/datacenter.rb +27 -27
  262. data/lib/ionoscloud/models/datacenter_element_metadata.rb +39 -39
  263. data/lib/ionoscloud/models/datacenter_properties.rb +37 -37
  264. data/lib/ionoscloud/models/datacenters.rb +40 -40
  265. data/lib/ionoscloud/models/firewall_rule.rb +33 -33
  266. data/lib/ionoscloud/models/firewall_rules.rb +40 -40
  267. data/lib/ionoscloud/models/firewallrule_properties.rb +144 -164
  268. data/lib/ionoscloud/models/flow_log.rb +33 -33
  269. data/lib/ionoscloud/models/flow_log_properties.rb +31 -31
  270. data/lib/ionoscloud/models/flow_log_put.rb +29 -29
  271. data/lib/ionoscloud/models/flow_logs.rb +40 -40
  272. data/lib/ionoscloud/models/group.rb +27 -27
  273. data/lib/ionoscloud/models/group_entities.rb +13 -13
  274. data/lib/ionoscloud/models/group_members.rb +28 -28
  275. data/lib/ionoscloud/models/group_properties.rb +144 -90
  276. data/lib/ionoscloud/models/group_share.rb +29 -29
  277. data/lib/ionoscloud/models/group_shares.rb +28 -28
  278. data/lib/ionoscloud/models/group_users.rb +28 -28
  279. data/lib/ionoscloud/models/groups.rb +28 -28
  280. data/lib/ionoscloud/models/image.rb +33 -33
  281. data/lib/ionoscloud/models/image_properties.rb +152 -152
  282. data/lib/ionoscloud/models/images.rb +28 -28
  283. data/lib/ionoscloud/models/info.rb +3 -3
  284. data/lib/ionoscloud/models/ip_block.rb +33 -33
  285. data/lib/ionoscloud/models/ip_block_properties.rb +26 -26
  286. data/lib/ionoscloud/models/ip_blocks.rb +40 -40
  287. data/lib/ionoscloud/models/ip_consumer.rb +51 -51
  288. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +21 -21
  289. data/lib/ionoscloud/models/kubernetes_cluster.rb +33 -33
  290. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +33 -33
  291. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +33 -33
  292. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +47 -47
  293. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +21 -21
  294. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +21 -21
  295. data/lib/ionoscloud/models/kubernetes_clusters.rb +32 -32
  296. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +2 -2
  297. data/lib/ionoscloud/models/kubernetes_node.rb +38 -38
  298. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +31 -31
  299. data/lib/ionoscloud/models/kubernetes_node_pool.rb +38 -38
  300. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +38 -38
  301. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +38 -38
  302. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +30 -12
  303. data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +15 -15
  304. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +149 -149
  305. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +148 -148
  306. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +53 -53
  307. data/lib/ionoscloud/models/kubernetes_node_pools.rb +32 -32
  308. data/lib/ionoscloud/models/kubernetes_node_properties.rb +29 -29
  309. data/lib/ionoscloud/models/kubernetes_nodes.rb +32 -32
  310. data/lib/ionoscloud/models/label.rb +38 -38
  311. data/lib/ionoscloud/models/label_properties.rb +15 -15
  312. data/lib/ionoscloud/models/label_resource.rb +38 -38
  313. data/lib/ionoscloud/models/label_resources.rb +47 -47
  314. data/lib/ionoscloud/models/labels.rb +32 -32
  315. data/lib/ionoscloud/models/lan.rb +27 -27
  316. data/lib/ionoscloud/models/lan_nics.rb +40 -40
  317. data/lib/ionoscloud/models/lan_post.rb +35 -35
  318. data/lib/ionoscloud/models/lan_properties.rb +14 -14
  319. data/lib/ionoscloud/models/lan_properties_post.rb +14 -14
  320. data/lib/ionoscloud/models/lans.rb +40 -40
  321. data/lib/ionoscloud/models/loadbalancer.rb +27 -27
  322. data/lib/ionoscloud/models/loadbalancer_properties.rb +15 -32
  323. data/lib/ionoscloud/models/loadbalancers.rb +40 -40
  324. data/lib/ionoscloud/models/location.rb +33 -33
  325. data/lib/ionoscloud/models/location_properties.rb +17 -17
  326. data/lib/ionoscloud/models/locations.rb +28 -28
  327. data/lib/ionoscloud/models/nat_gateway.rb +27 -27
  328. data/lib/ionoscloud/models/nat_gateway_entities.rb +13 -13
  329. data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +17 -17
  330. data/lib/ionoscloud/models/nat_gateway_properties.rb +20 -20
  331. data/lib/ionoscloud/models/nat_gateway_put.rb +29 -29
  332. data/lib/ionoscloud/models/nat_gateway_rule.rb +33 -33
  333. data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +32 -32
  334. data/lib/ionoscloud/models/nat_gateway_rule_put.rb +29 -29
  335. data/lib/ionoscloud/models/nat_gateway_rules.rb +28 -28
  336. data/lib/ionoscloud/models/nat_gateways.rb +40 -40
  337. data/lib/ionoscloud/models/network_load_balancer.rb +27 -27
  338. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +33 -33
  339. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +15 -15
  340. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +47 -47
  341. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +29 -29
  342. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +19 -19
  343. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +40 -40
  344. data/lib/ionoscloud/models/network_load_balancer_properties.rb +38 -38
  345. data/lib/ionoscloud/models/network_load_balancer_put.rb +29 -29
  346. data/lib/ionoscloud/models/network_load_balancers.rb +40 -40
  347. data/lib/ionoscloud/models/nic.rb +27 -27
  348. data/lib/ionoscloud/models/nic_entities.rb +13 -13
  349. data/lib/ionoscloud/models/nic_properties.rb +66 -64
  350. data/lib/ionoscloud/models/nic_put.rb +29 -29
  351. data/lib/ionoscloud/models/nics.rb +40 -40
  352. data/lib/ionoscloud/models/no_state_meta_data.rb +39 -39
  353. data/lib/ionoscloud/models/pagination_links.rb +18 -18
  354. data/lib/ionoscloud/models/peer.rb +29 -29
  355. data/lib/ionoscloud/models/private_cross_connect.rb +33 -33
  356. data/lib/ionoscloud/models/private_cross_connect_properties.rb +22 -22
  357. data/lib/ionoscloud/models/private_cross_connects.rb +28 -28
  358. data/lib/ionoscloud/models/request.rb +33 -33
  359. data/lib/ionoscloud/models/request_metadata.rb +14 -14
  360. data/lib/ionoscloud/models/request_properties.rb +13 -13
  361. data/lib/ionoscloud/models/request_status.rb +27 -27
  362. data/lib/ionoscloud/models/request_status_metadata.rb +18 -18
  363. data/lib/ionoscloud/models/request_target.rb +15 -15
  364. data/lib/ionoscloud/models/requests.rb +49 -49
  365. data/lib/ionoscloud/models/resource.rb +27 -27
  366. data/lib/ionoscloud/models/resource_groups.rb +28 -28
  367. data/lib/ionoscloud/models/resource_limits.rb +205 -205
  368. data/lib/ionoscloud/models/resource_reference.rb +20 -20
  369. data/lib/ionoscloud/models/resources.rb +28 -28
  370. data/lib/ionoscloud/models/resources_users.rb +28 -28
  371. data/lib/ionoscloud/models/s3_bucket.rb +1 -1
  372. data/lib/ionoscloud/models/s3_key.rb +33 -33
  373. data/lib/ionoscloud/models/s3_key_metadata.rb +15 -15
  374. data/lib/ionoscloud/models/s3_key_properties.rb +15 -15
  375. data/lib/ionoscloud/models/s3_keys.rb +28 -28
  376. data/lib/ionoscloud/models/server.rb +27 -27
  377. data/lib/ionoscloud/models/server_entities.rb +13 -13
  378. data/lib/ionoscloud/models/server_properties.rb +77 -87
  379. data/lib/ionoscloud/models/servers.rb +40 -40
  380. data/lib/ionoscloud/models/snapshot.rb +33 -33
  381. data/lib/ionoscloud/models/snapshot_properties.rb +109 -109
  382. data/lib/ionoscloud/models/snapshots.rb +28 -28
  383. data/lib/ionoscloud/models/target_group.rb +33 -33
  384. data/lib/ionoscloud/models/target_group_health_check.rb +15 -15
  385. data/lib/ionoscloud/models/target_group_http_health_check.rb +49 -49
  386. data/lib/ionoscloud/models/target_group_properties.rb +52 -52
  387. data/lib/ionoscloud/models/target_group_put.rb +29 -29
  388. data/lib/ionoscloud/models/target_group_target.rb +38 -38
  389. data/lib/ionoscloud/models/target_groups.rb +40 -40
  390. data/lib/ionoscloud/models/target_port_range.rb +15 -15
  391. data/lib/ionoscloud/models/template.rb +33 -33
  392. data/lib/ionoscloud/models/template_properties.rb +20 -20
  393. data/lib/ionoscloud/models/templates.rb +28 -28
  394. data/lib/ionoscloud/models/user.rb +27 -27
  395. data/lib/ionoscloud/models/user_metadata.rb +14 -14
  396. data/lib/ionoscloud/models/user_properties.rb +36 -36
  397. data/lib/ionoscloud/models/user_properties_post.rb +36 -36
  398. data/lib/ionoscloud/models/user_properties_put.rb +48 -48
  399. data/lib/ionoscloud/models/users.rb +40 -40
  400. data/lib/ionoscloud/models/users_entities.rb +13 -13
  401. data/lib/ionoscloud/models/volume.rb +33 -33
  402. data/lib/ionoscloud/models/volume_properties.rb +185 -184
  403. data/lib/ionoscloud/models/volumes.rb +40 -40
  404. data/lib/ionoscloud/version.rb +1 -1
  405. metadata +2 -2
@@ -16,16 +16,12 @@ require 'time'
16
16
  module Ionoscloud
17
17
  class KubernetesNode
18
18
 
19
- # The resource's unique identifier.
20
- attr_accessor :id
21
-
22
-
23
- # The type of object.
24
- attr_accessor :type
19
+ # The URL to the object representation (absolute path).
20
+ attr_accessor :href
25
21
 
26
22
 
27
- # URL to the object representation (absolute path).
28
- attr_accessor :href
23
+ # The resource's unique identifier.
24
+ attr_accessor :id
29
25
 
30
26
 
31
27
  attr_accessor :metadata
@@ -33,6 +29,10 @@ module Ionoscloud
33
29
 
34
30
  attr_accessor :properties
35
31
 
32
+
33
+ # The object type.
34
+ attr_accessor :type
35
+
36
36
  class EnumAttributeValidator
37
37
  attr_reader :datatype
38
38
  attr_reader :allowable_values
@@ -59,15 +59,15 @@ module Ionoscloud
59
59
  def self.attribute_map
60
60
  {
61
61
 
62
- :'id' => :'id',
63
-
64
- :'type' => :'type',
65
-
66
62
  :'href' => :'href',
67
63
 
64
+ :'id' => :'id',
65
+
68
66
  :'metadata' => :'metadata',
69
67
 
70
- :'properties' => :'properties'
68
+ :'properties' => :'properties',
69
+
70
+ :'type' => :'type'
71
71
  }
72
72
  end
73
73
 
@@ -80,15 +80,15 @@ module Ionoscloud
80
80
  def self.openapi_types
81
81
  {
82
82
 
83
- :'id' => :'String',
84
-
85
- :'type' => :'String',
86
-
87
83
  :'href' => :'String',
88
84
 
85
+ :'id' => :'String',
86
+
89
87
  :'metadata' => :'KubernetesNodeMetadata',
90
88
 
91
- :'properties' => :'KubernetesNodeProperties'
89
+ :'properties' => :'KubernetesNodeProperties',
90
+
91
+ :'type' => :'String'
92
92
  }
93
93
  end
94
94
 
@@ -119,18 +119,13 @@ module Ionoscloud
119
119
  }
120
120
 
121
121
 
122
- if attributes.key?(:'id')
123
- self.id = attributes[:'id']
124
- end
125
-
126
-
127
- if attributes.key?(:'type')
128
- self.type = attributes[:'type']
122
+ if attributes.key?(:'href')
123
+ self.href = attributes[:'href']
129
124
  end
130
125
 
131
126
 
132
- if attributes.key?(:'href')
133
- self.href = attributes[:'href']
127
+ if attributes.key?(:'id')
128
+ self.id = attributes[:'id']
134
129
  end
135
130
 
136
131
 
@@ -142,6 +137,11 @@ module Ionoscloud
142
137
  if attributes.key?(:'properties')
143
138
  self.properties = attributes[:'properties']
144
139
  end
140
+
141
+
142
+ if attributes.key?(:'type')
143
+ self.type = attributes[:'type']
144
+ end
145
145
  end
146
146
 
147
147
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -152,11 +152,11 @@ module Ionoscloud
152
152
 
153
153
 
154
154
 
155
-
156
155
  if @properties.nil?
157
156
  invalid_properties.push('invalid value for "properties", properties cannot be nil.')
158
157
  end
159
158
 
159
+
160
160
  invalid_properties
161
161
  end
162
162
 
@@ -165,17 +165,20 @@ module Ionoscloud
165
165
  def valid?
166
166
 
167
167
 
168
- type_validator = EnumAttributeValidator.new('String', ["node"])
169
- return false unless type_validator.valid?(@type)
170
-
171
168
 
172
169
 
173
170
  return false if @properties.nil?
171
+
172
+ type_validator = EnumAttributeValidator.new('String', ["node"])
173
+ return false unless type_validator.valid?(@type)
174
174
  true
175
175
  end
176
176
 
177
177
 
178
178
 
179
+
180
+
181
+
179
182
  # Custom attribute writer method checking allowed values (enum).
180
183
  # @param [Object] type Object to be assigned
181
184
  def type=(type)
@@ -186,19 +189,16 @@ module Ionoscloud
186
189
  @type = type
187
190
  end
188
191
 
189
-
190
-
191
-
192
192
  # Checks equality by comparing each attribute.
193
193
  # @param [Object] Object to be compared
194
194
  def ==(o)
195
195
  return true if self.equal?(o)
196
196
  self.class == o.class &&
197
- id == o.id &&
198
- type == o.type &&
199
197
  href == o.href &&
198
+ id == o.id &&
200
199
  metadata == o.metadata &&
201
- properties == o.properties
200
+ properties == o.properties &&
201
+ type == o.type
202
202
  end
203
203
 
204
204
  # @see the `==` method
@@ -210,7 +210,7 @@ module Ionoscloud
210
210
  # Calculates hash code according to all attributes.
211
211
  # @return [Integer] Hash code
212
212
  def hash
213
- [id, type, href, metadata, properties].hash
213
+ [href, id, metadata, properties, type].hash
214
214
  end
215
215
 
216
216
  # Builds the object from hash
@@ -16,24 +16,24 @@ require 'time'
16
16
  module Ionoscloud
17
17
  class KubernetesNodeMetadata
18
18
 
19
- # Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11 Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.
20
- attr_accessor :etag
19
+ # The date the resource was created.
20
+ attr_accessor :created_date
21
21
 
22
22
 
23
- # The last time the resource was created.
24
- attr_accessor :created_date
23
+ # The resource entity tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11 Entity tags are also added as 'ETag' response headers to requests that do not use the 'depth' parameter.
24
+ attr_accessor :etag
25
25
 
26
26
 
27
- # The last time the resource was modified.
27
+ # The date the resource was last modified.
28
28
  attr_accessor :last_modified_date
29
29
 
30
30
 
31
- # State of the resource.
32
- attr_accessor :state
31
+ # The date when the software on the node was last updated.
32
+ attr_accessor :last_software_updated_date
33
33
 
34
34
 
35
- # The last time the software was updated on the node.
36
- attr_accessor :last_software_updated_date
35
+ # The resource state.
36
+ attr_accessor :state
37
37
 
38
38
  class EnumAttributeValidator
39
39
  attr_reader :datatype
@@ -61,15 +61,15 @@ module Ionoscloud
61
61
  def self.attribute_map
62
62
  {
63
63
 
64
- :'etag' => :'etag',
65
-
66
64
  :'created_date' => :'createdDate',
67
65
 
66
+ :'etag' => :'etag',
67
+
68
68
  :'last_modified_date' => :'lastModifiedDate',
69
69
 
70
- :'state' => :'state',
70
+ :'last_software_updated_date' => :'lastSoftwareUpdatedDate',
71
71
 
72
- :'last_software_updated_date' => :'lastSoftwareUpdatedDate'
72
+ :'state' => :'state'
73
73
  }
74
74
  end
75
75
 
@@ -82,15 +82,15 @@ module Ionoscloud
82
82
  def self.openapi_types
83
83
  {
84
84
 
85
- :'etag' => :'String',
86
-
87
85
  :'created_date' => :'Time',
88
86
 
87
+ :'etag' => :'String',
88
+
89
89
  :'last_modified_date' => :'Time',
90
90
 
91
- :'state' => :'String',
91
+ :'last_software_updated_date' => :'Time',
92
92
 
93
- :'last_software_updated_date' => :'Time'
93
+ :'state' => :'String'
94
94
  }
95
95
  end
96
96
 
@@ -121,13 +121,13 @@ module Ionoscloud
121
121
  }
122
122
 
123
123
 
124
- if attributes.key?(:'etag')
125
- self.etag = attributes[:'etag']
124
+ if attributes.key?(:'created_date')
125
+ self.created_date = attributes[:'created_date']
126
126
  end
127
127
 
128
128
 
129
- if attributes.key?(:'created_date')
130
- self.created_date = attributes[:'created_date']
129
+ if attributes.key?(:'etag')
130
+ self.etag = attributes[:'etag']
131
131
  end
132
132
 
133
133
 
@@ -136,13 +136,13 @@ module Ionoscloud
136
136
  end
137
137
 
138
138
 
139
- if attributes.key?(:'state')
140
- self.state = attributes[:'state']
139
+ if attributes.key?(:'last_software_updated_date')
140
+ self.last_software_updated_date = attributes[:'last_software_updated_date']
141
141
  end
142
142
 
143
143
 
144
- if attributes.key?(:'last_software_updated_date')
145
- self.last_software_updated_date = attributes[:'last_software_updated_date']
144
+ if attributes.key?(:'state')
145
+ self.state = attributes[:'state']
146
146
  end
147
147
  end
148
148
 
@@ -165,9 +165,9 @@ module Ionoscloud
165
165
 
166
166
 
167
167
 
168
+
168
169
  state_validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
169
170
  return false unless state_validator.valid?(@state)
170
-
171
171
  true
172
172
  end
173
173
 
@@ -175,6 +175,7 @@ module Ionoscloud
175
175
 
176
176
 
177
177
 
178
+
178
179
  # Custom attribute writer method checking allowed values (enum).
179
180
  # @param [Object] state Object to be assigned
180
181
  def state=(state)
@@ -185,17 +186,16 @@ module Ionoscloud
185
186
  @state = state
186
187
  end
187
188
 
188
-
189
189
  # Checks equality by comparing each attribute.
190
190
  # @param [Object] Object to be compared
191
191
  def ==(o)
192
192
  return true if self.equal?(o)
193
193
  self.class == o.class &&
194
- etag == o.etag &&
195
194
  created_date == o.created_date &&
195
+ etag == o.etag &&
196
196
  last_modified_date == o.last_modified_date &&
197
- state == o.state &&
198
- last_software_updated_date == o.last_software_updated_date
197
+ last_software_updated_date == o.last_software_updated_date &&
198
+ state == o.state
199
199
  end
200
200
 
201
201
  # @see the `==` method
@@ -207,7 +207,7 @@ module Ionoscloud
207
207
  # Calculates hash code according to all attributes.
208
208
  # @return [Integer] Hash code
209
209
  def hash
210
- [etag, created_date, last_modified_date, state, last_software_updated_date].hash
210
+ [created_date, etag, last_modified_date, last_software_updated_date, state].hash
211
211
  end
212
212
 
213
213
  # Builds the object from hash
@@ -16,16 +16,12 @@ require 'time'
16
16
  module Ionoscloud
17
17
  class KubernetesNodePool
18
18
 
19
- # The resource's unique identifier.
20
- attr_accessor :id
21
-
22
-
23
- # The type of object.
24
- attr_accessor :type
19
+ # The URL to the object representation (absolute path).
20
+ attr_accessor :href
25
21
 
26
22
 
27
- # URL to the object representation (absolute path).
28
- attr_accessor :href
23
+ # The resource's unique identifier.
24
+ attr_accessor :id
29
25
 
30
26
 
31
27
  attr_accessor :metadata
@@ -33,6 +29,10 @@ module Ionoscloud
33
29
 
34
30
  attr_accessor :properties
35
31
 
32
+
33
+ # The object type.
34
+ attr_accessor :type
35
+
36
36
  class EnumAttributeValidator
37
37
  attr_reader :datatype
38
38
  attr_reader :allowable_values
@@ -59,15 +59,15 @@ module Ionoscloud
59
59
  def self.attribute_map
60
60
  {
61
61
 
62
- :'id' => :'id',
63
-
64
- :'type' => :'type',
65
-
66
62
  :'href' => :'href',
67
63
 
64
+ :'id' => :'id',
65
+
68
66
  :'metadata' => :'metadata',
69
67
 
70
- :'properties' => :'properties'
68
+ :'properties' => :'properties',
69
+
70
+ :'type' => :'type'
71
71
  }
72
72
  end
73
73
 
@@ -80,15 +80,15 @@ module Ionoscloud
80
80
  def self.openapi_types
81
81
  {
82
82
 
83
- :'id' => :'String',
84
-
85
- :'type' => :'String',
86
-
87
83
  :'href' => :'String',
88
84
 
85
+ :'id' => :'String',
86
+
89
87
  :'metadata' => :'DatacenterElementMetadata',
90
88
 
91
- :'properties' => :'KubernetesNodePoolProperties'
89
+ :'properties' => :'KubernetesNodePoolProperties',
90
+
91
+ :'type' => :'String'
92
92
  }
93
93
  end
94
94
 
@@ -119,18 +119,13 @@ module Ionoscloud
119
119
  }
120
120
 
121
121
 
122
- if attributes.key?(:'id')
123
- self.id = attributes[:'id']
124
- end
125
-
126
-
127
- if attributes.key?(:'type')
128
- self.type = attributes[:'type']
122
+ if attributes.key?(:'href')
123
+ self.href = attributes[:'href']
129
124
  end
130
125
 
131
126
 
132
- if attributes.key?(:'href')
133
- self.href = attributes[:'href']
127
+ if attributes.key?(:'id')
128
+ self.id = attributes[:'id']
134
129
  end
135
130
 
136
131
 
@@ -142,6 +137,11 @@ module Ionoscloud
142
137
  if attributes.key?(:'properties')
143
138
  self.properties = attributes[:'properties']
144
139
  end
140
+
141
+
142
+ if attributes.key?(:'type')
143
+ self.type = attributes[:'type']
144
+ end
145
145
  end
146
146
 
147
147
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -152,11 +152,11 @@ module Ionoscloud
152
152
 
153
153
 
154
154
 
155
-
156
155
  if @properties.nil?
157
156
  invalid_properties.push('invalid value for "properties", properties cannot be nil.')
158
157
  end
159
158
 
159
+
160
160
  invalid_properties
161
161
  end
162
162
 
@@ -165,17 +165,20 @@ module Ionoscloud
165
165
  def valid?
166
166
 
167
167
 
168
- type_validator = EnumAttributeValidator.new('String', ["nodepool"])
169
- return false unless type_validator.valid?(@type)
170
-
171
168
 
172
169
 
173
170
  return false if @properties.nil?
171
+
172
+ type_validator = EnumAttributeValidator.new('String', ["nodepool"])
173
+ return false unless type_validator.valid?(@type)
174
174
  true
175
175
  end
176
176
 
177
177
 
178
178
 
179
+
180
+
181
+
179
182
  # Custom attribute writer method checking allowed values (enum).
180
183
  # @param [Object] type Object to be assigned
181
184
  def type=(type)
@@ -186,19 +189,16 @@ module Ionoscloud
186
189
  @type = type
187
190
  end
188
191
 
189
-
190
-
191
-
192
192
  # Checks equality by comparing each attribute.
193
193
  # @param [Object] Object to be compared
194
194
  def ==(o)
195
195
  return true if self.equal?(o)
196
196
  self.class == o.class &&
197
- id == o.id &&
198
- type == o.type &&
199
197
  href == o.href &&
198
+ id == o.id &&
200
199
  metadata == o.metadata &&
201
- properties == o.properties
200
+ properties == o.properties &&
201
+ type == o.type
202
202
  end
203
203
 
204
204
  # @see the `==` method
@@ -210,7 +210,7 @@ module Ionoscloud
210
210
  # Calculates hash code according to all attributes.
211
211
  # @return [Integer] Hash code
212
212
  def hash
213
- [id, type, href, metadata, properties].hash
213
+ [href, id, metadata, properties, type].hash
214
214
  end
215
215
 
216
216
  # Builds the object from hash
@@ -16,16 +16,12 @@ require 'time'
16
16
  module Ionoscloud
17
17
  class KubernetesNodePoolForPost
18
18
 
19
- # The resource's unique identifier.
20
- attr_accessor :id
21
-
22
-
23
- # The type of object.
24
- attr_accessor :type
19
+ # The URL to the object representation (absolute path).
20
+ attr_accessor :href
25
21
 
26
22
 
27
- # URL to the object representation (absolute path).
28
- attr_accessor :href
23
+ # The resource's unique identifier.
24
+ attr_accessor :id
29
25
 
30
26
 
31
27
  attr_accessor :metadata
@@ -33,6 +29,10 @@ module Ionoscloud
33
29
 
34
30
  attr_accessor :properties
35
31
 
32
+
33
+ # The object type.
34
+ attr_accessor :type
35
+
36
36
  class EnumAttributeValidator
37
37
  attr_reader :datatype
38
38
  attr_reader :allowable_values
@@ -59,15 +59,15 @@ module Ionoscloud
59
59
  def self.attribute_map
60
60
  {
61
61
 
62
- :'id' => :'id',
63
-
64
- :'type' => :'type',
65
-
66
62
  :'href' => :'href',
67
63
 
64
+ :'id' => :'id',
65
+
68
66
  :'metadata' => :'metadata',
69
67
 
70
- :'properties' => :'properties'
68
+ :'properties' => :'properties',
69
+
70
+ :'type' => :'type'
71
71
  }
72
72
  end
73
73
 
@@ -80,15 +80,15 @@ module Ionoscloud
80
80
  def self.openapi_types
81
81
  {
82
82
 
83
- :'id' => :'String',
84
-
85
- :'type' => :'String',
86
-
87
83
  :'href' => :'String',
88
84
 
85
+ :'id' => :'String',
86
+
89
87
  :'metadata' => :'DatacenterElementMetadata',
90
88
 
91
- :'properties' => :'KubernetesNodePoolPropertiesForPost'
89
+ :'properties' => :'KubernetesNodePoolPropertiesForPost',
90
+
91
+ :'type' => :'String'
92
92
  }
93
93
  end
94
94
 
@@ -119,18 +119,13 @@ module Ionoscloud
119
119
  }
120
120
 
121
121
 
122
- if attributes.key?(:'id')
123
- self.id = attributes[:'id']
124
- end
125
-
126
-
127
- if attributes.key?(:'type')
128
- self.type = attributes[:'type']
122
+ if attributes.key?(:'href')
123
+ self.href = attributes[:'href']
129
124
  end
130
125
 
131
126
 
132
- if attributes.key?(:'href')
133
- self.href = attributes[:'href']
127
+ if attributes.key?(:'id')
128
+ self.id = attributes[:'id']
134
129
  end
135
130
 
136
131
 
@@ -142,6 +137,11 @@ module Ionoscloud
142
137
  if attributes.key?(:'properties')
143
138
  self.properties = attributes[:'properties']
144
139
  end
140
+
141
+
142
+ if attributes.key?(:'type')
143
+ self.type = attributes[:'type']
144
+ end
145
145
  end
146
146
 
147
147
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -152,11 +152,11 @@ module Ionoscloud
152
152
 
153
153
 
154
154
 
155
-
156
155
  if @properties.nil?
157
156
  invalid_properties.push('invalid value for "properties", properties cannot be nil.')
158
157
  end
159
158
 
159
+
160
160
  invalid_properties
161
161
  end
162
162
 
@@ -165,17 +165,20 @@ module Ionoscloud
165
165
  def valid?
166
166
 
167
167
 
168
- type_validator = EnumAttributeValidator.new('String', ["nodepool"])
169
- return false unless type_validator.valid?(@type)
170
-
171
168
 
172
169
 
173
170
  return false if @properties.nil?
171
+
172
+ type_validator = EnumAttributeValidator.new('String', ["nodepool"])
173
+ return false unless type_validator.valid?(@type)
174
174
  true
175
175
  end
176
176
 
177
177
 
178
178
 
179
+
180
+
181
+
179
182
  # Custom attribute writer method checking allowed values (enum).
180
183
  # @param [Object] type Object to be assigned
181
184
  def type=(type)
@@ -186,19 +189,16 @@ module Ionoscloud
186
189
  @type = type
187
190
  end
188
191
 
189
-
190
-
191
-
192
192
  # Checks equality by comparing each attribute.
193
193
  # @param [Object] Object to be compared
194
194
  def ==(o)
195
195
  return true if self.equal?(o)
196
196
  self.class == o.class &&
197
- id == o.id &&
198
- type == o.type &&
199
197
  href == o.href &&
198
+ id == o.id &&
200
199
  metadata == o.metadata &&
201
- properties == o.properties
200
+ properties == o.properties &&
201
+ type == o.type
202
202
  end
203
203
 
204
204
  # @see the `==` method
@@ -210,7 +210,7 @@ module Ionoscloud
210
210
  # Calculates hash code according to all attributes.
211
211
  # @return [Integer] Hash code
212
212
  def hash
213
- [id, type, href, metadata, properties].hash
213
+ [href, id, metadata, properties, type].hash
214
214
  end
215
215
 
216
216
  # Builds the object from hash