How to create a AWS LB Listener from CloudFormation that returns a fixed response?

Viewed 5157

From the Load Balancer Lister configuration page, in the AWS Console it allows you to create a listener with a Default Action as shown here:

Valid Default Actions

The Fixed Response option allows you to specify an http return code and a body:

Return Fixed Response

Below is sample known-valid CloudFormation. Not sure how to edit this to support non-forwarding operations.

MyServicesLoadBalancerListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
        LoadBalancerArn: !Ref MyServicesLoadBalancer
        Port: 80
        Protocol: HTTP
        DefaultActions:
            - Type: forward
              TargetGroupArn: !Ref MyServicesTargetGroup

How do I do this with CloudFormation? The documentation here seems to suggest only the Forward rule is supported in CloudFormation.

Thanks

1 Answers

Not possible yet. It has been requested on the forums but no ETA.

According to the Release History of AWS CloudFormation, the feature was added on Nov 19, 2018. This should replicate the fixed response you shown with the console pictures.

MyServicesLoadBalancerListener:
  Type: AWS::ElasticLoadBalancingV2::Listener
  Properties:
    LoadBalancerArn: !Ref MyServicesLoadBalancer
    Port: 80
    Protocol: HTTP
    DefaultActions:
      - Type: fixed-response
        FixedResponseConfig:
          ContentType: "text/plain"
          MessageBody: "You've reached the listener! Congrats!"
          StatusCode: "503"
Related