Skip to content
GitHubXDiscordRSS

DomainName

Learn how to create, update, and manage AWS ApiGateway DomainNames using Alchemy Cloud Control.

The DomainName resource lets you manage AWS ApiGateway DomainNames and their configuration settings.

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"
}
]
});

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"]
}
});

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"
}
]
});

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"]
}
});