class DomainName (construct)
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.APIGateway.DomainName |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsapigateway#DomainName |
![]() | software.amazon.awscdk.services.apigateway.DomainName |
![]() | aws_cdk.aws_apigateway.DomainName |
![]() | aws-cdk-lib » aws_apigateway » DomainName |
Implements
IConstruct
, IDependable
, IResource
, IDomain
Example
declare const api: apigateway.RestApi;
const domainName = apigateway.DomainName.fromDomainNameAttributes(this, 'DomainName', {
domainName: 'domainName',
domainNameAliasHostedZoneId: 'domainNameAliasHostedZoneId',
domainNameAliasTarget: 'domainNameAliasTarget',
});
new apigateway.BasePathMapping(this, 'BasePathMapping', {
domainName: domainName,
restApi: api,
});
Initializer
new DomainName(scope: Construct, id: string, props: DomainNameProps)
Parameters
- scope
Construct
- id
string
- props
Domain
Name Props
Construct Props
Name | Type | Description |
---|---|---|
certificate | ICertificate | The reference to an AWS-managed certificate for use by the edge-optimized endpoint for the domain name. |
domain | string | The custom domain name for your API. |
base | string | The base path name that callers of the API must provide in the URL after the domain name (e.g. example.com/base-path ). If you specify this property, it can't be an empty string. |
endpoint | Endpoint | The type of endpoint for this DomainName. |
mapping? | IRest | If specified, all requests to this domain will be mapped to the production deployment of this API. |
mtls? | MTLSConfig | The mutual TLS authentication configuration for a custom domain name. |
security | Security | The Transport Layer Security (TLS) version + cipher suite for this domain name. |
certificate
Type:
ICertificate
The reference to an AWS-managed certificate for use by the edge-optimized endpoint for the domain name.
For "EDGE" domain names, the certificate needs to be in the US East (N. Virginia) region.
domainName
Type:
string
The custom domain name for your API.
Uppercase letters are not supported.
basePath?
Type:
string
(optional, default: map requests from the domain root (e.g. example.com
).)
The base path name that callers of the API must provide in the URL after the domain name (e.g. example.com/base-path
). If you specify this property, it can't be an empty string.
endpointType?
Type:
Endpoint
(optional, default: REGIONAL)
The type of endpoint for this DomainName.
mapping?
Type:
IRest
(optional, default: you will have to call addBasePathMapping
to map this domain to
API endpoints.)
If specified, all requests to this domain will be mapped to the production deployment of this API.
If you wish to map this domain to multiple APIs
with different base paths, use addBasePathMapping
or addApiMapping
.
mtls?
Type:
MTLSConfig
(optional, default: mTLS is not configured.)
The mutual TLS authentication configuration for a custom domain name.
securityPolicy?
Type:
Security
(optional, default: SecurityPolicy.TLS_1_2)
The Transport Layer Security (TLS) version + cipher suite for this domain name.
Properties
Name | Type | Description |
---|---|---|
domain | string | The domain name (e.g. example.com ). |
domain | string | The Route53 alias target to use in order to connect a record set to this domain through an alias. |
domain | string | The Route53 hosted zone ID to use in order to connect a record set to this domain through an alias. |
env | Resource | The environment this resource belongs to. |
node | Node | The tree node. |
stack | Stack | The stack in which this resource is defined. |
domainName
Type:
string
The domain name (e.g. example.com
).
domainNameAliasDomainName
Type:
string
The Route53 alias target to use in order to connect a record set to this domain through an alias.
domainNameAliasHostedZoneId
Type:
string
The Route53 hosted zone ID to use in order to connect a record set to this domain through an alias.
env
Type:
Resource
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
node
Type:
Node
The tree node.
stack
Type:
Stack
The stack in which this resource is defined.
Methods
Name | Description |
---|---|
add | Maps this domain to an API endpoint. |
add | Maps this domain to an API endpoint. |
apply | Apply the given removal policy to this resource. |
to | Returns a string representation of this construct. |
static from | Imports an existing domain name. |
addApiMapping(targetStage, options?)
public addApiMapping(targetStage: IStage, options?: ApiMappingOptions): void
Parameters
- targetStage
IStage
— the target API stage. - options
Api
— Options for mapping to a stage.Mapping Options
Maps this domain to an API endpoint.
This uses the ApiMapping from ApiGatewayV2 which supports multi-level paths, but also only supports:
- SecurityPolicy.TLS_1_2
- EndpointType.REGIONAL
addBasePathMapping(targetApi, options?)
public addBasePathMapping(targetApi: IRestApi, options?: BasePathMappingOptions): BasePathMapping
Parameters
- targetApi
IRest
— That target API endpoint, requests will be mapped to the deployment stage.Api - options
Base
— Options for mapping to base path with or without a stage.Path Mapping Options
Returns
Maps this domain to an API endpoint.
This uses the BasePathMapping from ApiGateway v1 which does not support multi-level paths.
If you need to create a mapping for a multi-level path use addApiMapping
instead.
applyRemovalPolicy(policy)
public applyRemovalPolicy(policy: RemovalPolicy): void
Parameters
- policy
Removal
Policy
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY
), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN
).
toString()
public toString(): string
Returns
string
Returns a string representation of this construct.
static fromDomainNameAttributes(scope, id, attrs)
public static fromDomainNameAttributes(scope: Construct, id: string, attrs: DomainNameAttributes): IDomainName
Parameters
- scope
Construct
- id
string
- attrs
Domain
Name Attributes
Returns
Imports an existing domain name.