public async Task <IActionResult> Create([FromBody, SwaggerParameter("Create role request.", Required = true)] CreateIAMRoleRequest input) { if (!_createIAMRoleRequestValidator.TryValidateCreateRoleRequest(input, out string validationError)) { Log.Warning($"Create role called with invalid input. Validation error: {validationError}"); return(BadRequest(validationError)); } var roleName = RoleName.Create(input.Name); var role = await _awsIdentityCommandClient.PutRoleAsync(roleName); return(Ok(new { RoleArn = role.Arn })); }
public Task HandleAsync(ContextAddedToCapabilityDomainEvent domainEvent) { var roleName = new RoleName(domainEvent.Data.CapabilityName); Func <PolicyTemplate, string> policyTemplateFormatter = (template) => { var document = template.Document; document = document.Replace("capabilityName", domainEvent.Data.CapabilityName); document = document.Replace("capabilityRootId", domainEvent.Data.CapabilityRootId); return(document); }; _awsIdentityCommandClient.PutRoleAsync(roleName, policyTemplateFormatter); return(Task.CompletedTask); }