@@ -163,23 +163,101 @@ pub enum DataType {
163
163
}
164
164
165
165
#[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
166
+ pub enum CopyMode {
167
+ #[ serde( rename = "serial" ) ]
168
+ Serial ,
169
+ #[ serde( rename = "parallel" ) ]
170
+ Parallel ,
171
+ }
172
+
173
+ #[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
174
+ #[ serde( deny_unknown_fields) ]
175
+ pub struct Copy {
176
+ pub name : String ,
177
+ pub count : i32 ,
178
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
179
+ pub mode : Option < CopyMode > ,
180
+ #[ serde( skip_serializing_if = "Option::is_none" , rename = "batchSize" ) ]
181
+ pub batch_size : Option < i32 > ,
182
+ }
183
+
184
+ #[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
185
+ #[ serde( deny_unknown_fields) ]
186
+ pub struct Plan {
187
+ pub name : String ,
188
+ #[ serde( skip_serializing_if = "Option::is_none" , rename = "promotionCode" ) ]
189
+ pub promotion_code : Option < String > ,
190
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
191
+ pub publisher : Option < String > ,
192
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
193
+ pub product : Option < String > ,
194
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
195
+ pub version : Option < String > ,
196
+ }
197
+
198
+ #[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
199
+ #[ serde( deny_unknown_fields) ]
200
+ pub struct Identity {
201
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
202
+ pub r#type : Option < String > ,
203
+ #[ serde( skip_serializing_if = "Option::is_none" , rename = "userAssignedIdentities" ) ]
204
+ pub user_assigned_identities : Option < Map < String , Value > > ,
205
+ }
206
+
207
+ #[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
208
+ #[ serde( deny_unknown_fields) ]
209
+ pub struct Sku {
210
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
211
+ pub name : Option < String > ,
212
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
213
+ pub tier : Option < String > ,
214
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
215
+ pub size : Option < String > ,
216
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
217
+ pub family : Option < String > ,
218
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
219
+ pub capacity : Option < i32 > ,
220
+ }
221
+
222
+ #[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
223
+ #[ serde( deny_unknown_fields) ]
166
224
pub struct Resource {
225
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
226
+ pub condition : Option < String > ,
167
227
/// The fully qualified name of the resource type
168
228
#[ serde( rename = "type" ) ]
169
229
pub resource_type : String ,
230
+ #[ serde( skip_serializing_if = "Option::is_none" , rename = "apiVersion" ) ]
231
+ pub api_version : Option < String > ,
170
232
/// A friendly name for the resource instance
171
233
pub name : String , // friendly unique instance name
234
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
235
+ pub comments : Option < String > ,
236
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
237
+ pub location : Option < String > ,
172
238
#[ serde( rename = "dependsOn" , skip_serializing_if = "Option::is_none" ) ]
173
239
#[ schemars( regex( pattern = r"^\[resourceId\(\s*'[a-zA-Z0-9\.]+/[a-zA-Z0-9]+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)]$" ) ) ]
174
240
pub depends_on : Option < Vec < String > > ,
175
241
#[ serde( skip_serializing_if = "Option::is_none" ) ]
242
+ pub tags : Option < Map < String , Value > > ,
243
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
244
+ pub identity : Option < Identity > ,
245
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
246
+ pub sku : Option < Sku > ,
247
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
176
248
pub kind : Option < String > ,
177
249
#[ serde( skip_serializing_if = "Option::is_none" ) ]
250
+ pub scope : Option < String > ,
251
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
252
+ pub copy : Option < Copy > ,
253
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
254
+ pub plan : Option < Plan > ,
255
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
178
256
pub properties : Option < Map < String , Value > > ,
179
257
#[ serde( skip_serializing_if = "Option::is_none" ) ]
180
- pub metadata : Option < Metadata > ,
258
+ pub resources : Option < Vec < Resource > > ,
181
259
#[ serde( skip_serializing_if = "Option::is_none" ) ]
182
- pub condition : Option < String > ,
260
+ pub metadata : Option < Metadata > ,
183
261
}
184
262
185
263
impl Default for Configuration {
@@ -237,6 +315,16 @@ impl Resource {
237
315
properties : None ,
238
316
metadata : None ,
239
317
condition : None ,
318
+ identity : None ,
319
+ sku : None ,
320
+ scope : None ,
321
+ copy : None ,
322
+ plan : None ,
323
+ resources : None ,
324
+ comments : None ,
325
+ location : None ,
326
+ tags : None ,
327
+ api_version : None ,
240
328
}
241
329
}
242
330
}
0 commit comments