ionoscloud 5.0.0 → 5.0.1

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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/docs/AttachedVolumes.md +30 -0
  3. data/docs/BackupUnit.md +26 -0
  4. data/docs/BackupUnitApi.md +595 -0
  5. data/docs/BackupUnitProperties.md +22 -0
  6. data/docs/BackupUnitSSO.md +18 -0
  7. data/docs/BackupUnits.md +24 -0
  8. data/docs/BalancedNics.md +30 -0
  9. data/docs/CHANGELOG.md +1 -0
  10. data/docs/Cdroms.md +30 -0
  11. data/docs/ConnectableDatacenter.md +22 -0
  12. data/docs/Contract.md +20 -0
  13. data/docs/ContractApi.md +89 -0
  14. data/docs/ContractProperties.md +26 -0
  15. data/docs/DataCenterApi.md +517 -0
  16. data/docs/DataCenterEntities.md +24 -0
  17. data/docs/Datacenter.md +28 -0
  18. data/docs/DatacenterElementMetadata.md +32 -0
  19. data/docs/DatacenterProperties.md +28 -0
  20. data/docs/Datacenters.md +30 -0
  21. data/docs/DefaultApi.md +84 -0
  22. data/docs/Error.md +20 -0
  23. data/docs/ErrorMessage.md +20 -0
  24. data/docs/FirewallRule.md +26 -0
  25. data/docs/FirewallRules.md +30 -0
  26. data/docs/FirewallruleProperties.md +34 -0
  27. data/docs/Group.md +26 -0
  28. data/docs/GroupEntities.md +20 -0
  29. data/docs/GroupMembers.md +24 -0
  30. data/docs/GroupProperties.md +36 -0
  31. data/docs/GroupShare.md +24 -0
  32. data/docs/GroupShareProperties.md +20 -0
  33. data/docs/GroupShares.md +24 -0
  34. data/docs/GroupUsers.md +24 -0
  35. data/docs/Groups.md +24 -0
  36. data/docs/IPBlocksApi.md +513 -0
  37. data/docs/IPFailover.md +20 -0
  38. data/docs/Image.md +26 -0
  39. data/docs/ImageApi.md +429 -0
  40. data/docs/ImageProperties.md +50 -0
  41. data/docs/Images.md +24 -0
  42. data/docs/Info.md +22 -0
  43. data/docs/IpBlock.md +26 -0
  44. data/docs/IpBlockProperties.md +26 -0
  45. data/docs/IpBlocks.md +24 -0
  46. data/docs/IpConsumer.md +30 -0
  47. data/docs/KubernetesApi.md +1513 -0
  48. data/docs/KubernetesAutoScaling.md +20 -0
  49. data/docs/KubernetesCluster.md +28 -0
  50. data/docs/KubernetesClusterEntities.md +18 -0
  51. data/docs/KubernetesClusterProperties.md +26 -0
  52. data/docs/KubernetesClusterPropertiesForPostAndPut.md +22 -0
  53. data/docs/KubernetesClusters.md +24 -0
  54. data/docs/KubernetesConfig.md +24 -0
  55. data/docs/KubernetesConfigProperties.md +18 -0
  56. data/docs/KubernetesMaintenanceWindow.md +20 -0
  57. data/docs/KubernetesNode.md +26 -0
  58. data/docs/KubernetesNodeMetadata.md +26 -0
  59. data/docs/KubernetesNodePool.md +26 -0
  60. data/docs/KubernetesNodePoolForPut.md +26 -0
  61. data/docs/KubernetesNodePoolLan.md +18 -0
  62. data/docs/KubernetesNodePoolProperties.md +50 -0
  63. data/docs/KubernetesNodePoolPropertiesForPost.md +48 -0
  64. data/docs/KubernetesNodePoolPropertiesForPut.md +48 -0
  65. data/docs/KubernetesNodePools.md +24 -0
  66. data/docs/KubernetesNodeProperties.md +22 -0
  67. data/docs/KubernetesNodes.md +24 -0
  68. data/docs/Label.md +26 -0
  69. data/docs/LabelApi.md +2355 -0
  70. data/docs/LabelProperties.md +26 -0
  71. data/docs/LabelResource.md +26 -0
  72. data/docs/LabelResourceProperties.md +20 -0
  73. data/docs/LabelResources.md +30 -0
  74. data/docs/Labels.md +24 -0
  75. data/docs/Lan.md +28 -0
  76. data/docs/LanApi.md +795 -0
  77. data/docs/LanEntities.md +18 -0
  78. data/docs/LanNics.md +30 -0
  79. data/docs/LanPost.md +28 -0
  80. data/docs/LanProperties.md +24 -0
  81. data/docs/LanPropertiesPost.md +24 -0
  82. data/docs/Lans.md +30 -0
  83. data/docs/LoadBalancerApi.md +883 -0
  84. data/docs/Loadbalancer.md +28 -0
  85. data/docs/LoadbalancerEntities.md +18 -0
  86. data/docs/LoadbalancerProperties.md +22 -0
  87. data/docs/Loadbalancers.md +30 -0
  88. data/docs/Location.md +26 -0
  89. data/docs/LocationApi.md +259 -0
  90. data/docs/LocationProperties.md +22 -0
  91. data/docs/Locations.md +24 -0
  92. data/docs/Nic.md +28 -0
  93. data/docs/NicApi.md +1087 -0
  94. data/docs/NicEntities.md +18 -0
  95. data/docs/NicProperties.md +30 -0
  96. data/docs/Nics.md +30 -0
  97. data/docs/NoStateMetaData.md +30 -0
  98. data/docs/PaginationLinks.md +22 -0
  99. data/docs/Peer.md +26 -0
  100. data/docs/PrivateCrossConnect.md +26 -0
  101. data/docs/PrivateCrossConnectApi.md +427 -0
  102. data/docs/PrivateCrossConnectProperties.md +24 -0
  103. data/docs/PrivateCrossConnects.md +24 -0
  104. data/docs/README.md +111 -0
  105. data/docs/Request.md +26 -0
  106. data/docs/RequestApi.md +267 -0
  107. data/docs/RequestMetadata.md +24 -0
  108. data/docs/RequestProperties.md +24 -0
  109. data/docs/RequestStatus.md +24 -0
  110. data/docs/RequestStatusMetadata.md +24 -0
  111. data/docs/RequestTarget.md +20 -0
  112. data/docs/Requests.md +30 -0
  113. data/docs/Resource.md +28 -0
  114. data/docs/ResourceEntities.md +18 -0
  115. data/docs/ResourceGroups.md +24 -0
  116. data/docs/ResourceLimits.md +50 -0
  117. data/docs/ResourceProperties.md +20 -0
  118. data/docs/ResourceReference.md +22 -0
  119. data/docs/Resources.md +24 -0
  120. data/docs/ResourcesUsers.md +24 -0
  121. data/docs/S3Key.md +26 -0
  122. data/docs/S3KeyMetadata.md +20 -0
  123. data/docs/S3KeyProperties.md +20 -0
  124. data/docs/S3Keys.md +24 -0
  125. data/docs/S3ObjectStorageSSO.md +18 -0
  126. data/docs/Server.md +28 -0
  127. data/docs/ServerApi.md +1573 -0
  128. data/docs/ServerEntities.md +22 -0
  129. data/docs/ServerProperties.md +32 -0
  130. data/docs/Servers.md +30 -0
  131. data/docs/Snapshot.md +26 -0
  132. data/docs/SnapshotApi.md +429 -0
  133. data/docs/SnapshotProperties.md +48 -0
  134. data/docs/Snapshots.md +24 -0
  135. data/docs/Type.md +15 -0
  136. data/docs/User.md +28 -0
  137. data/docs/UserManagementApi.md +2547 -0
  138. data/docs/UserMetadata.md +22 -0
  139. data/docs/UserProperties.md +34 -0
  140. data/docs/Users.md +24 -0
  141. data/docs/UsersEntities.md +20 -0
  142. data/docs/Volume.md +26 -0
  143. data/docs/VolumeApi.md +711 -0
  144. data/docs/VolumeProperties.md +54 -0
  145. data/docs/Volumes.md +30 -0
  146. data/docs/summary.md +295 -0
  147. data/gitbook.yaml +4 -0
  148. data/lib/ionoscloud/api/_api.rb +1 -1
  149. data/lib/ionoscloud/api_client.rb +1 -4
  150. data/lib/ionoscloud/models/backup_units.rb +2 -2
  151. data/lib/ionoscloud/models/datacenter_element_metadata.rb +2 -2
  152. data/lib/ionoscloud/models/firewallrule_properties.rb +36 -21
  153. data/lib/ionoscloud/models/kubernetes_node.rb +2 -2
  154. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +2 -2
  155. data/lib/ionoscloud/models/kubernetes_nodes.rb +2 -2
  156. data/lib/ionoscloud/models/label_resources.rb +2 -2
  157. data/lib/ionoscloud/models/labels.rb +2 -2
  158. data/lib/ionoscloud/models/loadbalancer_properties.rb +12 -29
  159. data/lib/ionoscloud/models/type.rb +1 -0
  160. data/lib/ionoscloud/models/volume_properties.rb +14 -4
  161. data/lib/ionoscloud/version.rb +1 -1
  162. data/spec/models/backup_units_spec.rb +1 -1
  163. data/spec/models/datacenter_element_metadata_spec.rb +1 -1
  164. data/spec/models/firewallrule_properties_spec.rb +0 -12
  165. data/spec/models/kubernetes_node_metadata_spec.rb +1 -1
  166. data/spec/models/kubernetes_node_spec.rb +1 -1
  167. data/spec/models/kubernetes_nodes_spec.rb +1 -1
  168. data/spec/models/label_resources_spec.rb +1 -1
  169. data/spec/models/labels_spec.rb +1 -1
  170. data/spec/models/loadbalancer_properties_spec.rb +0 -4
  171. data/spec/models/volume_properties_spec.rb +6 -0
  172. metadata +264 -120
  173. data/DOCS.md +0 -14618
  174. data/README.md +0 -55
@@ -165,6 +165,21 @@ module Ionoscloud
165
165
  invalid_properties.push('invalid value for "protocol", protocol cannot be nil.')
166
166
  end
167
167
 
168
+ pattern = Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
169
+ if !@source_mac.nil? && @source_mac !~ pattern
170
+ invalid_properties.push("invalid value for \"source_mac\", must conform to the pattern #{pattern}.")
171
+ end
172
+
173
+ 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
+ if !@source_ip.nil? && @source_ip !~ pattern
175
+ invalid_properties.push("invalid value for \"source_ip\", must conform to the pattern #{pattern}.")
176
+ end
177
+
178
+ 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
+ if !@target_ip.nil? && @target_ip !~ pattern
180
+ invalid_properties.push("invalid value for \"target_ip\", must conform to the pattern #{pattern}.")
181
+ end
182
+
168
183
  if !@icmp_code.nil? && @icmp_code > 254
169
184
  invalid_properties.push('invalid value for "icmp_code", must be smaller than or equal to 254.')
170
185
  end
@@ -206,12 +221,9 @@ module Ionoscloud
206
221
  return false if @protocol.nil?
207
222
  protocol_validator = EnumAttributeValidator.new('String', ["TCP", "UDP", "ICMP", "ANY"])
208
223
  return false unless protocol_validator.valid?(@protocol)
209
- source_mac_validator = EnumAttributeValidator.new('String', ["@Valid MAC address@", "null"])
210
- return false unless source_mac_validator.valid?(@source_mac)
211
- source_ip_validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
212
- return false unless source_ip_validator.valid?(@source_ip)
213
- target_ip_validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
214
- return false unless target_ip_validator.valid?(@target_ip)
224
+ return false if !@source_mac.nil? && @source_mac !~ Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
225
+ 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]?)$/)
226
+ 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]?)$/)
215
227
  return false if !@icmp_code.nil? && @icmp_code > 254
216
228
  return false if !@icmp_code.nil? && @icmp_code < 0
217
229
  return false if !@icmp_type.nil? && @icmp_type > 254
@@ -233,33 +245,36 @@ module Ionoscloud
233
245
  @protocol = protocol
234
246
  end
235
247
 
236
- # Custom attribute writer method checking allowed values (enum).
237
- # @param [Object] source_mac Object to be assigned
248
+ # Custom attribute writer method with validation
249
+ # @param [Object] source_mac Value to be assigned
238
250
  def source_mac=(source_mac)
239
- validator = EnumAttributeValidator.new('String', ["@Valid MAC address@", "null"])
240
- unless validator.valid?(source_mac)
241
- fail ArgumentError, "invalid value for \"source_mac\", must be one of #{validator.allowable_values}."
251
+ pattern = Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
252
+ if !source_mac.nil? && source_mac !~ pattern
253
+ fail ArgumentError, "invalid value for \"source_mac\", must conform to the pattern #{pattern}."
242
254
  end
255
+
243
256
  @source_mac = source_mac
244
257
  end
245
258
 
246
- # Custom attribute writer method checking allowed values (enum).
247
- # @param [Object] source_ip Object to be assigned
259
+ # Custom attribute writer method with validation
260
+ # @param [Object] source_ip Value to be assigned
248
261
  def source_ip=(source_ip)
249
- validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
250
- unless validator.valid?(source_ip)
251
- fail ArgumentError, "invalid value for \"source_ip\", must be one of #{validator.allowable_values}."
262
+ 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]?)$/)
263
+ if !source_ip.nil? && source_ip !~ pattern
264
+ fail ArgumentError, "invalid value for \"source_ip\", must conform to the pattern #{pattern}."
252
265
  end
266
+
253
267
  @source_ip = source_ip
254
268
  end
255
269
 
256
- # Custom attribute writer method checking allowed values (enum).
257
- # @param [Object] target_ip Object to be assigned
270
+ # Custom attribute writer method with validation
271
+ # @param [Object] target_ip Value to be assigned
258
272
  def target_ip=(target_ip)
259
- validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
260
- unless validator.valid?(target_ip)
261
- fail ArgumentError, "invalid value for \"target_ip\", must be one of #{validator.allowable_values}."
273
+ 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]?)$/)
274
+ if !target_ip.nil? && target_ip !~ pattern
275
+ fail ArgumentError, "invalid value for \"target_ip\", must conform to the pattern #{pattern}."
262
276
  end
277
+
263
278
  @target_ip = target_ip
264
279
  end
265
280
 
@@ -133,7 +133,7 @@ module Ionoscloud
133
133
  # Check to see if the all the properties in the model are valid
134
134
  # @return true if the model is valid
135
135
  def valid?
136
- type_validator = EnumAttributeValidator.new('String', ["nodepool"])
136
+ type_validator = EnumAttributeValidator.new('String', ["node"])
137
137
  return false unless type_validator.valid?(@type)
138
138
  return false if @properties.nil?
139
139
  true
@@ -142,7 +142,7 @@ module Ionoscloud
142
142
  # Custom attribute writer method checking allowed values (enum).
143
143
  # @param [Object] type Object to be assigned
144
144
  def type=(type)
145
- validator = EnumAttributeValidator.new('String', ["nodepool"])
145
+ validator = EnumAttributeValidator.new('String', ["node"])
146
146
  unless validator.valid?(type)
147
147
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
148
148
  end
@@ -131,7 +131,7 @@ module Ionoscloud
131
131
  # Check to see if the all the properties in the model are valid
132
132
  # @return true if the model is valid
133
133
  def valid?
134
- state_validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
134
+ state_validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY", "UNKNOWN"])
135
135
  return false unless state_validator.valid?(@state)
136
136
  true
137
137
  end
@@ -139,7 +139,7 @@ module Ionoscloud
139
139
  # Custom attribute writer method checking allowed values (enum).
140
140
  # @param [Object] state Object to be assigned
141
141
  def state=(state)
142
- validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
142
+ validator = EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY", "UNKNOWN"])
143
143
  unless validator.valid?(state)
144
144
  fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
145
145
  end
@@ -124,7 +124,7 @@ module Ionoscloud
124
124
  # Check to see if the all the properties in the model are valid
125
125
  # @return true if the model is valid
126
126
  def valid?
127
- type_validator = EnumAttributeValidator.new('String', ["nodepool"])
127
+ type_validator = EnumAttributeValidator.new('String', ["collection"])
128
128
  return false unless type_validator.valid?(@type)
129
129
  true
130
130
  end
@@ -132,7 +132,7 @@ module Ionoscloud
132
132
  # Custom attribute writer method checking allowed values (enum).
133
133
  # @param [Object] type Object to be assigned
134
134
  def type=(type)
135
- validator = EnumAttributeValidator.new('String', ["nodepool"])
135
+ validator = EnumAttributeValidator.new('String', ["collection"])
136
136
  unless validator.valid?(type)
137
137
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
138
138
  end
@@ -150,7 +150,7 @@ module Ionoscloud
150
150
  # Check to see if the all the properties in the model are valid
151
151
  # @return true if the model is valid
152
152
  def valid?
153
- type_validator = EnumAttributeValidator.new('String', ["label"])
153
+ type_validator = EnumAttributeValidator.new('String', ["collection"])
154
154
  return false unless type_validator.valid?(@type)
155
155
  true
156
156
  end
@@ -158,7 +158,7 @@ module Ionoscloud
158
158
  # Custom attribute writer method checking allowed values (enum).
159
159
  # @param [Object] type Object to be assigned
160
160
  def type=(type)
161
- validator = EnumAttributeValidator.new('String', ["label"])
161
+ validator = EnumAttributeValidator.new('String', ["collection"])
162
162
  unless validator.valid?(type)
163
163
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
164
164
  end
@@ -124,7 +124,7 @@ module Ionoscloud
124
124
  # Check to see if the all the properties in the model are valid
125
125
  # @return true if the model is valid
126
126
  def valid?
127
- type_validator = EnumAttributeValidator.new('String', ["label"])
127
+ type_validator = EnumAttributeValidator.new('String', ["collection"])
128
128
  return false unless type_validator.valid?(@type)
129
129
  true
130
130
  end
@@ -132,7 +132,7 @@ module Ionoscloud
132
132
  # Custom attribute writer method checking allowed values (enum).
133
133
  # @param [Object] type Object to be assigned
134
134
  def type=(type)
135
- validator = EnumAttributeValidator.new('String', ["label"])
135
+ validator = EnumAttributeValidator.new('String', ["collection"])
136
136
  unless validator.valid?(type)
137
137
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
138
138
  end
@@ -24,28 +24,6 @@ module Ionoscloud
24
24
  # Indicates if the loadbalancer will reserve an IP using DHCP
25
25
  attr_accessor :dhcp
26
26
 
27
- class EnumAttributeValidator
28
- attr_reader :datatype
29
- attr_reader :allowable_values
30
-
31
- def initialize(datatype, allowable_values)
32
- @allowable_values = allowable_values.map do |value|
33
- case datatype.to_s
34
- when /Integer/i
35
- value.to_i
36
- when /Float/i
37
- value.to_f
38
- else
39
- value
40
- end
41
- end
42
- end
43
-
44
- def valid?(value)
45
- !value || allowable_values.include?(value)
46
- end
47
- end
48
-
49
27
  # Attribute mapping from ruby-style variable name to JSON key.
50
28
  def self.attribute_map
51
29
  {
@@ -107,24 +85,29 @@ module Ionoscloud
107
85
  # @return Array for valid properties with the reasons
108
86
  def list_invalid_properties
109
87
  invalid_properties = Array.new
88
+ 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]?)$/)
89
+ if !@ip.nil? && @ip !~ pattern
90
+ invalid_properties.push("invalid value for \"ip\", must conform to the pattern #{pattern}.")
91
+ end
92
+
110
93
  invalid_properties
111
94
  end
112
95
 
113
96
  # Check to see if the all the properties in the model are valid
114
97
  # @return true if the model is valid
115
98
  def valid?
116
- ip_validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
117
- return false unless ip_validator.valid?(@ip)
99
+ return false if !@ip.nil? && @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]?)$/)
118
100
  true
119
101
  end
120
102
 
121
- # Custom attribute writer method checking allowed values (enum).
122
- # @param [Object] ip Object to be assigned
103
+ # Custom attribute writer method with validation
104
+ # @param [Object] ip Value to be assigned
123
105
  def ip=(ip)
124
- validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
125
- unless validator.valid?(ip)
126
- fail ArgumentError, "invalid value for \"ip\", must be one of #{validator.allowable_values}."
106
+ 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]?)$/)
107
+ if !ip.nil? && ip !~ pattern
108
+ fail ArgumentError, "invalid value for \"ip\", must conform to the pattern #{pattern}."
127
109
  end
110
+
128
111
  @ip = ip
129
112
  end
130
113
 
@@ -39,6 +39,7 @@ module Ionoscloud
39
39
  LABEL = "label".freeze
40
40
  K8S = "k8s".freeze
41
41
  NODEPOOL = "nodepool".freeze
42
+ NODE = "node".freeze
42
43
 
43
44
  # Builds the enum from string
44
45
  # @param [String] The enum value in the form of the string
@@ -68,6 +68,9 @@ module Ionoscloud
68
68
  # The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provied either public image or imageAlias in conjunction with this property.
69
69
  attr_accessor :backupunit_id
70
70
 
71
+ # The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
72
+ attr_accessor :user_data
73
+
71
74
  class EnumAttributeValidator
72
75
  attr_reader :datatype
73
76
  attr_reader :allowable_values
@@ -110,7 +113,8 @@ module Ionoscloud
110
113
  :'disc_virtio_hot_plug' => :'discVirtioHotPlug',
111
114
  :'disc_virtio_hot_unplug' => :'discVirtioHotUnplug',
112
115
  :'device_number' => :'deviceNumber',
113
- :'backupunit_id' => :'backupunitId'
116
+ :'backupunit_id' => :'backupunitId',
117
+ :'user_data' => :'userData'
114
118
  }
115
119
  end
116
120
 
@@ -139,7 +143,8 @@ module Ionoscloud
139
143
  :'disc_virtio_hot_plug' => :'Boolean',
140
144
  :'disc_virtio_hot_unplug' => :'Boolean',
141
145
  :'device_number' => :'Integer',
142
- :'backupunit_id' => :'String'
146
+ :'backupunit_id' => :'String',
147
+ :'user_data' => :'String'
143
148
  }
144
149
  end
145
150
 
@@ -237,6 +242,10 @@ module Ionoscloud
237
242
  if attributes.key?(:'backupunit_id')
238
243
  self.backupunit_id = attributes[:'backupunit_id']
239
244
  end
245
+
246
+ if attributes.key?(:'user_data')
247
+ self.user_data = attributes[:'user_data']
248
+ end
240
249
  end
241
250
 
242
251
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -327,7 +336,8 @@ module Ionoscloud
327
336
  disc_virtio_hot_plug == o.disc_virtio_hot_plug &&
328
337
  disc_virtio_hot_unplug == o.disc_virtio_hot_unplug &&
329
338
  device_number == o.device_number &&
330
- backupunit_id == o.backupunit_id
339
+ backupunit_id == o.backupunit_id &&
340
+ user_data == o.user_data
331
341
  end
332
342
 
333
343
  # @see the `==` method
@@ -339,7 +349,7 @@ module Ionoscloud
339
349
  # Calculates hash code according to all attributes.
340
350
  # @return [Integer] Hash code
341
351
  def hash
342
- [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, backupunit_id].hash
352
+ [name, type, size, availability_zone, image, image_password, image_alias, ssh_keys, bus, licence_type, cpu_hot_plug, ram_hot_plug, nic_hot_plug, nic_hot_unplug, disc_virtio_hot_plug, disc_virtio_hot_unplug, device_number, backupunit_id, user_data].hash
343
353
  end
344
354
 
345
355
  # Builds the object from hash
@@ -11,5 +11,5 @@ OpenAPI Generator version: 5.0.1-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module Ionoscloud
14
- VERSION = '5.0.0'
14
+ VERSION = '5.0.1'
15
15
  end
@@ -34,7 +34,7 @@ describe Ionoscloud::BackupUnits do
34
34
  describe 'test attribute "type"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["backupunit"])
37
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["collection"])
38
38
  # validator.allowable_values.each do |value|
39
39
  # expect { instance.type = value }.not_to raise_error
40
40
  # end
@@ -70,7 +70,7 @@ describe Ionoscloud::DatacenterElementMetadata do
70
70
  describe 'test attribute "state"' do
71
71
  it 'should work' do
72
72
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
73
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["AVAILABLE", "INACTIVE", "BUSY", "DEPLOYING", "ACTIVE", "FAILED", "SUSPENDED", "FAILED_SUSPENDED", "UPDATING", "FAILED_UPDATING", "DESTROYING", "FAILED_DESTROYING", "TERMINATED"])
73
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["AVAILABLE", "INACTIVE", "BUSY", "DEPLOYING", "ACTIVE", "FAILED", "SUSPENDED", "FAILED_SUSPENDED", "UPDATING", "FAILED_UPDATING", "DESTROYING", "FAILED_DESTROYING", "TERMINATED", "UNKNOWN"])
74
74
  # validator.allowable_values.each do |value|
75
75
  # expect { instance.state = value }.not_to raise_error
76
76
  # end
@@ -44,30 +44,18 @@ describe Ionoscloud::FirewallruleProperties do
44
44
  describe 'test attribute "source_mac"' do
45
45
  it 'should work' do
46
46
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
47
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["@Valid MAC address@", "null"])
48
- # validator.allowable_values.each do |value|
49
- # expect { instance.source_mac = value }.not_to raise_error
50
- # end
51
47
  end
52
48
  end
53
49
 
54
50
  describe 'test attribute "source_ip"' do
55
51
  it 'should work' do
56
52
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
57
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
58
- # validator.allowable_values.each do |value|
59
- # expect { instance.source_ip = value }.not_to raise_error
60
- # end
61
53
  end
62
54
  end
63
55
 
64
56
  describe 'test attribute "target_ip"' do
65
57
  it 'should work' do
66
58
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
67
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
68
- # validator.allowable_values.each do |value|
69
- # expect { instance.target_ip = value }.not_to raise_error
70
- # end
71
59
  end
72
60
  end
73
61
 
@@ -46,7 +46,7 @@ describe Ionoscloud::KubernetesNodeMetadata do
46
46
  describe 'test attribute "state"' do
47
47
  it 'should work' do
48
48
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY"])
49
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PROVISIONING", "PROVISIONED", "READY", "TERMINATING", "REBUILDING", "BUSY", "UNKNOWN"])
50
50
  # validator.allowable_values.each do |value|
51
51
  # expect { instance.state = value }.not_to raise_error
52
52
  # end
@@ -34,7 +34,7 @@ describe Ionoscloud::KubernetesNode do
34
34
  describe 'test attribute "type"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["nodepool"])
37
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["node"])
38
38
  # validator.allowable_values.each do |value|
39
39
  # expect { instance.type = value }.not_to raise_error
40
40
  # end
@@ -34,7 +34,7 @@ describe Ionoscloud::KubernetesNodes do
34
34
  describe 'test attribute "type"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["nodepool"])
37
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["collection"])
38
38
  # validator.allowable_values.each do |value|
39
39
  # expect { instance.type = value }.not_to raise_error
40
40
  # end
@@ -34,7 +34,7 @@ describe Ionoscloud::LabelResources do
34
34
  describe 'test attribute "type"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["label"])
37
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["collection"])
38
38
  # validator.allowable_values.each do |value|
39
39
  # expect { instance.type = value }.not_to raise_error
40
40
  # end
@@ -34,7 +34,7 @@ describe Ionoscloud::Labels do
34
34
  describe 'test attribute "type"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["label"])
37
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["collection"])
38
38
  # validator.allowable_values.each do |value|
39
39
  # expect { instance.type = value }.not_to raise_error
40
40
  # end
@@ -34,10 +34,6 @@ describe Ionoscloud::LoadbalancerProperties do
34
34
  describe 'test attribute "ip"' do
35
35
  it 'should work' do
36
36
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
- # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
38
- # validator.allowable_values.each do |value|
39
- # expect { instance.ip = value }.not_to raise_error
40
- # end
41
37
  end
42
38
  end
43
39
 
@@ -149,4 +149,10 @@ describe Ionoscloud::VolumeProperties do
149
149
  end
150
150
  end
151
151
 
152
+ describe 'test attribute "user_data"' do
153
+ it 'should work' do
154
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
155
+ end
156
+ end
157
+
152
158
  end