-
Notifications
You must be signed in to change notification settings - Fork 4.6k
/
ArmResourcesModelFactory.cs
642 lines (579 loc) · 55.2 KB
/
ArmResourcesModelFactory.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using System.Linq;
using Azure;
using Azure.Core;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
namespace Azure.ResourceManager.Resources.Models
{
/// <summary> Model factory for models. </summary>
public static partial class ArmResourcesModelFactory
{
/// <summary> Initializes a new instance of ArmDeploymentData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="location"> the location of the deployment. </param>
/// <param name="properties"> Deployment properties. </param>
/// <param name="tags"> Deployment tags. </param>
/// <returns> A new <see cref="Resources.ArmDeploymentData"/> instance for mocking. </returns>
public static ArmDeploymentData ArmDeploymentData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AzureLocation? location = null, ArmDeploymentPropertiesExtended properties = null, IReadOnlyDictionary<string, string> tags = null)
{
tags ??= new Dictionary<string, string>();
return new ArmDeploymentData(id, name, resourceType, systemData, location, properties, tags);
}
/// <summary> Initializes a new instance of ArmDeploymentPropertiesExtended. </summary>
/// <param name="provisioningState"> Denotes the state of provisioning. </param>
/// <param name="correlationId"> The correlation ID of the deployment. </param>
/// <param name="timestamp"> The timestamp of the template deployment. </param>
/// <param name="duration"> The duration of the template deployment. </param>
/// <param name="outputs"> Key/value pairs that represent deployment output. </param>
/// <param name="providers"> The list of resource providers needed for the deployment. </param>
/// <param name="dependencies"> The list of deployment dependencies. </param>
/// <param name="templateLink"> The URI referencing the template. </param>
/// <param name="parameters"> Deployment parameters. </param>
/// <param name="parametersLink"> The URI referencing the parameters. </param>
/// <param name="mode"> The deployment mode. Possible values are Incremental and Complete. </param>
/// <param name="debugSettingDetailLevel"> The debug setting of the deployment. </param>
/// <param name="errorDeployment"> The deployment on error behavior. </param>
/// <param name="templateHash"> The hash produced for the template. </param>
/// <param name="outputResources"> Array of provisioned resources. </param>
/// <param name="validatedResources"> Array of validated resources. </param>
/// <param name="error"> The deployment error. </param>
/// <returns> A new <see cref="Models.ArmDeploymentPropertiesExtended"/> instance for mocking. </returns>
public static ArmDeploymentPropertiesExtended ArmDeploymentPropertiesExtended(ResourcesProvisioningState? provisioningState = null, string correlationId = null, DateTimeOffset? timestamp = null, TimeSpan? duration = null, BinaryData outputs = null, IEnumerable<ResourceProviderData> providers = null, IEnumerable<ArmDependency> dependencies = null, ArmDeploymentTemplateLink templateLink = null, BinaryData parameters = null, ArmDeploymentParametersLink parametersLink = null, ArmDeploymentMode? mode = null, string debugSettingDetailLevel = null, ErrorDeploymentExtended errorDeployment = null, string templateHash = null, IEnumerable<SubResource> outputResources = null, IEnumerable<SubResource> validatedResources = null, ResponseError error = null)
{
providers ??= new List<ResourceProviderData>();
dependencies ??= new List<ArmDependency>();
outputResources ??= new List<SubResource>();
validatedResources ??= new List<SubResource>();
return new ArmDeploymentPropertiesExtended(provisioningState, correlationId, timestamp, duration, outputs, providers?.ToList(), dependencies?.ToList(), templateLink, parameters, parametersLink, mode, debugSettingDetailLevel != null ? new DebugSetting(debugSettingDetailLevel) : null, errorDeployment, templateHash, outputResources?.ToList(), validatedResources?.ToList(), error);
}
/// <summary> Initializes a new instance of ArmDependency. </summary>
/// <param name="dependsOn"> The list of dependencies. </param>
/// <param name="id"> The ID of the dependency. </param>
/// <param name="resourceType"> The dependency resource type. </param>
/// <param name="resourceName"> The dependency resource name. </param>
/// <returns> A new <see cref="Models.ArmDependency"/> instance for mocking. </returns>
public static ArmDependency ArmDependency(IEnumerable<BasicArmDependency> dependsOn = null, string id = null, ResourceType? resourceType = null, string resourceName = null)
{
dependsOn ??= new List<BasicArmDependency>();
return new ArmDependency(dependsOn?.ToList(), id, resourceType, resourceName);
}
/// <summary> Initializes a new instance of BasicArmDependency. </summary>
/// <param name="id"> The ID of the dependency. </param>
/// <param name="resourceType"> The dependency resource type. </param>
/// <param name="resourceName"> The dependency resource name. </param>
/// <returns> A new <see cref="Models.BasicArmDependency"/> instance for mocking. </returns>
public static BasicArmDependency BasicArmDependency(string id = null, ResourceType? resourceType = null, string resourceName = null)
{
return new BasicArmDependency(id, resourceType, resourceName);
}
/// <summary> Initializes a new instance of ErrorDeploymentExtended. </summary>
/// <param name="provisioningState"> The state of the provisioning for the on error deployment. </param>
/// <param name="deploymentType"> The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. </param>
/// <param name="deploymentName"> The deployment to be used on error case. </param>
/// <returns> A new <see cref="Models.ErrorDeploymentExtended"/> instance for mocking. </returns>
public static ErrorDeploymentExtended ErrorDeploymentExtended(string provisioningState = null, ErrorDeploymentType? deploymentType = null, string deploymentName = null)
{
return new ErrorDeploymentExtended(provisioningState, deploymentType, deploymentName);
}
/// <summary> Initializes a new instance of ArmDeploymentValidateResult. </summary>
/// <param name="error"> The deployment validation error. </param>
/// <param name="properties"> The template deployment properties. </param>
/// <returns> A new <see cref="Models.ArmDeploymentValidateResult"/> instance for mocking. </returns>
public static ArmDeploymentValidateResult ArmDeploymentValidateResult(ResponseError error = null, ArmDeploymentPropertiesExtended properties = null)
{
return new ArmDeploymentValidateResult(error, properties);
}
/// <summary> Initializes a new instance of ArmDeploymentExportResult. </summary>
/// <param name="template"> The template content. </param>
/// <returns> A new <see cref="Models.ArmDeploymentExportResult"/> instance for mocking. </returns>
public static ArmDeploymentExportResult ArmDeploymentExportResult(BinaryData template = null)
{
return new ArmDeploymentExportResult(template);
}
/// <summary> Initializes a new instance of WhatIfOperationResult. </summary>
/// <param name="status"> Status of the What-If operation. </param>
/// <param name="error"> Error when What-If operation fails. </param>
/// <param name="changes"> List of resource changes predicted by What-If operation. </param>
/// <returns> A new <see cref="Models.WhatIfOperationResult"/> instance for mocking. </returns>
public static WhatIfOperationResult WhatIfOperationResult(string status = null, ResponseError error = null, IEnumerable<WhatIfChange> changes = null)
{
changes ??= new List<WhatIfChange>();
return new WhatIfOperationResult(status, error, changes?.ToList());
}
/// <summary> Initializes a new instance of WhatIfChange. </summary>
/// <param name="resourceId"> Resource ID. </param>
/// <param name="changeType"> Type of change that will be made to the resource when the deployment is executed. </param>
/// <param name="unsupportedReason"> The explanation about why the resource is unsupported by What-If. </param>
/// <param name="before"> The snapshot of the resource before the deployment is executed. </param>
/// <param name="after"> The predicted snapshot of the resource after the deployment is executed. </param>
/// <param name="delta"> The predicted changes to resource properties. </param>
/// <returns> A new <see cref="Models.WhatIfChange"/> instance for mocking. </returns>
public static WhatIfChange WhatIfChange(string resourceId = null, WhatIfChangeType changeType = default, string unsupportedReason = null, BinaryData before = null, BinaryData after = null, IEnumerable<WhatIfPropertyChange> delta = null)
{
delta ??= new List<WhatIfPropertyChange>();
return new WhatIfChange(resourceId, changeType, unsupportedReason, before, after, delta?.ToList());
}
/// <summary> Initializes a new instance of WhatIfPropertyChange. </summary>
/// <param name="path"> The path of the property. </param>
/// <param name="propertyChangeType"> The type of property change. </param>
/// <param name="before"> The value of the property before the deployment is executed. </param>
/// <param name="after"> The value of the property after the deployment is executed. </param>
/// <param name="children"> Nested property changes. </param>
/// <returns> A new <see cref="Models.WhatIfPropertyChange"/> instance for mocking. </returns>
public static WhatIfPropertyChange WhatIfPropertyChange(string path = null, WhatIfPropertyChangeType propertyChangeType = default, BinaryData before = null, BinaryData after = null, IEnumerable<WhatIfPropertyChange> children = null)
{
children ??= new List<WhatIfPropertyChange>();
return new WhatIfPropertyChange(path, propertyChangeType, before, after, children?.ToList());
}
/// <summary> Initializes a new instance of ArmDeploymentOperation. </summary>
/// <param name="id"> Full deployment operation ID. </param>
/// <param name="operationId"> Deployment operation ID. </param>
/// <param name="properties"> Deployment properties. </param>
/// <returns> A new <see cref="Models.ArmDeploymentOperation"/> instance for mocking. </returns>
public static ArmDeploymentOperation ArmDeploymentOperation(string id = null, string operationId = null, ArmDeploymentOperationProperties properties = null)
{
return new ArmDeploymentOperation(id, operationId, properties);
}
/// <summary> Initializes a new instance of ArmDeploymentOperationProperties. </summary>
/// <param name="provisioningOperation"> The name of the current provisioning operation. </param>
/// <param name="provisioningState"> The state of the provisioning. </param>
/// <param name="timestamp"> The date and time of the operation. </param>
/// <param name="duration"> The duration of the operation. </param>
/// <param name="serviceRequestId"> Deployment operation service request id. </param>
/// <param name="statusCode"> Operation status code from the resource provider. This property may not be set if a response has not yet been received. </param>
/// <param name="statusMessage"> Operation status message from the resource provider. This property is optional. It will only be provided if an error was received from the resource provider. </param>
/// <param name="targetResource"> The target resource. </param>
/// <param name="requestContent"> The HTTP request message. </param>
/// <param name="responseContent"> The HTTP response message. </param>
/// <returns> A new <see cref="Models.ArmDeploymentOperationProperties"/> instance for mocking. </returns>
public static ArmDeploymentOperationProperties ArmDeploymentOperationProperties(ProvisioningOperationKind? provisioningOperation = null, string provisioningState = null, DateTimeOffset? timestamp = null, TimeSpan? duration = null, string serviceRequestId = null, string statusCode = null, StatusMessage statusMessage = null, TargetResource targetResource = null, BinaryData requestContent = null, BinaryData responseContent = null)
{
return new ArmDeploymentOperationProperties(provisioningOperation, provisioningState, timestamp, duration, serviceRequestId, statusCode, statusMessage, targetResource, requestContent != null ? new HttpMessage(requestContent) : null, responseContent != null ? new HttpMessage(responseContent) : null);
}
/// <summary> Initializes a new instance of StatusMessage. </summary>
/// <param name="status"> Status of the deployment operation. </param>
/// <param name="error"> The error reported by the operation. </param>
/// <returns> A new <see cref="Models.StatusMessage"/> instance for mocking. </returns>
public static StatusMessage StatusMessage(string status = null, ResponseError error = null)
{
return new StatusMessage(status, error);
}
/// <summary> Initializes a new instance of TargetResource. </summary>
/// <param name="id"> The ID of the resource. </param>
/// <param name="resourceName"> The name of the resource. </param>
/// <param name="resourceType"> The type of the resource. </param>
/// <returns> A new <see cref="Models.TargetResource"/> instance for mocking. </returns>
public static TargetResource TargetResource(string id = null, string resourceName = null, ResourceType? resourceType = null)
{
return new TargetResource(id, resourceName, resourceType);
}
/// <summary> Initializes a new instance of TemplateHashResult. </summary>
/// <param name="minifiedTemplate"> The minified template string. </param>
/// <param name="templateHash"> The template hash. </param>
/// <returns> A new <see cref="Models.TemplateHashResult"/> instance for mocking. </returns>
public static TemplateHashResult TemplateHashResult(string minifiedTemplate = null, string templateHash = null)
{
return new TemplateHashResult(minifiedTemplate, templateHash);
}
/// <summary> Initializes a new instance of ArmApplicationData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="managedBy"> ID of the resource that manages this resource. </param>
/// <param name="sku"> The SKU of the resource. </param>
/// <param name="plan"> The plan information. </param>
/// <param name="kind"> The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. </param>
/// <param name="identity"> The identity of the resource. </param>
/// <param name="managedResourceGroupId"> The managed resource group Id. </param>
/// <param name="applicationDefinitionId"> The fully qualified path of managed application definition Id. </param>
/// <param name="parameters"> Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. </param>
/// <param name="outputs"> Name and value pairs that define the managed application outputs. </param>
/// <param name="provisioningState"> The managed application provisioning state. </param>
/// <param name="billingDetailsResourceUsageId"> The managed application billing details. </param>
/// <param name="jitAccessPolicy"> The managed application Jit access policy. </param>
/// <param name="publisherTenantId"> The publisher tenant Id. </param>
/// <param name="authorizations"> The read-only authorizations property that is retrieved from the application package. </param>
/// <param name="managementMode"> The managed application management mode. </param>
/// <param name="customerSupport"> The read-only customer support property that is retrieved from the application package. </param>
/// <param name="supportUris"> The read-only support URLs property that is retrieved from the application package. </param>
/// <param name="artifacts"> The collection of managed application artifacts. </param>
/// <param name="createdBy"> The client entity that created the JIT request. </param>
/// <param name="updatedBy"> The client entity that last updated the JIT request. </param>
/// <returns> A new <see cref="Resources.ArmApplicationData"/> instance for mocking. </returns>
public static ArmApplicationData ArmApplicationData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, string managedBy = null, ArmApplicationSku sku = null, ArmPlan plan = null, string kind = null, ArmApplicationManagedIdentity identity = null, ResourceIdentifier managedResourceGroupId = null, ResourceIdentifier applicationDefinitionId = null, BinaryData parameters = null, BinaryData outputs = null, ResourcesProvisioningState? provisioningState = null, string billingDetailsResourceUsageId = null, ArmApplicationJitAccessPolicy jitAccessPolicy = null, Guid? publisherTenantId = null, IEnumerable<ArmApplicationAuthorization> authorizations = null, ArmApplicationManagementMode? managementMode = null, ArmApplicationPackageContact customerSupport = null, ArmApplicationPackageSupportUris supportUris = null, IEnumerable<ArmApplicationArtifact> artifacts = null, ArmApplicationDetails createdBy = null, ArmApplicationDetails updatedBy = null)
{
tags ??= new Dictionary<string, string>();
authorizations ??= new List<ArmApplicationAuthorization>();
artifacts ??= new List<ArmApplicationArtifact>();
return new ArmApplicationData(id, name, resourceType, systemData, tags, location, managedBy, sku, plan, kind, identity, managedResourceGroupId, applicationDefinitionId, parameters, outputs, provisioningState, billingDetailsResourceUsageId != null ? new ArmApplicationBillingDetails(billingDetailsResourceUsageId) : null, jitAccessPolicy, publisherTenantId, authorizations?.ToList(), managementMode, customerSupport, supportUris, artifacts?.ToList(), createdBy, updatedBy);
}
/// <summary> Initializes a new instance of ArmApplicationPackageContact. </summary>
/// <param name="contactName"> The contact name. </param>
/// <param name="email"> The contact email. </param>
/// <param name="phone"> The contact phone number. </param>
/// <returns> A new <see cref="Models.ArmApplicationPackageContact"/> instance for mocking. </returns>
public static ArmApplicationPackageContact ArmApplicationPackageContact(string contactName = null, string email = null, string phone = null)
{
return new ArmApplicationPackageContact(contactName, email, phone);
}
/// <summary> Initializes a new instance of ArmApplicationPackageSupportUris. </summary>
/// <param name="azurePublicCloudUri"> The public azure support URL. </param>
/// <param name="azureGovernmentUri"> The government cloud support URL. </param>
/// <returns> A new <see cref="Models.ArmApplicationPackageSupportUris"/> instance for mocking. </returns>
public static ArmApplicationPackageSupportUris ArmApplicationPackageSupportUris(Uri azurePublicCloudUri = null, Uri azureGovernmentUri = null)
{
return new ArmApplicationPackageSupportUris(azurePublicCloudUri, azureGovernmentUri);
}
/// <summary> Initializes a new instance of ArmApplicationArtifact. </summary>
/// <param name="name"> The managed application artifact name. </param>
/// <param name="uri"> The managed application artifact blob uri. </param>
/// <param name="artifactType"> The managed application artifact type. </param>
/// <exception cref="ArgumentNullException"> <paramref name="uri"/> is null. </exception>
/// <returns> A new <see cref="Models.ArmApplicationArtifact"/> instance for mocking. </returns>
public static ArmApplicationArtifact ArmApplicationArtifact(ArmApplicationArtifactName name = default, Uri uri = null, ArmApplicationArtifactType artifactType = default)
{
if (uri == null)
{
throw new ArgumentNullException(nameof(uri));
}
return new ArmApplicationArtifact(name, uri, artifactType);
}
/// <summary> Initializes a new instance of ArmApplicationDetails. </summary>
/// <param name="objectId"> The client Oid. </param>
/// <param name="puid"> The client Puid. </param>
/// <param name="applicationId"> The client application Id. </param>
/// <returns> A new <see cref="Models.ArmApplicationDetails"/> instance for mocking. </returns>
public static ArmApplicationDetails ArmApplicationDetails(Guid? objectId = null, string puid = null, Guid? applicationId = null)
{
return new ArmApplicationDetails(objectId, puid, applicationId);
}
/// <summary> Initializes a new instance of ArmApplicationManagedIdentity. </summary>
/// <param name="principalId"> The principal ID of resource identity. </param>
/// <param name="tenantId"> The tenant ID of resource. </param>
/// <param name="identityType"> The identity type. </param>
/// <param name="userAssignedIdentities"> The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. </param>
/// <returns> A new <see cref="Models.ArmApplicationManagedIdentity"/> instance for mocking. </returns>
public static ArmApplicationManagedIdentity ArmApplicationManagedIdentity(Guid? principalId = null, Guid? tenantId = null, ArmApplicationManagedIdentityType? identityType = null, IDictionary<string, ArmApplicationUserAssignedIdentity> userAssignedIdentities = null)
{
userAssignedIdentities ??= new Dictionary<string, ArmApplicationUserAssignedIdentity>();
return new ArmApplicationManagedIdentity(principalId, tenantId, identityType, userAssignedIdentities);
}
/// <summary> Initializes a new instance of ArmApplicationUserAssignedIdentity. </summary>
/// <param name="principalId"> The principal id of user assigned identity. </param>
/// <param name="tenantId"> The tenant id of user assigned identity. </param>
/// <returns> A new <see cref="Models.ArmApplicationUserAssignedIdentity"/> instance for mocking. </returns>
public static ArmApplicationUserAssignedIdentity ArmApplicationUserAssignedIdentity(Guid? principalId = null, Guid? tenantId = null)
{
return new ArmApplicationUserAssignedIdentity(principalId, tenantId);
}
/// <summary> Initializes a new instance of ArmApplicationResourceData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="managedBy"> ID of the resource that manages this resource. </param>
/// <param name="sku"> The SKU of the resource. </param>
/// <returns> A new <see cref="Models.ArmApplicationResourceData"/> instance for mocking. </returns>
public static ArmApplicationResourceData ArmApplicationResourceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, string managedBy = null, ArmApplicationSku sku = null)
{
tags ??= new Dictionary<string, string>();
return new ArmApplicationResourceData(id, name, resourceType, systemData, tags, location, managedBy, sku);
}
/// <summary> Initializes a new instance of ArmApplicationPatch. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="managedBy"> ID of the resource that manages this resource. </param>
/// <param name="sku"> The SKU of the resource. </param>
/// <param name="plan"> The plan information. </param>
/// <param name="kind"> The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. </param>
/// <param name="identity"> The identity of the resource. </param>
/// <param name="managedResourceGroupId"> The managed resource group Id. </param>
/// <param name="applicationDefinitionId"> The fully qualified path of managed application definition Id. </param>
/// <param name="parameters"> Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. </param>
/// <param name="outputs"> Name and value pairs that define the managed application outputs. </param>
/// <param name="provisioningState"> The managed application provisioning state. </param>
/// <param name="billingDetailsResourceUsageId"> The managed application billing details. </param>
/// <param name="jitAccessPolicy"> The managed application Jit access policy. </param>
/// <param name="publisherTenantId"> The publisher tenant Id. </param>
/// <param name="authorizations"> The read-only authorizations property that is retrieved from the application package. </param>
/// <param name="managementMode"> The managed application management mode. </param>
/// <param name="customerSupport"> The read-only customer support property that is retrieved from the application package. </param>
/// <param name="supportUris"> The read-only support URLs property that is retrieved from the application package. </param>
/// <param name="artifacts"> The collection of managed application artifacts. </param>
/// <param name="createdBy"> The client entity that created the JIT request. </param>
/// <param name="updatedBy"> The client entity that last updated the JIT request. </param>
/// <returns> A new <see cref="Models.ArmApplicationPatch"/> instance for mocking. </returns>
public static ArmApplicationPatch ArmApplicationPatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, string managedBy = null, ArmApplicationSku sku = null, ArmPlan plan = null, string kind = null, ArmApplicationManagedIdentity identity = null, ResourceIdentifier managedResourceGroupId = null, ResourceIdentifier applicationDefinitionId = null, BinaryData parameters = null, BinaryData outputs = null, ResourcesProvisioningState? provisioningState = null, string billingDetailsResourceUsageId = null, ArmApplicationJitAccessPolicy jitAccessPolicy = null, Guid? publisherTenantId = null, IEnumerable<ArmApplicationAuthorization> authorizations = null, ArmApplicationManagementMode? managementMode = null, ArmApplicationPackageContact customerSupport = null, ArmApplicationPackageSupportUris supportUris = null, IEnumerable<ArmApplicationArtifact> artifacts = null, ArmApplicationDetails createdBy = null, ArmApplicationDetails updatedBy = null)
{
tags ??= new Dictionary<string, string>();
authorizations ??= new List<ArmApplicationAuthorization>();
artifacts ??= new List<ArmApplicationArtifact>();
return new ArmApplicationPatch(id, name, resourceType, systemData, tags, location, managedBy, sku, plan, kind, identity, managedResourceGroupId, applicationDefinitionId, parameters, outputs, provisioningState, billingDetailsResourceUsageId != null ? new ArmApplicationBillingDetails(billingDetailsResourceUsageId) : null, jitAccessPolicy, publisherTenantId, authorizations?.ToList(), managementMode, customerSupport, supportUris, artifacts?.ToList(), createdBy, updatedBy);
}
/// <summary> Initializes a new instance of ArmApplicationDefinitionData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="managedBy"> ID of the resource that manages this resource. </param>
/// <param name="sku"> The SKU of the resource. </param>
/// <param name="lockLevel"> The managed application lock level. </param>
/// <param name="displayName"> The managed application definition display name. </param>
/// <param name="isEnabled"> A value indicating whether the package is enabled or not. </param>
/// <param name="authorizations"> The managed application provider authorizations. </param>
/// <param name="artifacts"> The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. </param>
/// <param name="description"> The managed application definition description. </param>
/// <param name="packageFileUri"> The managed application definition package file Uri. Use this element. </param>
/// <param name="mainTemplate"> The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. </param>
/// <param name="createUiDefinition"> The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. </param>
/// <param name="notificationEndpoints"> The managed application notification policy. </param>
/// <param name="lockingPolicy"> The managed application locking policy. </param>
/// <param name="deploymentMode"> The managed application deployment policy. </param>
/// <param name="managementMode"> The managed application management policy that determines publisher's access to the managed resource group. </param>
/// <param name="policies"> The managed application provider policies. </param>
/// <returns> A new <see cref="Resources.ArmApplicationDefinitionData"/> instance for mocking. </returns>
public static ArmApplicationDefinitionData ArmApplicationDefinitionData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, string managedBy = null, ArmApplicationSku sku = null, ArmApplicationLockLevel lockLevel = default, string displayName = null, bool? isEnabled = null, IEnumerable<ArmApplicationAuthorization> authorizations = null, IEnumerable<ArmApplicationDefinitionArtifact> artifacts = null, string description = null, Uri packageFileUri = null, BinaryData mainTemplate = null, BinaryData createUiDefinition = null, IEnumerable<ArmApplicationNotificationEndpoint> notificationEndpoints = null, ArmApplicationPackageLockingPolicy lockingPolicy = null, ArmApplicationDeploymentMode? deploymentMode = null, ArmApplicationManagementMode? managementMode = null, IEnumerable<ArmApplicationPolicy> policies = null)
{
tags ??= new Dictionary<string, string>();
authorizations ??= new List<ArmApplicationAuthorization>();
artifacts ??= new List<ArmApplicationDefinitionArtifact>();
notificationEndpoints ??= new List<ArmApplicationNotificationEndpoint>();
policies ??= new List<ArmApplicationPolicy>();
return new ArmApplicationDefinitionData(id, name, resourceType, systemData, tags, location, managedBy, sku, lockLevel, displayName, isEnabled, authorizations?.ToList(), artifacts?.ToList(), description, packageFileUri, mainTemplate, createUiDefinition, notificationEndpoints != null ? new ArmApplicationNotificationPolicy(notificationEndpoints?.ToList()) : null, lockingPolicy, deploymentMode.HasValue ? new ArmApplicationDeploymentPolicy(deploymentMode.Value) : null, managementMode != null ? new ArmApplicationManagementPolicy(managementMode) : null, policies?.ToList());
}
/// <summary> Initializes a new instance of JitRequestData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="applicationResourceId"> The parent application id. </param>
/// <param name="publisherTenantId"> The publisher tenant id. </param>
/// <param name="jitAuthorizationPolicies"> The JIT authorization policies. </param>
/// <param name="jitSchedulingPolicy"> The JIT request properties. </param>
/// <param name="provisioningState"> The JIT request provisioning state. </param>
/// <param name="jitRequestState"> The JIT request state. </param>
/// <param name="createdBy"> The client entity that created the JIT request. </param>
/// <param name="updatedBy"> The client entity that last updated the JIT request. </param>
/// <returns> A new <see cref="Resources.JitRequestData"/> instance for mocking. </returns>
public static JitRequestData JitRequestData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, string applicationResourceId = null, Guid? publisherTenantId = null, IEnumerable<JitAuthorizationPolicies> jitAuthorizationPolicies = null, JitSchedulingPolicy jitSchedulingPolicy = null, ResourcesProvisioningState? provisioningState = null, JitRequestState? jitRequestState = null, ArmApplicationDetails createdBy = null, ArmApplicationDetails updatedBy = null)
{
tags ??= new Dictionary<string, string>();
jitAuthorizationPolicies ??= new List<JitAuthorizationPolicies>();
return new JitRequestData(id, name, resourceType, systemData, tags, location, applicationResourceId, publisherTenantId, jitAuthorizationPolicies?.ToList(), jitSchedulingPolicy, provisioningState, jitRequestState, createdBy, updatedBy);
}
/// <summary> Initializes a new instance of ArmDeploymentScriptData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="identity"> Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported. </param>
/// <param name="location"> The location of the ACI and the storage account for the deployment script. </param>
/// <param name="tags"> Resource tags. </param>
/// <param name="kind"> Type of the script. </param>
/// <returns> A new <see cref="Resources.ArmDeploymentScriptData"/> instance for mocking. </returns>
public static ArmDeploymentScriptData ArmDeploymentScriptData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ArmDeploymentScriptManagedIdentity identity = null, AzureLocation location = default, IDictionary<string, string> tags = null, string kind = "Unknown")
{
tags ??= new Dictionary<string, string>();
return new ArmDeploymentScriptData(id, name, resourceType, systemData, identity, location, tags, kind);
}
/// <summary> Initializes a new instance of ArmDeploymentScriptManagedIdentity. </summary>
/// <param name="identityType"> Type of the managed identity. </param>
/// <param name="tenantId"> ID of the Azure Active Directory. </param>
/// <param name="userAssignedIdentities"> The list of user-assigned managed identities associated with the resource. Key is the Azure resource Id of the managed identity. </param>
/// <returns> A new <see cref="Models.ArmDeploymentScriptManagedIdentity"/> instance for mocking. </returns>
public static ArmDeploymentScriptManagedIdentity ArmDeploymentScriptManagedIdentity(ArmDeploymentScriptManagedIdentityType? identityType = null, Guid? tenantId = null, IDictionary<string, UserAssignedIdentity> userAssignedIdentities = null)
{
userAssignedIdentities ??= new Dictionary<string, UserAssignedIdentity>();
return new ArmDeploymentScriptManagedIdentity(identityType, tenantId, userAssignedIdentities);
}
/// <summary> Initializes a new instance of ArmDeploymentScriptPatch. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> Resource tags to be updated. </param>
/// <returns> A new <see cref="Models.ArmDeploymentScriptPatch"/> instance for mocking. </returns>
public static ArmDeploymentScriptPatch ArmDeploymentScriptPatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null)
{
tags ??= new Dictionary<string, string>();
return new ArmDeploymentScriptPatch(id, name, resourceType, systemData, tags);
}
/// <summary> Initializes a new instance of ScriptLogData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="log"> Script execution logs in text format. </param>
/// <returns> A new <see cref="Resources.ScriptLogData"/> instance for mocking. </returns>
public static ScriptLogData ScriptLogData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string log = null)
{
return new ScriptLogData(id, name, resourceType, systemData, log);
}
/// <summary> Initializes a new instance of TemplateSpecData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="location"> The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported Azure locations. </param>
/// <param name="tags"> Resource tags. </param>
/// <param name="description"> Template Spec description. </param>
/// <param name="displayName"> Template Spec display name. </param>
/// <param name="metadata"> The Template Spec metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. </param>
/// <param name="versions"> High-level information about the versions within this Template Spec. The keys are the version names. Only populated if the $expand query parameter is set to 'versions'. </param>
/// <returns> A new <see cref="Resources.TemplateSpecData"/> instance for mocking. </returns>
public static TemplateSpecData TemplateSpecData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AzureLocation location = default, IDictionary<string, string> tags = null, string description = null, string displayName = null, BinaryData metadata = null, IReadOnlyDictionary<string, TemplateSpecVersionInfo> versions = null)
{
tags ??= new Dictionary<string, string>();
versions ??= new Dictionary<string, TemplateSpecVersionInfo>();
return new TemplateSpecData(id, name, resourceType, systemData, location, tags, description, displayName, metadata, versions);
}
/// <summary> Initializes a new instance of TemplateSpecVersionInfo. </summary>
/// <param name="description"> Template Spec version description. </param>
/// <param name="timeCreated"> The timestamp of when the version was created. </param>
/// <param name="timeModified"> The timestamp of when the version was last modified. </param>
/// <returns> A new <see cref="Models.TemplateSpecVersionInfo"/> instance for mocking. </returns>
public static TemplateSpecVersionInfo TemplateSpecVersionInfo(string description = null, DateTimeOffset? timeCreated = null, DateTimeOffset? timeModified = null)
{
return new TemplateSpecVersionInfo(description, timeCreated, timeModified);
}
/// <summary> Initializes a new instance of TemplateSpecPatch. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> Resource tags. </param>
/// <returns> A new <see cref="Models.TemplateSpecPatch"/> instance for mocking. </returns>
public static TemplateSpecPatch TemplateSpecPatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null)
{
tags ??= new Dictionary<string, string>();
return new TemplateSpecPatch(id, name, resourceType, systemData, tags);
}
/// <summary> Initializes a new instance of TemplateSpecVersionData. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="location"> The location of the Template Spec Version. It must match the location of the parent Template Spec. </param>
/// <param name="tags"> Resource tags. </param>
/// <param name="description"> Template Spec version description. </param>
/// <param name="linkedTemplates"> An array of linked template artifacts. </param>
/// <param name="metadata"> The version metadata. Metadata is an open-ended object and is typically a collection of key-value pairs. </param>
/// <param name="mainTemplate"> The main Azure Resource Manager template content. </param>
/// <param name="uiFormDefinition"> The Azure Resource Manager template UI definition content. </param>
/// <returns> A new <see cref="Resources.TemplateSpecVersionData"/> instance for mocking. </returns>
public static TemplateSpecVersionData TemplateSpecVersionData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AzureLocation location = default, IDictionary<string, string> tags = null, string description = null, IEnumerable<LinkedTemplateArtifact> linkedTemplates = null, BinaryData metadata = null, BinaryData mainTemplate = null, BinaryData uiFormDefinition = null)
{
tags ??= new Dictionary<string, string>();
linkedTemplates ??= new List<LinkedTemplateArtifact>();
return new TemplateSpecVersionData(id, name, resourceType, systemData, location, tags, description, linkedTemplates?.ToList(), metadata, mainTemplate, uiFormDefinition);
}
/// <summary> Initializes a new instance of TemplateSpecVersionPatch. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="tags"> Resource tags. </param>
/// <returns> A new <see cref="Models.TemplateSpecVersionPatch"/> instance for mocking. </returns>
public static TemplateSpecVersionPatch TemplateSpecVersionPatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null)
{
tags ??= new Dictionary<string, string>();
return new TemplateSpecVersionPatch(id, name, resourceType, systemData, tags);
}
/// <summary> Initializes a new instance of AzurePowerShellScript. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="identity"> Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported. </param>
/// <param name="location"> The location of the ACI and the storage account for the deployment script. </param>
/// <param name="tags"> Resource tags. </param>
/// <param name="containerGroupName"> Container settings. </param>
/// <param name="storageAccountSettings"> Storage Account settings. </param>
/// <param name="cleanupPreference"> The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'. </param>
/// <param name="provisioningState"> State of the script execution. This only appears in the response. </param>
/// <param name="status"> Contains the results of script execution. </param>
/// <param name="outputs"> List of script outputs. </param>
/// <param name="primaryScriptUri"> Uri for the script. This is the entry point for the external script. </param>
/// <param name="supportingScriptUris"> Supporting files for the external script. </param>
/// <param name="scriptContent"> Script body. </param>
/// <param name="arguments"> Command line arguments to pass to the script. Arguments are separated by spaces. ex: -Name blue* -Location 'West US 2'. </param>
/// <param name="environmentVariables"> The environment variables to pass over to the script. </param>
/// <param name="forceUpdateTag"> Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. </param>
/// <param name="retentionInterval"> Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P1D means one day). </param>
/// <param name="timeout"> Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D. </param>
/// <param name="azPowerShellVersion"> Azure PowerShell module version to be used. </param>
/// <returns> A new <see cref="Models.AzurePowerShellScript"/> instance for mocking. </returns>
public static AzurePowerShellScript AzurePowerShellScript(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ArmDeploymentScriptManagedIdentity identity = null, AzureLocation location = default, IDictionary<string, string> tags = null, string containerGroupName = null, ScriptStorageConfiguration storageAccountSettings = null, ScriptCleanupOptions? cleanupPreference = null, ScriptProvisioningState? provisioningState = null, ScriptStatus status = null, BinaryData outputs = null, Uri primaryScriptUri = null, IEnumerable<Uri> supportingScriptUris = null, string scriptContent = null, string arguments = null, IEnumerable<ScriptEnvironmentVariable> environmentVariables = null, string forceUpdateTag = null, TimeSpan retentionInterval = default, TimeSpan? timeout = null, string azPowerShellVersion = null)
{
tags ??= new Dictionary<string, string>();
supportingScriptUris ??= new List<Uri>();
environmentVariables ??= new List<ScriptEnvironmentVariable>();
return new AzurePowerShellScript(id, name, resourceType, systemData, identity, location, tags, ScriptType.AzurePowerShell, containerGroupName != null ? new ContainerConfiguration(containerGroupName) : null, storageAccountSettings, cleanupPreference, provisioningState, status, outputs, primaryScriptUri, supportingScriptUris?.ToList(), scriptContent, arguments, environmentVariables?.ToList(), forceUpdateTag, retentionInterval, timeout, azPowerShellVersion);
}
/// <summary> Initializes a new instance of ScriptStatus. </summary>
/// <param name="containerInstanceId"> ACI resource Id. </param>
/// <param name="storageAccountId"> Storage account resource Id. </param>
/// <param name="startOn"> Start time of the script execution. </param>
/// <param name="endOn"> End time of the script execution. </param>
/// <param name="expireOn"> Time the deployment script resource will expire. </param>
/// <param name="error"> Error that is relayed from the script execution. </param>
/// <returns> A new <see cref="Models.ScriptStatus"/> instance for mocking. </returns>
public static ScriptStatus ScriptStatus(string containerInstanceId = null, string storageAccountId = null, DateTimeOffset? startOn = null, DateTimeOffset? endOn = null, DateTimeOffset? expireOn = null, ResponseError error = null)
{
return new ScriptStatus(containerInstanceId, storageAccountId, startOn, endOn, expireOn, error);
}
/// <summary> Initializes a new instance of AzureCliScript. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="identity"> Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported. </param>
/// <param name="location"> The location of the ACI and the storage account for the deployment script. </param>
/// <param name="tags"> Resource tags. </param>
/// <param name="containerGroupName"> Container settings. </param>
/// <param name="storageAccountSettings"> Storage Account settings. </param>
/// <param name="cleanupPreference"> The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'. </param>
/// <param name="provisioningState"> State of the script execution. This only appears in the response. </param>
/// <param name="status"> Contains the results of script execution. </param>
/// <param name="outputs"> List of script outputs. </param>
/// <param name="primaryScriptUri"> Uri for the script. This is the entry point for the external script. </param>
/// <param name="supportingScriptUris"> Supporting files for the external script. </param>
/// <param name="scriptContent"> Script body. </param>
/// <param name="arguments"> Command line arguments to pass to the script. Arguments are separated by spaces. ex: -Name blue* -Location 'West US 2'. </param>
/// <param name="environmentVariables"> The environment variables to pass over to the script. </param>
/// <param name="forceUpdateTag"> Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID. </param>
/// <param name="retentionInterval"> Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P1D means one day). </param>
/// <param name="timeout"> Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D. </param>
/// <param name="azCliVersion"> Azure CLI module version to be used. </param>
/// <returns> A new <see cref="Models.AzureCliScript"/> instance for mocking. </returns>
public static AzureCliScript AzureCliScript(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ArmDeploymentScriptManagedIdentity identity = null, AzureLocation location = default, IDictionary<string, string> tags = null, string containerGroupName = null, ScriptStorageConfiguration storageAccountSettings = null, ScriptCleanupOptions? cleanupPreference = null, ScriptProvisioningState? provisioningState = null, ScriptStatus status = null, BinaryData outputs = null, Uri primaryScriptUri = null, IEnumerable<Uri> supportingScriptUris = null, string scriptContent = null, string arguments = null, IEnumerable<ScriptEnvironmentVariable> environmentVariables = null, string forceUpdateTag = null, TimeSpan retentionInterval = default, TimeSpan? timeout = null, string azCliVersion = null)
{
tags ??= new Dictionary<string, string>();
supportingScriptUris ??= new List<Uri>();
environmentVariables ??= new List<ScriptEnvironmentVariable>();
return new AzureCliScript(id, name, resourceType, systemData, identity, location, tags, ScriptType.AzureCLI, containerGroupName != null ? new ContainerConfiguration(containerGroupName) : null, storageAccountSettings, cleanupPreference, provisioningState, status, outputs, primaryScriptUri, supportingScriptUris?.ToList(), scriptContent, arguments, environmentVariables?.ToList(), forceUpdateTag, retentionInterval, timeout, azCliVersion);
}
}
}