Domain Name
Manages an Amazon API Gateway Version 2 domain name. More information can be found in the Amazon API Gateway Developer Guide.
Note: This resource establishes ownership of and the TLS settings for a particular domain name. An API stage can be associated with the domain name using the
aws.apigatewayv2.ApiMapping
resource.
Example Usage
Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.DomainName;
import com.pulumi.aws.apigatewayv2.DomainNameArgs;
import com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new DomainName("example", DomainNameArgs.builder()
.domainName("ws-api.example.com")
.domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()
.certificateArn(aws_acm_certificate.example().arn())
.endpointType("REGIONAL")
.securityPolicy("TLS_1_2")
.build())
.build());
}
}
Content copied to clipboard
Associated Route 53 Resource Record
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.DomainName;
import com.pulumi.aws.apigatewayv2.DomainNameArgs;
import com.pulumi.aws.apigatewayv2.inputs.DomainNameDomainNameConfigurationArgs;
import com.pulumi.aws.route53.Record;
import com.pulumi.aws.route53.RecordArgs;
import com.pulumi.aws.route53.inputs.RecordAliasArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleDomainName = new DomainName("exampleDomainName", DomainNameArgs.builder()
.domainName("http-api.example.com")
.domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()
.certificateArn(aws_acm_certificate.example().arn())
.endpointType("REGIONAL")
.securityPolicy("TLS_1_2")
.build())
.build());
var exampleRecord = new Record("exampleRecord", RecordArgs.builder()
.name(exampleDomainName.domainName())
.type("A")
.zoneId(aws_route53_zone.example().zone_id())
.aliases(RecordAliasArgs.builder()
.name(exampleDomainName.domainNameConfiguration().applyValue(domainNameConfiguration -> domainNameConfiguration.targetDomainName()))
.zoneId(exampleDomainName.domainNameConfiguration().applyValue(domainNameConfiguration -> domainNameConfiguration.hostedZoneId()))
.evaluateTargetHealth(false)
.build())
.build());
}
}
Content copied to clipboard
Import
aws_apigatewayv2_domain_name
can be imported by using the domain name, e.g.,
$ pulumi import aws:apigatewayv2/domainName:DomainName example ws-api.example.com
Content copied to clipboard
Properties
Link copied to clipboard
API mapping selection expression for the domain name.
Link copied to clipboard
Domain name. Must be between 1 and 512 characters in length.
Link copied to clipboard
Domain name configuration. See below.
Link copied to clipboard
Mutual TLS authentication configuration for the domain name.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard