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

Commit 306791c

Browse files
committed
allow users to specify serviceUrl, type, and description in creator config
1 parent 5e7d905 commit 306791c

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class APITemplateProperties
2222
public string apiVersionDescription { get; set; }
2323
public string apiVersionSetId { get; set; }
2424
public Nullable<bool> subscriptionRequired { get; set; }
25+
public string sourceApiId { get; set; }
2526
public string displayName { get; set; }
2627
public string serviceUrl { get; set; }
2728
public string path { get; set; }

src/APIM_ARMTemplate/apimtemplate/Creator/ExampleFiles/YAMLConfigs/valid.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ apiVersionSets:
1515
versionHeaderName: versionHeader
1616
apis:
1717
- name: myAPI
18+
type: http
19+
description: myFirstAPI
20+
serviceUrl: http://myApiBackendUrl.com
1821
openApiSpec: C:\Users\myUsername\Projects\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFile\OpenApiSpecs\swaggerPetstore.json
1922
policy: C:\Users\myUsername\Projects\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
2023
suffix: conf
@@ -23,8 +26,8 @@ apis:
2326
apiVersion: v1
2427
apiVersionDescription: My first version
2528
apiVersionSetId: myAPIVersionSetID
26-
revision: 1
27-
revisionDescription: My first revision
29+
apiRevision: 1
30+
apiRevisionDescription: My first revision
2831
operations:
2932
addPet:
3033
policy: C:\Users\myUsername\Projects\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFile\XMLPolicies\operationRateLimit.xml

src/APIM_ARMTemplate/apimtemplate/Creator/Models/CreatorConfiguration.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,30 @@ public class APIVersionSetConfig: APIVersionSetProperties
3030

3131
public class APIConfig
3232
{
33+
// used to build displayName and resource name from APITemplateResource schema
3334
public string name { get; set; }
34-
// openApiSpec file location (local or url)
35+
public string description { get; set; }
36+
public string serviceUrl { get; set; }
37+
// used to build type and apiType from APITemplateResource schema
38+
public string type { get; set; }
39+
// openApiSpec file location (local or url), used to build protocols, value, and format from APITemplateResource schema
3540
public string openApiSpec { get; set; }
3641
// policy file location (local or url)
3742
public string policy { get; set; }
43+
// used to buld path from APITemplateResource schema
3844
public string suffix { get; set; }
3945
public bool subscriptionRequired { get; set; }
40-
public string apiVersion { get; set; }
4146
public bool isCurrent { get; set; }
47+
public string apiVersion { get; set; }
4248
public string apiVersionDescription { get; set; }
4349
public string apiVersionSetId { get; set; }
44-
public string revision { get; set; }
45-
public string revisionDescription { get; set; }
50+
public string apiRevision { get; set; }
51+
public string apiRevisionDescription { get; set; }
4652
public Dictionary<string, OperationsConfig> operations { get; set; }
4753
public APITemplateAuthenticationSettings authenticationSettings { get; set; }
4854
public string products { get; set; }
4955
public DiagnosticConfig diagnostic { get; set; }
56+
// does not currently include subscriptionKeyParameterNames, sourceApiId, and wsdlSelector from APITemplateResource schema
5057
}
5158

5259
public class OperationsConfig

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,13 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
108108
OpenApiDocument doc = await openAPISpecReader.ConvertOpenAPISpecToDoc(api.openApiSpec);
109109
// supplied via optional arguments
110110
apiTemplateResource.properties.apiVersion = api.apiVersion;
111+
apiTemplateResource.properties.serviceUrl = api.serviceUrl;
112+
apiTemplateResource.properties.type = api.type;
113+
apiTemplateResource.properties.apiType = api.type;
114+
apiTemplateResource.properties.description = api.description;
111115
apiTemplateResource.properties.subscriptionRequired = api.subscriptionRequired;
112-
apiTemplateResource.properties.apiRevision = api.revision;
113-
apiTemplateResource.properties.apiRevisionDescription = api.revisionDescription;
116+
apiTemplateResource.properties.apiRevision = api.apiRevision;
117+
apiTemplateResource.properties.apiRevisionDescription = api.apiRevisionDescription;
114118
apiTemplateResource.properties.apiVersionDescription = api.apiVersionDescription;
115119
apiTemplateResource.properties.authenticationSettings = api.authenticationSettings;
116120
apiTemplateResource.properties.path = api.suffix;

src/APIM_ARMTemplate/apimtemplate/Properties/launchSettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"profiles": {
33
"apimtemplate": {
44
"commandName": "Project",
5-
"commandLineArgs": "extract --sourceApimName LucasBlankLinked --destinationApimName LucasBlankUnlinked --resourceGroup LucasHuetHudsonInternal --fileFolder C:\\Users\\lucashh\\Desktop\\Projects\\APIM-ARM\\GeneratedTemplates\\Extractor\\Full --linkedBaseUrl https://lucasarmtemplates.blob.core.windows.net/linked-templates "
5+
"commandLineArgs": "create --configFile ./Creator/ExampleFiles/YAMLConfigs/validTesting.yml"
66
}
77
}
88
}

0 commit comments

Comments
 (0)