private async Task Respond(IRequest request, string physicalResourceId, Exception exception = null) { var responseBody = new CloudFormationResponse { Status = exception != null ? "FAILED" : "SUCCESS", Reason = exception?.Message ?? string.Empty, PhysicalResourceId = physicalResourceId, StackId = request.StackId, RequestId = request.RequestId, LogicalResourceId = request.LogicalResourceId, }; await _cfClient.Respond(request.ResponseURL, responseBody); }
public async Task Respond(string url, CloudFormationResponse response) { try { var client = new HttpClient(); var jsonContent = new StringContent(JsonConvert.SerializeObject(response)); jsonContent.Headers.Remove("Content-Type"); var postResponse = await client.PutAsync(url, jsonContent); postResponse.EnsureSuccessStatusCode(); } catch (Exception ex) { LambdaLogger.Log("Exception: " + ex); response.Status = "FAILED"; response.Data = ex; } }