Skip to content

Instantly share code, notes, and snippets.

@sscovil
Last active November 26, 2022 19:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sscovil/8eed634e02714349d3fceba6ae47ff04 to your computer and use it in GitHub Desktop.
Save sscovil/8eed634e02714349d3fceba6ae47ff04 to your computer and use it in GitHub Desktop.
Terraform CDK example of an AWS Route 53 hosted zone and DNS records.
#!/usr/bin/env python
from cdktf import TerraformStack
from cdktf_cdktf_provider_aws.provider import AwsProvider
from cdktf_cdktf_provider_aws.route53_record import Route53Record
from cdktf_cdktf_provider_aws.route53_zone import Route53Zone
from constructs import Construct
class ExampleDnsStack(TerraformStack):
def __init__(self, scope: Construct, ns: str, aws_helper: AwsHelper):
super().__init__(scope, ns)
AwsProvider(self, "aws", region="us-east-1")
main_zone = Route53Zone(
self,
"main",
name="example.com",
)
Route53Record(
self,
"google_mx",
name="example.com",
records=[
"1 aspmx.l.google.com",
"5 alt1.aspmx.l.google.com",
"5 alt2.aspmx.l.google.com",
"10 alt3.aspmx.l.google.com",
"10 alt4.aspmx.l.google.com",
],
ttl=3600,
type="MX",
zone_id=main_zone.zone_id,
)
Route53Record(
self,
"google_txt",
name="example.com",
records=[
"google-site-verification=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"v=spf1 include:_spf.google.com ~all",
],
ttl=3600,
type="TXT",
zone_id=main_zone.zone_id,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment