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);
        }
Exemple #2
0
        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;
            }
        }