sigdba / sig-shared-sceptre

Shared templates for Sceptre/CloudFormation
2 stars 0 forks source link

MultihostElb: Prevent invalid delivery stream names #127

Open dboitnot opened 1 year ago

dboitnot commented 1 year ago

In waf.py:

def waf_log_firehose_dest_arn(firehose_model, title_prefix):
    title = f"{title_prefix}FirehoseDeliveryStream"
    return GetAtt(
        add_resource(
            FirehoseDeliveryStream(
                title,
                # For some dratted reason, WAF log streams must be prefixed with
                # 'aws-waf-logs-' so we have to give a static name here.
                DeliveryStreamName=Sub(
                    "aws-waf-logs-${AWS::StackName}-" + title_prefix
                ),
                # ^^^^ This can generate a value that's too long.
[2023-08-28 15:19:37] - nonprod/alb-external AclNonProdExternalAlbLoggingFirehoseDeliveryStream AWS::KinesisFirehose::DeliveryStream CREATE_FAILED Resource handler returned message: "Model validation failed (#/DeliveryStreamName: expected maxLength: 64, actual: 66)" (RequestToken: 8f3f5127-3a0f-f43e-7b31-94606844b2fa, HandlerErrorCode: InvalidRequest)