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()); }
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); }
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); }
private void CreateClient(Core.Entities.AWSCredentials credentials) { Guard.Against.Null(credentials, nameof(credentials)); _client = new AmazonCloudFormationClient(credentials.AccessKeyId, credentials.SecretKey, credentials.AWSEndPoint); }
/// <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; }