@@ -187,7 +187,7 @@ public async Task<string> GetAPISchemaDetailsAsync(string ApiManagementName, str
187
187
return await CallApiManagementAsync ( azToken , requestUrl ) ;
188
188
}
189
189
190
- public async Task < List < TemplateResource > > GenerateSingleAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl )
190
+ public async Task < List < TemplateResource > > GenerateSingleAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl , string policyXMLSasToken )
191
191
{
192
192
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
193
193
string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , apiName ) ;
@@ -286,7 +286,14 @@ public async Task<List<TemplateResource>> GenerateSingleAPIResourceAsync(string
286
286
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
287
287
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , operationPolicyFileName ) ) ;
288
288
operationPolicyResource . properties . format = "rawxml-link" ;
289
- operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ')]";
289
+ if ( policyXMLSasToken != null )
290
+ {
291
+ operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ', parameters('PolicyXMLSasToken'))]";
292
+ }
293
+ else
294
+ {
295
+ operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ')]";
296
+ }
290
297
}
291
298
292
299
templateResources . Add ( operationPolicyResource ) ;
@@ -340,7 +347,14 @@ public async Task<List<TemplateResource>> GenerateSingleAPIResourceAsync(string
340
347
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
341
348
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , apiPolicyFileName ) ) ;
342
349
apiPoliciesResource . properties . format = "rawxml-link" ;
343
- apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ')]";
350
+ if ( policyXMLSasToken != null )
351
+ {
352
+ apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ', parameters('PolicyXMLSasToken'))]";
353
+ }
354
+ else
355
+ {
356
+ apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ')]";
357
+ }
344
358
}
345
359
templateResources . Add ( apiPoliciesResource ) ;
346
360
}
@@ -432,11 +446,11 @@ public async Task<List<TemplateResource>> GenerateSingleAPIResourceAsync(string
432
446
public async Task < Template > GenerateAPIRevisionTemplateAsync ( string currentRevision , List < string > revList , string apiName , Extractor exc )
433
447
{
434
448
// generate apiTemplate
435
- Template armTemplate = GenerateEmptyTemplateWithParameters ( exc . policyXMLBaseUrl ) ;
449
+ Template armTemplate = GenerateEmptyTemplateWithParameters ( exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
436
450
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
437
451
Console . WriteLine ( "{0} APIs found ..." , revList . Count ( ) . ToString ( ) ) ;
438
452
439
- List < TemplateResource > apiResources = await GenerateSingleAPIResourceAsync ( apiName , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl ) ;
453
+ List < TemplateResource > apiResources = await GenerateSingleAPIResourceAsync ( apiName , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
440
454
templateResources . AddRange ( apiResources ) ;
441
455
442
456
foreach ( string curApi in revList )
@@ -445,14 +459,14 @@ public async Task<Template> GenerateAPIRevisionTemplateAsync(string currentRevis
445
459
if ( curApi . Equals ( currentRevision ) )
446
460
{
447
461
// add current API revision resource to template
448
- apiResources = await GenerateCurrentRevisionAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl ) ;
462
+ apiResources = await GenerateCurrentRevisionAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
449
463
templateResources . AddRange ( apiResources ) ;
450
464
}
451
465
else
452
466
{
453
467
// add other API revision resources to template
454
- apiResources = await GenerateSingleAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl ) ;
455
-
468
+ apiResources = await GenerateSingleAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
469
+
456
470
// make current API a dependency to other revisions, in case destination apim doesn't have the this API
457
471
TemplateResource apiResource = apiResources . FirstOrDefault ( resource => resource . type == ResourceTypeConstants . API ) as TemplateResource ;
458
472
List < TemplateResource > newResourcesList = ExtractorUtils . removeResourceType ( ResourceTypeConstants . API , apiResources ) ;
@@ -470,7 +484,7 @@ public async Task<Template> GenerateAPIRevisionTemplateAsync(string currentRevis
470
484
}
471
485
472
486
// this function will get the current revision of this api and will remove "isCurrent" paramter
473
- public async Task < List < TemplateResource > > GenerateCurrentRevisionAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl )
487
+ public async Task < List < TemplateResource > > GenerateCurrentRevisionAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl , string policyXMLSasToken )
474
488
{
475
489
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
476
490
string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , apiName ) ;
@@ -568,7 +582,14 @@ public async Task<List<TemplateResource>> GenerateCurrentRevisionAPIResourceAsyn
568
582
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
569
583
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , operationPolicyFileName ) ) ;
570
584
operationPolicyResource . properties . format = "rawxml-link" ;
571
- operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ')]";
585
+ if ( policyXMLSasToken != null )
586
+ {
587
+ operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ', parameters('PolicyXMLSasToken'))]";
588
+ }
589
+ else
590
+ {
591
+ operationPolicyResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ operationPolicyFileName } ')]";
592
+ }
572
593
}
573
594
574
595
templateResources . Add ( operationPolicyResource ) ;
@@ -622,7 +643,14 @@ public async Task<List<TemplateResource>> GenerateCurrentRevisionAPIResourceAsyn
622
643
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
623
644
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , apiPolicyFileName ) ) ;
624
645
apiPoliciesResource . properties . format = "rawxml-link" ;
625
- apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ')]";
646
+ if ( policyXMLSasToken != null )
647
+ {
648
+ apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ', parameters('PolicyXMLSasToken'))]";
649
+ }
650
+ else
651
+ {
652
+ apiPoliciesResource . properties . value = $ "[concat(parameters('PolicyXMLBaseUrl'), '{ apiPolicyFileName } ')]";
653
+ }
626
654
}
627
655
templateResources . Add ( apiPoliciesResource ) ;
628
656
}
@@ -710,10 +738,10 @@ public async Task<List<TemplateResource>> GenerateCurrentRevisionAPIResourceAsyn
710
738
return templateResources ;
711
739
}
712
740
713
- public async Task < Template > GenerateAPIsARMTemplateAsync ( string apimname , string resourceGroup , string singleApiName , List < string > multipleApiNames , string policyXMLBaseUrl , string fileFolder )
741
+ public async Task < Template > GenerateAPIsARMTemplateAsync ( string apimname , string resourceGroup , string singleApiName , List < string > multipleApiNames , string policyXMLBaseUrl , string policyXMLSasToken , string fileFolder )
714
742
{
715
743
// initialize arm template
716
- Template armTemplate = GenerateEmptyTemplateWithParameters ( policyXMLBaseUrl ) ;
744
+ Template armTemplate = GenerateEmptyTemplateWithParameters ( policyXMLBaseUrl , policyXMLSasToken ) ;
717
745
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
718
746
719
747
// when extract single API
@@ -724,7 +752,7 @@ public async Task<Template> GenerateAPIsARMTemplateAsync(string apimname, string
724
752
{
725
753
string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , singleApiName ) ;
726
754
Console . WriteLine ( "{0} API found ..." , singleApiName ) ;
727
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( singleApiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl ) ) ;
755
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( singleApiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
728
756
}
729
757
catch ( Exception )
730
758
{
@@ -737,7 +765,7 @@ public async Task<Template> GenerateAPIsARMTemplateAsync(string apimname, string
737
765
Console . WriteLine ( "{0} APIs found ..." , multipleApiNames . Count ( ) . ToString ( ) ) ;
738
766
foreach ( string apiName in multipleApiNames )
739
767
{
740
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl ) ) ;
768
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
741
769
}
742
770
}
743
771
// when extract all APIs and generate one master template
@@ -749,7 +777,7 @@ public async Task<Template> GenerateAPIsARMTemplateAsync(string apimname, string
749
777
foreach ( JToken oApi in oApis )
750
778
{
751
779
string apiName = ( ( JValue ) oApi [ "name" ] ) . Value . ToString ( ) ;
752
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl ) ) ;
780
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
753
781
}
754
782
}
755
783
armTemplate . resources = templateResources . ToArray ( ) ;
0 commit comments