Exemplo n.º 1
0
        public async Task <IActionResult> OnGet(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("Please submit a correct id"));
            }

            var model = await _mediatr.Send(new GetEntityCommand <Core.Entities.AWSCredentials>(id));

            if (model == null)
            {
                return(BadRequest("No item found for given id"));
            }
            ViewModel = model;
            return(Page());
        }
Exemplo n.º 2
0
        public async Task <List <string> > ValidateDeploymentScript(string json, Core.Entities.AWSCredentials credentials)
        {
            Guard.Against.JsonIsNotValid(json, nameof(json));
            Guard.Against.Null(credentials, nameof(credentials));

            CreateClient(credentials);
            Guard.Against.Null(_client, nameof(_client));

            var validateTemplate = await _client.ValidateTemplateAsync(new ValidateTemplateRequest
            {
                TemplateBody = json,
            });

            if (validateTemplate.HttpStatusCode == System.Net.HttpStatusCode.OK)
            {
                return(validateTemplate.Capabilities);
            }

            //TODO: Add Logging
            throw new Exception("Error validating template, HTTPStatusCode: " + validateTemplate.HttpStatusCode);
        }
Exemplo n.º 3
0
        public async Task <string> EstimateCostsForTemplate(string json, List <Parameter> parameters, Core.Entities.AWSCredentials credentials)
        {
            Guard.Against.JsonIsNotValid(json, nameof(json));
            Guard.Against.Null(parameters, nameof(parameters));
            Guard.Against.Null(credentials, nameof(credentials));

            CreateClient(credentials);
            Guard.Against.Null(_client, nameof(_client));

            var templateCosts = await _client.EstimateTemplateCostAsync(new EstimateTemplateCostRequest
            {
                TemplateBody = json,
                Parameters   = parameters
            });

            if (templateCosts.HttpStatusCode == System.Net.HttpStatusCode.OK)
            {
                return(templateCosts.Url);
            }

            throw new Exception("Error getting template costs, HTTPStatusCode: " + templateCosts.HttpStatusCode);
        }
Exemplo n.º 4
0
 private void CreateClient(Core.Entities.AWSCredentials credentials)
 {
     Guard.Against.Null(credentials, nameof(credentials));
     _client = new AmazonCloudFormationClient(credentials.AccessKeyId, credentials.SecretKey, credentials.AWSEndPoint);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AWSValidateTemplateCommand"/> class.
 /// </summary>
 /// <param name="template">The template.</param>
 /// <param name="credentials">The credentials.</param>
 public AWSValidateTemplateCommand(string template, Core.Entities.AWSCredentials credentials)
 {
     Template    = template;
     Credentials = credentials;
 }