domain_names
Creates, updates, deletes or gets a domain_name resource or lists domain_names in a region
Overview
| Name | domain_names |
| Type | Resource |
| Description | The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. |
| Id | awscc.apigatewayv2.domain_names |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
mutual_tls_authentication | object | The mutual TLS authentication configuration for a custom domain name. |
regional_hosted_zone_id | string | |
regional_domain_name | string | |
domain_name_arn | string | |
domain_name | string | The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported. |
domain_name_configurations | array | The domain name configurations. |
routing_mode | string | |
tags | object | The collection of tags associated with a domain name. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
domain_name | string | The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported. |
region | string | AWS region. |
For more information, see AWS::ApiGatewayV2::DomainName.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | domain_names | INSERT | DomainName, region |
delete_resource | domain_names | DELETE | Identifier, region |
update_resource | domain_names | UPDATE | Identifier, PatchDocument, region |
list_resources | domain_names_list_only | SELECT | region |
get_resource | domain_names | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual domain_name.
SELECT
region,
mutual_tls_authentication,
regional_hosted_zone_id,
regional_domain_name,
domain_name_arn,
domain_name,
domain_name_configurations,
routing_mode,
tags
FROM awscc.apigatewayv2.domain_names
WHERE
region = 'us-east-1' AND
Identifier = '{{ domain_name }}';
Lists all domain_names in a region.
SELECT
region,
domain_name
FROM awscc.apigatewayv2.domain_names_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new domain_name resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.apigatewayv2.domain_names (
DomainName,
region
)
SELECT
'{{ domain_name }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.apigatewayv2.domain_names (
MutualTlsAuthentication,
DomainName,
DomainNameConfigurations,
RoutingMode,
Tags,
region
)
SELECT
'{{ mutual_tls_authentication }}',
'{{ domain_name }}',
'{{ domain_name_configurations }}',
'{{ routing_mode }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: domain_name
props:
- name: mutual_tls_authentication
value:
truststore_version: '{{ truststore_version }}'
truststore_uri: '{{ truststore_uri }}'
- name: domain_name
value: '{{ domain_name }}'
- name: domain_name_configurations
value:
- ownership_verification_certificate_arn: '{{ ownership_verification_certificate_arn }}'
endpoint_type: '{{ endpoint_type }}'
certificate_name: '{{ certificate_name }}'
security_policy: '{{ security_policy }}'
certificate_arn: '{{ certificate_arn }}'
ip_address_type: '{{ ip_address_type }}'
- name: routing_mode
value: '{{ routing_mode }}'
- name: tags
value: {}
UPDATE example
Use the following StackQL query and manifest file to update a domain_name resource, using stack-deploy.
/*+ update */
UPDATE awscc.apigatewayv2.domain_names
SET PatchDocument = string('{{ {
"MutualTlsAuthentication": mutual_tls_authentication,
"DomainNameConfigurations": domain_name_configurations,
"RoutingMode": routing_mode,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ domain_name }}';
DELETE example
/*+ delete */
DELETE FROM awscc.apigatewayv2.domain_names
WHERE
Identifier = '{{ domain_name }}' AND
region = 'us-east-1';
Permissions
To operate on the domain_names resource, the following permissions are required:
- Create
- Update
- Read
- Delete
- List
apigateway:POST,
apigateway:GET,
apigateway:PUT
apigateway:PATCH,
apigateway:GET,
apigateway:PUT
apigateway:GET
apigateway:GET,
apigateway:DELETE
apigateway:GET