DomainName
The DomainName resource lets you manage AWS ApiGateway DomainNames and their configuration settings.
Minimal Example
Section titled “Minimal Example”Create a basic ApiGateway DomainName with required properties and one optional property.
import AWS from "alchemy/aws/control";
const apiDomainName = await AWS.ApiGateway.DomainName("myApiDomain", { domainName: "api.myexample.com", certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-ab12-cd34-ef56-abcdef123456", securityPolicy: "TLS_1_2", tags: [ { Key: "Environment", Value: "Production" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure a DomainName with advanced options such as mutual TLS authentication.
import AWS from "alchemy/aws/control";
const advancedApiDomainName = await AWS.ApiGateway.DomainName("advancedApiDomain", { domainName: "secure.api.myexample.com", certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-ab12-cd34-ef56-abcdef123456", mutualTlsAuthentication: { truststoreUri: "s3://my-bucket/truststore.pem", truststoreVersion: "1", validationContext: { subjectAlternativeNames: ["api.myexample.com"], truststore: "s3://my-bucket/truststore.pem" } }, endpointConfiguration: { types: ["REGIONAL"] }});
Custom Security Policy
Section titled “Custom Security Policy”Create a DomainName with a specific security policy and ownership verification certificate.
import AWS from "alchemy/aws/control";
const customSecurityPolicyDomainName = await AWS.ApiGateway.DomainName("customSecurityDomain", { domainName: "custom.api.myexample.com", certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-ab12-cd34-ef56-abcdef123456", ownershipVerificationCertificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/xyz1234-xy12-xy34-xy56-xyz123456789", securityPolicy: "TLS_1_2", tags: [ { Key: "Project", Value: "API Gateway" } ]});
Using Endpoint Configuration
Section titled “Using Endpoint Configuration”Set up a DomainName with a specific endpoint configuration.
import AWS from "alchemy/aws/control";
const endpointConfiguredDomainName = await AWS.ApiGateway.DomainName("endpointConfiguredDomain", { domainName: "endpoint.api.myexample.com", certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-ab12-cd34-ef56-abcdef123456", endpointConfiguration: { types: ["EDGE"] }});