1. Packages
  2. AWS Classic
  3. API Docs
  4. apigatewayv2
  5. DomainName

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi

aws.apigatewayv2.DomainName

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi

    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

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.apigatewayv2.DomainName("example", {
        domainName: "ws-api.example.com",
        domainNameConfiguration: {
            certificateArn: exampleAwsAcmCertificate.arn,
            endpointType: "REGIONAL",
            securityPolicy: "TLS_1_2",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.apigatewayv2.DomainName("example",
        domain_name="ws-api.example.com",
        domain_name_configuration={
            "certificateArn": example_aws_acm_certificate["arn"],
            "endpointType": "REGIONAL",
            "securityPolicy": "TLS_1_2",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := apigatewayv2.NewDomainName(ctx, "example", &apigatewayv2.DomainNameArgs{
    			DomainName: pulumi.String("ws-api.example.com"),
    			DomainNameConfiguration: &apigatewayv2.DomainNameDomainNameConfigurationArgs{
    				CertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),
    				EndpointType:   pulumi.String("REGIONAL"),
    				SecurityPolicy: pulumi.String("TLS_1_2"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.ApiGatewayV2.DomainName("example", new()
        {
            Domain = "ws-api.example.com",
            DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs
            {
                CertificateArn = exampleAwsAcmCertificate.Arn,
                EndpointType = "REGIONAL",
                SecurityPolicy = "TLS_1_2",
            },
        });
    
    });
    
    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(exampleAwsAcmCertificate.arn())
                    .endpointType("REGIONAL")
                    .securityPolicy("TLS_1_2")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:apigatewayv2:DomainName
        properties:
          domainName: ws-api.example.com
          domainNameConfiguration:
            certificateArn: ${exampleAwsAcmCertificate.arn}
            endpointType: REGIONAL
            securityPolicy: TLS_1_2
    

    Associated Route 53 Resource Record

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.apigatewayv2.DomainName("example", {
        domainName: "http-api.example.com",
        domainNameConfiguration: {
            certificateArn: exampleAwsAcmCertificate.arn,
            endpointType: "REGIONAL",
            securityPolicy: "TLS_1_2",
        },
    });
    const exampleRecord = new aws.route53.Record("example", {
        name: example.domainName,
        type: aws.route53.RecordType.A,
        zoneId: exampleAwsRoute53Zone.zoneId,
        aliases: [{
            name: example.domainNameConfiguration.apply(domainNameConfiguration => domainNameConfiguration.targetDomainName),
            zoneId: example.domainNameConfiguration.apply(domainNameConfiguration => domainNameConfiguration.hostedZoneId),
            evaluateTargetHealth: false,
        }],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.apigatewayv2.DomainName("example",
        domain_name="http-api.example.com",
        domain_name_configuration={
            "certificateArn": example_aws_acm_certificate["arn"],
            "endpointType": "REGIONAL",
            "securityPolicy": "TLS_1_2",
        })
    example_record = aws.route53.Record("example",
        name=example.domain_name,
        type=aws.route53.RecordType.A,
        zone_id=example_aws_route53_zone["zoneId"],
        aliases=[{
            "name": example.domain_name_configuration.target_domain_name,
            "zoneId": example.domain_name_configuration.hosted_zone_id,
            "evaluateTargetHealth": False,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := apigatewayv2.NewDomainName(ctx, "example", &apigatewayv2.DomainNameArgs{
    			DomainName: pulumi.String("http-api.example.com"),
    			DomainNameConfiguration: &apigatewayv2.DomainNameDomainNameConfigurationArgs{
    				CertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn),
    				EndpointType:   pulumi.String("REGIONAL"),
    				SecurityPolicy: pulumi.String("TLS_1_2"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = route53.NewRecord(ctx, "example", &route53.RecordArgs{
    			Name:   example.DomainName,
    			Type:   pulumi.String(route53.RecordTypeA),
    			ZoneId: pulumi.Any(exampleAwsRoute53Zone.ZoneId),
    			Aliases: route53.RecordAliasArray{
    				&route53.RecordAliasArgs{
    					Name: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {
    						return &domainNameConfiguration.TargetDomainName, nil
    					}).(pulumi.StringPtrOutput),
    					ZoneId: example.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {
    						return &domainNameConfiguration.HostedZoneId, nil
    					}).(pulumi.StringPtrOutput),
    					EvaluateTargetHealth: pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.ApiGatewayV2.DomainName("example", new()
        {
            Domain = "http-api.example.com",
            DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs
            {
                CertificateArn = exampleAwsAcmCertificate.Arn,
                EndpointType = "REGIONAL",
                SecurityPolicy = "TLS_1_2",
            },
        });
    
        var exampleRecord = new Aws.Route53.Record("example", new()
        {
            Name = example.Domain,
            Type = Aws.Route53.RecordType.A,
            ZoneId = exampleAwsRoute53Zone.ZoneId,
            Aliases = new[]
            {
                new Aws.Route53.Inputs.RecordAliasArgs
                {
                    Name = example.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.TargetDomainName),
                    ZoneId = example.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.HostedZoneId),
                    EvaluateTargetHealth = false,
                },
            },
        });
    
    });
    
    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 example = new DomainName("example", DomainNameArgs.builder()
                .domainName("http-api.example.com")
                .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()
                    .certificateArn(exampleAwsAcmCertificate.arn())
                    .endpointType("REGIONAL")
                    .securityPolicy("TLS_1_2")
                    .build())
                .build());
    
            var exampleRecord = new Record("exampleRecord", RecordArgs.builder()
                .name(example.domainName())
                .type("A")
                .zoneId(exampleAwsRoute53Zone.zoneId())
                .aliases(RecordAliasArgs.builder()
                    .name(example.domainNameConfiguration().applyValue(domainNameConfiguration -> domainNameConfiguration.targetDomainName()))
                    .zoneId(example.domainNameConfiguration().applyValue(domainNameConfiguration -> domainNameConfiguration.hostedZoneId()))
                    .evaluateTargetHealth(false)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:apigatewayv2:DomainName
        properties:
          domainName: http-api.example.com
          domainNameConfiguration:
            certificateArn: ${exampleAwsAcmCertificate.arn}
            endpointType: REGIONAL
            securityPolicy: TLS_1_2
      exampleRecord:
        type: aws:route53:Record
        name: example
        properties:
          name: ${example.domainName}
          type: A
          zoneId: ${exampleAwsRoute53Zone.zoneId}
          aliases:
            - name: ${example.domainNameConfiguration.targetDomainName}
              zoneId: ${example.domainNameConfiguration.hostedZoneId}
              evaluateTargetHealth: false
    

    Create DomainName Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DomainName(name: string, args: DomainNameArgs, opts?: CustomResourceOptions);
    @overload
    def DomainName(resource_name: str,
                   args: DomainNameArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def DomainName(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   domain_name: Optional[str] = None,
                   domain_name_configuration: Optional[DomainNameDomainNameConfigurationArgs] = None,
                   mutual_tls_authentication: Optional[DomainNameMutualTlsAuthenticationArgs] = None,
                   tags: Optional[Mapping[str, str]] = None)
    func NewDomainName(ctx *Context, name string, args DomainNameArgs, opts ...ResourceOption) (*DomainName, error)
    public DomainName(string name, DomainNameArgs args, CustomResourceOptions? opts = null)
    public DomainName(String name, DomainNameArgs args)
    public DomainName(String name, DomainNameArgs args, CustomResourceOptions options)
    
    type: aws:apigatewayv2:DomainName
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DomainNameArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DomainNameArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DomainNameArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DomainNameArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DomainNameArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var awsDomainNameResource = new Aws.ApiGatewayV2.DomainName("awsDomainNameResource", new()
    {
        Domain = "string",
        DomainNameConfiguration = new Aws.ApiGatewayV2.Inputs.DomainNameDomainNameConfigurationArgs
        {
            CertificateArn = "string",
            EndpointType = "string",
            SecurityPolicy = "string",
            HostedZoneId = "string",
            OwnershipVerificationCertificateArn = "string",
            TargetDomainName = "string",
        },
        MutualTlsAuthentication = new Aws.ApiGatewayV2.Inputs.DomainNameMutualTlsAuthenticationArgs
        {
            TruststoreUri = "string",
            TruststoreVersion = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := apigatewayv2.NewDomainName(ctx, "awsDomainNameResource", &apigatewayv2.DomainNameArgs{
    	DomainName: pulumi.String("string"),
    	DomainNameConfiguration: &apigatewayv2.DomainNameDomainNameConfigurationArgs{
    		CertificateArn:                      pulumi.String("string"),
    		EndpointType:                        pulumi.String("string"),
    		SecurityPolicy:                      pulumi.String("string"),
    		HostedZoneId:                        pulumi.String("string"),
    		OwnershipVerificationCertificateArn: pulumi.String("string"),
    		TargetDomainName:                    pulumi.String("string"),
    	},
    	MutualTlsAuthentication: &apigatewayv2.DomainNameMutualTlsAuthenticationArgs{
    		TruststoreUri:     pulumi.String("string"),
    		TruststoreVersion: pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var awsDomainNameResource = new DomainName("awsDomainNameResource", DomainNameArgs.builder()
        .domainName("string")
        .domainNameConfiguration(DomainNameDomainNameConfigurationArgs.builder()
            .certificateArn("string")
            .endpointType("string")
            .securityPolicy("string")
            .hostedZoneId("string")
            .ownershipVerificationCertificateArn("string")
            .targetDomainName("string")
            .build())
        .mutualTlsAuthentication(DomainNameMutualTlsAuthenticationArgs.builder()
            .truststoreUri("string")
            .truststoreVersion("string")
            .build())
        .tags(Map.of("string", "string"))
        .build());
    
    aws_domain_name_resource = aws.apigatewayv2.DomainName("awsDomainNameResource",
        domain_name="string",
        domain_name_configuration={
            "certificateArn": "string",
            "endpointType": "string",
            "securityPolicy": "string",
            "hostedZoneId": "string",
            "ownershipVerificationCertificateArn": "string",
            "targetDomainName": "string",
        },
        mutual_tls_authentication={
            "truststoreUri": "string",
            "truststoreVersion": "string",
        },
        tags={
            "string": "string",
        })
    
    const awsDomainNameResource = new aws.apigatewayv2.DomainName("awsDomainNameResource", {
        domainName: "string",
        domainNameConfiguration: {
            certificateArn: "string",
            endpointType: "string",
            securityPolicy: "string",
            hostedZoneId: "string",
            ownershipVerificationCertificateArn: "string",
            targetDomainName: "string",
        },
        mutualTlsAuthentication: {
            truststoreUri: "string",
            truststoreVersion: "string",
        },
        tags: {
            string: "string",
        },
    });
    
    type: aws:apigatewayv2:DomainName
    properties:
        domainName: string
        domainNameConfiguration:
            certificateArn: string
            endpointType: string
            hostedZoneId: string
            ownershipVerificationCertificateArn: string
            securityPolicy: string
            targetDomainName: string
        mutualTlsAuthentication:
            truststoreUri: string
            truststoreVersion: string
        tags:
            string: string
    

    DomainName Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The DomainName resource accepts the following input properties:

    Domain string
    Domain name. Must be between 1 and 512 characters in length.
    DomainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    MutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    Tags Dictionary<string, string>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    DomainName string
    Domain name. Must be between 1 and 512 characters in length.
    DomainNameConfiguration DomainNameDomainNameConfigurationArgs
    Domain name configuration. See below.
    MutualTlsAuthentication DomainNameMutualTlsAuthenticationArgs
    Mutual TLS authentication configuration for the domain name.
    Tags map[string]string
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    domainName String
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    mutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    tags Map<String,String>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    domainName string
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    mutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    tags {[key: string]: string}
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    domain_name str
    Domain name. Must be between 1 and 512 characters in length.
    domain_name_configuration DomainNameDomainNameConfigurationArgs
    Domain name configuration. See below.
    mutual_tls_authentication DomainNameMutualTlsAuthenticationArgs
    Mutual TLS authentication configuration for the domain name.
    tags Mapping[str, str]
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    domainName String
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration Property Map
    Domain name configuration. See below.
    mutualTlsAuthentication Property Map
    Mutual TLS authentication configuration for the domain name.
    tags Map<String>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the DomainName resource produces the following output properties:

    ApiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    Arn string
    ARN of the domain name.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    ApiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    Arn string
    ARN of the domain name.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression String
    API mapping selection expression for the domain name.
    arn String
    ARN of the domain name.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    arn string
    ARN of the domain name.
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    api_mapping_selection_expression str
    API mapping selection expression for the domain name.
    arn str
    ARN of the domain name.
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression String
    API mapping selection expression for the domain name.
    arn String
    ARN of the domain name.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing DomainName Resource

    Get an existing DomainName resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DomainNameState, opts?: CustomResourceOptions): DomainName
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_mapping_selection_expression: Optional[str] = None,
            arn: Optional[str] = None,
            domain_name: Optional[str] = None,
            domain_name_configuration: Optional[DomainNameDomainNameConfigurationArgs] = None,
            mutual_tls_authentication: Optional[DomainNameMutualTlsAuthenticationArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None) -> DomainName
    func GetDomainName(ctx *Context, name string, id IDInput, state *DomainNameState, opts ...ResourceOption) (*DomainName, error)
    public static DomainName Get(string name, Input<string> id, DomainNameState? state, CustomResourceOptions? opts = null)
    public static DomainName get(String name, Output<String> id, DomainNameState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ApiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    Arn string
    ARN of the domain name.
    Domain string
    Domain name. Must be between 1 and 512 characters in length.
    DomainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    MutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    Tags Dictionary<string, string>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    ApiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    Arn string
    ARN of the domain name.
    DomainName string
    Domain name. Must be between 1 and 512 characters in length.
    DomainNameConfiguration DomainNameDomainNameConfigurationArgs
    Domain name configuration. See below.
    MutualTlsAuthentication DomainNameMutualTlsAuthenticationArgs
    Mutual TLS authentication configuration for the domain name.
    Tags map[string]string
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression String
    API mapping selection expression for the domain name.
    arn String
    ARN of the domain name.
    domainName String
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    mutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    tags Map<String,String>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression string
    API mapping selection expression for the domain name.
    arn string
    ARN of the domain name.
    domainName string
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration DomainNameDomainNameConfiguration
    Domain name configuration. See below.
    mutualTlsAuthentication DomainNameMutualTlsAuthentication
    Mutual TLS authentication configuration for the domain name.
    tags {[key: string]: string}
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    api_mapping_selection_expression str
    API mapping selection expression for the domain name.
    arn str
    ARN of the domain name.
    domain_name str
    Domain name. Must be between 1 and 512 characters in length.
    domain_name_configuration DomainNameDomainNameConfigurationArgs
    Domain name configuration. See below.
    mutual_tls_authentication DomainNameMutualTlsAuthenticationArgs
    Mutual TLS authentication configuration for the domain name.
    tags Mapping[str, str]
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    apiMappingSelectionExpression String
    API mapping selection expression for the domain name.
    arn String
    ARN of the domain name.
    domainName String
    Domain name. Must be between 1 and 512 characters in length.
    domainNameConfiguration Property Map
    Domain name configuration. See below.
    mutualTlsAuthentication Property Map
    Mutual TLS authentication configuration for the domain name.
    tags Map<String>
    Map of tags to assign to the domain name. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Supporting Types

    DomainNameDomainNameConfiguration, DomainNameDomainNameConfigurationArgs

    CertificateArn string
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    EndpointType string
    Endpoint type. Valid values: REGIONAL.
    SecurityPolicy string
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    HostedZoneId string
    Amazon Route 53 Hosted Zone ID of the endpoint.
    OwnershipVerificationCertificateArn string
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    TargetDomainName string
    Target domain name.
    CertificateArn string
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    EndpointType string
    Endpoint type. Valid values: REGIONAL.
    SecurityPolicy string
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    HostedZoneId string
    Amazon Route 53 Hosted Zone ID of the endpoint.
    OwnershipVerificationCertificateArn string
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    TargetDomainName string
    Target domain name.
    certificateArn String
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    endpointType String
    Endpoint type. Valid values: REGIONAL.
    securityPolicy String
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    hostedZoneId String
    Amazon Route 53 Hosted Zone ID of the endpoint.
    ownershipVerificationCertificateArn String
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    targetDomainName String
    Target domain name.
    certificateArn string
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    endpointType string
    Endpoint type. Valid values: REGIONAL.
    securityPolicy string
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    hostedZoneId string
    Amazon Route 53 Hosted Zone ID of the endpoint.
    ownershipVerificationCertificateArn string
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    targetDomainName string
    Target domain name.
    certificate_arn str
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    endpoint_type str
    Endpoint type. Valid values: REGIONAL.
    security_policy str
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    hosted_zone_id str
    Amazon Route 53 Hosted Zone ID of the endpoint.
    ownership_verification_certificate_arn str
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    target_domain_name str
    Target domain name.
    certificateArn String
    ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the aws.acm.Certificate resource to configure an ACM certificate.
    endpointType String
    Endpoint type. Valid values: REGIONAL.
    securityPolicy String
    Transport Layer Security (TLS) version of the security policy for the domain name. Valid values: TLS_1_2.
    hostedZoneId String
    Amazon Route 53 Hosted Zone ID of the endpoint.
    ownershipVerificationCertificateArn String
    ARN of the AWS-issued certificate used to validate custom domain ownership (when certificate_arn is issued via an ACM Private CA or mutual_tls_authentication is configured with an ACM-imported certificate.)
    targetDomainName String
    Target domain name.

    DomainNameMutualTlsAuthentication, DomainNameMutualTlsAuthenticationArgs

    TruststoreUri string
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    TruststoreVersion string
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
    TruststoreUri string
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    TruststoreVersion string
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
    truststoreUri String
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    truststoreVersion String
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
    truststoreUri string
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    truststoreVersion string
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
    truststore_uri str
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    truststore_version str
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
    truststoreUri String
    Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://bucket-name/key-name. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
    truststoreVersion String
    Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.

    Import

    Using pulumi import, import aws_apigatewayv2_domain_name using the domain name. For example:

    $ pulumi import aws:apigatewayv2/domainName:DomainName example ws-api.example.com
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi