Example #1
0
        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)) });
            }
        }