aws.apigatewayv2-domain-name resource¶
Description¶
DomainName manages an API Gateway v2 custom domain and its regional endpoint configuration. API Gateway accepts exactly one domain-name-configuration, so the list length and the ARN syntax are checked in validate. Endpoint-type, security-policy, and routing-mode are also checked there because the service accepts the documented values case-insensitively, which the constraint layer cannot express compactly.
Source: internal/service/apigatewayv2/domain_name_rsrc.go:45
Example usage:
imports: {
aws: 'github.com/cloudboss/unobin-library-aws'
}
resources: {
example: aws.apigatewayv2-domain-name {
# Set input fields here.
}
}
Inputs¶
domain-name
string
DomainName is the custom host name and the resource identity. It must be 1 to 512 characters, counted in validate because AWS counts characters and the constraint layer counts bytes.
domain-name-configurations
list(object)
list(
object({
certificate-arn: string
endpoint-type: string
ip-address-type: optional(string)
ownership-verification-certificate-arn: optional(string)
security-policy: string
})
)
DomainNameConfigurations holds exactly one regional configuration. The list form follows the SDK and CloudFormation member name.
mutual-tls-authentication
optional(object)
optional(
object({
truststore-uri: string
truststore-version: optional(string)
})
)
MutualTlsAuthentication enables mutual TLS with an S3 truststore. Removing the block sends the service's empty truststore-uri sentinel, which disables mutual TLS instead of leaving the existing setting alone.
routing-mode
optional(string)
RoutingMode selects how the domain routes requests. Omitted on create lets the service use its default, API_MAPPING_ONLY.
tags
map(string)
Tags label the domain. Keys with the aws: prefix are ignored when sending creates and updates, matching AWS system-tag behavior.
Input Constraints¶
Domain name configurations rules
domain-name-configurations must have exactly one item.
Rule logic
- Require
(input.domain-name-configurations == null || @core.length(input.domain-name-configurations) >= 1)
&& (input.domain-name-configurations == null || @core.length(input.domain-name-configurations) <= 1)
domain-name-configurations ip-address-type must be ipv4 or dualstack.
Rule logic
- For each
input.domain-name-configurations- When
@each.value.ip-address-type != null- Require
@each.value.ip-address-type == 'ipv4'
|| @each.value.ip-address-type == 'dualstack'
Outputs¶
domain-name
string
arn
string
api-gateway-domain-name
string
target-domain-name
string
hosted-zone-id
string
api-mapping-selection-expression
string
domain-name-status
string
domain-name-status-message
string
ip-address-type
string
ownership-verification-certificate-arn
string
routing-mode
string
tags
map(string)