ionoscloud 5.0.0 → 5.0.1

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