ionoscloud 6.0.0.beta.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/docs/README.md +64 -0
  4. data/docs/api/BackupUnitsApi.md +61 -61
  5. data/docs/api/ContractResourcesApi.md +6 -6
  6. data/docs/api/DataCentersApi.md +13 -13
  7. data/docs/api/DefaultApi.md +1 -1
  8. data/docs/api/FirewallRulesApi.md +73 -73
  9. data/docs/api/FlowLogsApi.md +69 -69
  10. data/docs/api/IPBlocksApi.md +51 -51
  11. data/docs/api/ImagesApi.md +41 -41
  12. data/docs/api/KubernetesApi.md +153 -153
  13. data/docs/api/{LansApi.md → LANsApi.md} +105 -105
  14. data/docs/api/LabelsApi.md +259 -259
  15. data/docs/api/LoadBalancersApi.md +82 -82
  16. data/docs/api/LocationsApi.md +11 -11
  17. data/docs/api/NATGatewaysApi.md +163 -163
  18. data/docs/api/NetworkInterfacesApi.md +61 -61
  19. data/docs/api/NetworkLoadBalancersApi.md +167 -167
  20. data/docs/api/PrivateCrossConnectsApi.md +39 -39
  21. data/docs/api/RequestsApi.md +44 -44
  22. data/docs/api/ServersApi.md +179 -179
  23. data/docs/api/SnapshotsApi.md +40 -40
  24. data/docs/api/TemplatesApi.md +14 -14
  25. data/docs/api/UserManagementApi.md +207 -205
  26. data/docs/api/UserS3KeysApi.md +55 -55
  27. data/docs/api/VolumesApi.md +74 -74
  28. data/docs/models/AttachedVolumes.md +6 -6
  29. data/docs/models/BackupUnit.md +3 -3
  30. data/docs/models/BackupUnitProperties.md +2 -2
  31. data/docs/models/BackupUnits.md +4 -4
  32. data/docs/models/BalancedNics.md +6 -6
  33. data/docs/models/Cdroms.md +6 -6
  34. data/docs/models/Contract.md +1 -1
  35. data/docs/models/ContractProperties.md +4 -4
  36. data/docs/models/Contracts.md +3 -3
  37. data/docs/models/CpuArchitectureProperties.md +1 -1
  38. data/docs/models/Datacenter.md +3 -3
  39. data/docs/models/DatacenterElementMetadata.md +6 -6
  40. data/docs/models/DatacenterProperties.md +6 -6
  41. data/docs/models/Datacenters.md +6 -6
  42. data/docs/models/Error.md +1 -1
  43. data/docs/models/ErrorMessage.md +3 -3
  44. data/docs/models/FirewallRule.md +3 -3
  45. data/docs/models/FirewallRules.md +6 -6
  46. data/docs/models/FirewallruleProperties.md +10 -10
  47. data/docs/models/FlowLog.md +3 -3
  48. data/docs/models/FlowLogProperties.md +1 -1
  49. data/docs/models/FlowLogPut.md +3 -3
  50. data/docs/models/FlowLogs.md +6 -6
  51. data/docs/models/Group.md +3 -3
  52. data/docs/models/GroupMembers.md +4 -4
  53. data/docs/models/GroupProperties.md +11 -11
  54. data/docs/models/GroupShare.md +2 -2
  55. data/docs/models/GroupShares.md +3 -3
  56. data/docs/models/GroupUsers.md +4 -4
  57. data/docs/models/Groups.md +4 -4
  58. data/docs/models/Image.md +3 -3
  59. data/docs/models/ImageProperties.md +17 -17
  60. data/docs/models/Images.md +4 -4
  61. data/docs/models/IpBlock.md +3 -3
  62. data/docs/models/IpBlockProperties.md +5 -5
  63. data/docs/models/IpBlocks.md +5 -5
  64. data/docs/models/KubernetesCluster.md +2 -2
  65. data/docs/models/KubernetesClusterForPost.md +2 -2
  66. data/docs/models/KubernetesClusterForPut.md +2 -2
  67. data/docs/models/KubernetesClusterProperties.md +3 -5
  68. data/docs/models/KubernetesClusterPropertiesForPost.md +3 -5
  69. data/docs/models/KubernetesClusterPropertiesForPut.md +3 -3
  70. data/docs/models/KubernetesClusters.md +4 -4
  71. data/docs/models/KubernetesNode.md +2 -2
  72. data/docs/models/KubernetesNodeMetadata.md +4 -4
  73. data/docs/models/KubernetesNodePool.md +2 -2
  74. data/docs/models/KubernetesNodePoolForPost.md +2 -2
  75. data/docs/models/KubernetesNodePoolForPut.md +2 -2
  76. data/docs/models/KubernetesNodePoolLan.md +1 -1
  77. data/docs/models/KubernetesNodePoolProperties.md +12 -15
  78. data/docs/models/KubernetesNodePoolPropertiesForPost.md +11 -14
  79. data/docs/models/KubernetesNodePoolPropertiesForPut.md +5 -5
  80. data/docs/models/KubernetesNodePools.md +4 -4
  81. data/docs/models/KubernetesNodeProperties.md +2 -2
  82. data/docs/models/KubernetesNodes.md +4 -4
  83. data/docs/models/Label.md +2 -2
  84. data/docs/models/LabelProperties.md +3 -3
  85. data/docs/models/LabelResource.md +2 -2
  86. data/docs/models/LabelResourceProperties.md +2 -2
  87. data/docs/models/LabelResources.md +6 -6
  88. data/docs/models/Labels.md +4 -4
  89. data/docs/models/Lan.md +3 -3
  90. data/docs/models/LanNics.md +6 -6
  91. data/docs/models/LanPost.md +3 -3
  92. data/docs/models/LanProperties.md +3 -3
  93. data/docs/models/LanPropertiesPost.md +3 -3
  94. data/docs/models/Lans.md +6 -6
  95. data/docs/models/Loadbalancer.md +3 -3
  96. data/docs/models/LoadbalancerProperties.md +3 -3
  97. data/docs/models/Loadbalancers.md +6 -6
  98. data/docs/models/Location.md +3 -3
  99. data/docs/models/LocationProperties.md +1 -1
  100. data/docs/models/Locations.md +4 -4
  101. data/docs/models/NatGateway.md +3 -3
  102. data/docs/models/NatGatewayLanProperties.md +2 -2
  103. data/docs/models/NatGatewayProperties.md +3 -3
  104. data/docs/models/NatGatewayPut.md +3 -3
  105. data/docs/models/NatGatewayRule.md +3 -3
  106. data/docs/models/NatGatewayRuleProperties.md +7 -7
  107. data/docs/models/NatGatewayRulePut.md +3 -3
  108. data/docs/models/NatGatewayRules.md +4 -4
  109. data/docs/models/NatGateways.md +6 -6
  110. data/docs/models/NetworkLoadBalancer.md +3 -3
  111. data/docs/models/NetworkLoadBalancerForwardingRule.md +3 -3
  112. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +2 -2
  113. data/docs/models/NetworkLoadBalancerForwardingRulePut.md +3 -3
  114. data/docs/models/NetworkLoadBalancerForwardingRules.md +6 -6
  115. data/docs/models/NetworkLoadBalancerProperties.md +4 -4
  116. data/docs/models/NetworkLoadBalancerPut.md +3 -3
  117. data/docs/models/NetworkLoadBalancers.md +6 -6
  118. data/docs/models/Nic.md +3 -3
  119. data/docs/models/NicProperties.md +8 -8
  120. data/docs/models/NicPut.md +3 -3
  121. data/docs/models/Nics.md +6 -6
  122. data/docs/models/NoStateMetaData.md +5 -5
  123. data/docs/models/PaginationLinks.md +3 -3
  124. data/docs/models/PrivateCrossConnect.md +3 -3
  125. data/docs/models/PrivateCrossConnectProperties.md +4 -4
  126. data/docs/models/PrivateCrossConnects.md +4 -4
  127. data/docs/models/Request.md +3 -3
  128. data/docs/models/RequestMetadata.md +2 -2
  129. data/docs/models/RequestStatus.md +3 -3
  130. data/docs/models/RequestStatusMetadata.md +1 -1
  131. data/docs/models/Requests.md +6 -6
  132. data/docs/models/Resource.md +3 -3
  133. data/docs/models/ResourceGroups.md +4 -4
  134. data/docs/models/ResourceLimits.md +22 -22
  135. data/docs/models/ResourceProperties.md +2 -2
  136. data/docs/models/ResourceReference.md +3 -3
  137. data/docs/models/Resources.md +4 -4
  138. data/docs/models/ResourcesUsers.md +4 -4
  139. data/docs/models/S3Key.md +3 -3
  140. data/docs/models/S3KeyMetadata.md +2 -2
  141. data/docs/models/S3KeyProperties.md +2 -2
  142. data/docs/models/S3Keys.md +4 -4
  143. data/docs/models/Server.md +3 -3
  144. data/docs/models/ServerProperties.md +7 -7
  145. data/docs/models/Servers.md +6 -6
  146. data/docs/models/Snapshot.md +3 -3
  147. data/docs/models/SnapshotProperties.md +14 -14
  148. data/docs/models/Snapshots.md +4 -4
  149. data/docs/models/TargetPortRange.md +2 -2
  150. data/docs/models/Template.md +3 -3
  151. data/docs/models/TemplateProperties.md +4 -4
  152. data/docs/models/Templates.md +4 -4
  153. data/docs/models/Token.md +1 -1
  154. data/docs/models/User.md +3 -3
  155. data/docs/models/UserMetadata.md +3 -3
  156. data/docs/models/UserProperties.md +8 -8
  157. data/docs/models/UserPropertiesPost.md +8 -8
  158. data/docs/models/UserPropertiesPut.md +9 -7
  159. data/docs/models/UserPut.md +1 -1
  160. data/docs/models/Users.md +6 -6
  161. data/docs/models/Volume.md +3 -3
  162. data/docs/models/VolumeProperties.md +17 -17
  163. data/docs/models/Volumes.md +6 -6
  164. data/docs/summary.md +192 -382
  165. data/ionoscloud.gemspec +1 -1
  166. data/lib/ionoscloud/api/_api.rb +1 -1
  167. data/lib/ionoscloud/api/backup_units_api.rb +52 -52
  168. data/lib/ionoscloud/api/contract_resources_api.rb +5 -5
  169. data/lib/ionoscloud/api/data_centers_api.rb +13 -13
  170. data/lib/ionoscloud/api/firewall_rules_api.rb +63 -63
  171. data/lib/ionoscloud/api/flow_logs_api.rb +61 -61
  172. data/lib/ionoscloud/api/images_api.rb +33 -33
  173. data/lib/ionoscloud/api/ip_blocks_api.rb +41 -41
  174. data/lib/ionoscloud/api/kubernetes_api.rb +130 -130
  175. data/lib/ionoscloud/api/labels_api.rb +211 -211
  176. data/lib/ionoscloud/api/lans_api.rb +134 -134
  177. data/lib/ionoscloud/api/load_balancers_api.rb +67 -67
  178. data/lib/ionoscloud/api/locations_api.rb +11 -11
  179. data/lib/ionoscloud/api/nat_gateways_api.rb +135 -135
  180. data/lib/ionoscloud/api/network_interfaces_api.rb +51 -51
  181. data/lib/ionoscloud/api/network_load_balancers_api.rb +137 -137
  182. data/lib/ionoscloud/api/private_cross_connects_api.rb +31 -31
  183. data/lib/ionoscloud/api/requests_api.rb +39 -39
  184. data/lib/ionoscloud/api/servers_api.rb +147 -147
  185. data/lib/ionoscloud/api/snapshots_api.rb +31 -31
  186. data/lib/ionoscloud/api/templates_api.rb +11 -11
  187. data/lib/ionoscloud/api/user_management_api.rb +163 -161
  188. data/lib/ionoscloud/api/user_s3_keys_api.rb +45 -45
  189. data/lib/ionoscloud/api/volumes_api.rb +61 -61
  190. data/lib/ionoscloud/api_client.rb +2 -2
  191. data/lib/ionoscloud/api_error.rb +1 -1
  192. data/lib/ionoscloud/configuration.rb +1 -1
  193. data/lib/ionoscloud/models/attached_volumes.rb +72 -18
  194. data/lib/ionoscloud/models/backup_unit.rb +49 -9
  195. data/lib/ionoscloud/models/backup_unit_properties.rb +30 -6
  196. data/lib/ionoscloud/models/backup_unit_sso.rb +10 -2
  197. data/lib/ionoscloud/models/backup_units.rb +43 -13
  198. data/lib/ionoscloud/models/balanced_nics.rb +72 -18
  199. data/lib/ionoscloud/models/cdroms.rb +72 -18
  200. data/lib/ionoscloud/models/connectable_datacenter.rb +28 -4
  201. data/lib/ionoscloud/models/contract.rb +20 -4
  202. data/lib/ionoscloud/models/contract_properties.rb +50 -10
  203. data/lib/ionoscloud/models/contracts.rb +42 -12
  204. data/lib/ionoscloud/models/cpu_architecture_properties.rb +38 -6
  205. data/lib/ionoscloud/models/data_center_entities.rb +55 -7
  206. data/lib/ionoscloud/models/datacenter.rb +58 -10
  207. data/lib/ionoscloud/models/datacenter_element_metadata.rb +79 -15
  208. data/lib/ionoscloud/models/datacenter_properties.rb +74 -22
  209. data/lib/ionoscloud/models/datacenters.rb +72 -18
  210. data/lib/ionoscloud/models/error.rb +22 -8
  211. data/lib/ionoscloud/models/error_message.rb +21 -5
  212. data/lib/ionoscloud/models/firewall_rule.rb +49 -9
  213. data/lib/ionoscloud/models/firewall_rules.rb +72 -18
  214. data/lib/ionoscloud/models/firewallrule_properties.rb +101 -21
  215. data/lib/ionoscloud/models/flow_log.rb +49 -9
  216. data/lib/ionoscloud/models/flow_log_properties.rb +38 -6
  217. data/lib/ionoscloud/models/flow_log_put.rb +40 -8
  218. data/lib/ionoscloud/models/flow_logs.rb +72 -18
  219. data/lib/ionoscloud/models/group.rb +49 -9
  220. data/lib/ionoscloud/models/group_entities.rb +19 -3
  221. data/lib/ionoscloud/models/group_members.rb +43 -13
  222. data/lib/ionoscloud/models/group_properties.rb +129 -25
  223. data/lib/ionoscloud/models/group_share.rb +39 -7
  224. data/lib/ionoscloud/models/group_share_properties.rb +19 -3
  225. data/lib/ionoscloud/models/group_shares.rb +42 -12
  226. data/lib/ionoscloud/models/group_users.rb +44 -14
  227. data/lib/ionoscloud/models/groups.rb +43 -13
  228. data/lib/ionoscloud/models/image.rb +49 -9
  229. data/lib/ionoscloud/models/image_properties.rb +191 -41
  230. data/lib/ionoscloud/models/images.rb +43 -13
  231. data/lib/ionoscloud/models/info.rb +28 -4
  232. data/lib/ionoscloud/models/ip_block.rb +49 -9
  233. data/lib/ionoscloud/models/ip_block_properties.rb +55 -19
  234. data/lib/ionoscloud/models/ip_blocks.rb +71 -17
  235. data/lib/ionoscloud/models/ip_consumer.rb +82 -10
  236. data/lib/ionoscloud/models/ip_failover.rb +19 -3
  237. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +19 -3
  238. data/lib/ionoscloud/models/kubernetes_cluster.rb +57 -9
  239. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +10 -2
  240. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +57 -9
  241. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +57 -9
  242. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +74 -38
  243. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +52 -28
  244. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +53 -17
  245. data/lib/ionoscloud/models/kubernetes_clusters.rb +43 -13
  246. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +19 -3
  247. data/lib/ionoscloud/models/kubernetes_node.rb +48 -8
  248. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +50 -10
  249. data/lib/ionoscloud/models/kubernetes_node_pool.rb +48 -8
  250. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +48 -8
  251. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +48 -8
  252. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +31 -9
  253. data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +19 -3
  254. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +176 -60
  255. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +164 -54
  256. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +94 -35
  257. data/lib/ionoscloud/models/kubernetes_node_pools.rb +43 -13
  258. data/lib/ionoscloud/models/kubernetes_node_properties.rb +39 -7
  259. data/lib/ionoscloud/models/kubernetes_nodes.rb +43 -13
  260. data/lib/ionoscloud/models/label.rb +48 -8
  261. data/lib/ionoscloud/models/label_properties.rb +49 -9
  262. data/lib/ionoscloud/models/label_resource.rb +48 -8
  263. data/lib/ionoscloud/models/label_resource_properties.rb +21 -5
  264. data/lib/ionoscloud/models/label_resources.rb +72 -18
  265. data/lib/ionoscloud/models/labels.rb +43 -13
  266. data/lib/ionoscloud/models/lan.rb +58 -10
  267. data/lib/ionoscloud/models/lan_entities.rb +10 -2
  268. data/lib/ionoscloud/models/lan_nics.rb +72 -18
  269. data/lib/ionoscloud/models/lan_post.rb +58 -10
  270. data/lib/ionoscloud/models/lan_properties.rb +42 -12
  271. data/lib/ionoscloud/models/lan_properties_post.rb +42 -12
  272. data/lib/ionoscloud/models/lans.rb +72 -18
  273. data/lib/ionoscloud/models/loadbalancer.rb +58 -10
  274. data/lib/ionoscloud/models/loadbalancer_entities.rb +10 -2
  275. data/lib/ionoscloud/models/loadbalancer_properties.rb +31 -7
  276. data/lib/ionoscloud/models/loadbalancers.rb +72 -18
  277. data/lib/ionoscloud/models/location.rb +49 -9
  278. data/lib/ionoscloud/models/location_properties.rb +44 -18
  279. data/lib/ionoscloud/models/locations.rb +43 -13
  280. data/lib/ionoscloud/models/nat_gateway.rb +58 -10
  281. data/lib/ionoscloud/models/nat_gateway_entities.rb +19 -3
  282. data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +23 -9
  283. data/lib/ionoscloud/models/nat_gateway_properties.rb +35 -15
  284. data/lib/ionoscloud/models/nat_gateway_put.rb +40 -8
  285. data/lib/ionoscloud/models/nat_gateway_rule.rb +49 -9
  286. data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +70 -14
  287. data/lib/ionoscloud/models/nat_gateway_rule_protocol.rb +1 -1
  288. data/lib/ionoscloud/models/nat_gateway_rule_put.rb +40 -8
  289. data/lib/ionoscloud/models/nat_gateway_rule_type.rb +1 -1
  290. data/lib/ionoscloud/models/nat_gateway_rules.rb +43 -13
  291. data/lib/ionoscloud/models/nat_gateways.rb +72 -18
  292. data/lib/ionoscloud/models/network_load_balancer.rb +58 -10
  293. data/lib/ionoscloud/models/network_load_balancer_entities.rb +19 -3
  294. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +49 -9
  295. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +37 -5
  296. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +68 -14
  297. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +40 -8
  298. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +37 -5
  299. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +28 -4
  300. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +72 -18
  301. data/lib/ionoscloud/models/network_load_balancer_properties.rb +54 -18
  302. data/lib/ionoscloud/models/network_load_balancer_put.rb +40 -8
  303. data/lib/ionoscloud/models/network_load_balancers.rb +72 -18
  304. data/lib/ionoscloud/models/nic.rb +58 -10
  305. data/lib/ionoscloud/models/nic_entities.rb +19 -3
  306. data/lib/ionoscloud/models/nic_properties.rb +92 -22
  307. data/lib/ionoscloud/models/nic_put.rb +40 -8
  308. data/lib/ionoscloud/models/nics.rb +72 -18
  309. data/lib/ionoscloud/models/no_state_meta_data.rb +69 -13
  310. data/lib/ionoscloud/models/pagination_links.rb +31 -7
  311. data/lib/ionoscloud/models/peer.rb +46 -6
  312. data/lib/ionoscloud/models/private_cross_connect.rb +49 -9
  313. data/lib/ionoscloud/models/private_cross_connect_properties.rb +45 -17
  314. data/lib/ionoscloud/models/private_cross_connects.rb +43 -13
  315. data/lib/ionoscloud/models/remote_console_url.rb +10 -2
  316. data/lib/ionoscloud/models/request.rb +49 -9
  317. data/lib/ionoscloud/models/request_metadata.rb +39 -7
  318. data/lib/ionoscloud/models/request_properties.rb +39 -9
  319. data/lib/ionoscloud/models/request_status.rb +40 -8
  320. data/lib/ionoscloud/models/request_status_metadata.rb +40 -10
  321. data/lib/ionoscloud/models/request_target.rb +19 -3
  322. data/lib/ionoscloud/models/requests.rb +72 -18
  323. data/lib/ionoscloud/models/resource.rb +58 -10
  324. data/lib/ionoscloud/models/resource_entities.rb +10 -2
  325. data/lib/ionoscloud/models/resource_groups.rb +43 -13
  326. data/lib/ionoscloud/models/resource_limits.rb +221 -45
  327. data/lib/ionoscloud/models/resource_properties.rb +21 -5
  328. data/lib/ionoscloud/models/resource_reference.rb +31 -7
  329. data/lib/ionoscloud/models/resources.rb +44 -14
  330. data/lib/ionoscloud/models/resources_users.rb +43 -13
  331. data/lib/ionoscloud/models/s3_bucket.rb +10 -2
  332. data/lib/ionoscloud/models/s3_key.rb +49 -9
  333. data/lib/ionoscloud/models/s3_key_metadata.rb +21 -5
  334. data/lib/ionoscloud/models/s3_key_properties.rb +21 -5
  335. data/lib/ionoscloud/models/s3_keys.rb +43 -13
  336. data/lib/ionoscloud/models/s3_object_storage_sso.rb +10 -2
  337. data/lib/ionoscloud/models/server.rb +58 -10
  338. data/lib/ionoscloud/models/server_entities.rb +28 -4
  339. data/lib/ionoscloud/models/server_properties.rb +98 -18
  340. data/lib/ionoscloud/models/servers.rb +72 -18
  341. data/lib/ionoscloud/models/snapshot.rb +49 -9
  342. data/lib/ionoscloud/models/snapshot_properties.rb +159 -31
  343. data/lib/ionoscloud/models/snapshots.rb +43 -13
  344. data/lib/ionoscloud/models/target_port_range.rb +21 -5
  345. data/lib/ionoscloud/models/template.rb +49 -9
  346. data/lib/ionoscloud/models/template_properties.rb +41 -9
  347. data/lib/ionoscloud/models/templates.rb +43 -13
  348. data/lib/ionoscloud/models/token.rb +11 -3
  349. data/lib/ionoscloud/models/type.rb +1 -1
  350. data/lib/ionoscloud/models/user.rb +58 -10
  351. data/lib/ionoscloud/models/user_metadata.rb +31 -7
  352. data/lib/ionoscloud/models/user_post.rb +10 -2
  353. data/lib/ionoscloud/models/user_properties.rb +81 -17
  354. data/lib/ionoscloud/models/user_properties_post.rb +81 -17
  355. data/lib/ionoscloud/models/user_properties_put.rb +90 -16
  356. data/lib/ionoscloud/models/user_put.rb +20 -4
  357. data/lib/ionoscloud/models/users.rb +72 -18
  358. data/lib/ionoscloud/models/users_entities.rb +19 -3
  359. data/lib/ionoscloud/models/volume.rb +49 -9
  360. data/lib/ionoscloud/models/volume_properties.rb +200 -42
  361. data/lib/ionoscloud/models/volumes.rb +72 -18
  362. data/lib/ionoscloud/version.rb +2 -2
  363. data/lib/ionoscloud.rb +2 -2
  364. data/sonar-project.properties +12 -0
  365. data/spec/api_client_spec.rb +1 -1
  366. data/spec/configuration_spec.rb +1 -1
  367. data/spec/spec_helper.rb +1 -1
  368. metadata +6 -391
  369. data/spec/api/_api_spec.rb +0 -49
  370. data/spec/api/backup_units_api_spec.rb +0 -140
  371. data/spec/api/contract_resources_api_spec.rb +0 -49
  372. data/spec/api/data_centers_api_spec.rb +0 -128
  373. data/spec/api/firewall_rules_api_spec.rb +0 -146
  374. data/spec/api/flow_logs_api_spec.rb +0 -140
  375. data/spec/api/images_api_spec.rb +0 -111
  376. data/spec/api/ip_blocks_api_spec.rb +0 -128
  377. data/spec/api/kubernetes_api_spec.rb +0 -294
  378. data/spec/api/labels_api_spec.rb +0 -474
  379. data/spec/api/lans_api_spec.rb +0 -186
  380. data/spec/api/load_balancers_api_spec.rb +0 -201
  381. data/spec/api/locations_api_spec.rb +0 -80
  382. data/spec/api/nat_gateways_api_spec.rb +0 -334
  383. data/spec/api/network_interfaces_api_spec.rb +0 -140
  384. data/spec/api/network_load_balancers_api_spec.rb +0 -340
  385. data/spec/api/private_cross_connects_api_spec.rb +0 -110
  386. data/spec/api/requests_api_spec.rb +0 -92
  387. data/spec/api/servers_api_spec.rb +0 -401
  388. data/spec/api/snapshots_api_spec.rb +0 -111
  389. data/spec/api/templates_api_spec.rb +0 -60
  390. data/spec/api/user_management_api_spec.rb +0 -404
  391. data/spec/api/user_s3_keys_api_spec.rb +0 -128
  392. data/spec/api/volumes_api_spec.rb +0 -171
  393. data/spec/models/attached_volumes_spec.rb +0 -70
  394. data/spec/models/backup_unit_properties_spec.rb +0 -46
  395. data/spec/models/backup_unit_spec.rb +0 -62
  396. data/spec/models/backup_unit_sso_spec.rb +0 -34
  397. data/spec/models/backup_units_spec.rb +0 -56
  398. data/spec/models/balanced_nics_spec.rb +0 -70
  399. data/spec/models/cdroms_spec.rb +0 -70
  400. data/spec/models/connectable_datacenter_spec.rb +0 -46
  401. data/spec/models/contract_properties_spec.rb +0 -58
  402. data/spec/models/contract_spec.rb +0 -40
  403. data/spec/models/contracts_spec.rb +0 -52
  404. data/spec/models/cpu_architecture_properties_spec.rb +0 -52
  405. data/spec/models/data_center_entities_spec.rb +0 -64
  406. data/spec/models/datacenter_element_metadata_spec.rb +0 -80
  407. data/spec/models/datacenter_properties_spec.rb +0 -70
  408. data/spec/models/datacenter_spec.rb +0 -64
  409. data/spec/models/datacenters_spec.rb +0 -70
  410. data/spec/models/error_message_spec.rb +0 -40
  411. data/spec/models/error_spec.rb +0 -40
  412. data/spec/models/firewall_rule_spec.rb +0 -58
  413. data/spec/models/firewall_rules_spec.rb +0 -70
  414. data/spec/models/firewallrule_properties_spec.rb +0 -96
  415. data/spec/models/flow_log_properties_spec.rb +0 -60
  416. data/spec/models/flow_log_put_spec.rb +0 -52
  417. data/spec/models/flow_log_spec.rb +0 -58
  418. data/spec/models/flow_logs_spec.rb +0 -70
  419. data/spec/models/group_entities_spec.rb +0 -40
  420. data/spec/models/group_members_spec.rb +0 -52
  421. data/spec/models/group_properties_spec.rb +0 -106
  422. data/spec/models/group_share_properties_spec.rb +0 -40
  423. data/spec/models/group_share_spec.rb +0 -52
  424. data/spec/models/group_shares_spec.rb +0 -52
  425. data/spec/models/group_spec.rb +0 -58
  426. data/spec/models/group_users_spec.rb +0 -52
  427. data/spec/models/groups_spec.rb +0 -52
  428. data/spec/models/image_properties_spec.rb +0 -154
  429. data/spec/models/image_spec.rb +0 -58
  430. data/spec/models/images_spec.rb +0 -52
  431. data/spec/models/info_spec.rb +0 -46
  432. data/spec/models/ip_block_properties_spec.rb +0 -58
  433. data/spec/models/ip_block_spec.rb +0 -58
  434. data/spec/models/ip_blocks_spec.rb +0 -70
  435. data/spec/models/ip_consumer_spec.rb +0 -82
  436. data/spec/models/ip_failover_spec.rb +0 -40
  437. data/spec/models/kubernetes_auto_scaling_spec.rb +0 -40
  438. data/spec/models/kubernetes_cluster_entities_spec.rb +0 -34
  439. data/spec/models/kubernetes_cluster_for_post_spec.rb +0 -68
  440. data/spec/models/kubernetes_cluster_for_put_spec.rb +0 -68
  441. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +0 -64
  442. data/spec/models/kubernetes_cluster_properties_for_put_spec.rb +0 -58
  443. data/spec/models/kubernetes_cluster_properties_spec.rb +0 -76
  444. data/spec/models/kubernetes_cluster_spec.rb +0 -68
  445. data/spec/models/kubernetes_clusters_spec.rb +0 -56
  446. data/spec/models/kubernetes_maintenance_window_spec.rb +0 -44
  447. data/spec/models/kubernetes_node_metadata_spec.rb +0 -62
  448. data/spec/models/kubernetes_node_pool_for_post_spec.rb +0 -62
  449. data/spec/models/kubernetes_node_pool_for_put_spec.rb +0 -62
  450. data/spec/models/kubernetes_node_pool_lan_routes_spec.rb +0 -40
  451. data/spec/models/kubernetes_node_pool_lan_spec.rb +0 -46
  452. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +0 -138
  453. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +0 -82
  454. data/spec/models/kubernetes_node_pool_properties_spec.rb +0 -144
  455. data/spec/models/kubernetes_node_pool_spec.rb +0 -62
  456. data/spec/models/kubernetes_node_pools_spec.rb +0 -56
  457. data/spec/models/kubernetes_node_properties_spec.rb +0 -52
  458. data/spec/models/kubernetes_node_spec.rb +0 -62
  459. data/spec/models/kubernetes_nodes_spec.rb +0 -56
  460. data/spec/models/label_properties_spec.rb +0 -58
  461. data/spec/models/label_resource_properties_spec.rb +0 -40
  462. data/spec/models/label_resource_spec.rb +0 -62
  463. data/spec/models/label_resources_spec.rb +0 -74
  464. data/spec/models/label_spec.rb +0 -62
  465. data/spec/models/labels_spec.rb +0 -56
  466. data/spec/models/lan_entities_spec.rb +0 -34
  467. data/spec/models/lan_nics_spec.rb +0 -70
  468. data/spec/models/lan_post_spec.rb +0 -64
  469. data/spec/models/lan_properties_post_spec.rb +0 -52
  470. data/spec/models/lan_properties_spec.rb +0 -52
  471. data/spec/models/lan_spec.rb +0 -64
  472. data/spec/models/lans_spec.rb +0 -70
  473. data/spec/models/loadbalancer_entities_spec.rb +0 -34
  474. data/spec/models/loadbalancer_properties_spec.rb +0 -46
  475. data/spec/models/loadbalancer_spec.rb +0 -64
  476. data/spec/models/loadbalancers_spec.rb +0 -70
  477. data/spec/models/location_properties_spec.rb +0 -52
  478. data/spec/models/location_spec.rb +0 -58
  479. data/spec/models/locations_spec.rb +0 -52
  480. data/spec/models/nat_gateway_entities_spec.rb +0 -40
  481. data/spec/models/nat_gateway_lan_properties_spec.rb +0 -40
  482. data/spec/models/nat_gateway_properties_spec.rb +0 -46
  483. data/spec/models/nat_gateway_put_spec.rb +0 -52
  484. data/spec/models/nat_gateway_rule_properties_spec.rb +0 -70
  485. data/spec/models/nat_gateway_rule_protocol_spec.rb +0 -28
  486. data/spec/models/nat_gateway_rule_put_spec.rb +0 -52
  487. data/spec/models/nat_gateway_rule_spec.rb +0 -58
  488. data/spec/models/nat_gateway_rule_type_spec.rb +0 -28
  489. data/spec/models/nat_gateway_rules_spec.rb +0 -52
  490. data/spec/models/nat_gateway_spec.rb +0 -64
  491. data/spec/models/nat_gateways_spec.rb +0 -70
  492. data/spec/models/network_load_balancer_entities_spec.rb +0 -40
  493. data/spec/models/network_load_balancer_forwarding_rule_health_check_spec.rb +0 -52
  494. data/spec/models/network_load_balancer_forwarding_rule_properties_spec.rb +0 -78
  495. data/spec/models/network_load_balancer_forwarding_rule_put_spec.rb +0 -52
  496. data/spec/models/network_load_balancer_forwarding_rule_spec.rb +0 -58
  497. data/spec/models/network_load_balancer_forwarding_rule_target_health_check_spec.rb +0 -46
  498. data/spec/models/network_load_balancer_forwarding_rule_target_spec.rb +0 -52
  499. data/spec/models/network_load_balancer_forwarding_rules_spec.rb +0 -70
  500. data/spec/models/network_load_balancer_properties_spec.rb +0 -58
  501. data/spec/models/network_load_balancer_put_spec.rb +0 -52
  502. data/spec/models/network_load_balancer_spec.rb +0 -64
  503. data/spec/models/network_load_balancers_spec.rb +0 -70
  504. data/spec/models/nic_entities_spec.rb +0 -40
  505. data/spec/models/nic_properties_spec.rb +0 -86
  506. data/spec/models/nic_put_spec.rb +0 -52
  507. data/spec/models/nic_spec.rb +0 -64
  508. data/spec/models/nics_spec.rb +0 -70
  509. data/spec/models/no_state_meta_data_spec.rb +0 -70
  510. data/spec/models/pagination_links_spec.rb +0 -46
  511. data/spec/models/peer_spec.rb +0 -58
  512. data/spec/models/private_cross_connect_properties_spec.rb +0 -52
  513. data/spec/models/private_cross_connect_spec.rb +0 -58
  514. data/spec/models/private_cross_connects_spec.rb +0 -52
  515. data/spec/models/remote_console_url_spec.rb +0 -34
  516. data/spec/models/request_metadata_spec.rb +0 -52
  517. data/spec/models/request_properties_spec.rb +0 -52
  518. data/spec/models/request_spec.rb +0 -58
  519. data/spec/models/request_status_metadata_spec.rb +0 -56
  520. data/spec/models/request_status_spec.rb +0 -52
  521. data/spec/models/request_target_spec.rb +0 -44
  522. data/spec/models/requests_spec.rb +0 -70
  523. data/spec/models/resource_entities_spec.rb +0 -34
  524. data/spec/models/resource_groups_spec.rb +0 -52
  525. data/spec/models/resource_limits_spec.rb +0 -160
  526. data/spec/models/resource_properties_spec.rb +0 -40
  527. data/spec/models/resource_reference_spec.rb +0 -46
  528. data/spec/models/resource_spec.rb +0 -64
  529. data/spec/models/resources_spec.rb +0 -52
  530. data/spec/models/resources_users_spec.rb +0 -52
  531. data/spec/models/s3_bucket_spec.rb +0 -34
  532. data/spec/models/s3_key_metadata_spec.rb +0 -40
  533. data/spec/models/s3_key_properties_spec.rb +0 -40
  534. data/spec/models/s3_key_spec.rb +0 -58
  535. data/spec/models/s3_keys_spec.rb +0 -52
  536. data/spec/models/s3_object_storage_sso_spec.rb +0 -34
  537. data/spec/models/server_entities_spec.rb +0 -46
  538. data/spec/models/server_properties_spec.rb +0 -96
  539. data/spec/models/server_spec.rb +0 -64
  540. data/spec/models/servers_spec.rb +0 -70
  541. data/spec/models/snapshot_properties_spec.rb +0 -128
  542. data/spec/models/snapshot_spec.rb +0 -58
  543. data/spec/models/snapshots_spec.rb +0 -52
  544. data/spec/models/target_port_range_spec.rb +0 -40
  545. data/spec/models/template_properties_spec.rb +0 -52
  546. data/spec/models/template_spec.rb +0 -58
  547. data/spec/models/templates_spec.rb +0 -52
  548. data/spec/models/token_spec.rb +0 -34
  549. data/spec/models/type_spec.rb +0 -28
  550. data/spec/models/user_metadata_spec.rb +0 -46
  551. data/spec/models/user_post_spec.rb +0 -34
  552. data/spec/models/user_properties_post_spec.rb +0 -76
  553. data/spec/models/user_properties_put_spec.rb +0 -70
  554. data/spec/models/user_properties_spec.rb +0 -76
  555. data/spec/models/user_put_spec.rb +0 -40
  556. data/spec/models/user_spec.rb +0 -64
  557. data/spec/models/users_entities_spec.rb +0 -40
  558. data/spec/models/users_spec.rb +0 -70
  559. data/spec/models/volume_properties_spec.rb +0 -164
  560. data/spec/models/volume_spec.rb +0 -58
  561. data/spec/models/volumes_spec.rb +0 -70
@@ -3,7 +3,7 @@
3
3
 
4
4
  #IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
5
5
 
6
- The version of the OpenAPI document: 6.0-SDK.3
6
+ The version of the OpenAPI document: 6.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.2.1-SNAPSHOT
@@ -15,35 +15,49 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class FirewallRules
18
- # The resource's unique identifier
18
+
19
+ # The resource's unique identifier.
19
20
  attr_accessor :id
20
21
 
21
- # The type of object that has been created
22
+
23
+ # The type of object that has been created.
22
24
  attr_accessor :type
23
25
 
24
- # URL to the object representation (absolute path)
26
+
27
+ # URL to the object representation (absolute path).
25
28
  attr_accessor :href
26
29
 
27
- # Array of items in that collection
30
+
31
+ # Array of items in that collection.
28
32
  attr_accessor :items
29
33
 
30
- # the offset (if specified in the request)
34
+
35
+ # The offset (if specified in the request).
31
36
  attr_accessor :offset
32
37
 
33
- # the limit (if specified in the request)
38
+
39
+ # The limit (if specified in the request).
34
40
  attr_accessor :limit
35
41
 
42
+
36
43
  attr_accessor :_links
37
44
 
38
45
  # Attribute mapping from ruby-style variable name to JSON key.
39
46
  def self.attribute_map
40
47
  {
48
+
41
49
  :'id' => :'id',
50
+
42
51
  :'type' => :'type',
52
+
43
53
  :'href' => :'href',
54
+
44
55
  :'items' => :'items',
56
+
45
57
  :'offset' => :'offset',
58
+
46
59
  :'limit' => :'limit',
60
+
47
61
  :'_links' => :'_links'
48
62
  }
49
63
  end
@@ -56,12 +70,19 @@ module Ionoscloud
56
70
  # Attribute type mapping.
57
71
  def self.openapi_types
58
72
  {
73
+
59
74
  :'id' => :'String',
75
+
60
76
  :'type' => :'Type',
77
+
61
78
  :'href' => :'String',
79
+
62
80
  :'items' => :'Array<FirewallRule>',
81
+
63
82
  :'offset' => :'Float',
83
+
64
84
  :'limit' => :'Float',
85
+
65
86
  :'_links' => :'PaginationLinks'
66
87
  }
67
88
  end
@@ -69,6 +90,13 @@ module Ionoscloud
69
90
  # List of attributes with nullable: true
70
91
  def self.openapi_nullable
71
92
  Set.new([
93
+
94
+
95
+
96
+
97
+
98
+
99
+
72
100
  ])
73
101
  end
74
102
 
@@ -86,33 +114,38 @@ module Ionoscloud
86
114
  end
87
115
  h[k.to_sym] = v
88
116
  }
117
+
89
118
 
90
119
  if attributes.key?(:'id')
91
120
  self.id = attributes[:'id']
92
121
  end
93
122
 
123
+
94
124
  if attributes.key?(:'type')
95
125
  self.type = attributes[:'type']
96
126
  end
97
127
 
128
+
98
129
  if attributes.key?(:'href')
99
130
  self.href = attributes[:'href']
100
131
  end
101
132
 
102
- if attributes.key?(:'items')
103
- if (value = attributes[:'items']).is_a?(Array)
104
- self.items = value
105
- end
133
+
134
+ if attributes.key?(:'items') && (value = attributes[:'items']).is_a?(Array)
135
+ self.items = value
106
136
  end
107
137
 
138
+
108
139
  if attributes.key?(:'offset')
109
140
  self.offset = attributes[:'offset']
110
141
  end
111
142
 
143
+
112
144
  if attributes.key?(:'limit')
113
145
  self.limit = attributes[:'limit']
114
146
  end
115
147
 
148
+
116
149
  if attributes.key?(:'_links')
117
150
  self._links = attributes[:'_links']
118
151
  end
@@ -122,27 +155,48 @@ module Ionoscloud
122
155
  # @return Array for valid properties with the reasons
123
156
  def list_invalid_properties
124
157
  invalid_properties = Array.new
158
+
159
+
160
+
161
+
162
+
163
+
164
+
125
165
  invalid_properties
126
166
  end
127
167
 
128
168
  # Check to see if the all the properties in the model are valid
129
169
  # @return true if the model is valid
130
170
  def valid?
171
+
172
+
173
+
174
+
175
+
176
+
177
+
131
178
  true
132
179
  end
133
180
 
181
+
182
+
183
+
184
+
185
+
186
+
187
+
134
188
  # Checks equality by comparing each attribute.
135
189
  # @param [Object] Object to be compared
136
190
  def ==(o)
137
191
  return true if self.equal?(o)
138
192
  self.class == o.class &&
139
- id == o.id &&
140
- type == o.type &&
141
- href == o.href &&
142
- items == o.items &&
143
- offset == o.offset &&
144
- limit == o.limit &&
145
- _links == o._links
193
+ id == o.id &&
194
+ type == o.type &&
195
+ href == o.href &&
196
+ items == o.items &&
197
+ offset == o.offset &&
198
+ limit == o.limit &&
199
+ _links == o._links
146
200
  end
147
201
 
148
202
  # @see the `==` method
@@ -3,7 +3,7 @@
3
3
 
4
4
  #IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
5
5
 
6
- The version of the OpenAPI document: 6.0-SDK.3
6
+ The version of the OpenAPI document: 6.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.2.1-SNAPSHOT
@@ -15,34 +15,44 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class FirewallruleProperties
18
- # A name of that resource
18
+
19
+ # The name of the resource.
19
20
  attr_accessor :name
20
21
 
21
- # The protocol for the rule. Property cannot be modified after creation (disallowed in update requests)
22
+
23
+ # The protocol for the rule. Property cannot be modified after it is created (disallowed in update requests).
22
24
  attr_accessor :protocol
23
25
 
24
- # Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address
26
+
27
+ # Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows traffic from any MAC address.
25
28
  attr_accessor :source_mac
26
29
 
27
- # Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs
30
+
31
+ # Only traffic originating from the respective IPv4 address is allowed. Value null allows traffic from any IP address.
28
32
  attr_accessor :source_ip
29
33
 
30
- # In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs
34
+
35
+ # If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. Value null Value null allows traffic to any target IP address.
31
36
  attr_accessor :target_ip
32
37
 
33
- # Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes
38
+
39
+ # Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
34
40
  attr_accessor :icmp_code
35
41
 
36
- # Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. Value null allows all types
42
+
43
+ # Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. Value null allows all types.
37
44
  attr_accessor :icmp_type
38
45
 
39
- # Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports
46
+
47
+ # Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports.
40
48
  attr_accessor :port_range_start
41
49
 
42
- # Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports
50
+
51
+ # Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
43
52
  attr_accessor :port_range_end
44
53
 
45
- # The type of firewall rule. If is not specified, it will take the default value INGRESS
54
+
55
+ # The type of firewall rule. If not specified, the default INGRESS value is taken.
46
56
  attr_accessor :type
47
57
 
48
58
  class EnumAttributeValidator
@@ -70,15 +80,25 @@ module Ionoscloud
70
80
  # Attribute mapping from ruby-style variable name to JSON key.
71
81
  def self.attribute_map
72
82
  {
83
+
73
84
  :'name' => :'name',
85
+
74
86
  :'protocol' => :'protocol',
87
+
75
88
  :'source_mac' => :'sourceMac',
89
+
76
90
  :'source_ip' => :'sourceIp',
91
+
77
92
  :'target_ip' => :'targetIp',
93
+
78
94
  :'icmp_code' => :'icmpCode',
95
+
79
96
  :'icmp_type' => :'icmpType',
97
+
80
98
  :'port_range_start' => :'portRangeStart',
99
+
81
100
  :'port_range_end' => :'portRangeEnd',
101
+
82
102
  :'type' => :'type'
83
103
  }
84
104
  end
@@ -91,15 +111,25 @@ module Ionoscloud
91
111
  # Attribute type mapping.
92
112
  def self.openapi_types
93
113
  {
114
+
94
115
  :'name' => :'String',
116
+
95
117
  :'protocol' => :'String',
118
+
96
119
  :'source_mac' => :'String',
120
+
97
121
  :'source_ip' => :'String',
122
+
98
123
  :'target_ip' => :'String',
124
+
99
125
  :'icmp_code' => :'Integer',
126
+
100
127
  :'icmp_type' => :'Integer',
128
+
101
129
  :'port_range_start' => :'Integer',
130
+
102
131
  :'port_range_end' => :'Integer',
132
+
103
133
  :'type' => :'String'
104
134
  }
105
135
  end
@@ -107,6 +137,16 @@ module Ionoscloud
107
137
  # List of attributes with nullable: true
108
138
  def self.openapi_nullable
109
139
  Set.new([
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
110
150
  ])
111
151
  end
112
152
 
@@ -124,43 +164,53 @@ module Ionoscloud
124
164
  end
125
165
  h[k.to_sym] = v
126
166
  }
167
+
127
168
 
128
169
  if attributes.key?(:'name')
129
170
  self.name = attributes[:'name']
130
171
  end
131
172
 
173
+
132
174
  if attributes.key?(:'protocol')
133
175
  self.protocol = attributes[:'protocol']
134
176
  end
135
177
 
178
+
136
179
  if attributes.key?(:'source_mac')
137
180
  self.source_mac = attributes[:'source_mac']
138
181
  end
139
182
 
183
+
140
184
  if attributes.key?(:'source_ip')
141
185
  self.source_ip = attributes[:'source_ip']
142
186
  end
143
187
 
188
+
144
189
  if attributes.key?(:'target_ip')
145
190
  self.target_ip = attributes[:'target_ip']
146
191
  end
147
192
 
193
+
148
194
  if attributes.key?(:'icmp_code')
149
195
  self.icmp_code = attributes[:'icmp_code']
150
196
  end
151
197
 
198
+
152
199
  if attributes.key?(:'icmp_type')
153
200
  self.icmp_type = attributes[:'icmp_type']
154
201
  end
155
202
 
203
+
156
204
  if attributes.key?(:'port_range_start')
157
205
  self.port_range_start = attributes[:'port_range_start']
158
206
  end
159
207
 
208
+
160
209
  if attributes.key?(:'port_range_end')
161
210
  self.port_range_end = attributes[:'port_range_end']
162
211
  end
163
212
 
213
+
164
214
  if attributes.key?(:'type')
165
215
  self.type = attributes[:'type']
166
216
  end
@@ -170,25 +220,31 @@ module Ionoscloud
170
220
  # @return Array for valid properties with the reasons
171
221
  def list_invalid_properties
172
222
  invalid_properties = Array.new
223
+
224
+
173
225
  if @protocol.nil?
174
226
  invalid_properties.push('invalid value for "protocol", protocol cannot be nil.')
175
227
  end
176
228
 
229
+
177
230
  pattern = Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
178
231
  if !@source_mac.nil? && @source_mac !~ pattern
179
232
  invalid_properties.push("invalid value for \"source_mac\", must conform to the pattern #{pattern}.")
180
233
  end
181
234
 
235
+
182
236
  pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
183
237
  if !@source_ip.nil? && @source_ip !~ pattern
184
238
  invalid_properties.push("invalid value for \"source_ip\", must conform to the pattern #{pattern}.")
185
239
  end
186
240
 
241
+
187
242
  pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
188
243
  if !@target_ip.nil? && @target_ip !~ pattern
189
244
  invalid_properties.push("invalid value for \"target_ip\", must conform to the pattern #{pattern}.")
190
245
  end
191
246
 
247
+
192
248
  if !@icmp_code.nil? && @icmp_code > 254
193
249
  invalid_properties.push('invalid value for "icmp_code", must be smaller than or equal to 254.')
194
250
  end
@@ -197,6 +253,7 @@ module Ionoscloud
197
253
  invalid_properties.push('invalid value for "icmp_code", must be greater than or equal to 0.')
198
254
  end
199
255
 
256
+
200
257
  if !@icmp_type.nil? && @icmp_type > 254
201
258
  invalid_properties.push('invalid value for "icmp_type", must be smaller than or equal to 254.')
202
259
  end
@@ -205,6 +262,7 @@ module Ionoscloud
205
262
  invalid_properties.push('invalid value for "icmp_type", must be greater than or equal to 0.')
206
263
  end
207
264
 
265
+
208
266
  if !@port_range_start.nil? && @port_range_start > 65534
209
267
  invalid_properties.push('invalid value for "port_range_start", must be smaller than or equal to 65534.')
210
268
  end
@@ -213,6 +271,7 @@ module Ionoscloud
213
271
  invalid_properties.push('invalid value for "port_range_start", must be greater than or equal to 1.')
214
272
  end
215
273
 
274
+
216
275
  if !@port_range_end.nil? && @port_range_end > 65534
217
276
  invalid_properties.push('invalid value for "port_range_end", must be smaller than or equal to 65534.')
218
277
  end
@@ -221,31 +280,44 @@ module Ionoscloud
221
280
  invalid_properties.push('invalid value for "port_range_end", must be greater than or equal to 1.')
222
281
  end
223
282
 
283
+
224
284
  invalid_properties
225
285
  end
226
286
 
227
287
  # Check to see if the all the properties in the model are valid
228
288
  # @return true if the model is valid
229
289
  def valid?
290
+
291
+
230
292
  return false if @protocol.nil?
231
293
  protocol_validator = EnumAttributeValidator.new('String', ["TCP", "UDP", "ICMP", "ANY"])
232
294
  return false unless protocol_validator.valid?(@protocol)
295
+
233
296
  return false if !@source_mac.nil? && @source_mac !~ Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
297
+
234
298
  return false if !@source_ip.nil? && @source_ip !~ Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
299
+
235
300
  return false if !@target_ip.nil? && @target_ip !~ Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
301
+
236
302
  return false if !@icmp_code.nil? && @icmp_code > 254
237
303
  return false if !@icmp_code.nil? && @icmp_code < 0
304
+
238
305
  return false if !@icmp_type.nil? && @icmp_type > 254
239
306
  return false if !@icmp_type.nil? && @icmp_type < 0
307
+
240
308
  return false if !@port_range_start.nil? && @port_range_start > 65534
241
309
  return false if !@port_range_start.nil? && @port_range_start < 1
310
+
242
311
  return false if !@port_range_end.nil? && @port_range_end > 65534
243
312
  return false if !@port_range_end.nil? && @port_range_end < 1
313
+
244
314
  type_validator = EnumAttributeValidator.new('String', ["INGRESS", "EGRESS"])
245
315
  return false unless type_validator.valid?(@type)
246
316
  true
247
317
  end
248
318
 
319
+
320
+
249
321
  # Custom attribute writer method checking allowed values (enum).
250
322
  # @param [Object] protocol Object to be assigned
251
323
  def protocol=(protocol)
@@ -256,6 +328,7 @@ module Ionoscloud
256
328
  @protocol = protocol
257
329
  end
258
330
 
331
+
259
332
  # Custom attribute writer method with validation
260
333
  # @param [Object] source_mac Value to be assigned
261
334
  def source_mac=(source_mac)
@@ -267,6 +340,7 @@ module Ionoscloud
267
340
  @source_mac = source_mac
268
341
  end
269
342
 
343
+
270
344
  # Custom attribute writer method with validation
271
345
  # @param [Object] source_ip Value to be assigned
272
346
  def source_ip=(source_ip)
@@ -278,6 +352,7 @@ module Ionoscloud
278
352
  @source_ip = source_ip
279
353
  end
280
354
 
355
+
281
356
  # Custom attribute writer method with validation
282
357
  # @param [Object] target_ip Value to be assigned
283
358
  def target_ip=(target_ip)
@@ -289,6 +364,7 @@ module Ionoscloud
289
364
  @target_ip = target_ip
290
365
  end
291
366
 
367
+
292
368
  # Custom attribute writer method with validation
293
369
  # @param [Object] icmp_code Value to be assigned
294
370
  def icmp_code=(icmp_code)
@@ -303,6 +379,7 @@ module Ionoscloud
303
379
  @icmp_code = icmp_code
304
380
  end
305
381
 
382
+
306
383
  # Custom attribute writer method with validation
307
384
  # @param [Object] icmp_type Value to be assigned
308
385
  def icmp_type=(icmp_type)
@@ -317,6 +394,7 @@ module Ionoscloud
317
394
  @icmp_type = icmp_type
318
395
  end
319
396
 
397
+
320
398
  # Custom attribute writer method with validation
321
399
  # @param [Object] port_range_start Value to be assigned
322
400
  def port_range_start=(port_range_start)
@@ -331,6 +409,7 @@ module Ionoscloud
331
409
  @port_range_start = port_range_start
332
410
  end
333
411
 
412
+
334
413
  # Custom attribute writer method with validation
335
414
  # @param [Object] port_range_end Value to be assigned
336
415
  def port_range_end=(port_range_end)
@@ -345,6 +424,7 @@ module Ionoscloud
345
424
  @port_range_end = port_range_end
346
425
  end
347
426
 
427
+
348
428
  # Custom attribute writer method checking allowed values (enum).
349
429
  # @param [Object] type Object to be assigned
350
430
  def type=(type)
@@ -360,16 +440,16 @@ module Ionoscloud
360
440
  def ==(o)
361
441
  return true if self.equal?(o)
362
442
  self.class == o.class &&
363
- name == o.name &&
364
- protocol == o.protocol &&
365
- source_mac == o.source_mac &&
366
- source_ip == o.source_ip &&
367
- target_ip == o.target_ip &&
368
- icmp_code == o.icmp_code &&
369
- icmp_type == o.icmp_type &&
370
- port_range_start == o.port_range_start &&
371
- port_range_end == o.port_range_end &&
372
- type == o.type
443
+ name == o.name &&
444
+ protocol == o.protocol &&
445
+ source_mac == o.source_mac &&
446
+ source_ip == o.source_ip &&
447
+ target_ip == o.target_ip &&
448
+ icmp_code == o.icmp_code &&
449
+ icmp_type == o.icmp_type &&
450
+ port_range_start == o.port_range_start &&
451
+ port_range_end == o.port_range_end &&
452
+ type == o.type
373
453
  end
374
454
 
375
455
  # @see the `==` method