Beispiel #1
0
        public MetadataForm(ITemplateMetadataReader templateReader)
        {
            _templateReader = templateReader;

            MetadataLoadedEvent
               .SubscribeTo(TemplateChangedEvent.Select(x => GetMetadata(x)))
               .SubscribedBy(AddProperty<IEnumerable<KeyValuePair<InputType, string>>>(nameof(IMetadataFormState.ProjectMetadata)), metadata => BuildProjectMetadataProperties(metadata))
               .SubscribedBy(AddProperty<IEnumerable<string>>(nameof(IMetadataFormState.Dependencies)), metadata => BuildDependencyProperties(metadata));
        }
Beispiel #2
0
 public DeployCommand(
     IToolInteractiveService toolInteractiveService,
     IOrchestratorInteractiveService orchestratorInteractiveService,
     ICdkProjectHandler cdkProjectHandler,
     ICDKManager cdkManager,
     ICDKVersionDetector cdkVersionDetector,
     IDeploymentBundleHandler deploymentBundleHandler,
     IDockerEngine dockerEngine,
     IAWSResourceQueryer awsResourceQueryer,
     ITemplateMetadataReader templateMetadataReader,
     IDeployedApplicationQueryer deployedApplicationQueryer,
     ITypeHintCommandFactory typeHintCommandFactory,
     IDisplayedResourcesHandler displayedResourcesHandler,
     ICloudApplicationNameGenerator cloudApplicationNameGenerator,
     ILocalUserSettingsEngine localUserSettingsEngine,
     IConsoleUtilities consoleUtilities,
     ICustomRecipeLocator customRecipeLocator,
     ISystemCapabilityEvaluator systemCapabilityEvaluator,
     OrchestratorSession session,
     IDirectoryManager directoryManager)
 {
     _toolInteractiveService         = toolInteractiveService;
     _orchestratorInteractiveService = orchestratorInteractiveService;
     _cdkProjectHandler             = cdkProjectHandler;
     _deploymentBundleHandler       = deploymentBundleHandler;
     _dockerEngine                  = dockerEngine;
     _awsResourceQueryer            = awsResourceQueryer;
     _templateMetadataReader        = templateMetadataReader;
     _deployedApplicationQueryer    = deployedApplicationQueryer;
     _typeHintCommandFactory        = typeHintCommandFactory;
     _displayedResourcesHandler     = displayedResourcesHandler;
     _cloudApplicationNameGenerator = cloudApplicationNameGenerator;
     _localUserSettingsEngine       = localUserSettingsEngine;
     _consoleUtilities              = consoleUtilities;
     _session                   = session;
     _directoryManager          = directoryManager;
     _cdkVersionDetector        = cdkVersionDetector;
     _cdkManager                = cdkManager;
     _customRecipeLocator       = customRecipeLocator;
     _systemCapabilityEvaluator = systemCapabilityEvaluator;
 }
Beispiel #3
0
        public ActionResult <TemplateMetadata> Get([FromServices] ITemplateMetadataReader templateReader, [FromBody] AppConfiguration.Template template)
        {
            TemplateMetadata metadata = null;

            try
            {
                metadata = templateReader.GetMetadata(template);
            }
            catch (TemplateException ex)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Content(ex.Message));
            }

            metadata ??= new TemplateMetadata();
            if (template != null)
            {
                var tags = metadata.Tags?.ToList() ?? new List <Tag>();

                if (!tags.Any(x => x.Name == TemplateMetadataReader.PROJECT_NAME || x.Key == TemplateMetadataReader.PROJECT_NAME_KEY))
                {
                    tags.Insert(0, new Tag
                    {
                        Key             = TemplateMetadataReader.PROJECT_NAME_KEY,
                        Name            = TemplateMetadataReader.PROJECT_NAME,
                        DefaultValue    = TemplateMetadataReader.DEFAULT_PROJECT_NAME,
                        ValidationRegex = @"^[\w\-. ]+$",
                        ValidationError = "Must be a valid filename",
                    });
                }

                metadata.Tags = tags;
            }

            return(metadata);
        }
Beispiel #4
0
 public ProjectGenerator(IEnumerable <ITemplateSource> templateSources, IEnumerable <ITemplateRenderer> renderers, ITemplateMetadataReader templateReader)
 {
     _templateSources = templateSources;
     _renderers       = renderers;
     _templateReader  = templateReader;
 }