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

Commit de516bc

Browse files
Fix #389 - Lookup API resource by exact name. (#390)
Co-authored-by: RupengLiu <rliu1211@terpmail.umd.edu>
1 parent a384bb8 commit de516bc

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/APIM_ARMTemplate/apimtemplate/Commands/Create.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public CreateCommand()
118118
foreach (Template apiTemplate in apiTemplates)
119119
{
120120
APITemplateResource apiResource = apiTemplate.resources.FirstOrDefault(resource => resource.type == ResourceTypeConstants.API) as APITemplateResource;
121-
APIConfig providedAPIConfiguration = creatorConfig.apis.FirstOrDefault(api => apiResource.name.Contains(api.name, StringComparison.Ordinal));
121+
APIConfig providedAPIConfiguration = creatorConfig.apis.FirstOrDefault(api => string.Compare(apiResource.name, APITemplateCreator.MakeResourceName(api), true) == 0);
122122
// if the api version is not null the api is split into multiple templates. If the template is split and the content value has been set, then the template is for a subsequent api
123123
string apiFileName = fileNameGenerator.GenerateCreatorAPIFileName(providedAPIConfiguration.name, apiTemplateCreator.isSplitAPI(providedAPIConfiguration), apiResource.properties.value != null);
124124
fileWriter.WriteJSONToFile(apiTemplate, String.Concat(creatorConfig.outputLocation, apiFileName));

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
110110
// create api resource
111111
APITemplateResource apiTemplateResource = new APITemplateResource()
112112
{
113-
name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]",
113+
name = MakeResourceName(api),
114114
type = ResourceTypeConstants.API,
115115
apiVersion = GlobalConstants.APIVersion,
116116
properties = new APITemplateProperties(),
@@ -149,11 +149,14 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
149149
apiTemplateResource.properties.authenticationSettings.oAuth2.authorizationServerId = api.authenticationSettings.oAuth2.authorizationServerId;
150150
}
151151
// set the subscriptionKey Parameter Names
152-
if (api.subscriptionKeyParameterNames != null) {
153-
if (api.subscriptionKeyParameterNames.header != null) {
152+
if (api.subscriptionKeyParameterNames != null)
153+
{
154+
if (api.subscriptionKeyParameterNames.header != null)
155+
{
154156
apiTemplateResource.properties.subscriptionKeyParameterNames.header = api.subscriptionKeyParameterNames.header;
155157
}
156-
if (api.subscriptionKeyParameterNames.query != null) {
158+
if (api.subscriptionKeyParameterNames.query != null)
159+
{
157160
apiTemplateResource.properties.subscriptionKeyParameterNames.query = api.subscriptionKeyParameterNames.query;
158161
}
159162
}
@@ -213,6 +216,11 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
213216
return apiTemplateResource;
214217
}
215218

219+
public static string MakeResourceName(APIConfig api)
220+
{
221+
return $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]";
222+
}
223+
216224
public string[] CreateProtocols(APIConfig api)
217225
{
218226
string[] protocols;

0 commit comments

Comments
 (0)