Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 81e52d0

Browse files
authored
[Extractor]Param loggerResourceId && Refactor (#345)
1 parent d16fcb0 commit 81e52d0

28 files changed

+296
-160
lines changed

src/APIM_ARMTemplate/apimtemplate/Common/Constants/GlobalConstants.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,28 @@ internal static class GlobalConstants
1616
public const int NumOfRecords = 100;
1717

1818
public const string azAccessToken = "account get-access-token --query \"accessToken\" --output json";
19-
public const string azSubscriptionId = "account show --query id -o json";
19+
public const string azSubscriptionId = "account show --query id -o json";
20+
}
21+
22+
public static class ParameterNames
23+
{
24+
public const string ApiLoggerId = "ApiLoggerId";
25+
public const string NamedValues = "NamedValues";
26+
public const string LoggerResourceId = "LoggerResourceId";
27+
public const string ServiceUrl = "serviceUrl";
28+
public const string PolicyXMLSasToken = "PolicyXMLSasToken";
29+
public const string PolicyXMLBaseUrl = "PolicyXMLBaseUrl";
30+
public const string LinkedTemplatesUrlQueryString = "LinkedTemplatesUrlQueryString";
31+
public const string LinkedTemplatesSasToken = "LinkedTemplatesSasToken";
32+
public const string ApimServiceName = "ApimServiceName";
33+
public const string LinkedTemplatesBaseUrl = "LinkedTemplatesBaseUrl";
34+
}
35+
36+
public static class ParameterPrefix
37+
{
38+
public const string Api = "Api";
39+
public const string Diagnostic = "Diagnostic";
40+
public const string Property = "Property";
41+
public const string LogResourceId = "LogResourceId";
2042
}
2143
}

src/APIM_ARMTemplate/apimtemplate/Common/FileHandlers/FileNameGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ public string GenerateCreatorAPIFileName(string apiName, bool isSplitAPI, bool i
4343
}
4444
}
4545

46-
public string GenerateExtractorAPIFileName(string singleAPIName, string apimServiceName)
46+
public string GenerateExtractorAPIFileName(string singleAPIName, string baseFileName)
4747
{
48-
return singleAPIName == null ? $@"/{apimServiceName}-apis.template.json" : $@"/{apimServiceName}-{singleAPIName}-api.template.json";
48+
return singleAPIName == null ? $@"/{baseFileName}-apis.template.json" : $@"/{baseFileName}-{singleAPIName}-api.template.json";
4949
}
5050

5151
public string GenerateOriginalAPIName(string apiName)

src/APIM_ARMTemplate/apimtemplate/Common/TemplateModels/Template.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class TemplateParameterProperties {
2222
public string value { get; set; }
2323
}
2424

25-
public class TemplateServiceUrlProperties: TemplateParameterProperties {
25+
public class TemplateObjectParameterProperties: TemplateParameterProperties {
2626
public new object value { get; set; }
2727
}
2828

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/APITemplateCreator.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public async Task<Template> CreateAPITemplateAsync(APIConfig api, bool isSplit,
6363
// add parameters
6464
apiTemplate.parameters = new Dictionary<string, TemplateParameterProperties>
6565
{
66-
{ "ApimServiceName", new TemplateParameterProperties(){ type = "string" } }
66+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ type = "string" } }
6767
};
6868

6969
List<TemplateResource> resources = new List<TemplateResource>();
@@ -84,7 +84,7 @@ public List<TemplateResource> CreateChildResourceTemplates(APIConfig api)
8484
{
8585
List<TemplateResource> resources = new List<TemplateResource>();
8686
// all child resources will depend on the api
87-
string[] dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/apis', parameters('ApimServiceName'), '{api.name}')]" };
87+
string[] dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/apis', parameters('{ParameterNames.ApimServiceName}'), '{api.name}')]" };
8888

8989
PolicyTemplateResource apiPolicyResource = api.policy != null ? this.policyTemplateCreator.CreateAPIPolicyTemplateResource(api, dependsOn) : null;
9090
List<PolicyTemplateResource> operationPolicyResources = api.operations != null ? this.policyTemplateCreator.CreateOperationPolicyTemplateResources(api, dependsOn) : null;
@@ -110,7 +110,7 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
110110
// create api resource
111111
APITemplateResource apiTemplateResource = new APITemplateResource()
112112
{
113-
name = $"[concat(parameters('ApimServiceName'), '/{api.name}')]",
113+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]",
114114
type = ResourceTypeConstants.API,
115115
apiVersion = GlobalConstants.APIVersion,
116116
properties = new APITemplateProperties(),
@@ -140,7 +140,7 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
140140
if (api.apiVersionSetId != null)
141141
{
142142
// point to the supplied version set if the apiVersionSetId is provided
143-
apiTemplateResource.properties.apiVersionSetId = $"[resourceId('Microsoft.ApiManagement/service/apiVersionSets', parameters('ApimServiceName'), '{api.apiVersionSetId}')]";
143+
apiTemplateResource.properties.apiVersionSetId = $"[resourceId('Microsoft.ApiManagement/service/apiVersionSets', parameters('{ParameterNames.ApimServiceName}'), '{api.apiVersionSetId}')]";
144144
}
145145
// set the authorization server id
146146
if (api.authenticationSettings != null && api.authenticationSettings.oAuth2 != null && api.authenticationSettings.oAuth2.authorizationServerId != null

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/APIVersionSetTemplateCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public Template CreateAPIVersionSetTemplate(CreatorConfig creatorConfig)
1313
// add parameters
1414
apiVersionSetTemplate.parameters = new Dictionary<string, TemplateParameterProperties>
1515
{
16-
{ "ApimServiceName", new TemplateParameterProperties(){ type = "string" } }
16+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ type = "string" } }
1717
};
1818

1919
List<TemplateResource> resources = new List<TemplateResource>();
@@ -24,7 +24,7 @@ public Template CreateAPIVersionSetTemplate(CreatorConfig creatorConfig)
2424
string versionSetId = (apiVersionSet != null && apiVersionSet.id != null) ? apiVersionSet.id : "versionset";
2525
APIVersionSetTemplateResource apiVersionSetTemplateResource = new APIVersionSetTemplateResource()
2626
{
27-
name = $"[concat(parameters('ApimServiceName'), '/{versionSetId}')]",
27+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{versionSetId}')]",
2828
type = ResourceTypeConstants.APIVersionSet,
2929
apiVersion = GlobalConstants.APIVersion,
3030
properties = new APIVersionSetProperties()

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/AuthorizationServerTemplateCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public Template CreateAuthorizationServerTemplate(CreatorConfig creatorConfig)
1313
// add parameters
1414
authorizationTemplate.parameters = new Dictionary<string, TemplateParameterProperties>
1515
{
16-
{ "ApimServiceName", new TemplateParameterProperties(){ type = "string" } }
16+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ type = "string" } }
1717
};
1818

1919
List<TemplateResource> resources = new List<TemplateResource>();
@@ -22,7 +22,7 @@ public Template CreateAuthorizationServerTemplate(CreatorConfig creatorConfig)
2222
// create authorization server resource with properties
2323
AuthorizationServerTemplateResource authorizationServerTemplateResource = new AuthorizationServerTemplateResource()
2424
{
25-
name = $"[concat(parameters('ApimServiceName'), '/{authorizationServerTemplateProperties.displayName}')]",
25+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{authorizationServerTemplateProperties.displayName}')]",
2626
type = ResourceTypeConstants.AuthorizationServer,
2727
apiVersion = GlobalConstants.APIVersion,
2828
properties = authorizationServerTemplateProperties,

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/BackendTemplateCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public Template CreateBackendTemplate(CreatorConfig creatorConfig)
1313
// add parameters
1414
backendTemplate.parameters = new Dictionary<string, TemplateParameterProperties>
1515
{
16-
{ "ApimServiceName", new TemplateParameterProperties(){ type = "string" } }
16+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ type = "string" } }
1717
};
1818

1919
List<TemplateResource> resources = new List<TemplateResource>();
@@ -22,7 +22,7 @@ public Template CreateBackendTemplate(CreatorConfig creatorConfig)
2222
// create backend resource with properties
2323
BackendTemplateResource backendTemplateResource = new BackendTemplateResource()
2424
{
25-
name = $"[concat(parameters('ApimServiceName'), '/{backendTemplatePropeties.title}')]",
25+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{backendTemplatePropeties.title}')]",
2626
type = ResourceTypeConstants.Backend,
2727
apiVersion = GlobalConstants.APIVersion,
2828
properties = backendTemplatePropeties,

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/DiagnosticTemplateCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public DiagnosticTemplateResource CreateAPIDiagnosticTemplateResource(APIConfig
99
// create diagnostic resource with properties
1010
DiagnosticTemplateResource diagnosticTemplateResource = new DiagnosticTemplateResource()
1111
{
12-
name = $"[concat(parameters('ApimServiceName'), '/{api.name}/{api.diagnostic.name}')]",
12+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}/{api.diagnostic.name}')]",
1313
type = ResourceTypeConstants.APIDiagnostic,
1414
apiVersion = GlobalConstants.APIVersion,
1515
properties = new DiagnosticTemplateProperties()
@@ -25,7 +25,7 @@ public DiagnosticTemplateResource CreateAPIDiagnosticTemplateResource(APIConfig
2525
// reference the provided logger if loggerId is provided
2626
if (api.diagnostic.loggerId != null)
2727
{
28-
diagnosticTemplateResource.properties.loggerId = $"[resourceId('Microsoft.ApiManagement/service/loggers', parameters('ApimServiceName'), '{api.diagnostic.loggerId}')]";
28+
diagnosticTemplateResource.properties.loggerId = $"[resourceId('Microsoft.ApiManagement/service/loggers', parameters('{ParameterNames.ApimServiceName}'), '{api.diagnostic.loggerId}')]";
2929
}
3030
return diagnosticTemplateResource;
3131
}

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/LoggerTemplateCreator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public Template CreateLoggerTemplate(CreatorConfig creatorConfig)
1313
// add parameters
1414
loggerTemplate.parameters = new Dictionary<string, TemplateParameterProperties>
1515
{
16-
{ "ApimServiceName", new TemplateParameterProperties(){ type = "string" } }
16+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ type = "string" } }
1717
};
1818

1919
List<TemplateResource> resources = new List<TemplateResource>();
@@ -22,7 +22,7 @@ public Template CreateLoggerTemplate(CreatorConfig creatorConfig)
2222
// create logger resource with properties
2323
LoggerTemplateResource loggerTemplateResource = new LoggerTemplateResource()
2424
{
25-
name = $"[concat(parameters('ApimServiceName'), '/{logger.name}')]",
25+
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{logger.name}')]",
2626
type = ResourceTypeConstants.Logger,
2727
apiVersion = GlobalConstants.APIVersion,
2828
properties = new LoggerTemplateProperties()

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/MasterTemplateCreator.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public MasterTemplateResource CreateLinkedMasterTemplateResource(string name, st
171171
},
172172
parameters = new Dictionary<string, TemplateParameterProperties>
173173
{
174-
{ "ApimServiceName", new TemplateParameterProperties(){ value = "[parameters('ApimServiceName')]" } }
174+
{ ParameterNames.ApimServiceName, new TemplateParameterProperties(){ value = $"[parameters('{ParameterNames.ApimServiceName}')]" } }
175175
}
176176
},
177177
dependsOn = dependsOn
@@ -192,7 +192,7 @@ public Dictionary<string, TemplateParameterProperties> CreateMasterTemplateParam
192192
},
193193
type = "string"
194194
};
195-
parameters.Add("ApimServiceName", apimServiceNameProperties);
195+
parameters.Add(ParameterNames.ApimServiceName, apimServiceNameProperties);
196196
// add remote location of template files for linked option
197197
if (creatorConfig.linked == true)
198198
{
@@ -204,7 +204,7 @@ public Dictionary<string, TemplateParameterProperties> CreateMasterTemplateParam
204204
},
205205
type = "string"
206206
};
207-
parameters.Add("LinkedTemplatesBaseUrl", linkedTemplatesBaseUrlProperties);
207+
parameters.Add(ParameterNames.LinkedTemplatesBaseUrl, linkedTemplatesBaseUrlProperties);
208208
if (creatorConfig.linkedTemplatesUrlQueryString != null)
209209
{
210210
TemplateParameterProperties linkedTemplatesUrlQueryStringProperties = new TemplateParameterProperties()
@@ -215,7 +215,7 @@ public Dictionary<string, TemplateParameterProperties> CreateMasterTemplateParam
215215
},
216216
type = "string"
217217
};
218-
parameters.Add("LinkedTemplatesUrlQueryString", linkedTemplatesUrlQueryStringProperties);
218+
parameters.Add(ParameterNames.LinkedTemplatesUrlQueryString, linkedTemplatesUrlQueryStringProperties);
219219
}
220220
}
221221
return parameters;
@@ -233,21 +233,21 @@ public Template CreateMasterTemplateParameterValues(CreatorConfig creatorConfig)
233233
{
234234
value = creatorConfig.apimServiceName
235235
};
236-
parameters.Add("ApimServiceName", apimServiceNameProperties);
236+
parameters.Add(ParameterNames.ApimServiceName, apimServiceNameProperties);
237237
if (creatorConfig.linked == true)
238238
{
239239
TemplateParameterProperties linkedTemplatesBaseUrlProperties = new TemplateParameterProperties()
240240
{
241241
value = creatorConfig.linkedTemplatesBaseUrl
242242
};
243-
parameters.Add("LinkedTemplatesBaseUrl", linkedTemplatesBaseUrlProperties);
243+
parameters.Add(ParameterNames.LinkedTemplatesBaseUrl, linkedTemplatesBaseUrlProperties);
244244
if (creatorConfig.linkedTemplatesUrlQueryString != null)
245245
{
246246
TemplateParameterProperties linkedTemplatesUrlQueryStringProperties = new TemplateParameterProperties()
247247
{
248248
value = creatorConfig.linkedTemplatesUrlQueryString
249249
};
250-
parameters.Add("LinkedTemplatesUrlQueryString", linkedTemplatesUrlQueryStringProperties);
250+
parameters.Add(ParameterNames.LinkedTemplatesUrlQueryString, linkedTemplatesUrlQueryStringProperties);
251251
}
252252
}
253253
masterTemplate.parameters = parameters;
@@ -307,7 +307,9 @@ public async Task<bool> DetermineIfAPIDependsOnBackendAsync(APIConfig api, FileR
307307

308308
public string GenerateLinkedTemplateUri(CreatorConfig creatorConfig, string fileName)
309309
{
310-
return creatorConfig.linkedTemplatesUrlQueryString != null ? $"[concat(parameters('LinkedTemplatesBaseUrl'), '{fileName}', parameters('LinkedTemplatesUrlQueryString'))]" : $"[concat(parameters('LinkedTemplatesBaseUrl'), '{fileName}')]";
310+
return creatorConfig.linkedTemplatesUrlQueryString != null ?
311+
$"[concat(parameters('{ParameterNames.LinkedTemplatesBaseUrl}'), '{fileName}', parameters('{ParameterNames.LinkedTemplatesUrlQueryString}'))]"
312+
: $"[concat(parameters('{ParameterNames.LinkedTemplatesBaseUrl}'), '{fileName}')]";
311313
}
312314
}
313315

0 commit comments

Comments
 (0)