ionoscloud 5.1.1 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
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