public async Task SaveApiTemplates() { var apiTemplateCreator = new ApiTemplateCreator(_creatorConfig.Products, _creatorConfig.Tags); foreach (var apiConfiguration in _creatorConfig.Apis) { var apiTemplates = await apiTemplateCreator.CreateApiTemplatesAsync(apiConfiguration); var path = Path.Combine(_creatorConfig.OutputLocation, _templateFileNames.ApiInitial(apiConfiguration.Name)); SaveTemplate(path, apiTemplates.InitialApiTemplate); path = Path.Combine(_creatorConfig.OutputLocation, _templateFileNames.ApiSubsequent(apiConfiguration.Name)); SaveTemplate(path, apiTemplates.SubsequentApiTemplate); } }
private async Task CreateApiResource(DeploymentDefinition creatorConfig, List <TemplateResource> resources) { for (var i = 0; i < creatorConfig.Apis.Count; i++) { var api = creatorConfig.Apis[i]; var initialAPIDependsOn = new List <string>(await CreateApiResourceDependencies(creatorConfig, api)); if (i > 0) { var previousApi = creatorConfig.Apis[i - 1]; initialAPIDependsOn.Add(DependsOn(_nestedTemplateName.ApiSubsequent(previousApi.Name))); } CreateResource(resources, creatorConfig, _templateFileNames.ApiInitial(api.Name), _nestedTemplateName.ApiInitial(api.Name), initialAPIDependsOn); CreateResource(resources, creatorConfig, _templateFileNames.ApiSubsequent(api.Name), _nestedTemplateName.ApiSubsequent(api.Name), new [] { DependsOn(_nestedTemplateName.ApiInitial(api.Name)) }); } }