Skip to main content

The CDK Construct Library for AWS::CertificateManager

Project description

AWS Certificate Manager Construct Library

---

cfn-resources: Stable

cdk-constructs: Stable


This package provides Constructs for provisioning and referencing certificates which can be used in CloudFront and ELB.

The following requests a certificate for a given domain:

# Example automatically generated. See https://github.com/aws/jsii/issues/826
cert = certmgr.Certificate(self, "Certificate",
    domain_name="example.com"
)

After requesting a certificate, you will need to prove that you own the domain in question before the certificate will be granted. The CloudFormation deployment will wait until this verification process has been completed.

Because of this wait time, when using manual validation methods, it's better to provision your certificates either in a separate stack from your main service, or provision them manually and import them into your CDK application.

Email validation

Email-validated certificates (the default) are validated by receiving an email on one of a number of predefined domains and following the instructions in the email.

See Validate with Email in the AWS Certificate Manager User Guide.

DNS validation

If Amazon Route 53 is your DNS provider for the requested domain, the DNS record can be created automatically:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Certificate(self, "Certificate",
    domain_name="hello.example.com",
    validation=CertificateValidation.from_dns(my_hosted_zone)
)

Otherwise DNS records must be added manually and the stack will not complete creating until the records are added.

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Certificate(self, "Certificate",
    domain_name="hello.example.com",
    validation=CertificateValidation.from_dns()
)

See also Validate with DNS in the AWS Certificate Manager User Guide.

When working with multiple domains, use the CertificateValidation.fromDnsMultiZone():

# Example automatically generated. See https://github.com/aws/jsii/issues/826
example_com = route53.HostedZone(self, "ExampleCom",
    zone_name="example.com"
)

example_net = route53.HostedZone(self, "ExampelNet",
    zone_name="example.net"
)

cert = acm.Certificate(self, "Certificate",
    domain_name="test.example.com",
    subject_alternative_names=["cool.example.com", "test.example.net"],
    validation=acm.CertificateValidation.from_dns_multi_zone({
        "text.example.com": example_com,
        "cool.example.com": example_com,
        "test.example.net": example_net
    })
)

Use the DnsValidatedCertificate construct for cross-region certificate creation:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
DnsValidatedCertificate(self, "CrossRegionCertificate",
    domain_name="hello.example.com",
    hosted_zone=my_hosted_zone,
    region="us-east-1"
)

This is useful when deploying a stack in a region other than us-east-1 with a certificate for a CloudFront distribution.

If cross-region is not needed, the recommended solution is to use the Certificate construct which uses a native CloudFormation implementation.

Importing

If you want to import an existing certificate, you can do so from its ARN:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
arn = "arn:aws:..."
certificate = Certificate.from_certificate_arn(self, "Certificate", arn)

Sharing between Stacks

To share the certificate between stacks in the same CDK application, simply pass the Certificate object between the stacks.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws-cdk.aws-certificatemanager-1.53.0.tar.gz (250.3 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page