Skip to content

wolfeidau/serverless-acm-approver

Repository files navigation

serverless-acm-approver

This serverless application provides an acm approver function which uses route53 to aid in the automated creation of an acm certificate.

GitHub Actions status Go Report Card Documentation

Why?

The approvers I have used in the past were either limited to creation only, or rather limited in their monitoring / reporting of errors.

This is heavily inspired by the acm approver lambda which is packaged with AWS CDK.

Also lots of ideas came from b-b3rn4rd/acm-approver-lambda.

Usage

The following template illustrates how to use this serverless application.

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: >-
  This template demonstrates how to use the serverless-acm-approver application.

Parameters:
  DomainName:
    Type: String
  HostedZoneId:
    Type: String
  SubjectAlternativeNames:
    Type: CommaDelimitedList

Resources:
  ServerlessACMApprover:
    Type: 'AWS::Serverless::Application'
    Properties:
      Location:
        ApplicationId: arn:aws:serverlessrepo:us-east-1:170889777468:applications/serverless-acm-approver
        SemanticVersion: 1.2.1
      Parameters:
        #  DomainName (FQDN) is limited to 64 characters in total
        DomainName: !Ref DomainName
        HostedZoneId: !Ref HostedZoneId
        # Each Subject Alternative Names (SAN) can be up to 253 characters long
        SubjectAlternativeNames:
          !Join
            - ","
            - Ref: SubjectAlternativeNames
        # Optional region to enable creation of ACM certificates in us-east-1 for cloudfront...
        # Region: us-east-1 

Outputs:
  CertificateArn:
    Description: "Certificate ARN"
    Value: !GetAtt ServerlessACMApprover.Outputs.CertificateArn

License

This application is released under Apache 2.0 license and is copyright Mark Wolfe.