@@ -188,9 +188,10 @@ public async Task<string> GetAPISchemaDetailsAsync(string ApiManagementName, str
188
188
return await CallApiManagementAsync ( azToken , requestUrl ) ;
189
189
}
190
190
191
- public async Task < List < TemplateResource > > GenerateSingleAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl , string policyXMLSasToken )
191
+ public async Task < List < TemplateResource > > GenerateSingleAPIResourceAsync ( string apiName , Extractor exc )
192
192
{
193
193
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
194
+ string apimname = exc . sourceApimName , resourceGroup = exc . resourceGroup , fileFolder = exc . fileFolder , policyXMLBaseUrl = exc . policyXMLBaseUrl , policyXMLSasToken = exc . policyXMLSasToken ;
194
195
string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , apiName ) ;
195
196
196
197
Console . WriteLine ( "------------------------------------------" ) ;
@@ -283,7 +284,7 @@ public async Task<List<TemplateResource>> GenerateSingleAPIResourceAsync(string
283
284
{
284
285
string policyXMLContent = operationPolicyResource . properties . value ;
285
286
string policyFolder = String . Concat ( fileFolder , $@ "/policies") ;
286
- string operationPolicyFileName = $@ "/{ operationName } -operationPolicy.xml";
287
+ string operationPolicyFileName = $@ "/{ apiName } - { operationName } -operationPolicy.xml";
287
288
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
288
289
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , operationPolicyFileName ) ) ;
289
290
operationPolicyResource . properties . format = "rawxml-link" ;
@@ -451,7 +452,7 @@ public async Task<Template> GenerateAPIRevisionTemplateAsync(string currentRevis
451
452
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
452
453
Console . WriteLine ( "{0} APIs found ..." , revList . Count ( ) . ToString ( ) ) ;
453
454
454
- List < TemplateResource > apiResources = await GenerateSingleAPIResourceAsync ( apiName , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
455
+ List < TemplateResource > apiResources = await GenerateSingleAPIResourceAsync ( apiName , exc ) ;
455
456
templateResources . AddRange ( apiResources ) ;
456
457
457
458
foreach ( string curApi in revList )
@@ -460,13 +461,13 @@ public async Task<Template> GenerateAPIRevisionTemplateAsync(string currentRevis
460
461
if ( curApi . Equals ( currentRevision ) )
461
462
{
462
463
// add current API revision resource to template
463
- apiResources = await GenerateCurrentRevisionAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
464
+ apiResources = await GenerateCurrentRevisionAPIResourceAsync ( curApi , exc ) ;
464
465
templateResources . AddRange ( apiResources ) ;
465
466
}
466
467
else
467
468
{
468
469
// add other API revision resources to template
469
- apiResources = await GenerateSingleAPIResourceAsync ( curApi , exc . sourceApimName , exc . resourceGroup , exc . fileFolder , exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
470
+ apiResources = await GenerateSingleAPIResourceAsync ( curApi , exc ) ;
470
471
471
472
// make current API a dependency to other revisions, in case destination apim doesn't have the this API
472
473
TemplateResource apiResource = apiResources . FirstOrDefault ( resource => resource . type == ResourceTypeConstants . API ) as TemplateResource ;
@@ -485,9 +486,10 @@ public async Task<Template> GenerateAPIRevisionTemplateAsync(string currentRevis
485
486
}
486
487
487
488
// this function will get the current revision of this api and will remove "isCurrent" paramter
488
- public async Task < List < TemplateResource > > GenerateCurrentRevisionAPIResourceAsync ( string apiName , string apimname , string resourceGroup , string fileFolder , string policyXMLBaseUrl , string policyXMLSasToken )
489
+ public async Task < List < TemplateResource > > GenerateCurrentRevisionAPIResourceAsync ( string apiName , Extractor exc )
489
490
{
490
491
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
492
+ string apimname = exc . sourceApimName , resourceGroup = exc . resourceGroup , fileFolder = exc . fileFolder , policyXMLBaseUrl = exc . policyXMLBaseUrl , policyXMLSasToken = exc . policyXMLSasToken ;
491
493
string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , apiName ) ;
492
494
Console . WriteLine ( "------------------------------------------" ) ;
493
495
Console . WriteLine ( "Extracting resources from {0} API:" , apiName ) ;
@@ -579,7 +581,7 @@ public async Task<List<TemplateResource>> GenerateCurrentRevisionAPIResourceAsyn
579
581
{
580
582
string policyXMLContent = operationPolicyResource . properties . value ;
581
583
string policyFolder = String . Concat ( fileFolder , $@ "/policies") ;
582
- string operationPolicyFileName = $@ "/{ operationName } -operationPolicy.xml";
584
+ string operationPolicyFileName = $@ "/{ apiName } - { operationName } -operationPolicy.xml";
583
585
this . fileWriter . CreateFolderIfNotExists ( policyFolder ) ;
584
586
this . fileWriter . WriteXMLToFile ( policyXMLContent , String . Concat ( policyFolder , operationPolicyFileName ) ) ;
585
587
operationPolicyResource . properties . format = "rawxml-link" ;
@@ -739,10 +741,10 @@ public async Task<List<TemplateResource>> GenerateCurrentRevisionAPIResourceAsyn
739
741
return templateResources ;
740
742
}
741
743
742
- public async Task < Template > GenerateAPIsARMTemplateAsync ( string apimname , string resourceGroup , string singleApiName , List < string > multipleApiNames , string policyXMLBaseUrl , string policyXMLSasToken , string fileFolder )
744
+ public async Task < Template > GenerateAPIsARMTemplateAsync ( string singleApiName , List < string > multipleApiNames , Extractor exc )
743
745
{
744
746
// initialize arm template
745
- Template armTemplate = GenerateEmptyTemplateWithParameters ( policyXMLBaseUrl , policyXMLSasToken ) ;
747
+ Template armTemplate = GenerateEmptyTemplateWithParameters ( exc . policyXMLBaseUrl , exc . policyXMLSasToken ) ;
746
748
List < TemplateResource > templateResources = new List < TemplateResource > ( ) ;
747
749
748
750
// when extract single API
@@ -751,9 +753,9 @@ public async Task<Template> GenerateAPIsARMTemplateAsync(string apimname, string
751
753
// check if this api exist
752
754
try
753
755
{
754
- string apiDetails = await GetAPIDetailsAsync ( apimname , resourceGroup , singleApiName ) ;
756
+ string apiDetails = await GetAPIDetailsAsync ( exc . sourceApimName , exc . resourceGroup , singleApiName ) ;
755
757
Console . WriteLine ( "{0} API found ..." , singleApiName ) ;
756
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( singleApiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
758
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( singleApiName , exc ) ) ;
757
759
}
758
760
catch ( Exception )
759
761
{
@@ -766,19 +768,19 @@ public async Task<Template> GenerateAPIsARMTemplateAsync(string apimname, string
766
768
Console . WriteLine ( "{0} APIs found ..." , multipleApiNames . Count ( ) . ToString ( ) ) ;
767
769
foreach ( string apiName in multipleApiNames )
768
770
{
769
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
771
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , exc ) ) ;
770
772
}
771
773
}
772
774
// when extract all APIs and generate one master template
773
775
else
774
776
{
775
- JToken [ ] oApis = await GetAllAPIObjsAsync ( apimname , resourceGroup ) ;
777
+ JToken [ ] oApis = await GetAllAPIObjsAsync ( exc . sourceApimName , exc . resourceGroup ) ;
776
778
Console . WriteLine ( "{0} APIs found ..." , ( oApis . Count ( ) . ToString ( ) ) ) ;
777
779
778
780
foreach ( JToken oApi in oApis )
779
781
{
780
782
string apiName = ( ( JValue ) oApi [ "name" ] ) . Value . ToString ( ) ;
781
- templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , apimname , resourceGroup , fileFolder , policyXMLBaseUrl , policyXMLSasToken ) ) ;
783
+ templateResources . AddRange ( await GenerateSingleAPIResourceAsync ( apiName , exc ) ) ;
782
784
}
783
785
}
784
786
armTemplate . resources = templateResources . ToArray ( ) ;
0 commit comments