@@ -14,7 +14,8 @@ public ExtractCommand()
14
14
this . Name = GlobalConstants . ExtractName ;
15
15
this . Description = GlobalConstants . ExtractDescription ;
16
16
17
- var apiManagementName = this . Option ( "--name <apimname>" , "API Management name" , CommandOptionType . SingleValue ) ;
17
+ var sourceApimName = this . Option ( "--sourceApimName <sourceApimName>" , "Source API Management name" , CommandOptionType . SingleValue ) ;
18
+ var destinationAPIManagementName = this . Option ( "--destinationApimName <destinationApimName>" , "Destination API Management name" , CommandOptionType . SingleValue ) ;
18
19
var resourceGroupName = this . Option ( "--resourceGroup <resourceGroup>" , "Resource Group name" , CommandOptionType . SingleValue ) ;
19
20
var fileFolderName = this . Option ( "--fileFolder <filefolder>" , "ARM Template files folder" , CommandOptionType . SingleValue ) ;
20
21
var apiName = this . Option ( "--apiName <apiName>" , "API name" , CommandOptionType . SingleValue ) ;
@@ -24,13 +25,15 @@ public ExtractCommand()
24
25
25
26
this . OnExecute ( async ( ) =>
26
27
{
27
- if ( ! apiManagementName . HasValue ( ) ) throw new Exception ( "Missing parameter <apimname>." ) ;
28
+ if ( ! sourceApimName . HasValue ( ) ) throw new Exception ( "Missing parameter <sourceApimName>." ) ;
29
+ if ( ! destinationAPIManagementName . HasValue ( ) ) throw new Exception ( "Missing parameter <destinationApimName>." ) ;
28
30
if ( ! resourceGroupName . HasValue ( ) ) throw new Exception ( "Missing parameter <resourceGroup>." ) ;
29
31
if ( ! fileFolderName . HasValue ( ) ) throw new Exception ( "Missing parameter <filefolder>." ) ;
30
32
31
33
// isolate cli parameters
32
34
string resourceGroup = resourceGroupName . Values [ 0 ] . ToString ( ) ;
33
- string apimname = apiManagementName . Values [ 0 ] . ToString ( ) ;
35
+ string sourceApim = sourceApimName . Values [ 0 ] . ToString ( ) ;
36
+ string destinationApim = destinationAPIManagementName . Values [ 0 ] . ToString ( ) ;
34
37
string fileFolder = fileFolderName . Values [ 0 ] . ToString ( ) ;
35
38
string linkedBaseUrl = linkedBaseUrlName . Values [ 0 ] . ToString ( ) ;
36
39
string singleApiName = null ;
@@ -42,7 +45,7 @@ public ExtractCommand()
42
45
43
46
Console . WriteLine ( "API Management Template" ) ;
44
47
Console . WriteLine ( ) ;
45
- Console . WriteLine ( "Connecting to {0} API Management Service on {1} Resource Group ..." , apimname , resourceGroup ) ;
48
+ Console . WriteLine ( "Connecting to {0} API Management Service on {1} Resource Group ..." , sourceApim , resourceGroup ) ;
46
49
if ( singleApiName != null )
47
50
{
48
51
Console . WriteLine ( "Executing extraction for {0} API ..." , singleApiName ) ;
@@ -55,7 +58,7 @@ public ExtractCommand()
55
58
// initialize file helper classes
56
59
FileWriter fileWriter = new FileWriter ( ) ;
57
60
FileNameGenerator fileNameGenerator = new FileNameGenerator ( ) ;
58
- FileNames fileNames = fileNameGenerator . GenerateFileNames ( apimname ) ;
61
+ FileNames fileNames = fileNameGenerator . GenerateFileNames ( sourceApim ) ;
59
62
60
63
// initialize entity extractor classes
61
64
APIExtractor apiExtractor = new APIExtractor ( ) ;
@@ -68,21 +71,21 @@ public ExtractCommand()
68
71
MasterTemplateExtractor masterTemplateExtractor = new MasterTemplateExtractor ( ) ;
69
72
70
73
// extract templates from apim service
71
- Template apiTemplate = await apiExtractor . GenerateAPIsARMTemplate ( apimname , resourceGroup , fileFolder , singleApiName ) ;
74
+ Template apiTemplate = await apiExtractor . GenerateAPIsARMTemplate ( sourceApim , resourceGroup , fileFolder , singleApiName ) ;
72
75
List < TemplateResource > apiTemplateResources = apiTemplate . resources . ToList ( ) ;
73
- Template apiVersionSetTemplate = await apiVersionSetExtractor . GenerateAPIVersionSetsARMTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources ) ;
74
- Template authorizationServerTemplate = await authorizationServerExtractor . GenerateAuthorizationServersARMTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources ) ;
75
- Template loggerTemplate = await loggerExtractor . GenerateLoggerTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources ) ;
76
- Template productTemplate = await productExtractor . GenerateProductsARMTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources ) ;
77
- Template namedValueTemplate = await propertyExtractor . GenerateNamedValuesTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources ) ;
76
+ Template apiVersionSetTemplate = await apiVersionSetExtractor . GenerateAPIVersionSetsARMTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources ) ;
77
+ Template authorizationServerTemplate = await authorizationServerExtractor . GenerateAuthorizationServersARMTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources ) ;
78
+ Template loggerTemplate = await loggerExtractor . GenerateLoggerTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources ) ;
79
+ Template productTemplate = await productExtractor . GenerateProductsARMTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources ) ;
80
+ Template namedValueTemplate = await propertyExtractor . GenerateNamedValuesTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources ) ;
78
81
List < TemplateResource > namedValueResources = namedValueTemplate . resources . ToList ( ) ;
79
- Template backendTemplate = await backendExtractor . GenerateBackendsARMTemplate ( apimname , resourceGroup , singleApiName , apiTemplateResources , namedValueResources ) ;
82
+ Template backendTemplate = await backendExtractor . GenerateBackendsARMTemplate ( sourceApim , resourceGroup , singleApiName , apiTemplateResources , namedValueResources ) ;
80
83
81
84
// create parameters file
82
- Template templateParameters = masterTemplateExtractor . CreateMasterTemplateParameterValues ( apimname , linkedBaseUrl ) ;
85
+ Template templateParameters = masterTemplateExtractor . CreateMasterTemplateParameterValues ( destinationApim , linkedBaseUrl ) ;
83
86
84
87
// write templates to output file location
85
- string apiFileName = fileNameGenerator . GenerateExtractorAPIFileName ( singleApiName , apimname ) ;
88
+ string apiFileName = fileNameGenerator . GenerateExtractorAPIFileName ( singleApiName , sourceApim ) ;
86
89
fileWriter . WriteJSONToFile ( apiTemplate , String . Concat ( @fileFolder , apiFileName ) ) ;
87
90
fileWriter . WriteJSONToFile ( apiVersionSetTemplate , String . Concat ( @fileFolder , fileNames . apiVersionSets ) ) ;
88
91
fileWriter . WriteJSONToFile ( authorizationServerTemplate , String . Concat ( @fileFolder , fileNames . authorizationServers ) ) ;
@@ -94,7 +97,7 @@ public ExtractCommand()
94
97
if ( linkedBaseUrl != null )
95
98
{
96
99
// create a master template that links to all other templates
97
- Template masterTemplate = masterTemplateExtractor . GenerateLinkedMasterTemplate ( apiTemplate , apiVersionSetTemplate , productTemplate , loggerTemplate , backendTemplate , authorizationServerTemplate , namedValueTemplate , fileNames ) ;
100
+ Template masterTemplate = masterTemplateExtractor . GenerateLinkedMasterTemplate ( apiTemplate , apiVersionSetTemplate , productTemplate , loggerTemplate , backendTemplate , authorizationServerTemplate , namedValueTemplate , fileNames , apiFileName ) ;
98
101
fileWriter . WriteJSONToFile ( masterTemplate , String . Concat ( @fileFolder , fileNames . linkedMaster ) ) ;
99
102
}
100
103
0 commit comments