using System; using System.Collections.Generic; namespace Amazon.Lambda.ApplicationLoadBalancerEvents { /// /// For request coming in from Application Load Balancer. /// https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html /// public class ApplicationLoadBalancerRequest { /// /// The request context for the request /// public ALBRequestContext RequestContext { get; set; } /// /// The url path for the caller /// public string Path { get; set; } /// /// The HTTP method used /// public string HttpMethod { get; set; } /// /// The headers sent with the request /// Note: Use this property when "Multi value headers" is disabled on ELB Target Group. /// public IDictionary Headers { get; set; } /// /// The headers sent with the request /// Note: Use this property when "Multi value headers" is enabled on ELB Target Group. /// public IDictionary> MultiValueHeaders { get; set; } /// /// The query string parameters that were part of the request /// Note: Use this property when "Multi value headers" is disabled on ELB Target Group. /// public IDictionary QueryStringParameters { get; set; } /// /// The query string parameters that were part of the request /// Note: Use this property when "Multi value headers" is enabled on ELB Target Group. /// public IDictionary> MultiValueQueryStringParameters { get; set; } /// /// The HTTP request body. /// public string Body { get; set; } /// /// True if the body of the request is base 64 encoded. /// public bool IsBase64Encoded { get; set; } /// /// Information from the AWS resources invoke the Lambda function. /// public class ALBRequestContext { /// /// Information about the source Application Load Balancer. /// public ElbInfo Elb { get; set; } } /// /// Information from the source Elastic Load Balancer. /// public class ElbInfo { /// /// The Application Load Balancer target group arn. /// public string TargetGroupArn { get; set; } } } }