Domain Name Args
data class DomainNameArgs(val domainName: Output<String>? = null, val domainNameConfiguration: Output<DomainNameDomainNameConfigurationArgs>? = null, val mutualTlsAuthentication: Output<DomainNameMutualTlsAuthenticationArgs>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<DomainNameArgs>
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
Constructors
Link copied to clipboard
constructor(domainName: Output<String>? = null, domainNameConfiguration: Output<DomainNameDomainNameConfigurationArgs>? = null, mutualTlsAuthentication: Output<DomainNameMutualTlsAuthenticationArgs>? = null, tags: Output<Map<String, String>>? = null)