aws-cdk-lib.aws_appsync.DomainOptions

interface DomainOptions

LanguageType name
.NETAmazon.CDK.AWS.AppSync.DomainOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsappsync#DomainOptions
Javasoftware.amazon.awscdk.services.appsync.DomainOptions
Pythonaws_cdk.aws_appsync.DomainOptions
TypeScript (source)aws-cdk-lib » aws_appsync » DomainOptions

Domain name configuration for AppSync.

Example

import * as acm from 'aws-cdk-lib/aws-certificatemanager';
import * as route53 from 'aws-cdk-lib/aws-route53';

const myDomainName = 'api.example.com';
const certificate = new acm.Certificate(this, 'cert', { domainName: myDomainName });
const schema = new appsync.SchemaFile({ filePath: 'mySchemaFile' })
const api = new appsync.GraphqlApi(this, 'api', {
  name: 'myApi',
  schema,
  domainName: {
    certificate,
    domainName: myDomainName,
  },
});

// hosted zone and route53 features
declare const hostedZoneId: string;
declare const zoneName = 'example.com';

// hosted zone for adding appsync domain
const zone = route53.HostedZone.fromHostedZoneAttributes(this, `HostedZone`, {
  hostedZoneId,
  zoneName,
});

// create a cname to the appsync domain. will map to something like xxxx.cloudfront.net
new route53.CnameRecord(this, `CnameApiRecord`, {
  recordName: 'api',
  zone,
  domainName: api.appSyncDomainName,
});

Properties

NameTypeDescription
certificateICertificateThe certificate to use with the domain name.
domainNamestringThe actual domain name.

certificate

Type: ICertificate

The certificate to use with the domain name.


domainName

Type: string

The actual domain name.

For example, api.example.com.