ionoscloud 5.1.1 → 5.1.2

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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +1 -1
  4. data/docs/models/KubernetesClusterProperties.md +0 -2
  5. data/docs/models/KubernetesClusterPropertiesForPost.md +0 -2
  6. data/docs/models/KubernetesNodePoolProperties.md +0 -3
  7. data/docs/models/KubernetesNodePoolPropertiesForPost.md +0 -3
  8. data/lib/ionoscloud/api_client.rb +2 -2
  9. data/lib/ionoscloud/models/attached_volumes.rb +65 -11
  10. data/lib/ionoscloud/models/backup_unit.rb +45 -5
  11. data/lib/ionoscloud/models/backup_unit_properties.rb +27 -3
  12. data/lib/ionoscloud/models/backup_unit_sso.rb +9 -1
  13. data/lib/ionoscloud/models/backup_units.rb +38 -8
  14. data/lib/ionoscloud/models/balanced_nics.rb +65 -11
  15. data/lib/ionoscloud/models/cdroms.rb +65 -11
  16. data/lib/ionoscloud/models/connectable_datacenter.rb +27 -3
  17. data/lib/ionoscloud/models/contract.rb +18 -2
  18. data/lib/ionoscloud/models/contract_properties.rb +45 -5
  19. data/lib/ionoscloud/models/data_center_entities.rb +36 -4
  20. data/lib/ionoscloud/models/datacenter.rb +54 -6
  21. data/lib/ionoscloud/models/datacenter_element_metadata.rb +72 -8
  22. data/lib/ionoscloud/models/datacenter_properties.rb +56 -10
  23. data/lib/ionoscloud/models/datacenters.rb +65 -11
  24. data/lib/ionoscloud/models/error.rb +20 -6
  25. data/lib/ionoscloud/models/error_message.rb +18 -2
  26. data/lib/ionoscloud/models/firewall_rule.rb +45 -5
  27. data/lib/ionoscloud/models/firewall_rules.rb +65 -11
  28. data/lib/ionoscloud/models/firewallrule_properties.rb +81 -9
  29. data/lib/ionoscloud/models/group.rb +45 -5
  30. data/lib/ionoscloud/models/group_entities.rb +18 -2
  31. data/lib/ionoscloud/models/group_members.rb +38 -8
  32. data/lib/ionoscloud/models/group_properties.rb +90 -10
  33. data/lib/ionoscloud/models/group_share.rb +36 -4
  34. data/lib/ionoscloud/models/group_share_properties.rb +18 -2
  35. data/lib/ionoscloud/models/group_shares.rb +38 -8
  36. data/lib/ionoscloud/models/group_users.rb +38 -8
  37. data/lib/ionoscloud/models/groups.rb +38 -8
  38. data/lib/ionoscloud/models/image.rb +45 -5
  39. data/lib/ionoscloud/models/image_properties.rb +173 -23
  40. data/lib/ionoscloud/models/images.rb +38 -8
  41. data/lib/ionoscloud/models/info.rb +27 -3
  42. data/lib/ionoscloud/models/ip_block.rb +45 -5
  43. data/lib/ionoscloud/models/ip_block_properties.rb +49 -13
  44. data/lib/ionoscloud/models/ip_blocks.rb +65 -11
  45. data/lib/ionoscloud/models/ip_consumer.rb +81 -9
  46. data/lib/ionoscloud/models/ip_failover.rb +18 -2
  47. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +18 -2
  48. data/lib/ionoscloud/models/kubernetes_cluster.rb +54 -6
  49. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +9 -1
  50. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +54 -6
  51. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +54 -6
  52. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +70 -34
  53. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +48 -24
  54. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +49 -13
  55. data/lib/ionoscloud/models/kubernetes_clusters.rb +38 -8
  56. data/lib/ionoscloud/models/kubernetes_config.rb +36 -4
  57. data/lib/ionoscloud/models/kubernetes_config_properties.rb +9 -1
  58. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +18 -2
  59. data/lib/ionoscloud/models/kubernetes_node.rb +45 -5
  60. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +45 -5
  61. data/lib/ionoscloud/models/kubernetes_node_pool.rb +45 -5
  62. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +45 -5
  63. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +45 -5
  64. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +9 -1
  65. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +163 -47
  66. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +152 -42
  67. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +89 -25
  68. data/lib/ionoscloud/models/kubernetes_node_pools.rb +38 -8
  69. data/lib/ionoscloud/models/kubernetes_node_properties.rb +36 -4
  70. data/lib/ionoscloud/models/kubernetes_nodes.rb +38 -8
  71. data/lib/ionoscloud/models/label.rb +45 -5
  72. data/lib/ionoscloud/models/label_properties.rb +45 -5
  73. data/lib/ionoscloud/models/label_resource.rb +45 -5
  74. data/lib/ionoscloud/models/label_resource_properties.rb +18 -2
  75. data/lib/ionoscloud/models/label_resources.rb +65 -11
  76. data/lib/ionoscloud/models/labels.rb +38 -8
  77. data/lib/ionoscloud/models/lan.rb +54 -6
  78. data/lib/ionoscloud/models/lan_entities.rb +9 -1
  79. data/lib/ionoscloud/models/lan_nics.rb +65 -11
  80. data/lib/ionoscloud/models/lan_post.rb +54 -6
  81. data/lib/ionoscloud/models/lan_properties.rb +38 -8
  82. data/lib/ionoscloud/models/lan_properties_post.rb +38 -8
  83. data/lib/ionoscloud/models/lans.rb +65 -11
  84. data/lib/ionoscloud/models/loadbalancer.rb +54 -6
  85. data/lib/ionoscloud/models/loadbalancer_entities.rb +9 -1
  86. data/lib/ionoscloud/models/loadbalancer_properties.rb +27 -3
  87. data/lib/ionoscloud/models/loadbalancers.rb +65 -11
  88. data/lib/ionoscloud/models/location.rb +45 -5
  89. data/lib/ionoscloud/models/location_properties.rb +31 -11
  90. data/lib/ionoscloud/models/locations.rb +38 -8
  91. data/lib/ionoscloud/models/nic.rb +54 -6
  92. data/lib/ionoscloud/models/nic_entities.rb +9 -1
  93. data/lib/ionoscloud/models/nic_properties.rb +65 -11
  94. data/lib/ionoscloud/models/nics.rb +65 -11
  95. data/lib/ionoscloud/models/no_state_meta_data.rb +63 -7
  96. data/lib/ionoscloud/models/pagination_links.rb +27 -3
  97. data/lib/ionoscloud/models/peer.rb +45 -5
  98. data/lib/ionoscloud/models/private_cross_connect.rb +45 -5
  99. data/lib/ionoscloud/models/private_cross_connect_properties.rb +40 -12
  100. data/lib/ionoscloud/models/private_cross_connects.rb +38 -8
  101. data/lib/ionoscloud/models/request.rb +45 -5
  102. data/lib/ionoscloud/models/request_metadata.rb +36 -4
  103. data/lib/ionoscloud/models/request_properties.rb +38 -8
  104. data/lib/ionoscloud/models/request_status.rb +36 -4
  105. data/lib/ionoscloud/models/request_status_metadata.rb +38 -8
  106. data/lib/ionoscloud/models/request_target.rb +18 -2
  107. data/lib/ionoscloud/models/requests.rb +65 -11
  108. data/lib/ionoscloud/models/resource.rb +54 -6
  109. data/lib/ionoscloud/models/resource_entities.rb +9 -1
  110. data/lib/ionoscloud/models/resource_groups.rb +38 -8
  111. data/lib/ionoscloud/models/resource_limits.rb +153 -17
  112. data/lib/ionoscloud/models/resource_properties.rb +18 -2
  113. data/lib/ionoscloud/models/resource_reference.rb +27 -3
  114. data/lib/ionoscloud/models/resources.rb +38 -8
  115. data/lib/ionoscloud/models/resources_users.rb +38 -8
  116. data/lib/ionoscloud/models/s3_bucket.rb +9 -1
  117. data/lib/ionoscloud/models/s3_key.rb +45 -5
  118. data/lib/ionoscloud/models/s3_key_metadata.rb +18 -2
  119. data/lib/ionoscloud/models/s3_key_properties.rb +18 -2
  120. data/lib/ionoscloud/models/s3_keys.rb +38 -8
  121. data/lib/ionoscloud/models/s3_object_storage_sso.rb +9 -1
  122. data/lib/ionoscloud/models/server.rb +54 -6
  123. data/lib/ionoscloud/models/server_entities.rb +27 -3
  124. data/lib/ionoscloud/models/server_properties.rb +72 -8
  125. data/lib/ionoscloud/models/servers.rb +65 -11
  126. data/lib/ionoscloud/models/snapshot.rb +45 -5
  127. data/lib/ionoscloud/models/snapshot_properties.rb +144 -16
  128. data/lib/ionoscloud/models/snapshots.rb +38 -8
  129. data/lib/ionoscloud/models/user.rb +54 -6
  130. data/lib/ionoscloud/models/user_metadata.rb +27 -3
  131. data/lib/ionoscloud/models/user_post.rb +9 -1
  132. data/lib/ionoscloud/models/user_properties.rb +72 -8
  133. data/lib/ionoscloud/models/user_properties_post.rb +72 -8
  134. data/lib/ionoscloud/models/user_properties_put.rb +63 -7
  135. data/lib/ionoscloud/models/user_put.rb +18 -2
  136. data/lib/ionoscloud/models/users.rb +65 -11
  137. data/lib/ionoscloud/models/users_entities.rb +18 -2
  138. data/lib/ionoscloud/models/volume.rb +45 -5
  139. data/lib/ionoscloud/models/volume_properties.rb +173 -23
  140. data/lib/ionoscloud/models/volumes.rb +65 -11
  141. data/lib/ionoscloud/version.rb +1 -1
  142. metadata +2 -304
  143. data/spec/api/_api_spec.rb +0 -49
  144. data/spec/api/backup_unit_api_spec.rb +0 -140
  145. data/spec/api/contract_api_spec.rb +0 -49
  146. data/spec/api/data_center_api_spec.rb +0 -128
  147. data/spec/api/image_api_spec.rb +0 -111
  148. data/spec/api/ip_blocks_api_spec.rb +0 -128
  149. data/spec/api/kubernetes_api_spec.rb +0 -306
  150. data/spec/api/label_api_spec.rb +0 -480
  151. data/spec/api/lan_api_spec.rb +0 -186
  152. data/spec/api/load_balancer_api_spec.rb +0 -203
  153. data/spec/api/location_api_spec.rb +0 -80
  154. data/spec/api/nic_api_spec.rb +0 -251
  155. data/spec/api/private_cross_connect_api_spec.rb +0 -110
  156. data/spec/api/request_api_spec.rb +0 -92
  157. data/spec/api/server_api_spec.rb +0 -337
  158. data/spec/api/snapshot_api_spec.rb +0 -111
  159. data/spec/api/user_management_api_spec.rb +0 -497
  160. data/spec/api/volume_api_spec.rb +0 -171
  161. data/spec/models/attached_volumes_spec.rb +0 -70
  162. data/spec/models/backup_unit_properties_spec.rb +0 -46
  163. data/spec/models/backup_unit_spec.rb +0 -62
  164. data/spec/models/backup_unit_sso_spec.rb +0 -34
  165. data/spec/models/backup_units_spec.rb +0 -56
  166. data/spec/models/balanced_nics_spec.rb +0 -70
  167. data/spec/models/cdroms_spec.rb +0 -70
  168. data/spec/models/connectable_datacenter_spec.rb +0 -46
  169. data/spec/models/contract_properties_spec.rb +0 -58
  170. data/spec/models/contract_spec.rb +0 -40
  171. data/spec/models/data_center_entities_spec.rb +0 -52
  172. data/spec/models/datacenter_element_metadata_spec.rb +0 -80
  173. data/spec/models/datacenter_properties_spec.rb +0 -64
  174. data/spec/models/datacenter_spec.rb +0 -64
  175. data/spec/models/datacenters_spec.rb +0 -70
  176. data/spec/models/error_message_spec.rb +0 -40
  177. data/spec/models/error_spec.rb +0 -40
  178. data/spec/models/firewall_rule_spec.rb +0 -58
  179. data/spec/models/firewall_rules_spec.rb +0 -70
  180. data/spec/models/firewallrule_properties_spec.rb +0 -86
  181. data/spec/models/group_entities_spec.rb +0 -40
  182. data/spec/models/group_members_spec.rb +0 -52
  183. data/spec/models/group_properties_spec.rb +0 -88
  184. data/spec/models/group_share_properties_spec.rb +0 -40
  185. data/spec/models/group_share_spec.rb +0 -52
  186. data/spec/models/group_shares_spec.rb +0 -52
  187. data/spec/models/group_spec.rb +0 -58
  188. data/spec/models/group_users_spec.rb +0 -52
  189. data/spec/models/groups_spec.rb +0 -52
  190. data/spec/models/image_properties_spec.rb +0 -154
  191. data/spec/models/image_spec.rb +0 -58
  192. data/spec/models/images_spec.rb +0 -52
  193. data/spec/models/info_spec.rb +0 -46
  194. data/spec/models/ip_block_properties_spec.rb +0 -58
  195. data/spec/models/ip_block_spec.rb +0 -58
  196. data/spec/models/ip_blocks_spec.rb +0 -70
  197. data/spec/models/ip_consumer_spec.rb +0 -82
  198. data/spec/models/ip_failover_spec.rb +0 -40
  199. data/spec/models/kubernetes_auto_scaling_spec.rb +0 -40
  200. data/spec/models/kubernetes_cluster_entities_spec.rb +0 -34
  201. data/spec/models/kubernetes_cluster_for_post_spec.rb +0 -68
  202. data/spec/models/kubernetes_cluster_for_put_spec.rb +0 -68
  203. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +0 -64
  204. data/spec/models/kubernetes_cluster_properties_for_put_spec.rb +0 -58
  205. data/spec/models/kubernetes_cluster_properties_spec.rb +0 -76
  206. data/spec/models/kubernetes_cluster_spec.rb +0 -68
  207. data/spec/models/kubernetes_clusters_spec.rb +0 -56
  208. data/spec/models/kubernetes_config_properties_spec.rb +0 -34
  209. data/spec/models/kubernetes_config_spec.rb +0 -56
  210. data/spec/models/kubernetes_maintenance_window_spec.rb +0 -44
  211. data/spec/models/kubernetes_node_metadata_spec.rb +0 -62
  212. data/spec/models/kubernetes_node_pool_for_post_spec.rb +0 -62
  213. data/spec/models/kubernetes_node_pool_for_put_spec.rb +0 -62
  214. data/spec/models/kubernetes_node_pool_lan_spec.rb +0 -34
  215. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +0 -138
  216. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +0 -82
  217. data/spec/models/kubernetes_node_pool_properties_spec.rb +0 -144
  218. data/spec/models/kubernetes_node_pool_spec.rb +0 -62
  219. data/spec/models/kubernetes_node_pools_spec.rb +0 -56
  220. data/spec/models/kubernetes_node_properties_spec.rb +0 -52
  221. data/spec/models/kubernetes_node_spec.rb +0 -62
  222. data/spec/models/kubernetes_nodes_spec.rb +0 -56
  223. data/spec/models/label_properties_spec.rb +0 -58
  224. data/spec/models/label_resource_properties_spec.rb +0 -40
  225. data/spec/models/label_resource_spec.rb +0 -62
  226. data/spec/models/label_resources_spec.rb +0 -74
  227. data/spec/models/label_spec.rb +0 -62
  228. data/spec/models/labels_spec.rb +0 -56
  229. data/spec/models/lan_entities_spec.rb +0 -34
  230. data/spec/models/lan_nics_spec.rb +0 -70
  231. data/spec/models/lan_post_spec.rb +0 -64
  232. data/spec/models/lan_properties_post_spec.rb +0 -52
  233. data/spec/models/lan_properties_spec.rb +0 -52
  234. data/spec/models/lan_spec.rb +0 -64
  235. data/spec/models/lans_spec.rb +0 -70
  236. data/spec/models/loadbalancer_entities_spec.rb +0 -34
  237. data/spec/models/loadbalancer_properties_spec.rb +0 -46
  238. data/spec/models/loadbalancer_spec.rb +0 -64
  239. data/spec/models/loadbalancers_spec.rb +0 -70
  240. data/spec/models/location_properties_spec.rb +0 -46
  241. data/spec/models/location_spec.rb +0 -58
  242. data/spec/models/locations_spec.rb +0 -52
  243. data/spec/models/nic_entities_spec.rb +0 -34
  244. data/spec/models/nic_properties_spec.rb +0 -70
  245. data/spec/models/nic_spec.rb +0 -64
  246. data/spec/models/nics_spec.rb +0 -70
  247. data/spec/models/no_state_meta_data_spec.rb +0 -70
  248. data/spec/models/pagination_links_spec.rb +0 -46
  249. data/spec/models/peer_spec.rb +0 -58
  250. data/spec/models/private_cross_connect_properties_spec.rb +0 -52
  251. data/spec/models/private_cross_connect_spec.rb +0 -58
  252. data/spec/models/private_cross_connects_spec.rb +0 -52
  253. data/spec/models/request_metadata_spec.rb +0 -52
  254. data/spec/models/request_properties_spec.rb +0 -52
  255. data/spec/models/request_spec.rb +0 -58
  256. data/spec/models/request_status_metadata_spec.rb +0 -56
  257. data/spec/models/request_status_spec.rb +0 -52
  258. data/spec/models/request_target_spec.rb +0 -44
  259. data/spec/models/requests_spec.rb +0 -70
  260. data/spec/models/resource_entities_spec.rb +0 -34
  261. data/spec/models/resource_groups_spec.rb +0 -52
  262. data/spec/models/resource_limits_spec.rb +0 -130
  263. data/spec/models/resource_properties_spec.rb +0 -40
  264. data/spec/models/resource_reference_spec.rb +0 -46
  265. data/spec/models/resource_spec.rb +0 -64
  266. data/spec/models/resources_spec.rb +0 -52
  267. data/spec/models/resources_users_spec.rb +0 -52
  268. data/spec/models/s3_bucket_spec.rb +0 -34
  269. data/spec/models/s3_key_metadata_spec.rb +0 -40
  270. data/spec/models/s3_key_properties_spec.rb +0 -40
  271. data/spec/models/s3_key_spec.rb +0 -58
  272. data/spec/models/s3_keys_spec.rb +0 -52
  273. data/spec/models/s3_object_storage_sso_spec.rb +0 -34
  274. data/spec/models/server_entities_spec.rb +0 -46
  275. data/spec/models/server_properties_spec.rb +0 -84
  276. data/spec/models/server_spec.rb +0 -64
  277. data/spec/models/servers_spec.rb +0 -70
  278. data/spec/models/snapshot_properties_spec.rb +0 -128
  279. data/spec/models/snapshot_spec.rb +0 -58
  280. data/spec/models/snapshots_spec.rb +0 -52
  281. data/spec/models/type_spec.rb +0 -28
  282. data/spec/models/user_metadata_spec.rb +0 -46
  283. data/spec/models/user_post_spec.rb +0 -34
  284. data/spec/models/user_properties_post_spec.rb +0 -76
  285. data/spec/models/user_properties_put_spec.rb +0 -70
  286. data/spec/models/user_properties_spec.rb +0 -76
  287. data/spec/models/user_put_spec.rb +0 -40
  288. data/spec/models/user_spec.rb +0 -64
  289. data/spec/models/users_entities_spec.rb +0 -40
  290. data/spec/models/users_spec.rb +0 -70
  291. data/spec/models/volume_properties_spec.rb +0 -158
  292. data/spec/models/volume_spec.rb +0 -58
  293. data/spec/models/volumes_spec.rb +0 -70
@@ -15,35 +15,49 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class FirewallRules
18
+
18
19
  # The resource's unique identifier
19
20
  attr_accessor :id
20
21
 
22
+
21
23
  # The type of object that has been created
22
24
  attr_accessor :type
23
25
 
26
+
24
27
  # URL to the object representation (absolute path)
25
28
  attr_accessor :href
26
29
 
30
+
27
31
  # Array of items in that collection
28
32
  attr_accessor :items
29
33
 
34
+
30
35
  # the offset (if specified in the request)
31
36
  attr_accessor :offset
32
37
 
38
+
33
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
@@ -15,30 +15,39 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class FirewallruleProperties
18
+
18
19
  # A name of that resource
19
20
  attr_accessor :name
20
21
 
22
+
21
23
  # The protocol for the rule. Property cannot be modified after creation (disallowed in update requests)
22
24
  attr_accessor :protocol
23
25
 
26
+
24
27
  # 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
25
28
  attr_accessor :source_mac
26
29
 
30
+
27
31
  # Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs
28
32
  attr_accessor :source_ip
29
33
 
34
+
30
35
  # 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
31
36
  attr_accessor :target_ip
32
37
 
38
+
33
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
 
42
+
36
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
 
46
+
39
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
 
50
+
42
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
 
@@ -67,14 +76,23 @@ module Ionoscloud
67
76
  # Attribute mapping from ruby-style variable name to JSON key.
68
77
  def self.attribute_map
69
78
  {
79
+
70
80
  :'name' => :'name',
81
+
71
82
  :'protocol' => :'protocol',
83
+
72
84
  :'source_mac' => :'sourceMac',
85
+
73
86
  :'source_ip' => :'sourceIp',
87
+
74
88
  :'target_ip' => :'targetIp',
89
+
75
90
  :'icmp_code' => :'icmpCode',
91
+
76
92
  :'icmp_type' => :'icmpType',
93
+
77
94
  :'port_range_start' => :'portRangeStart',
95
+
78
96
  :'port_range_end' => :'portRangeEnd'
79
97
  }
80
98
  end
@@ -87,14 +105,23 @@ module Ionoscloud
87
105
  # Attribute type mapping.
88
106
  def self.openapi_types
89
107
  {
108
+
90
109
  :'name' => :'String',
110
+
91
111
  :'protocol' => :'String',
112
+
92
113
  :'source_mac' => :'String',
114
+
93
115
  :'source_ip' => :'String',
116
+
94
117
  :'target_ip' => :'String',
118
+
95
119
  :'icmp_code' => :'Integer',
120
+
96
121
  :'icmp_type' => :'Integer',
122
+
97
123
  :'port_range_start' => :'Integer',
124
+
98
125
  :'port_range_end' => :'Integer'
99
126
  }
100
127
  end
@@ -102,6 +129,15 @@ module Ionoscloud
102
129
  # List of attributes with nullable: true
103
130
  def self.openapi_nullable
104
131
  Set.new([
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
105
141
  ])
106
142
  end
107
143
 
@@ -119,39 +155,48 @@ module Ionoscloud
119
155
  end
120
156
  h[k.to_sym] = v
121
157
  }
158
+
122
159
 
123
160
  if attributes.key?(:'name')
124
161
  self.name = attributes[:'name']
125
162
  end
126
163
 
164
+
127
165
  if attributes.key?(:'protocol')
128
166
  self.protocol = attributes[:'protocol']
129
167
  end
130
168
 
169
+
131
170
  if attributes.key?(:'source_mac')
132
171
  self.source_mac = attributes[:'source_mac']
133
172
  end
134
173
 
174
+
135
175
  if attributes.key?(:'source_ip')
136
176
  self.source_ip = attributes[:'source_ip']
137
177
  end
138
178
 
179
+
139
180
  if attributes.key?(:'target_ip')
140
181
  self.target_ip = attributes[:'target_ip']
141
182
  end
142
183
 
184
+
143
185
  if attributes.key?(:'icmp_code')
144
186
  self.icmp_code = attributes[:'icmp_code']
145
187
  end
146
188
 
189
+
147
190
  if attributes.key?(:'icmp_type')
148
191
  self.icmp_type = attributes[:'icmp_type']
149
192
  end
150
193
 
194
+
151
195
  if attributes.key?(:'port_range_start')
152
196
  self.port_range_start = attributes[:'port_range_start']
153
197
  end
154
198
 
199
+
155
200
  if attributes.key?(:'port_range_end')
156
201
  self.port_range_end = attributes[:'port_range_end']
157
202
  end
@@ -161,25 +206,31 @@ module Ionoscloud
161
206
  # @return Array for valid properties with the reasons
162
207
  def list_invalid_properties
163
208
  invalid_properties = Array.new
209
+
210
+
164
211
  if @protocol.nil?
165
212
  invalid_properties.push('invalid value for "protocol", protocol cannot be nil.')
166
213
  end
167
214
 
215
+
168
216
  pattern = Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
169
217
  if !@source_mac.nil? && @source_mac !~ pattern
170
218
  invalid_properties.push("invalid value for \"source_mac\", must conform to the pattern #{pattern}.")
171
219
  end
172
220
 
221
+
173
222
  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]?)$/)
174
223
  if !@source_ip.nil? && @source_ip !~ pattern
175
224
  invalid_properties.push("invalid value for \"source_ip\", must conform to the pattern #{pattern}.")
176
225
  end
177
226
 
227
+
178
228
  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]?)$/)
179
229
  if !@target_ip.nil? && @target_ip !~ pattern
180
230
  invalid_properties.push("invalid value for \"target_ip\", must conform to the pattern #{pattern}.")
181
231
  end
182
232
 
233
+
183
234
  if !@icmp_code.nil? && @icmp_code > 254
184
235
  invalid_properties.push('invalid value for "icmp_code", must be smaller than or equal to 254.')
185
236
  end
@@ -188,6 +239,7 @@ module Ionoscloud
188
239
  invalid_properties.push('invalid value for "icmp_code", must be greater than or equal to 0.')
189
240
  end
190
241
 
242
+
191
243
  if !@icmp_type.nil? && @icmp_type > 254
192
244
  invalid_properties.push('invalid value for "icmp_type", must be smaller than or equal to 254.')
193
245
  end
@@ -196,6 +248,7 @@ module Ionoscloud
196
248
  invalid_properties.push('invalid value for "icmp_type", must be greater than or equal to 0.')
197
249
  end
198
250
 
251
+
199
252
  if !@port_range_start.nil? && @port_range_start > 65534
200
253
  invalid_properties.push('invalid value for "port_range_start", must be smaller than or equal to 65534.')
201
254
  end
@@ -204,6 +257,7 @@ module Ionoscloud
204
257
  invalid_properties.push('invalid value for "port_range_start", must be greater than or equal to 1.')
205
258
  end
206
259
 
260
+
207
261
  if !@port_range_end.nil? && @port_range_end > 65534
208
262
  invalid_properties.push('invalid value for "port_range_end", must be smaller than or equal to 65534.')
209
263
  end
@@ -218,23 +272,34 @@ module Ionoscloud
218
272
  # Check to see if the all the properties in the model are valid
219
273
  # @return true if the model is valid
220
274
  def valid?
275
+
276
+
221
277
  return false if @protocol.nil?
222
278
  protocol_validator = EnumAttributeValidator.new('String', ["TCP", "UDP", "ICMP", "ANY"])
223
279
  return false unless protocol_validator.valid?(@protocol)
280
+
224
281
  return false if !@source_mac.nil? && @source_mac !~ Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
282
+
225
283
  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]?)$/)
284
+
226
285
  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]?)$/)
286
+
227
287
  return false if !@icmp_code.nil? && @icmp_code > 254
228
288
  return false if !@icmp_code.nil? && @icmp_code < 0
289
+
229
290
  return false if !@icmp_type.nil? && @icmp_type > 254
230
291
  return false if !@icmp_type.nil? && @icmp_type < 0
292
+
231
293
  return false if !@port_range_start.nil? && @port_range_start > 65534
232
294
  return false if !@port_range_start.nil? && @port_range_start < 1
295
+
233
296
  return false if !@port_range_end.nil? && @port_range_end > 65534
234
297
  return false if !@port_range_end.nil? && @port_range_end < 1
235
298
  true
236
299
  end
237
300
 
301
+
302
+
238
303
  # Custom attribute writer method checking allowed values (enum).
239
304
  # @param [Object] protocol Object to be assigned
240
305
  def protocol=(protocol)
@@ -245,6 +310,7 @@ module Ionoscloud
245
310
  @protocol = protocol
246
311
  end
247
312
 
313
+
248
314
  # Custom attribute writer method with validation
249
315
  # @param [Object] source_mac Value to be assigned
250
316
  def source_mac=(source_mac)
@@ -256,6 +322,7 @@ module Ionoscloud
256
322
  @source_mac = source_mac
257
323
  end
258
324
 
325
+
259
326
  # Custom attribute writer method with validation
260
327
  # @param [Object] source_ip Value to be assigned
261
328
  def source_ip=(source_ip)
@@ -267,6 +334,7 @@ module Ionoscloud
267
334
  @source_ip = source_ip
268
335
  end
269
336
 
337
+
270
338
  # Custom attribute writer method with validation
271
339
  # @param [Object] target_ip Value to be assigned
272
340
  def target_ip=(target_ip)
@@ -278,6 +346,7 @@ module Ionoscloud
278
346
  @target_ip = target_ip
279
347
  end
280
348
 
349
+
281
350
  # Custom attribute writer method with validation
282
351
  # @param [Object] icmp_code Value to be assigned
283
352
  def icmp_code=(icmp_code)
@@ -292,6 +361,7 @@ module Ionoscloud
292
361
  @icmp_code = icmp_code
293
362
  end
294
363
 
364
+
295
365
  # Custom attribute writer method with validation
296
366
  # @param [Object] icmp_type Value to be assigned
297
367
  def icmp_type=(icmp_type)
@@ -306,6 +376,7 @@ module Ionoscloud
306
376
  @icmp_type = icmp_type
307
377
  end
308
378
 
379
+
309
380
  # Custom attribute writer method with validation
310
381
  # @param [Object] port_range_start Value to be assigned
311
382
  def port_range_start=(port_range_start)
@@ -320,6 +391,7 @@ module Ionoscloud
320
391
  @port_range_start = port_range_start
321
392
  end
322
393
 
394
+
323
395
  # Custom attribute writer method with validation
324
396
  # @param [Object] port_range_end Value to be assigned
325
397
  def port_range_end=(port_range_end)
@@ -339,15 +411,15 @@ module Ionoscloud
339
411
  def ==(o)
340
412
  return true if self.equal?(o)
341
413
  self.class == o.class &&
342
- name == o.name &&
343
- protocol == o.protocol &&
344
- source_mac == o.source_mac &&
345
- source_ip == o.source_ip &&
346
- target_ip == o.target_ip &&
347
- icmp_code == o.icmp_code &&
348
- icmp_type == o.icmp_type &&
349
- port_range_start == o.port_range_start &&
350
- port_range_end == o.port_range_end
414
+ name == o.name &&
415
+ protocol == o.protocol &&
416
+ source_mac == o.source_mac &&
417
+ source_ip == o.source_ip &&
418
+ target_ip == o.target_ip &&
419
+ icmp_code == o.icmp_code &&
420
+ icmp_type == o.icmp_type &&
421
+ port_range_start == o.port_range_start &&
422
+ port_range_end == o.port_range_end
351
423
  end
352
424
 
353
425
  # @see the `==` method
@@ -15,26 +15,36 @@ require 'time'
15
15
 
16
16
  module Ionoscloud
17
17
  class Group
18
+
18
19
  # The resource's unique identifier
19
20
  attr_accessor :id
20
21
 
22
+
21
23
  # The type of the resource
22
24
  attr_accessor :type
23
25
 
26
+
24
27
  # URL to the object representation (absolute path)
25
28
  attr_accessor :href
26
29
 
30
+
27
31
  attr_accessor :properties
28
32
 
33
+
29
34
  attr_accessor :entities
30
35
 
31
36
  # Attribute mapping from ruby-style variable name to JSON key.
32
37
  def self.attribute_map
33
38
  {
39
+
34
40
  :'id' => :'id',
41
+
35
42
  :'type' => :'type',
43
+
36
44
  :'href' => :'href',
45
+
37
46
  :'properties' => :'properties',
47
+
38
48
  :'entities' => :'entities'
39
49
  }
40
50
  end
@@ -47,10 +57,15 @@ module Ionoscloud
47
57
  # Attribute type mapping.
48
58
  def self.openapi_types
49
59
  {
60
+
50
61
  :'id' => :'String',
62
+
51
63
  :'type' => :'Type',
64
+
52
65
  :'href' => :'String',
66
+
53
67
  :'properties' => :'GroupProperties',
68
+
54
69
  :'entities' => :'GroupEntities'
55
70
  }
56
71
  end
@@ -58,6 +73,11 @@ module Ionoscloud
58
73
  # List of attributes with nullable: true
59
74
  def self.openapi_nullable
60
75
  Set.new([
76
+
77
+
78
+
79
+
80
+
61
81
  ])
62
82
  end
63
83
 
@@ -75,23 +95,28 @@ module Ionoscloud
75
95
  end
76
96
  h[k.to_sym] = v
77
97
  }
98
+
78
99
 
79
100
  if attributes.key?(:'id')
80
101
  self.id = attributes[:'id']
81
102
  end
82
103
 
104
+
83
105
  if attributes.key?(:'type')
84
106
  self.type = attributes[:'type']
85
107
  end
86
108
 
109
+
87
110
  if attributes.key?(:'href')
88
111
  self.href = attributes[:'href']
89
112
  end
90
113
 
114
+
91
115
  if attributes.key?(:'properties')
92
116
  self.properties = attributes[:'properties']
93
117
  end
94
118
 
119
+
95
120
  if attributes.key?(:'entities')
96
121
  self.entities = attributes[:'entities']
97
122
  end
@@ -101,30 +126,45 @@ module Ionoscloud
101
126
  # @return Array for valid properties with the reasons
102
127
  def list_invalid_properties
103
128
  invalid_properties = Array.new
129
+
130
+
131
+
132
+
104
133
  if @properties.nil?
105
134
  invalid_properties.push('invalid value for "properties", properties cannot be nil.')
106
135
  end
107
136
 
137
+
108
138
  invalid_properties
109
139
  end
110
140
 
111
141
  # Check to see if the all the properties in the model are valid
112
142
  # @return true if the model is valid
113
143
  def valid?
144
+
145
+
146
+
147
+
114
148
  return false if @properties.nil?
149
+
115
150
  true
116
151
  end
117
152
 
153
+
154
+
155
+
156
+
157
+
118
158
  # Checks equality by comparing each attribute.
119
159
  # @param [Object] Object to be compared
120
160
  def ==(o)
121
161
  return true if self.equal?(o)
122
162
  self.class == o.class &&
123
- id == o.id &&
124
- type == o.type &&
125
- href == o.href &&
126
- properties == o.properties &&
127
- entities == o.entities
163
+ id == o.id &&
164
+ type == o.type &&
165
+ href == o.href &&
166
+ properties == o.properties &&
167
+ entities == o.entities
128
168
  end
129
169
 
130
170
  # @see the `==` method