class DomainName (construct)
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.APIGateway.DomainName |
Java | software.amazon.awscdk.services.apigateway.DomainName |
Python | aws_cdk.aws_apigateway.DomainName |
TypeScript (source) | @aws-cdk/aws-apigateway » DomainName |
Implements
IConstruct
, IConstruct
, IDependable
, IResource
, IDomain
Example
declare const acm: any;
new apigateway.DomainName(this, 'domain-name', {
domainName: 'example.com',
certificate: acm.Certificate.fromCertificateArn(this, 'cert', 'arn:aws:acm:us-east-1:1111111:certificate/11-3336f1-44483d-adc7-9cd375c5169d'),
mtls: {
bucket: new s3.Bucket(this, 'bucket'),
key: 'truststore.pem',
version: 'version',
},
});
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
). If this
is undefined, no additional mappings will be allowed on this domain name.)
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, don't specify this option and use
addBasePathMapping
.
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_0)
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 | Construct | The construct tree node associated with this construct. |
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:
Construct
The construct tree node associated with this construct.
stack
Type:
Stack
The stack in which this resource is defined.
Methods
Name | Description |
---|---|
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. |
BasePathMapping(targetApi, options?)
addpublic 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.
RemovalPolicy(policy)
applypublic 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
).
String()
topublic toString(): string
Returns
string
Returns a string representation of this construct.
DomainNameAttributes(scope, id, attrs)
static frompublic static fromDomainNameAttributes(scope: Construct, id: string, attrs: DomainNameAttributes): IDomainName
Parameters
- scope
Construct
- id
string
- attrs
Domain
Name Attributes
Returns
Imports an existing domain name.