-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
ArmApiManagementModelFactory.cs
1790 lines (1648 loc) · 178 KB
/
ArmApiManagementModelFactory.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
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// 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 System.Net;
using Azure;
using Azure.Core;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.Models;
namespace Azure.ResourceManager.ApiManagement.Models
{
/// <summary> Model factory for models. </summary>
public static partial class ArmApiManagementModelFactory
{
/// <summary> Initializes a new instance of ApiData. </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="description"> Description of the API. May include HTML formatting tags. </param>
/// <param name="authenticationSettings"> Collection of authentication settings included into this API. </param>
/// <param name="subscriptionKeyParameterNames"> Protocols over which API is made available. </param>
/// <param name="apiType"> Type of API. </param>
/// <param name="apiRevision"> Describes the revision of the API. If no value is provided, default revision 1 is created. </param>
/// <param name="apiVersion"> Indicates the version identifier of the API if the API is versioned. </param>
/// <param name="isCurrent"> Indicates if API revision is current api revision. </param>
/// <param name="isOnline"> Indicates if API revision is accessible via the gateway. </param>
/// <param name="apiRevisionDescription"> Description of the API Revision. </param>
/// <param name="apiVersionDescription"> Description of the API Version. </param>
/// <param name="apiVersionSetId"> A resource identifier for the related ApiVersionSet. </param>
/// <param name="isSubscriptionRequired"> Specifies whether an API or Product subscription is required for accessing the API. </param>
/// <param name="termsOfServiceUri"> A URL to the Terms of Service for the API. MUST be in the format of a URL. </param>
/// <param name="contact"> Contact information for the API. </param>
/// <param name="license"> License information for the API. </param>
/// <param name="sourceApiId"> API identifier of the source API. </param>
/// <param name="displayName"> API name. Must be 1 to 300 characters long. </param>
/// <param name="serviceUri"> Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. </param>
/// <param name="path"> Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. </param>
/// <param name="protocols"> Describes on which protocols the operations in this API can be invoked. </param>
/// <param name="apiVersionSet"> Version set details. </param>
/// <returns> A new <see cref="ApiManagement.ApiData"/> instance for mocking. </returns>
public static ApiData ApiData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, AuthenticationSettingsContract authenticationSettings = null, SubscriptionKeyParameterNamesContract subscriptionKeyParameterNames = null, ApiType? apiType = null, string apiRevision = null, string apiVersion = null, bool? isCurrent = null, bool? isOnline = null, string apiRevisionDescription = null, string apiVersionDescription = null, ResourceIdentifier apiVersionSetId = null, bool? isSubscriptionRequired = null, Uri termsOfServiceUri = null, ApiContactInformation contact = null, ApiLicenseInformation license = null, ResourceIdentifier sourceApiId = null, string displayName = null, Uri serviceUri = null, string path = null, IEnumerable<ApiOperationInvokableProtocol> protocols = null, ApiVersionSetContractDetails apiVersionSet = null)
{
protocols ??= new List<ApiOperationInvokableProtocol>();
return new ApiData(id, name, resourceType, systemData, description, authenticationSettings, subscriptionKeyParameterNames, apiType, apiRevision, apiVersion, isCurrent, isOnline, apiRevisionDescription, apiVersionDescription, apiVersionSetId, isSubscriptionRequired, termsOfServiceUri, contact, license, sourceApiId, displayName, serviceUri, path, protocols?.ToList(), apiVersionSet);
}
/// <summary> Initializes a new instance of ApiEntityBaseContract. </summary>
/// <param name="description"> Description of the API. May include HTML formatting tags. </param>
/// <param name="authenticationSettings"> Collection of authentication settings included into this API. </param>
/// <param name="subscriptionKeyParameterNames"> Protocols over which API is made available. </param>
/// <param name="apiType"> Type of API. </param>
/// <param name="apiRevision"> Describes the revision of the API. If no value is provided, default revision 1 is created. </param>
/// <param name="apiVersion"> Indicates the version identifier of the API if the API is versioned. </param>
/// <param name="isCurrent"> Indicates if API revision is current api revision. </param>
/// <param name="isOnline"> Indicates if API revision is accessible via the gateway. </param>
/// <param name="apiRevisionDescription"> Description of the API Revision. </param>
/// <param name="apiVersionDescription"> Description of the API Version. </param>
/// <param name="apiVersionSetId"> A resource identifier for the related ApiVersionSet. </param>
/// <param name="isSubscriptionRequired"> Specifies whether an API or Product subscription is required for accessing the API. </param>
/// <param name="termsOfServiceUri"> A URL to the Terms of Service for the API. MUST be in the format of a URL. </param>
/// <param name="contact"> Contact information for the API. </param>
/// <param name="license"> License information for the API. </param>
/// <returns> A new <see cref="Models.ApiEntityBaseContract"/> instance for mocking. </returns>
public static ApiEntityBaseContract ApiEntityBaseContract(string description = null, AuthenticationSettingsContract authenticationSettings = null, SubscriptionKeyParameterNamesContract subscriptionKeyParameterNames = null, ApiType? apiType = null, string apiRevision = null, string apiVersion = null, bool? isCurrent = null, bool? isOnline = null, string apiRevisionDescription = null, string apiVersionDescription = null, ResourceIdentifier apiVersionSetId = null, bool? isSubscriptionRequired = null, Uri termsOfServiceUri = null, ApiContactInformation contact = null, ApiLicenseInformation license = null)
{
return new ApiEntityBaseContract(description, authenticationSettings, subscriptionKeyParameterNames, apiType, apiRevision, apiVersion, isCurrent, isOnline, apiRevisionDescription, apiVersionDescription, apiVersionSetId, isSubscriptionRequired, termsOfServiceUri, contact, license);
}
/// <summary> Initializes a new instance of ApiRevisionContract. </summary>
/// <param name="apiId"> Identifier of the API Revision. </param>
/// <param name="apiRevision"> Revision number of API. </param>
/// <param name="createdOn"> The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. </param>
/// <param name="updatedOn"> The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. </param>
/// <param name="description"> Description of the API Revision. </param>
/// <param name="privateUriString"> Gateway URL for accessing the non-current API Revision. </param>
/// <param name="isOnline"> Indicates if API revision is the current api revision. </param>
/// <param name="isCurrent"> Indicates if API revision is accessible via the gateway. </param>
/// <returns> A new <see cref="Models.ApiRevisionContract"/> instance for mocking. </returns>
public static ApiRevisionContract ApiRevisionContract(string apiId = null, string apiRevision = null, DateTimeOffset? createdOn = null, DateTimeOffset? updatedOn = null, string description = null, string privateUriString = null, bool? isOnline = null, bool? isCurrent = null)
{
return new ApiRevisionContract(apiId, apiRevision, createdOn, updatedOn, description, privateUriString, isOnline, isCurrent);
}
/// <summary> Initializes a new instance of ApiReleaseData. </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="apiId"> Identifier of the API the release belongs to. </param>
/// <param name="createdOn"> The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. </param>
/// <param name="updatedOn"> The time the API release was updated. </param>
/// <param name="notes"> Release Notes. </param>
/// <returns> A new <see cref="ApiManagement.ApiReleaseData"/> instance for mocking. </returns>
public static ApiReleaseData ApiReleaseData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ResourceIdentifier apiId = null, DateTimeOffset? createdOn = null, DateTimeOffset? updatedOn = null, string notes = null)
{
return new ApiReleaseData(id, name, resourceType, systemData, apiId, createdOn, updatedOn, notes);
}
/// <summary> Initializes a new instance of ApiOperationData. </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="templateParameters"> Collection of URL template parameters. </param>
/// <param name="description"> Description of the operation. May include HTML formatting tags. </param>
/// <param name="request"> An entity containing request details. </param>
/// <param name="responses"> Array of Operation responses. </param>
/// <param name="policies"> Operation Policies. </param>
/// <param name="displayName"> Operation Name. </param>
/// <param name="method"> A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. </param>
/// <param name="uriTemplate"> Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}. </param>
/// <returns> A new <see cref="ApiManagement.ApiOperationData"/> instance for mocking. </returns>
public static ApiOperationData ApiOperationData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IEnumerable<ParameterContract> templateParameters = null, string description = null, RequestContract request = null, IEnumerable<ResponseContract> responses = null, string policies = null, string displayName = null, string method = null, string uriTemplate = null)
{
templateParameters ??= new List<ParameterContract>();
responses ??= new List<ResponseContract>();
return new ApiOperationData(id, name, resourceType, systemData, templateParameters?.ToList(), description, request, responses?.ToList(), policies, displayName, method, uriTemplate);
}
/// <summary> Initializes a new instance of PolicyContractData. </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="value"> Contents of the Policy as defined by the format. </param>
/// <param name="format"> Format of the policyContent. </param>
/// <returns> A new <see cref="ApiManagement.PolicyContractData"/> instance for mocking. </returns>
public static PolicyContractData PolicyContractData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string value = null, PolicyContentFormat? format = null)
{
return new PolicyContractData(id, name, resourceType, systemData, value, format);
}
/// <summary> Initializes a new instance of TagContractData. </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="displayName"> Tag name. </param>
/// <returns> A new <see cref="ApiManagement.TagContractData"/> instance for mocking. </returns>
public static TagContractData TagContractData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string displayName = null)
{
return new TagContractData(id, name, resourceType, systemData, displayName);
}
/// <summary> Initializes a new instance of ApiManagementProductData. </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="description"> Product description. May include HTML formatting tags. </param>
/// <param name="terms"> Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. </param>
/// <param name="isSubscriptionRequired"> Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. </param>
/// <param name="isApprovalRequired"> whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="subscriptionsLimit"> Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="state"> whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. </param>
/// <param name="displayName"> Product name. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementProductData"/> instance for mocking. </returns>
public static ApiManagementProductData ApiManagementProductData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, string terms = null, bool? isSubscriptionRequired = null, bool? isApprovalRequired = null, int? subscriptionsLimit = null, ApiManagementProductState? state = null, string displayName = null)
{
return new ApiManagementProductData(id, name, resourceType, systemData, description, terms, isSubscriptionRequired, isApprovalRequired, subscriptionsLimit, state, displayName);
}
/// <summary> Initializes a new instance of ProductEntityBaseProperties. </summary>
/// <param name="description"> Product description. May include HTML formatting tags. </param>
/// <param name="terms"> Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. </param>
/// <param name="isSubscriptionRequired"> Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. </param>
/// <param name="isApprovalRequired"> whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="subscriptionsLimit"> Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="state"> whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. </param>
/// <returns> A new <see cref="Models.ProductEntityBaseProperties"/> instance for mocking. </returns>
public static ProductEntityBaseProperties ProductEntityBaseProperties(string description = null, string terms = null, bool? isSubscriptionRequired = null, bool? isApprovalRequired = null, int? subscriptionsLimit = null, ApiManagementProductState? state = null)
{
return new ProductEntityBaseProperties(description, terms, isSubscriptionRequired, isApprovalRequired, subscriptionsLimit, state);
}
/// <summary> Initializes a new instance of ApiSchemaData. </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="contentType"> Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml). </br> - `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json` </br> - `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml` </br> - `OpenApi` Schema use `application/vnd.oai.openapi.components+json` </br> - `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`. </param>
/// <param name="value"> Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI. </param>
/// <param name="definitions"> Types definitions. Used for Swagger/OpenAPI v1 schemas only, null otherwise. </param>
/// <param name="components"> Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only, null otherwise. </param>
/// <returns> A new <see cref="ApiManagement.ApiSchemaData"/> instance for mocking. </returns>
public static ApiSchemaData ApiSchemaData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string contentType = null, string value = null, BinaryData definitions = null, BinaryData components = null)
{
return new ApiSchemaData(id, name, resourceType, systemData, contentType, value, definitions, components);
}
/// <summary> Initializes a new instance of DiagnosticContractData. </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="alwaysLog"> Specifies for what type of messages sampling settings should not apply. </param>
/// <param name="loggerId"> Resource Id of a target logger. </param>
/// <param name="sampling"> Sampling settings for Diagnostic. </param>
/// <param name="frontend"> Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. </param>
/// <param name="backend"> Diagnostic settings for incoming/outgoing HTTP messages to the Backend. </param>
/// <param name="isLogClientIPEnabled"> Log the ClientIP. Default is false. </param>
/// <param name="httpCorrelationProtocol"> Sets correlation protocol to use for Application Insights diagnostics. </param>
/// <param name="verbosity"> The verbosity level applied to traces emitted by trace policies. </param>
/// <param name="operationNameFormat"> The format of the Operation Name for Application Insights telemetries. Default is Name. </param>
/// <param name="metrics"> Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings. </param>
/// <returns> A new <see cref="ApiManagement.DiagnosticContractData"/> instance for mocking. </returns>
public static DiagnosticContractData DiagnosticContractData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AlwaysLog? alwaysLog = null, string loggerId = null, SamplingSettings sampling = null, PipelineDiagnosticSettings frontend = null, PipelineDiagnosticSettings backend = null, bool? isLogClientIPEnabled = null, HttpCorrelationProtocol? httpCorrelationProtocol = null, TraceVerbosityLevel? verbosity = null, OperationNameFormat? operationNameFormat = null, bool? metrics = null)
{
return new DiagnosticContractData(id, name, resourceType, systemData, alwaysLog, loggerId, sampling, frontend, backend, isLogClientIPEnabled, httpCorrelationProtocol, verbosity, operationNameFormat, metrics);
}
/// <summary> Initializes a new instance of IssueContractData. </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="createdOn"> Date and time when the issue was created. </param>
/// <param name="state"> Status of the issue. </param>
/// <param name="apiId"> A resource identifier for the API the issue was created for. </param>
/// <param name="title"> The issue title. </param>
/// <param name="description"> Text describing the issue. </param>
/// <param name="userId"> A resource identifier for the user created the issue. </param>
/// <returns> A new <see cref="ApiManagement.IssueContractData"/> instance for mocking. </returns>
public static IssueContractData IssueContractData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, DateTimeOffset? createdOn = null, IssueState? state = null, ResourceIdentifier apiId = null, string title = null, string description = null, ResourceIdentifier userId = null)
{
return new IssueContractData(id, name, resourceType, systemData, createdOn, state, apiId, title, description, userId);
}
/// <summary> Initializes a new instance of ApiIssueCommentData. </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="text"> Comment text. </param>
/// <param name="createdOn"> Date and time when the comment was created. </param>
/// <param name="userId"> A resource identifier for the user who left the comment. </param>
/// <returns> A new <see cref="ApiManagement.ApiIssueCommentData"/> instance for mocking. </returns>
public static ApiIssueCommentData ApiIssueCommentData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string text = null, DateTimeOffset? createdOn = null, ResourceIdentifier userId = null)
{
return new ApiIssueCommentData(id, name, resourceType, systemData, text, createdOn, userId);
}
/// <summary> Initializes a new instance of ApiIssueAttachmentData. </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="title"> Filename by which the binary data will be saved. </param>
/// <param name="contentFormat"> Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property. </param>
/// <param name="content"> An HTTP link or Base64-encoded binary data. </param>
/// <returns> A new <see cref="ApiManagement.ApiIssueAttachmentData"/> instance for mocking. </returns>
public static ApiIssueAttachmentData ApiIssueAttachmentData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string title = null, string contentFormat = null, string content = null)
{
return new ApiIssueAttachmentData(id, name, resourceType, systemData, title, contentFormat, content);
}
/// <summary> Initializes a new instance of ApiTagDescriptionData. </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="description"> Description of the Tag. </param>
/// <param name="externalDocsUri"> Absolute URL of external resources describing the tag. </param>
/// <param name="externalDocsDescription"> Description of the external resources describing the tag. </param>
/// <param name="tagId"> Identifier of the tag in the form of /tags/{tagId}. </param>
/// <param name="displayName"> Tag name. </param>
/// <returns> A new <see cref="ApiManagement.ApiTagDescriptionData"/> instance for mocking. </returns>
public static ApiTagDescriptionData ApiTagDescriptionData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, Uri externalDocsUri = null, string externalDocsDescription = null, string tagId = null, string displayName = null)
{
return new ApiTagDescriptionData(id, name, resourceType, systemData, description, externalDocsUri, externalDocsDescription, tagId, displayName);
}
/// <summary> Initializes a new instance of TagResourceContractDetails. </summary>
/// <param name="tag"> Tag associated with the resource. </param>
/// <param name="api"> API associated with the tag. </param>
/// <param name="operation"> Operation associated with the tag. </param>
/// <param name="product"> Product associated with the tag. </param>
/// <returns> A new <see cref="Models.TagResourceContractDetails"/> instance for mocking. </returns>
public static TagResourceContractDetails TagResourceContractDetails(AssociatedTagProperties tag = null, AssociatedApiProperties api = null, AssociatedOperationProperties operation = null, AssociatedProductProperties product = null)
{
return new TagResourceContractDetails(tag, api, operation, product);
}
/// <summary> Initializes a new instance of AssociatedTagProperties. </summary>
/// <param name="id"> Tag identifier. </param>
/// <param name="name"> Tag Name. </param>
/// <returns> A new <see cref="Models.AssociatedTagProperties"/> instance for mocking. </returns>
public static AssociatedTagProperties AssociatedTagProperties(string id = null, string name = null)
{
return new AssociatedTagProperties(id, name);
}
/// <summary> Initializes a new instance of AssociatedApiProperties. </summary>
/// <param name="description"> Description of the API. May include HTML formatting tags. </param>
/// <param name="authenticationSettings"> Collection of authentication settings included into this API. </param>
/// <param name="subscriptionKeyParameterNames"> Protocols over which API is made available. </param>
/// <param name="apiType"> Type of API. </param>
/// <param name="apiRevision"> Describes the revision of the API. If no value is provided, default revision 1 is created. </param>
/// <param name="apiVersion"> Indicates the version identifier of the API if the API is versioned. </param>
/// <param name="isCurrent"> Indicates if API revision is current api revision. </param>
/// <param name="isOnline"> Indicates if API revision is accessible via the gateway. </param>
/// <param name="apiRevisionDescription"> Description of the API Revision. </param>
/// <param name="apiVersionDescription"> Description of the API Version. </param>
/// <param name="apiVersionSetId"> A resource identifier for the related ApiVersionSet. </param>
/// <param name="isSubscriptionRequired"> Specifies whether an API or Product subscription is required for accessing the API. </param>
/// <param name="termsOfServiceUri"> A URL to the Terms of Service for the API. MUST be in the format of a URL. </param>
/// <param name="contact"> Contact information for the API. </param>
/// <param name="license"> License information for the API. </param>
/// <param name="id"> API identifier in the form /apis/{apiId}. </param>
/// <param name="name"> API name. </param>
/// <param name="serviceUri"> Absolute URL of the backend service implementing this API. </param>
/// <param name="path"> Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. </param>
/// <param name="protocols"> Describes on which protocols the operations in this API can be invoked. </param>
/// <returns> A new <see cref="Models.AssociatedApiProperties"/> instance for mocking. </returns>
public static AssociatedApiProperties AssociatedApiProperties(string description = null, AuthenticationSettingsContract authenticationSettings = null, SubscriptionKeyParameterNamesContract subscriptionKeyParameterNames = null, ApiType? apiType = null, string apiRevision = null, string apiVersion = null, bool? isCurrent = null, bool? isOnline = null, string apiRevisionDescription = null, string apiVersionDescription = null, ResourceIdentifier apiVersionSetId = null, bool? isSubscriptionRequired = null, Uri termsOfServiceUri = null, ApiContactInformation contact = null, ApiLicenseInformation license = null, string id = null, string name = null, Uri serviceUri = null, string path = null, IEnumerable<ApiOperationInvokableProtocol> protocols = null)
{
protocols ??= new List<ApiOperationInvokableProtocol>();
return new AssociatedApiProperties(description, authenticationSettings, subscriptionKeyParameterNames, apiType, apiRevision, apiVersion, isCurrent, isOnline, apiRevisionDescription, apiVersionDescription, apiVersionSetId, isSubscriptionRequired, termsOfServiceUri, contact, license, id, name, serviceUri, path, protocols?.ToList());
}
/// <summary> Initializes a new instance of AssociatedOperationProperties. </summary>
/// <param name="id"> Identifier of the operation in form /operations/{operationId}. </param>
/// <param name="name"> Operation name. </param>
/// <param name="apiName"> API Name. </param>
/// <param name="apiRevision"> API Revision. </param>
/// <param name="apiVersion"> API Version. </param>
/// <param name="description"> Operation Description. </param>
/// <param name="method"> A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. </param>
/// <param name="uriTemplate"> Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}. </param>
/// <returns> A new <see cref="Models.AssociatedOperationProperties"/> instance for mocking. </returns>
public static AssociatedOperationProperties AssociatedOperationProperties(string id = null, string name = null, string apiName = null, string apiRevision = null, string apiVersion = null, string description = null, string method = null, string uriTemplate = null)
{
return new AssociatedOperationProperties(id, name, apiName, apiRevision, apiVersion, description, method, uriTemplate);
}
/// <summary> Initializes a new instance of AssociatedProductProperties. </summary>
/// <param name="description"> Product description. May include HTML formatting tags. </param>
/// <param name="terms"> Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. </param>
/// <param name="isSubscriptionRequired"> Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. </param>
/// <param name="isApprovalRequired"> whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="subscriptionsLimit"> Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. </param>
/// <param name="state"> whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. </param>
/// <param name="id"> Identifier of the product in the form of /products/{productId}. </param>
/// <param name="name"> Product name. </param>
/// <returns> A new <see cref="Models.AssociatedProductProperties"/> instance for mocking. </returns>
public static AssociatedProductProperties AssociatedProductProperties(string description = null, string terms = null, bool? isSubscriptionRequired = null, bool? isApprovalRequired = null, int? subscriptionsLimit = null, ApiManagementProductState? state = null, string id = null, string name = null)
{
return new AssociatedProductProperties(description, terms, isSubscriptionRequired, isApprovalRequired, subscriptionsLimit, state, id, name);
}
/// <summary> Initializes a new instance of ApiVersionSetData. </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="description"> Description of API Version Set. </param>
/// <param name="versionQueryName"> Name of query parameter that indicates the API Version if versioningScheme is set to `query`. </param>
/// <param name="versionHeaderName"> Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`. </param>
/// <param name="displayName"> Name of API Version Set. </param>
/// <param name="versioningScheme"> An value that determines where the API Version identifier will be located in a HTTP request. </param>
/// <returns> A new <see cref="ApiManagement.ApiVersionSetData"/> instance for mocking. </returns>
public static ApiVersionSetData ApiVersionSetData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, string versionQueryName = null, string versionHeaderName = null, string displayName = null, VersioningScheme? versioningScheme = null)
{
return new ApiVersionSetData(id, name, resourceType, systemData, description, versionQueryName, versionHeaderName, displayName, versioningScheme);
}
/// <summary> Initializes a new instance of ApiManagementAuthorizationServerData. </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="description"> Description of the authorization server. Can contain HTML formatting tags. </param>
/// <param name="authorizationMethods"> HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. </param>
/// <param name="clientAuthenticationMethods"> Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format. </param>
/// <param name="tokenBodyParameters"> Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}. </param>
/// <param name="tokenEndpoint"> OAuth token endpoint. Contains absolute URI to entity being referenced. </param>
/// <param name="doesSupportState"> If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security. </param>
/// <param name="defaultScope"> Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values. </param>
/// <param name="bearerTokenSendingMethods"> Specifies the mechanism by which access token is passed to the API. </param>
/// <param name="resourceOwnerUsername"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. </param>
/// <param name="resourceOwnerPassword"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. </param>
/// <param name="displayName"> User-friendly authorization server name. </param>
/// <param name="clientRegistrationEndpoint"> Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced. </param>
/// <param name="authorizationEndpoint"> OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. </param>
/// <param name="grantTypes"> Form of an authorization grant, which the client uses to request the access token. </param>
/// <param name="clientId"> Client or app id registered with this authorization server. </param>
/// <param name="clientSecret"> Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementAuthorizationServerData"/> instance for mocking. </returns>
public static ApiManagementAuthorizationServerData ApiManagementAuthorizationServerData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, IEnumerable<AuthorizationMethod> authorizationMethods = null, IEnumerable<ClientAuthenticationMethod> clientAuthenticationMethods = null, IEnumerable<TokenBodyParameterContract> tokenBodyParameters = null, string tokenEndpoint = null, bool? doesSupportState = null, string defaultScope = null, IEnumerable<BearerTokenSendingMethod> bearerTokenSendingMethods = null, string resourceOwnerUsername = null, string resourceOwnerPassword = null, string displayName = null, string clientRegistrationEndpoint = null, string authorizationEndpoint = null, IEnumerable<GrantType> grantTypes = null, string clientId = null, string clientSecret = null)
{
authorizationMethods ??= new List<AuthorizationMethod>();
clientAuthenticationMethods ??= new List<ClientAuthenticationMethod>();
tokenBodyParameters ??= new List<TokenBodyParameterContract>();
bearerTokenSendingMethods ??= new List<BearerTokenSendingMethod>();
grantTypes ??= new List<GrantType>();
return new ApiManagementAuthorizationServerData(id, name, resourceType, systemData, description, authorizationMethods?.ToList(), clientAuthenticationMethods?.ToList(), tokenBodyParameters?.ToList(), tokenEndpoint, doesSupportState, defaultScope, bearerTokenSendingMethods?.ToList(), resourceOwnerUsername, resourceOwnerPassword, displayName, clientRegistrationEndpoint, authorizationEndpoint, grantTypes?.ToList(), clientId, clientSecret);
}
/// <summary> Initializes a new instance of ApiManagementAuthorizationServerPatch. </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="description"> Description of the authorization server. Can contain HTML formatting tags. </param>
/// <param name="authorizationMethods"> HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. </param>
/// <param name="clientAuthenticationMethods"> Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format. </param>
/// <param name="tokenBodyParameters"> Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}. </param>
/// <param name="tokenEndpoint"> OAuth token endpoint. Contains absolute URI to entity being referenced. </param>
/// <param name="doesSupportState"> If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security. </param>
/// <param name="defaultScope"> Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values. </param>
/// <param name="bearerTokenSendingMethods"> Specifies the mechanism by which access token is passed to the API. </param>
/// <param name="resourceOwnerUsername"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. </param>
/// <param name="resourceOwnerPassword"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. </param>
/// <param name="displayName"> User-friendly authorization server name. </param>
/// <param name="clientRegistrationEndpoint"> Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced. </param>
/// <param name="authorizationEndpoint"> OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. </param>
/// <param name="grantTypes"> Form of an authorization grant, which the client uses to request the access token. </param>
/// <param name="clientId"> Client or app id registered with this authorization server. </param>
/// <param name="clientSecret"> Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. </param>
/// <returns> A new <see cref="Models.ApiManagementAuthorizationServerPatch"/> instance for mocking. </returns>
public static ApiManagementAuthorizationServerPatch ApiManagementAuthorizationServerPatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, IEnumerable<AuthorizationMethod> authorizationMethods = null, IEnumerable<ClientAuthenticationMethod> clientAuthenticationMethods = null, IEnumerable<TokenBodyParameterContract> tokenBodyParameters = null, string tokenEndpoint = null, bool? doesSupportState = null, string defaultScope = null, IEnumerable<BearerTokenSendingMethod> bearerTokenSendingMethods = null, string resourceOwnerUsername = null, string resourceOwnerPassword = null, string displayName = null, string clientRegistrationEndpoint = null, string authorizationEndpoint = null, IEnumerable<GrantType> grantTypes = null, string clientId = null, string clientSecret = null)
{
authorizationMethods ??= new List<AuthorizationMethod>();
clientAuthenticationMethods ??= new List<ClientAuthenticationMethod>();
tokenBodyParameters ??= new List<TokenBodyParameterContract>();
bearerTokenSendingMethods ??= new List<BearerTokenSendingMethod>();
grantTypes ??= new List<GrantType>();
return new ApiManagementAuthorizationServerPatch(id, name, resourceType, systemData, description, authorizationMethods?.ToList(), clientAuthenticationMethods?.ToList(), tokenBodyParameters?.ToList(), tokenEndpoint, doesSupportState, defaultScope, bearerTokenSendingMethods?.ToList(), resourceOwnerUsername, resourceOwnerPassword, displayName, clientRegistrationEndpoint, authorizationEndpoint, grantTypes?.ToList(), clientId, clientSecret);
}
/// <summary> Initializes a new instance of AuthorizationServerSecretsContract. </summary>
/// <param name="clientSecret"> oAuth Authorization Server Secrets. </param>
/// <param name="resourceOwnerUsername"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. </param>
/// <param name="resourceOwnerPassword"> Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. </param>
/// <returns> A new <see cref="Models.AuthorizationServerSecretsContract"/> instance for mocking. </returns>
public static AuthorizationServerSecretsContract AuthorizationServerSecretsContract(string clientSecret = null, string resourceOwnerUsername = null, string resourceOwnerPassword = null)
{
return new AuthorizationServerSecretsContract(clientSecret, resourceOwnerUsername, resourceOwnerPassword);
}
/// <summary> Initializes a new instance of ApiManagementBackendData. </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="title"> Backend Title. </param>
/// <param name="description"> Backend Description. </param>
/// <param name="resourceUri"> Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or API Apps. </param>
/// <param name="backendServiceFabricCluster"> Backend Properties contract. </param>
/// <param name="credentials"> Backend Credentials Contract Properties. </param>
/// <param name="proxy"> Backend Proxy Contract Properties. </param>
/// <param name="tls"> Backend TLS Properties. </param>
/// <param name="uri"> Runtime Url of the Backend. </param>
/// <param name="protocol"> Backend communication protocol. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementBackendData"/> instance for mocking. </returns>
public static ApiManagementBackendData ApiManagementBackendData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string title = null, string description = null, Uri resourceUri = null, BackendServiceFabricClusterProperties backendServiceFabricCluster = null, BackendCredentialsContract credentials = null, BackendProxyContract proxy = null, BackendTlsProperties tls = null, Uri uri = null, BackendProtocol? protocol = null)
{
return new ApiManagementBackendData(id, name, resourceType, systemData, title, description, resourceUri, backendServiceFabricCluster != null ? new BackendProperties(backendServiceFabricCluster) : null, credentials, proxy, tls, uri, protocol);
}
/// <summary> Initializes a new instance of BackendReconnectContract. </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="after"> Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M. </param>
/// <returns> A new <see cref="Models.BackendReconnectContract"/> instance for mocking. </returns>
public static BackendReconnectContract BackendReconnectContract(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, TimeSpan? after = null)
{
return new BackendReconnectContract(id, name, resourceType, systemData, after);
}
/// <summary> Initializes a new instance of ApiManagementCacheData. </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="description"> Cache description. </param>
/// <param name="connectionString"> Runtime connection string to cache. </param>
/// <param name="useFromLocation"> Location identifier to use cache from (should be either 'default' or valid Azure region identifier). </param>
/// <param name="resourceUri"> Original uri of entity in external system cache points to. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementCacheData"/> instance for mocking. </returns>
public static ApiManagementCacheData ApiManagementCacheData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, string connectionString = null, string useFromLocation = null, Uri resourceUri = null)
{
return new ApiManagementCacheData(id, name, resourceType, systemData, description, connectionString, useFromLocation, resourceUri);
}
/// <summary> Initializes a new instance of ApiManagementCertificateData. </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="subject"> Subject attribute of the certificate. </param>
/// <param name="thumbprint"> Thumbprint of the certificate. </param>
/// <param name="expireOn">
/// Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
///
/// </param>
/// <param name="keyVaultDetails"> KeyVault location details of the certificate. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementCertificateData"/> instance for mocking. </returns>
public static ApiManagementCertificateData ApiManagementCertificateData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string subject = null, string thumbprint = null, DateTimeOffset? expireOn = null, KeyVaultContractProperties keyVaultDetails = null)
{
return new ApiManagementCertificateData(id, name, resourceType, systemData, subject, thumbprint, expireOn, keyVaultDetails);
}
/// <summary> Initializes a new instance of ConnectivityCheckResult. </summary>
/// <param name="hops"> List of hops between the source and the destination. </param>
/// <param name="connectionStatus"> The connection status. </param>
/// <param name="avgLatencyInMs"> Average latency in milliseconds. </param>
/// <param name="minLatencyInMs"> Minimum latency in milliseconds. </param>
/// <param name="maxLatencyInMs"> Maximum latency in milliseconds. </param>
/// <param name="probesSent"> Total number of probes sent. </param>
/// <param name="probesFailed"> Number of failed probes. </param>
/// <returns> A new <see cref="Models.ConnectivityCheckResult"/> instance for mocking. </returns>
public static ConnectivityCheckResult ConnectivityCheckResult(IEnumerable<ConnectivityHop> hops = null, ConnectionStatus? connectionStatus = null, long? avgLatencyInMs = null, long? minLatencyInMs = null, long? maxLatencyInMs = null, long? probesSent = null, long? probesFailed = null)
{
hops ??= new List<ConnectivityHop>();
return new ConnectivityCheckResult(hops?.ToList(), connectionStatus, avgLatencyInMs, minLatencyInMs, maxLatencyInMs, probesSent, probesFailed);
}
/// <summary> Initializes a new instance of ConnectivityHop. </summary>
/// <param name="connectivityHopType"> The type of the hop. </param>
/// <param name="id"> The ID of the hop. </param>
/// <param name="address"> The IP address of the hop. </param>
/// <param name="resourceId"> The ID of the resource corresponding to this hop. </param>
/// <param name="nextHopIds"> List of next hop identifiers. </param>
/// <param name="issues"> List of issues. </param>
/// <returns> A new <see cref="Models.ConnectivityHop"/> instance for mocking. </returns>
public static ConnectivityHop ConnectivityHop(string connectivityHopType = null, string id = null, IPAddress address = null, ResourceIdentifier resourceId = null, IEnumerable<string> nextHopIds = null, IEnumerable<ConnectivityIssue> issues = null)
{
nextHopIds ??= new List<string>();
issues ??= new List<ConnectivityIssue>();
return new ConnectivityHop(connectivityHopType, id, address, resourceId, nextHopIds?.ToList(), issues?.ToList());
}
/// <summary> Initializes a new instance of ConnectivityIssue. </summary>
/// <param name="origin"> The origin of the issue. </param>
/// <param name="severity"> The severity of the issue. </param>
/// <param name="issueType"> The type of issue. </param>
/// <param name="context"> Provides additional context on the issue. </param>
/// <returns> A new <see cref="Models.ConnectivityIssue"/> instance for mocking. </returns>
public static ConnectivityIssue ConnectivityIssue(IssueOrigin? origin = null, IssueSeverity? severity = null, IssueType? issueType = null, IEnumerable<IDictionary<string, string>> context = null)
{
context ??= new List<IDictionary<string, string>>();
return new ConnectivityIssue(origin, severity, issueType, context?.ToList());
}
/// <summary> Initializes a new instance of ApiManagementDeletedServiceData. </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"> API Management Service Master Location. </param>
/// <param name="serviceId"> Fully-qualified API Management Service Resource ID. </param>
/// <param name="scheduledPurgeOn"> UTC Date and Time when the service will be automatically purged. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. </param>
/// <param name="deletedOn"> UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementDeletedServiceData"/> instance for mocking. </returns>
public static ApiManagementDeletedServiceData ApiManagementDeletedServiceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AzureLocation? location = null, ResourceIdentifier serviceId = null, DateTimeOffset? scheduledPurgeOn = null, DateTimeOffset? deletedOn = null)
{
return new ApiManagementDeletedServiceData(id, name, resourceType, systemData, location, serviceId, scheduledPurgeOn, deletedOn);
}
/// <summary> Initializes a new instance of AvailableApiManagementServiceSkuResult. </summary>
/// <param name="resourceType"> The type of resource the SKU applies to. </param>
/// <param name="skuName"> Specifies API Management SKU. </param>
/// <param name="capacity"> Specifies the number of API Management units. </param>
/// <returns> A new <see cref="Models.AvailableApiManagementServiceSkuResult"/> instance for mocking. </returns>
public static AvailableApiManagementServiceSkuResult AvailableApiManagementServiceSkuResult(ResourceType? resourceType = null, ApiManagementServiceSkuType? skuName = null, ApiManagementResourceSkuCapacity capacity = null)
{
return new AvailableApiManagementServiceSkuResult(resourceType, skuName != null ? new ResourceSku(skuName) : null, capacity);
}
/// <summary> Initializes a new instance of ApiManagementResourceSkuCapacity. </summary>
/// <param name="minimum"> The minimum capacity. </param>
/// <param name="maximum"> The maximum capacity that can be set. </param>
/// <param name="default"> The default capacity. </param>
/// <param name="scaleType"> The scale type applicable to the sku. </param>
/// <returns> A new <see cref="Models.ApiManagementResourceSkuCapacity"/> instance for mocking. </returns>
public static ApiManagementResourceSkuCapacity ApiManagementResourceSkuCapacity(int? minimum = null, int? maximum = null, int? @default = null, ApiManagementResourceSkuCapacityScaleType? scaleType = null)
{
return new ApiManagementResourceSkuCapacity(minimum, maximum, @default, scaleType);
}
/// <summary> Initializes a new instance of ApiManagementServiceData. </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="sku"> SKU properties of the API Management service. </param>
/// <param name="identity"> Managed service identity of the Api Management service. </param>
/// <param name="etag"> ETag of the resource. </param>
/// <param name="zones"> A list of availability zones denoting where the resource needs to come from. </param>
/// <param name="notificationSenderEmail"> Email address from which the notification will be sent. </param>
/// <param name="provisioningState"> The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. </param>
/// <param name="targetProvisioningState"> The provisioning state of the API Management service, which is targeted by the long running operation started on the service. </param>
/// <param name="createdAtUtc"> Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. </param>
/// <param name="gatewayUri"> Gateway URL of the API Management service. </param>
/// <param name="gatewayRegionalUri"> Gateway URL of the API Management service in the Default Region. </param>
/// <param name="portalUri"> Publisher portal endpoint Url of the API Management service. </param>
/// <param name="managementApiUri"> Management API endpoint URL of the API Management service. </param>
/// <param name="scmUri"> SCM endpoint URL of the API Management service. </param>
/// <param name="developerPortalUri"> DEveloper Portal endpoint URL of the API Management service. </param>
/// <param name="hostnameConfigurations"> Custom hostname configuration of the API Management service. </param>
/// <param name="publicIPAddresses"> Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="privateIPAddresses"> Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="publicIPAddressId"> Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. </param>
/// <param name="publicNetworkAccess"> Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'. </param>
/// <param name="virtualNetworkConfiguration"> Virtual network configuration of the API Management service. </param>
/// <param name="additionalLocations"> Additional datacenter locations of the API Management service. </param>
/// <param name="customProperties"> Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384. </param>
/// <param name="certificates"> List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. </param>
/// <param name="enableClientCertificate"> Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. </param>
/// <param name="disableGateway"> Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. </param>
/// <param name="virtualNetworkType"> The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. </param>
/// <param name="minApiVersion"> Control Plane Apis version constraint for the API Management service. </param>
/// <param name="restore"> Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored. </param>
/// <param name="privateEndpointConnections"> List of Private Endpoint Connections of this service. </param>
/// <param name="platformVersion"> Compute Platform Version running the service in this location. </param>
/// <param name="publisherEmail"> Publisher email. </param>
/// <param name="publisherName"> Publisher name. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementServiceData"/> instance for mocking. </returns>
public static ApiManagementServiceData ApiManagementServiceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary<string, string> tags = null, AzureLocation location = default, ApiManagementServiceSkuProperties sku = null, ManagedServiceIdentity identity = null, ETag? etag = null, IEnumerable<string> zones = null, string notificationSenderEmail = null, string provisioningState = null, string targetProvisioningState = null, DateTimeOffset? createdAtUtc = null, Uri gatewayUri = null, Uri gatewayRegionalUri = null, Uri portalUri = null, Uri managementApiUri = null, Uri scmUri = null, Uri developerPortalUri = null, IEnumerable<HostnameConfiguration> hostnameConfigurations = null, IEnumerable<IPAddress> publicIPAddresses = null, IEnumerable<IPAddress> privateIPAddresses = null, ResourceIdentifier publicIPAddressId = null, PublicNetworkAccess? publicNetworkAccess = null, VirtualNetworkConfiguration virtualNetworkConfiguration = null, IEnumerable<AdditionalLocation> additionalLocations = null, IDictionary<string, string> customProperties = null, IEnumerable<CertificateConfiguration> certificates = null, bool? enableClientCertificate = null, bool? disableGateway = null, VirtualNetworkType? virtualNetworkType = null, string minApiVersion = null, bool? restore = null, IEnumerable<RemotePrivateEndpointConnectionWrapper> privateEndpointConnections = null, PlatformVersion? platformVersion = null, string publisherEmail = null, string publisherName = null)
{
tags ??= new Dictionary<string, string>();
zones ??= new List<string>();
hostnameConfigurations ??= new List<HostnameConfiguration>();
publicIPAddresses ??= new List<IPAddress>();
privateIPAddresses ??= new List<IPAddress>();
additionalLocations ??= new List<AdditionalLocation>();
customProperties ??= new Dictionary<string, string>();
certificates ??= new List<CertificateConfiguration>();
privateEndpointConnections ??= new List<RemotePrivateEndpointConnectionWrapper>();
return new ApiManagementServiceData(id, name, resourceType, systemData, tags, location, sku, identity, etag, zones?.ToList(), notificationSenderEmail, provisioningState, targetProvisioningState, createdAtUtc, gatewayUri, gatewayRegionalUri, portalUri, managementApiUri, scmUri, developerPortalUri, hostnameConfigurations?.ToList(), publicIPAddresses?.ToList(), privateIPAddresses?.ToList(), publicIPAddressId, publicNetworkAccess, virtualNetworkConfiguration, additionalLocations?.ToList(), customProperties, certificates?.ToList(), enableClientCertificate, disableGateway, virtualNetworkType, minApiVersion != null ? new ApiVersionConstraint(minApiVersion) : null, restore, privateEndpointConnections?.ToList(), platformVersion, publisherEmail, publisherName);
}
/// <summary> Initializes a new instance of VirtualNetworkConfiguration. </summary>
/// <param name="vnetId"> The virtual network ID. This is typically a GUID. Expect a null GUID by default. </param>
/// <param name="subnetname"> The name of the subnet. </param>
/// <param name="subnetResourceId"> The full resource ID of a subnet in a virtual network to deploy the API Management service in. </param>
/// <returns> A new <see cref="Models.VirtualNetworkConfiguration"/> instance for mocking. </returns>
public static VirtualNetworkConfiguration VirtualNetworkConfiguration(Guid? vnetId = null, string subnetname = null, ResourceIdentifier subnetResourceId = null)
{
return new VirtualNetworkConfiguration(vnetId, subnetname, subnetResourceId);
}
/// <summary> Initializes a new instance of AdditionalLocation. </summary>
/// <param name="location"> The location name of the additional region among Azure Data center regions. </param>
/// <param name="sku"> SKU properties of the API Management service. </param>
/// <param name="zones"> A list of availability zones denoting where the resource needs to come from. </param>
/// <param name="publicIPAddresses"> Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="privateIPAddresses"> Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="publicIPAddressId"> Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network. </param>
/// <param name="virtualNetworkConfiguration"> Virtual network configuration for the location. </param>
/// <param name="gatewayRegionalUri"> Gateway URL of the API Management service in the Region. </param>
/// <param name="disableGateway"> Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location. </param>
/// <param name="platformVersion"> Compute Platform Version running the service. </param>
/// <returns> A new <see cref="Models.AdditionalLocation"/> instance for mocking. </returns>
public static AdditionalLocation AdditionalLocation(AzureLocation location = default, ApiManagementServiceSkuProperties sku = null, IEnumerable<string> zones = null, IEnumerable<IPAddress> publicIPAddresses = null, IEnumerable<IPAddress> privateIPAddresses = null, ResourceIdentifier publicIPAddressId = null, VirtualNetworkConfiguration virtualNetworkConfiguration = null, Uri gatewayRegionalUri = null, bool? disableGateway = null, PlatformVersion? platformVersion = null)
{
zones ??= new List<string>();
publicIPAddresses ??= new List<IPAddress>();
privateIPAddresses ??= new List<IPAddress>();
return new AdditionalLocation(location, sku, zones?.ToList(), publicIPAddresses?.ToList(), privateIPAddresses?.ToList(), publicIPAddressId, virtualNetworkConfiguration, gatewayRegionalUri, disableGateway, platformVersion);
}
/// <summary> Initializes a new instance of RemotePrivateEndpointConnectionWrapper. </summary>
/// <param name="id"> Private Endpoint connection resource id. </param>
/// <param name="name"> Private Endpoint Connection Name. </param>
/// <param name="resourceType"> Private Endpoint Connection Resource Type. </param>
/// <param name="privateEndpointId"> The resource of private end point. </param>
/// <param name="privateLinkServiceConnectionState"> A collection of information about the state of the connection between service consumer and provider. </param>
/// <param name="provisioningState"> The provisioning state of the private endpoint connection resource. </param>
/// <param name="groupIds"> All the Group ids. </param>
/// <returns> A new <see cref="Models.RemotePrivateEndpointConnectionWrapper"/> instance for mocking. </returns>
public static RemotePrivateEndpointConnectionWrapper RemotePrivateEndpointConnectionWrapper(ResourceIdentifier id = null, string name = null, ResourceType? resourceType = null, ResourceIdentifier privateEndpointId = null, ApiManagementPrivateLinkServiceConnectionState privateLinkServiceConnectionState = null, string provisioningState = null, IEnumerable<string> groupIds = null)
{
groupIds ??= new List<string>();
return new RemotePrivateEndpointConnectionWrapper(id, name, resourceType, privateEndpointId != null ? ResourceManagerModelFactory.SubResource(privateEndpointId) : null, privateLinkServiceConnectionState, provisioningState, groupIds?.ToList());
}
/// <summary> Initializes a new instance of ApiManagementServicePatch. </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="sku"> SKU properties of the API Management service. </param>
/// <param name="identity"> Managed service identity of the Api Management service. </param>
/// <param name="etag"> ETag of the resource. </param>
/// <param name="zones"> A list of availability zones denoting where the resource needs to come from. </param>
/// <param name="notificationSenderEmail"> Email address from which the notification will be sent. </param>
/// <param name="provisioningState"> The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. </param>
/// <param name="targetProvisioningState"> The provisioning state of the API Management service, which is targeted by the long running operation started on the service. </param>
/// <param name="createdAtUtc"> Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. </param>
/// <param name="gatewayUri"> Gateway URL of the API Management service. </param>
/// <param name="gatewayRegionalUri"> Gateway URL of the API Management service in the Default Region. </param>
/// <param name="portalUri"> Publisher portal endpoint Url of the API Management service. </param>
/// <param name="managementApiUri"> Management API endpoint URL of the API Management service. </param>
/// <param name="scmUri"> SCM endpoint URL of the API Management service. </param>
/// <param name="developerPortalUri"> DEveloper Portal endpoint URL of the API Management service. </param>
/// <param name="hostnameConfigurations"> Custom hostname configuration of the API Management service. </param>
/// <param name="publicIPAddresses"> Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="privateIPAddresses"> Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. </param>
/// <param name="publicIPAddressId"> Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. </param>
/// <param name="publicNetworkAccess"> Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'. </param>
/// <param name="virtualNetworkConfiguration"> Virtual network configuration of the API Management service. </param>
/// <param name="additionalLocations"> Additional datacenter locations of the API Management service. </param>
/// <param name="customProperties"> Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384. </param>
/// <param name="certificates"> List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. </param>
/// <param name="enableClientCertificate"> Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. </param>
/// <param name="disableGateway"> Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. </param>
/// <param name="virtualNetworkType"> The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. </param>
/// <param name="minApiVersion"> Control Plane Apis version constraint for the API Management service. </param>
/// <param name="restore"> Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored. </param>
/// <param name="privateEndpointConnections"> List of Private Endpoint Connections of this service. </param>
/// <param name="platformVersion"> Compute Platform Version running the service in this location. </param>
/// <param name="publisherEmail"> Publisher email. </param>
/// <param name="publisherName"> Publisher name. </param>
/// <param name="tags"> Resource tags. </param>
/// <returns> A new <see cref="Models.ApiManagementServicePatch"/> instance for mocking. </returns>
public static ApiManagementServicePatch ApiManagementServicePatch(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ApiManagementServiceSkuProperties sku = null, ManagedServiceIdentity identity = null, ETag? etag = null, IEnumerable<string> zones = null, string notificationSenderEmail = null, string provisioningState = null, string targetProvisioningState = null, DateTimeOffset? createdAtUtc = null, Uri gatewayUri = null, Uri gatewayRegionalUri = null, Uri portalUri = null, Uri managementApiUri = null, Uri scmUri = null, Uri developerPortalUri = null, IEnumerable<HostnameConfiguration> hostnameConfigurations = null, IEnumerable<IPAddress> publicIPAddresses = null, IEnumerable<IPAddress> privateIPAddresses = null, ResourceIdentifier publicIPAddressId = null, PublicNetworkAccess? publicNetworkAccess = null, VirtualNetworkConfiguration virtualNetworkConfiguration = null, IEnumerable<AdditionalLocation> additionalLocations = null, IDictionary<string, string> customProperties = null, IEnumerable<CertificateConfiguration> certificates = null, bool? enableClientCertificate = null, bool? disableGateway = null, VirtualNetworkType? virtualNetworkType = null, string minApiVersion = null, bool? restore = null, IEnumerable<RemotePrivateEndpointConnectionWrapper> privateEndpointConnections = null, PlatformVersion? platformVersion = null, string publisherEmail = null, string publisherName = null, IDictionary<string, string> tags = null)
{
zones ??= new List<string>();
hostnameConfigurations ??= new List<HostnameConfiguration>();
publicIPAddresses ??= new List<IPAddress>();
privateIPAddresses ??= new List<IPAddress>();
additionalLocations ??= new List<AdditionalLocation>();
customProperties ??= new Dictionary<string, string>();
certificates ??= new List<CertificateConfiguration>();
privateEndpointConnections ??= new List<RemotePrivateEndpointConnectionWrapper>();
tags ??= new Dictionary<string, string>();
return new ApiManagementServicePatch(id, name, resourceType, systemData, sku, identity, etag, zones?.ToList(), notificationSenderEmail, provisioningState, targetProvisioningState, createdAtUtc, gatewayUri, gatewayRegionalUri, portalUri, managementApiUri, scmUri, developerPortalUri, hostnameConfigurations?.ToList(), publicIPAddresses?.ToList(), privateIPAddresses?.ToList(), publicIPAddressId, publicNetworkAccess, virtualNetworkConfiguration, additionalLocations?.ToList(), customProperties, certificates?.ToList(), enableClientCertificate, disableGateway, virtualNetworkType, minApiVersion != null ? new ApiVersionConstraint(minApiVersion) : null, restore, privateEndpointConnections?.ToList(), platformVersion, publisherEmail, publisherName, tags);
}
/// <summary> Initializes a new instance of ApiManagementServiceGetSsoTokenResult. </summary>
/// <param name="redirectUri"> Redirect URL to the Publisher Portal containing the SSO token. </param>
/// <returns> A new <see cref="Models.ApiManagementServiceGetSsoTokenResult"/> instance for mocking. </returns>
public static ApiManagementServiceGetSsoTokenResult ApiManagementServiceGetSsoTokenResult(Uri redirectUri = null)
{
return new ApiManagementServiceGetSsoTokenResult(redirectUri);
}
/// <summary> Initializes a new instance of ApiManagementServiceNameAvailabilityResult. </summary>
/// <param name="isNameAvailable"> True if the name is available and can be used to create a new API Management service; otherwise false. </param>
/// <param name="message"> If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that <resourceName> is already in use, and direct them to select a different name. </param>
/// <param name="reason"> Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable. </param>
/// <returns> A new <see cref="Models.ApiManagementServiceNameAvailabilityResult"/> instance for mocking. </returns>
public static ApiManagementServiceNameAvailabilityResult ApiManagementServiceNameAvailabilityResult(bool? isNameAvailable = null, string message = null, ApiManagementServiceNameUnavailableReason? reason = null)
{
return new ApiManagementServiceNameAvailabilityResult(isNameAvailable, message, reason);
}
/// <summary> Initializes a new instance of ApiManagementServiceGetDomainOwnershipIdentifierResult. </summary>
/// <param name="domainOwnershipIdentifier"> The domain ownership identifier value. </param>
/// <returns> A new <see cref="Models.ApiManagementServiceGetDomainOwnershipIdentifierResult"/> instance for mocking. </returns>
public static ApiManagementServiceGetDomainOwnershipIdentifierResult ApiManagementServiceGetDomainOwnershipIdentifierResult(string domainOwnershipIdentifier = null)
{
return new ApiManagementServiceGetDomainOwnershipIdentifierResult(domainOwnershipIdentifier);
}
/// <summary> Initializes a new instance of ApiManagementEmailTemplateData. </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="subject"> Subject of the Template. </param>
/// <param name="body"> Email Template Body. This should be a valid XDocument. </param>
/// <param name="title"> Title of the Template. </param>
/// <param name="description"> Description of the Email Template. </param>
/// <param name="isDefault"> Whether the template is the default template provided by API Management or has been edited. </param>
/// <param name="parameters"> Email Template Parameter values. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementEmailTemplateData"/> instance for mocking. </returns>
public static ApiManagementEmailTemplateData ApiManagementEmailTemplateData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string subject = null, string body = null, string title = null, string description = null, bool? isDefault = null, IEnumerable<EmailTemplateParametersContractProperties> parameters = null)
{
parameters ??= new List<EmailTemplateParametersContractProperties>();
return new ApiManagementEmailTemplateData(id, name, resourceType, systemData, subject, body, title, description, isDefault, parameters?.ToList());
}
/// <summary> Initializes a new instance of ApiManagementGatewayData. </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="locationData"> Gateway location. </param>
/// <param name="description"> Gateway description. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementGatewayData"/> instance for mocking. </returns>
public static ApiManagementGatewayData ApiManagementGatewayData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ResourceLocationDataContract locationData = null, string description = null)
{
return new ApiManagementGatewayData(id, name, resourceType, systemData, locationData, description);
}
/// <summary> Initializes a new instance of GatewayKeysContract. </summary>
/// <param name="primary"> Primary gateway key. </param>
/// <param name="secondary"> Secondary gateway key. </param>
/// <returns> A new <see cref="Models.GatewayKeysContract"/> instance for mocking. </returns>
public static GatewayKeysContract GatewayKeysContract(string primary = null, string secondary = null)
{
return new GatewayKeysContract(primary, secondary);
}
/// <summary> Initializes a new instance of GatewayTokenContract. </summary>
/// <param name="value"> Shared Access Authentication token value for the Gateway. </param>
/// <returns> A new <see cref="Models.GatewayTokenContract"/> instance for mocking. </returns>
public static GatewayTokenContract GatewayTokenContract(string value = null)
{
return new GatewayTokenContract(value);
}
/// <summary> Initializes a new instance of ApiManagementGatewayHostnameConfigurationData. </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="hostname"> Hostname value. Supports valid domain name, partial or full wildcard. </param>
/// <param name="certificateId"> Identifier of Certificate entity that will be used for TLS connection establishment. </param>
/// <param name="isClientCertificateRequired"> Determines whether gateway requests client certificate. </param>
/// <param name="isTls10Enabled"> Specifies if TLS 1.0 is supported. </param>
/// <param name="isTls11Enabled"> Specifies if TLS 1.1 is supported. </param>
/// <param name="isHttp20Enabled"> Specifies if HTTP/2.0 is supported. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementGatewayHostnameConfigurationData"/> instance for mocking. </returns>
public static ApiManagementGatewayHostnameConfigurationData ApiManagementGatewayHostnameConfigurationData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string hostname = null, string certificateId = null, bool? isClientCertificateRequired = null, bool? isTls10Enabled = null, bool? isTls11Enabled = null, bool? isHttp20Enabled = null)
{
return new ApiManagementGatewayHostnameConfigurationData(id, name, resourceType, systemData, hostname, certificateId, isClientCertificateRequired, isTls10Enabled, isTls11Enabled, isHttp20Enabled);
}
/// <summary> Initializes a new instance of GatewayApiData. </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="description"> Description of the API. May include HTML formatting tags. </param>
/// <param name="authenticationSettings"> Collection of authentication settings included into this API. </param>
/// <param name="subscriptionKeyParameterNames"> Protocols over which API is made available. </param>
/// <param name="apiType"> Type of API. </param>
/// <param name="apiRevision"> Describes the revision of the API. If no value is provided, default revision 1 is created. </param>
/// <param name="apiVersion"> Indicates the version identifier of the API if the API is versioned. </param>
/// <param name="isCurrent"> Indicates if API revision is current api revision. </param>
/// <param name="isOnline"> Indicates if API revision is accessible via the gateway. </param>
/// <param name="apiRevisionDescription"> Description of the API Revision. </param>
/// <param name="apiVersionDescription"> Description of the API Version. </param>
/// <param name="apiVersionSetId"> A resource identifier for the related ApiVersionSet. </param>
/// <param name="isSubscriptionRequired"> Specifies whether an API or Product subscription is required for accessing the API. </param>
/// <param name="termsOfServiceUri"> A URL to the Terms of Service for the API. MUST be in the format of a URL. </param>
/// <param name="contact"> Contact information for the API. </param>
/// <param name="license"> License information for the API. </param>
/// <param name="sourceApiId"> API identifier of the source API. </param>
/// <param name="displayName"> API name. Must be 1 to 300 characters long. </param>
/// <param name="serviceUri"> Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. </param>
/// <param name="path"> Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. </param>
/// <param name="protocols"> Describes on which protocols the operations in this API can be invoked. </param>
/// <param name="apiVersionSet"> Version set details. </param>
/// <returns> A new <see cref="Models.GatewayApiData"/> instance for mocking. </returns>
public static GatewayApiData GatewayApiData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string description = null, AuthenticationSettingsContract authenticationSettings = null, SubscriptionKeyParameterNamesContract subscriptionKeyParameterNames = null, ApiType? apiType = null, string apiRevision = null, string apiVersion = null, bool? isCurrent = null, bool? isOnline = null, string apiRevisionDescription = null, string apiVersionDescription = null, ResourceIdentifier apiVersionSetId = null, bool? isSubscriptionRequired = null, Uri termsOfServiceUri = null, ApiContactInformation contact = null, ApiLicenseInformation license = null, ResourceIdentifier sourceApiId = null, string displayName = null, Uri serviceUri = null, string path = null, IEnumerable<ApiOperationInvokableProtocol> protocols = null, ApiVersionSetContractDetails apiVersionSet = null)
{
protocols ??= new List<ApiOperationInvokableProtocol>();
return new GatewayApiData(id, name, resourceType, systemData, description, authenticationSettings, subscriptionKeyParameterNames, apiType, apiRevision, apiVersion, isCurrent, isOnline, apiRevisionDescription, apiVersionDescription, apiVersionSetId, isSubscriptionRequired, termsOfServiceUri, contact, license, sourceApiId, displayName, serviceUri, path, protocols?.ToList(), apiVersionSet);
}
/// <summary> Initializes a new instance of AssociationContract. </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="provisioningState"> Provisioning state. </param>
/// <returns> A new <see cref="Models.AssociationContract"/> instance for mocking. </returns>
public static AssociationContract AssociationContract(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AssociationEntityProvisioningState? provisioningState = null)
{
return new AssociationContract(id, name, resourceType, systemData, provisioningState);
}
/// <summary> Initializes a new instance of ApiManagementGatewayCertificateAuthorityData. </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="isTrusted"> Determines whether certificate authority is trusted. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementGatewayCertificateAuthorityData"/> instance for mocking. </returns>
public static ApiManagementGatewayCertificateAuthorityData ApiManagementGatewayCertificateAuthorityData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, bool? isTrusted = null)
{
return new ApiManagementGatewayCertificateAuthorityData(id, name, resourceType, systemData, isTrusted);
}
/// <summary> Initializes a new instance of ApiManagementGroupData. </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="displayName"> Group name. </param>
/// <param name="description"> Group description. Can contain HTML formatting tags. </param>
/// <param name="isBuiltIn"> true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false. </param>
/// <param name="groupType"> Group type. </param>
/// <param name="externalId"> For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementGroupData"/> instance for mocking. </returns>
public static ApiManagementGroupData ApiManagementGroupData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, string displayName = null, string description = null, bool? isBuiltIn = null, ApiManagementGroupType? groupType = null, string externalId = null)
{
return new ApiManagementGroupData(id, name, resourceType, systemData, displayName, description, isBuiltIn, groupType, externalId);
}
/// <summary> Initializes a new instance of GroupContractProperties. </summary>
/// <param name="displayName"> Group name. </param>
/// <param name="description"> Group description. Can contain HTML formatting tags. </param>
/// <param name="isBuiltIn"> true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false. </param>
/// <param name="apiManagementGroupType"> Group type. </param>
/// <param name="externalId"> For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. </param>
/// <returns> A new <see cref="Models.GroupContractProperties"/> instance for mocking. </returns>
public static GroupContractProperties GroupContractProperties(string displayName = null, string description = null, bool? isBuiltIn = null, ApiManagementGroupType? apiManagementGroupType = null, string externalId = null)
{
return new GroupContractProperties(displayName, description, isBuiltIn, apiManagementGroupType, externalId);
}
/// <summary> Initializes a new instance of ApiManagementGroupUserData. </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="state"> Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. </param>
/// <param name="note"> Optional note about a user set by the administrator. </param>
/// <param name="identities"> Collection of user identities. </param>
/// <param name="firstName"> First name. </param>
/// <param name="lastName"> Last name. </param>
/// <param name="email"> Email address. </param>
/// <param name="registriesOn">
/// Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
///
/// </param>
/// <param name="groups"> Collection of groups user is part of. </param>
/// <returns> A new <see cref="Models.ApiManagementGroupUserData"/> instance for mocking. </returns>
public static ApiManagementGroupUserData ApiManagementGroupUserData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ApiManagementUserState? state = null, string note = null, IEnumerable<UserIdentityContract> identities = null, string firstName = null, string lastName = null, string email = null, DateTimeOffset? registriesOn = null, IEnumerable<GroupContractProperties> groups = null)
{
identities ??= new List<UserIdentityContract>();
groups ??= new List<GroupContractProperties>();
return new ApiManagementGroupUserData(id, name, resourceType, systemData, state, note, identities?.ToList(), firstName, lastName, email, registriesOn, groups?.ToList());
}
/// <summary> Initializes a new instance of UserContractData. </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="state"> Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. </param>
/// <param name="note"> Optional note about a user set by the administrator. </param>
/// <param name="identities"> Collection of user identities. </param>
/// <param name="firstName"> First name. </param>
/// <param name="lastName"> Last name. </param>
/// <param name="email"> Email address. </param>
/// <param name="registriesOn">
/// Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
///
/// </param>
/// <param name="groups"> Collection of groups user is part of. </param>
/// <returns> A new <see cref="ApiManagement.UserContractData"/> instance for mocking. </returns>
public static UserContractData UserContractData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, ApiManagementUserState? state = null, string note = null, IEnumerable<UserIdentityContract> identities = null, string firstName = null, string lastName = null, string email = null, DateTimeOffset? registriesOn = null, IEnumerable<GroupContractProperties> groups = null)
{
identities ??= new List<UserIdentityContract>();
groups ??= new List<GroupContractProperties>();
return new UserContractData(id, name, resourceType, systemData, state, note, identities?.ToList(), firstName, lastName, email, registriesOn, groups?.ToList());
}
/// <summary> Initializes a new instance of ApiManagementIdentityProviderData. </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="identityProviderType"> Identity Provider Type identifier. </param>
/// <param name="signInTenant"> The TenantId to use instead of Common when logging into Active Directory. </param>
/// <param name="allowedTenants"> List of Allowed Tenants when configuring Azure Active Directory login. </param>
/// <param name="authority"> OpenID Connect discovery endpoint hostname for AAD or AAD B2C. </param>
/// <param name="signUpPolicyName"> Signup Policy Name. Only applies to AAD B2C Identity Provider. </param>
/// <param name="signInPolicyName"> Signin Policy Name. Only applies to AAD B2C Identity Provider. </param>
/// <param name="profileEditingPolicyName"> Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. </param>
/// <param name="passwordResetPolicyName"> Password Reset Policy Name. Only applies to AAD B2C Identity Provider. </param>
/// <param name="clientId"> Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. </param>
/// <param name="clientSecret"> Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. </param>
/// <returns> A new <see cref="ApiManagement.ApiManagementIdentityProviderData"/> instance for mocking. </returns>
public static ApiManagementIdentityProviderData ApiManagementIdentityProviderData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IdentityProviderType? identityProviderType = null, string signInTenant = null, IEnumerable<string> allowedTenants = null, string authority = null, string signUpPolicyName = null, string signInPolicyName = null, string profileEditingPolicyName = null, string passwordResetPolicyName = null, string clientId = null, string clientSecret = null)