Module route53

@pulumi/aws > route53

class DelegationSet

extends CustomResource

Provides a Route53 Delegation Set resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.route53.DelegationSet("main", {
    referenceName: "DynDNS",
});
const primary = new aws.route53.Zone("primary", {
    delegationSetId: main.id,
});
const secondary = new aws.route53.Zone("secondary", {
    delegationSetId: main.id,
});

constructor

new DelegationSet(name: string, args?: DelegationSetArgs, opts?: pulumi.CustomResourceOptions)

Create a DelegationSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DelegationSetState, opts?: pulumi.CustomResourceOptions): DelegationSet

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property nameServers

public nameServers: pulumi.Output<string[]>;

A list of authoritative name servers for the hosted zone (effectively a list of NS records).

property referenceName

public referenceName: pulumi.Output<string | undefined>;

This is a reference name used in Caller Reference (helpful for identifying single delegation set amongst others)

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class HealthCheck

extends CustomResource

Provides a Route53 health check.

Example Usage

Connectivity and HTTP Status Code Check

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.route53.HealthCheck("example", {
    failureThreshold: 5,
    fqdn: "example.com",
    port: 80,
    requestInterval: 30,
    resourcePath: "/",
    tags: {
        Name: "tf-test-health-check",
    },
    type: "HTTP",
});

Connectivity and String Matching Check

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.route53.HealthCheck("example", {
    failureThreshold: 5,
    fqdn: "example.com",
    port: 443,
    requestInterval: 30,
    resourcePath: "/",
    searchString: "example",
    type: "HTTPS_STR_MATCH",
});

Aggregate Check

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const parent = new aws.route53.HealthCheck("parent", {
    childHealthThreshold: 1,
    childHealthchecks: [aws_route53_health_check_child.id],
    tags: {
        Name: "tf-test-calculated-health-check",
    },
    type: "CALCULATED",
});

CloudWatch Alarm Check

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foobar = new aws.cloudwatch.MetricAlarm("foobar", {
    alarmDescription: "This metric monitors ec2 cpu utilization",
    comparisonOperator: "GreaterThanOrEqualToThreshold",
    evaluationPeriods: 2,
    metricName: "CPUUtilization",
    namespace: "AWS/EC2",
    period: 120,
    statistic: "Average",
    threshold: 80,
});
const foo = new aws.route53.HealthCheck("foo", {
    cloudwatchAlarmName: foobar.alarmName,
    cloudwatchAlarmRegion: "us-west-2",
    insufficientDataHealthStatus: "Healthy",
    type: "CLOUDWATCH_METRIC",
});

constructor

new HealthCheck(name: string, args: HealthCheckArgs, opts?: pulumi.CustomResourceOptions)

Create a HealthCheck resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: HealthCheckState, opts?: pulumi.CustomResourceOptions): HealthCheck

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property childHealthThreshold

public childHealthThreshold: pulumi.Output<number | undefined>;

The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive

property childHealthchecks

public childHealthchecks: pulumi.Output<string[] | undefined>;

For a specified parent health check, a list of HealthCheckId values for the associated child health checks.

property cloudwatchAlarmName

public cloudwatchAlarmName: pulumi.Output<string | undefined>;

The name of the CloudWatch alarm.

property cloudwatchAlarmRegion

public cloudwatchAlarmRegion: pulumi.Output<string | undefined>;

The CloudWatchRegion that the CloudWatch alarm was created in.

property enableSni

public enableSni: pulumi.Output<boolean>;

A boolean value that indicates whether Route53 should send the fqdn to the endpoint when performing the health check. This defaults to AWS’ defaults: when the type is “HTTPS” enable_sni defaults to true, when type is anything else enable_sni defaults to false.

property failureThreshold

public failureThreshold: pulumi.Output<number | undefined>;

The number of consecutive health checks that an endpoint must pass or fail.

property fqdn

public fqdn: pulumi.Output<string | undefined>;

The fully qualified domain name of the endpoint to be checked.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property insufficientDataHealthStatus

public insufficientDataHealthStatus: pulumi.Output<string | undefined>;

The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Valid values are Healthy , Unhealthy and LastKnownStatus.

property invertHealthcheck

public invertHealthcheck: pulumi.Output<boolean | undefined>;

A boolean value that indicates whether the status of health check should be inverted. For example, if a health check is healthy but Inverted is True , then Route 53 considers the health check to be unhealthy.

property ipAddress

public ipAddress: pulumi.Output<string | undefined>;

The IP address of the endpoint to be checked.

property measureLatency

public measureLatency: pulumi.Output<boolean | undefined>;

A Boolean value that indicates whether you want Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint and to display CloudWatch latency graphs in the Route 53 console.

property port

public port: pulumi.Output<number | undefined>;

The port of the endpoint to be checked.

property referenceName

public referenceName: pulumi.Output<string | undefined>;

This is a reference name used in Caller Reference (helpful for identifying single health_check set amongst others)

property regions

public regions: pulumi.Output<string[] | undefined>;

A list of AWS regions that you want Amazon Route 53 health checkers to check the specified endpoint from.

property requestInterval

public requestInterval: pulumi.Output<number | undefined>;

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

property resourcePath

public resourcePath: pulumi.Output<string | undefined>;

The path that you want Amazon Route 53 to request when performing health checks.

property searchString

public searchString: pulumi.Output<string | undefined>;

String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with HTTP_STR_MATCH and HTTPS_STR_MATCH.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the health check.

property type

public type: pulumi.Output<string>;

The protocol to use when performing health checks. Valid values are HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, TCP, CALCULATED and CLOUDWATCH_METRIC.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class QueryLog

extends CustomResource

Provides a Route53 query logging configuration resource.

NOTE: There are restrictions on the configuration of query logging. Notably, the CloudWatch log group must be in the us-east-1 region, a permissive CloudWatch log resource policy must be in place, and the Route53 hosted zone must be public. See Configuring Logging for DNS Queries for additional details.

constructor

new QueryLog(name: string, args: QueryLogArgs, opts?: pulumi.CustomResourceOptions)

Create a QueryLog resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: QueryLogState, opts?: pulumi.CustomResourceOptions): QueryLog

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cloudwatchLogGroupArn

public cloudwatchLogGroupArn: pulumi.Output<string>;

CloudWatch log group ARN to send query logs.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneId

public zoneId: pulumi.Output<string>;

Route53 hosted zone ID to enable query logs.

class Record

extends CustomResource

Provides a Route53 record resource.

Example Usage

Simple routing policy

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const www = new aws.route53.Record("www", {
    records: [aws_eip_lb.publicIp],
    ttl: 300,
    type: "A",
    zoneId: aws_route53_zone_primary.zoneId,
});

Weighted routing policy

Other routing policies are configured similarly. See AWS Route53 Developer Guide for details.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const www_dev = new aws.route53.Record("www-dev", {
    records: ["dev.example.com"],
    setIdentifier: "dev",
    ttl: 5,
    type: "CNAME",
    weightedRoutingPolicies: [{
        weight: 10,
    }],
    zoneId: aws_route53_zone_primary.zoneId,
});
const www_live = new aws.route53.Record("www-live", {
    records: ["live.example.com"],
    setIdentifier: "live",
    ttl: 5,
    type: "CNAME",
    weightedRoutingPolicies: [{
        weight: 90,
    }],
    zoneId: aws_route53_zone_primary.zoneId,
});

Alias record

See related part of AWS Route53 Developer Guide to understand differences between alias and non-alias records.

TTL for all alias records is 60 seconds, you cannot change this, therefore ttl has to be omitted in alias records.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const main = new aws.elasticloadbalancing.LoadBalancer("main", {
    availabilityZones: ["us-east-1c"],
    listeners: [{
        instancePort: 80,
        instanceProtocol: "http",
        lbPort: 80,
        lbProtocol: "http",
    }],
});
const www = new aws.route53.Record("www", {
    aliases: [{
        evaluateTargetHealth: true,
        name: main.dnsName,
        zoneId: main.zoneId,
    }],
    type: "A",
    zoneId: aws_route53_zone_primary.zoneId,
});

constructor

new Record(name: string, args: RecordArgs, opts?: pulumi.CustomResourceOptions)

Create a Record resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RecordState, opts?: pulumi.CustomResourceOptions): Record

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property aliases

public aliases: pulumi.Output<{
    evaluateTargetHealth: boolean;
    name: string;
    zoneId: string;
}[] | undefined>;

An alias block. Conflicts with ttl & records. Alias record documented below.

property allowOverwrite

public allowOverwrite: pulumi.Output<boolean>;

Allow creation of this record in Terraform to overwrite an existing record, if any. This does not affect the ability to update the record in Terraform and does not prevent other resources within Terraform or manual Route 53 changes outside Terraform from overwriting this record. false by default. This configuration is not recommended for most environments.

property failoverRoutingPolicies

public failoverRoutingPolicies: pulumi.Output<{
    type: string;
}[] | undefined>;

A block indicating the routing behavior when associated health check fails. Conflicts with any other routing policy. Documented below.

property fqdn

public fqdn: pulumi.Output<string>;

FQDN built using the zone domain and name.

property geolocationRoutingPolicies

public geolocationRoutingPolicies: pulumi.Output<{
    continent: undefined | string;
    country: undefined | string;
    subdivision: undefined | string;
}[] | undefined>;

A block indicating a routing policy based on the geolocation of the requestor. Conflicts with any other routing policy. Documented below.

property healthCheckId

public healthCheckId: pulumi.Output<string | undefined>;

The health check the record should be associated with.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property latencyRoutingPolicies

public latencyRoutingPolicies: pulumi.Output<{
    region: string;
}[] | undefined>;

A block indicating a routing policy based on the latency between the requestor and an AWS region. Conflicts with any other routing policy. Documented below.

property multivalueAnswerRoutingPolicy

public multivalueAnswerRoutingPolicy: pulumi.Output<boolean | undefined>;

Set to true to indicate a multivalue answer routing policy. Conflicts with any other routing policy.

property name

public name: pulumi.Output<string>;

DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.

property records

public records: pulumi.Output<string[] | undefined>;

A string list of records. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters").

property setIdentifier

public setIdentifier: pulumi.Output<string | undefined>;

Unique identifier to differentiate records with routing policies from one another. Required if using failover, geolocation, latency, or weighted routing policies documented below.

property ttl

public ttl: pulumi.Output<number | undefined>;

The TTL of the record.

property type

public type: pulumi.Output<string>;

PRIMARY or SECONDARY. A PRIMARY record will be served if its healthcheck is passing, otherwise the SECONDARY will be served. See http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html#dns-failover-failover-rrsets

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property weightedRoutingPolicies

public weightedRoutingPolicies: pulumi.Output<{
    weight: number;
}[] | undefined>;

A block indicating a weighted routing policy. Conflicts with any other routing policy. Documented below.

property zoneId

public zoneId: pulumi.Output<string>;

Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See resource_elb.zone_id for example.

class ResolverEndpoint

extends CustomResource

Provides a Route 53 Resolver endpoint resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.route53.ResolverEndpoint("foo", {
    direction: "INBOUND",
    ipAddresses: [
        {
            subnetId: aws_subnet_sn1.id,
        },
        {
            ip: "10.0.64.4",
            subnetId: aws_subnet_sn2.id,
        },
    ],
    securityGroupIds: [
        aws_security_group_sg1.id,
        aws_security_group_sg2.id,
    ],
    tags: {
        Environment: "Prod",
    },
});

constructor

new ResolverEndpoint(name: string, args: ResolverEndpointArgs, opts?: pulumi.CustomResourceOptions)

Create a ResolverEndpoint resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ResolverEndpointState, opts?: pulumi.CustomResourceOptions): ResolverEndpoint

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the Route 53 Resolver endpoint.

property direction

public direction: pulumi.Output<string>;

The direction of DNS queries to or from the Route 53 Resolver endpoint. Valid values are INBOUND (resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC) or OUTBOUND (resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC).

property hostVpcId

public hostVpcId: pulumi.Output<string>;

The ID of the VPC that you want to create the resolver endpoint in.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipAddresses

public ipAddresses: pulumi.Output<{
    ip: string;
    ipId: string;
    subnetId: string;
}[]>;

The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound endpoints). Described below.

property name

public name: pulumi.Output<string>;

The friendly name of the Route 53 Resolver endpoint.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[]>;

The ID of one or more security groups that you want to use to control access to this VPC.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ResolverRule

extends CustomResource

Provides a Route53 Resolver rule.

Example Usage

System rule

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const sys = new aws.route53.ResolverRule("sys", {
    domainName: "subdomain.example.com",
    ruleType: "SYSTEM",
});

Forward rule

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fwd = new aws.route53.ResolverRule("fwd", {
    domainName: "example.com",
    resolverEndpointId: aws_route53_resolver_endpoint_foo.id,
    ruleType: "FORWARD",
    tags: {
        Environment: "Prod",
    },
    targetIps: [{
        ip: "123.45.67.89",
    }],
});

constructor

new ResolverRule(name: string, args: ResolverRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a ResolverRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ResolverRuleState, opts?: pulumi.CustomResourceOptions): ResolverRule

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN (Amazon Resource Name) for the resolver rule.

property domainName

public domainName: pulumi.Output<string>;

DNS queries for this domain name are forwarded to the IP addresses that are specified using target_ip.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

property ownerId

public ownerId: pulumi.Output<string>;

When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

property resolverEndpointId

public resolverEndpointId: pulumi.Output<string | undefined>;

The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify using target_ip. This argument should only be specified for FORWARD type rules.

property ruleType

public ruleType: pulumi.Output<string>;

The rule type. Valid values are FORWARD, SYSTEM and RECURSIVE.

property shareStatus

public shareStatus: pulumi.Output<string>;

Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account. Values are NOT_SHARED, SHARED_BY_ME or SHARED_WITH_ME

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property targetIps

public targetIps: pulumi.Output<{
    ip: string;
    port: undefined | number;
}[] | undefined>;

Configuration block(s) indicating the IPs that you want Resolver to forward DNS queries to (documented below). This argument should only be specified for FORWARD type rules.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ResolverRuleAssociation

extends CustomResource

Provides a Route53 Resolver rule association.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.route53.ResolverRuleAssociation("example", {
    resolverRuleId: aws_route53_resolver_rule_sys.id,
    vpcId: aws_vpc_foo.id,
});

constructor

new ResolverRuleAssociation(name: string, args: ResolverRuleAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a ResolverRuleAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ResolverRuleAssociationState, opts?: pulumi.CustomResourceOptions): ResolverRuleAssociation

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

A name for the association that you’re creating between a resolver rule and a VPC.

property resolverRuleId

public resolverRuleId: pulumi.Output<string>;

The ID of the resolver rule that you want to associate with the VPC.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The ID of the VPC that you want to associate the resolver rule with.

class Zone

extends CustomResource

Manages a Route53 Hosted Zone.

Example Usage

Public Zone

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const primary = new aws.route53.Zone("primary", {});

Public Subdomain Zone

For use in subdomains, note that you need to create a aws_route53_record of type NS as well as the subdomain zone.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const dev = new aws.route53.Zone("dev", {
    tags: {
        Environment: "dev",
    },
});
const main = new aws.route53.Zone("main", {});
const dev_ns = new aws.route53.Record("dev-ns", {
    records: [
        dev.nameServers[0],
        dev.nameServers[1],
        dev.nameServers[2],
        dev.nameServers[3],
    ],
    ttl: 30,
    type: "NS",
    zoneId: main.zoneId,
});

Private Zone

NOTE: Terraform provides both exclusive VPC associations defined in-line in this resource via vpc configuration blocks and a separate Zone VPC Association resource. At this time, you cannot use in-line VPC associations in conjunction with any aws_route53_zone_association resources with the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use the generic Terraform resource lifecycle configuration block with ignore_changes to manage additional associations via the aws_route53_zone_association resource.

NOTE: Private zones require at least one VPC association at all times.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const privateZone = new aws.route53.Zone("private", {
    vpcs: [{
        vpcId: aws_vpc_example.id,
    }],
});

constructor

new Zone(name: string, args?: ZoneArgs, opts?: pulumi.CustomResourceOptions)

Create a Zone resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ZoneState, opts?: pulumi.CustomResourceOptions): Zone

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property comment

public comment: pulumi.Output<string>;

A comment for the hosted zone. Defaults to ‘Managed by Terraform’.

property delegationSetId

public delegationSetId: pulumi.Output<string | undefined>;

The ID of the reusable delegation set whose NS records you want to assign to the hosted zone. Conflicts with vpc as delegation sets can only be used for public zones.

property forceDestroy

public forceDestroy: pulumi.Output<boolean | undefined>;

Whether to destroy all records (possibly managed outside of Terraform) in the zone when destroying the zone.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

This is the name of the hosted zone.

property nameServers

public nameServers: pulumi.Output<string[]>;

A list of name servers in associated (or default) delegation set. Find more about delegation sets in AWS docs.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the zone.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcs

public vpcs: pulumi.Output<{
    vpcId: string;
    vpcRegion: string;
}[] | undefined>;

Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the delegation_set_id argument in this resource and any aws_route53_zone_association resource specifying the same zone ID. Detailed below.

property zoneId

public zoneId: pulumi.Output<string>;

The Hosted Zone ID. This can be referenced by zone records.

class ZoneAssociation

extends CustomResource

Manages a Route53 Hosted Zone VPC association. VPC associations can only be made on private zones.

NOTE: Unless explicit association ordering is required (e.g. a separate cross-account association authorization), usage of this resource is not recommended. Use the vpc configuration blocks available within the aws_route53_zone resource instead.

NOTE: Terraform provides both this standalone Zone VPC Association resource and exclusive VPC associations defined in-line in the aws_route53_zone resource via vpc configuration blocks. At this time, you cannot use those in-line VPC associations in conjunction with this resource and the same zone ID otherwise it will cause a perpetual difference in plan output. You can optionally use the generic Terraform resource lifecycle configuration block with ignore_changes in the aws_route53_zone resource to manage additional associations via this resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const primary = new aws.ec2.Vpc("primary", {
    cidrBlock: "10.6.0.0/16",
    enableDnsHostnames: true,
    enableDnsSupport: true,
});
const secondaryVpc = new aws.ec2.Vpc("secondary", {
    cidrBlock: "10.7.0.0/16",
    enableDnsHostnames: true,
    enableDnsSupport: true,
});
const example = new aws.route53.Zone("example", {
    // NOTE: The aws_route53_zone vpc argument accepts multiple configuration
    //       blocks. The below usage of the single vpc configuration, the
    //       lifecycle configuration, and the aws_route53_zone_association
    //       resource is for illustrative purposes (e.g. for a separate
    //       cross-account authorization process, which is not shown here).
    vpcs: [{
        vpcId: primary.id,
    }],
});
const secondaryZoneAssociation = new aws.route53.ZoneAssociation("secondary", {
    vpcId: secondaryVpc.id,
    zoneId: example.zoneId,
});

constructor

new ZoneAssociation(name: string, args: ZoneAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a ZoneAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ZoneAssociationState, opts?: pulumi.CustomResourceOptions): ZoneAssociation

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC to associate with the private hosted zone.

property vpcRegion

public vpcRegion: pulumi.Output<string>;

The VPC’s region. Defaults to the region of the AWS provider.

property zoneId

public zoneId: pulumi.Output<string>;

The private hosted zone to associate.

function getDelegationSet

getDelegationSet(args: GetDelegationSetArgs, opts?: pulumi.InvokeOptions): Promise<GetDelegationSetResult>

aws_route53_delegation_set provides details about a specific Route 53 Delegation Set.

This data source allows to find a list of name servers associated with a specific delegation set.

Example Usage

The following example shows how to get a delegation set from its id.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const dset = pulumi.output(aws.route53.getDelegationSet({
    id: "MQWGHCBFAKEID",
}));

function getZone

getZone(args?: GetZoneArgs, opts?: pulumi.InvokeOptions): Promise<GetZoneResult>

aws_route53_zone provides details about a specific Route 53 Hosted Zone.

This data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.

Example Usage

The following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const selected = pulumi.output(aws.route53.getZone({
    name: "test.com.",
    privateZone: true,
}));
const www = new aws.route53.Record("www", {
    records: ["10.0.0.1"],
    ttl: 300,
    type: "A",
    zoneId: selected.zoneId,
});

interface DelegationSetArgs

The set of arguments for constructing a DelegationSet resource.

property referenceName

referenceName?: pulumi.Input<string>;

This is a reference name used in Caller Reference (helpful for identifying single delegation set amongst others)

interface DelegationSetState

Input properties used for looking up and filtering DelegationSet resources.

property nameServers

nameServers?: pulumi.Input<pulumi.Input<string>[]>;

A list of authoritative name servers for the hosted zone (effectively a list of NS records).

property referenceName

referenceName?: pulumi.Input<string>;

This is a reference name used in Caller Reference (helpful for identifying single delegation set amongst others)

interface GetDelegationSetArgs

A collection of arguments for invoking getDelegationSet.

property id

id: string;

The Hosted Zone id of the desired delegation set.

interface GetDelegationSetResult

A collection of values returned by getDelegationSet.

property callerReference

callerReference: string;

property id

id: string;

property nameServers

nameServers: string[];

interface GetZoneArgs

A collection of arguments for invoking getZone.

property callerReference

callerReference?: undefined | string;

property comment

comment?: undefined | string;

property name

name?: undefined | string;

The Hosted Zone name of the desired Hosted Zone.

property privateZone

privateZone?: undefined | false | true;

Used with name field to get a private Hosted Zone.

property resourceRecordSetCount

resourceRecordSetCount?: undefined | number;

property tags

tags?: undefined | {[key: string]: any};

Used with name field. A mapping of tags, each pair of which must exactly match a pair on the desired Hosted Zone.

property vpcId

vpcId?: undefined | string;

Used with name field to get a private Hosted Zone associated with the vpc_id (in this case, private_zone is not mandatory).

property zoneId

zoneId?: undefined | string;

The Hosted Zone id of the desired Hosted Zone.

interface GetZoneResult

A collection of values returned by getZone.

property callerReference

callerReference: string;

Caller Reference of the Hosted Zone.

property comment

comment: string;

The comment field of the Hosted Zone.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property nameServers

nameServers: string[];

The list of DNS name servers for the Hosted Zone.

property privateZone

privateZone?: undefined | false | true;

property resourceRecordSetCount

resourceRecordSetCount: number;

the number of Record Set in the Hosted Zone

property tags

tags: {[key: string]: any};

property vpcId

vpcId: string;

property zoneId

zoneId: string;

interface HealthCheckArgs

The set of arguments for constructing a HealthCheck resource.

property childHealthThreshold

childHealthThreshold?: pulumi.Input<number>;

The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive

property childHealthchecks

childHealthchecks?: pulumi.Input<pulumi.Input<string>[]>;

For a specified parent health check, a list of HealthCheckId values for the associated child health checks.

property cloudwatchAlarmName

cloudwatchAlarmName?: pulumi.Input<string>;

The name of the CloudWatch alarm.

property cloudwatchAlarmRegion

cloudwatchAlarmRegion?: pulumi.Input<string>;

The CloudWatchRegion that the CloudWatch alarm was created in.

property enableSni

enableSni?: pulumi.Input<boolean>;

A boolean value that indicates whether Route53 should send the fqdn to the endpoint when performing the health check. This defaults to AWS’ defaults: when the type is “HTTPS” enable_sni defaults to true, when type is anything else enable_sni defaults to false.

property failureThreshold

failureThreshold?: pulumi.Input<number>;

The number of consecutive health checks that an endpoint must pass or fail.

property fqdn

fqdn?: pulumi.Input<string>;

The fully qualified domain name of the endpoint to be checked.

property insufficientDataHealthStatus

insufficientDataHealthStatus?: pulumi.Input<string>;

The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Valid values are Healthy , Unhealthy and LastKnownStatus.

property invertHealthcheck

invertHealthcheck?: pulumi.Input<boolean>;

A boolean value that indicates whether the status of health check should be inverted. For example, if a health check is healthy but Inverted is True , then Route 53 considers the health check to be unhealthy.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP address of the endpoint to be checked.

property measureLatency

measureLatency?: pulumi.Input<boolean>;

A Boolean value that indicates whether you want Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint and to display CloudWatch latency graphs in the Route 53 console.

property port

port?: pulumi.Input<number>;

The port of the endpoint to be checked.

property referenceName

referenceName?: pulumi.Input<string>;

This is a reference name used in Caller Reference (helpful for identifying single health_check set amongst others)

property regions

regions?: pulumi.Input<pulumi.Input<string>[]>;

A list of AWS regions that you want Amazon Route 53 health checkers to check the specified endpoint from.

property requestInterval

requestInterval?: pulumi.Input<number>;

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

property resourcePath

resourcePath?: pulumi.Input<string>;

The path that you want Amazon Route 53 to request when performing health checks.

property searchString

searchString?: pulumi.Input<string>;

String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with HTTP_STR_MATCH and HTTPS_STR_MATCH.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the health check.

property type

type: pulumi.Input<string>;

The protocol to use when performing health checks. Valid values are HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, TCP, CALCULATED and CLOUDWATCH_METRIC.

interface HealthCheckState

Input properties used for looking up and filtering HealthCheck resources.

property childHealthThreshold

childHealthThreshold?: pulumi.Input<number>;

The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive

property childHealthchecks

childHealthchecks?: pulumi.Input<pulumi.Input<string>[]>;

For a specified parent health check, a list of HealthCheckId values for the associated child health checks.

property cloudwatchAlarmName

cloudwatchAlarmName?: pulumi.Input<string>;

The name of the CloudWatch alarm.

property cloudwatchAlarmRegion

cloudwatchAlarmRegion?: pulumi.Input<string>;

The CloudWatchRegion that the CloudWatch alarm was created in.

property enableSni

enableSni?: pulumi.Input<boolean>;

A boolean value that indicates whether Route53 should send the fqdn to the endpoint when performing the health check. This defaults to AWS’ defaults: when the type is “HTTPS” enable_sni defaults to true, when type is anything else enable_sni defaults to false.

property failureThreshold

failureThreshold?: pulumi.Input<number>;

The number of consecutive health checks that an endpoint must pass or fail.

property fqdn

fqdn?: pulumi.Input<string>;

The fully qualified domain name of the endpoint to be checked.

property insufficientDataHealthStatus

insufficientDataHealthStatus?: pulumi.Input<string>;

The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Valid values are Healthy , Unhealthy and LastKnownStatus.

property invertHealthcheck

invertHealthcheck?: pulumi.Input<boolean>;

A boolean value that indicates whether the status of health check should be inverted. For example, if a health check is healthy but Inverted is True , then Route 53 considers the health check to be unhealthy.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP address of the endpoint to be checked.

property measureLatency

measureLatency?: pulumi.Input<boolean>;

A Boolean value that indicates whether you want Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint and to display CloudWatch latency graphs in the Route 53 console.

property port

port?: pulumi.Input<number>;

The port of the endpoint to be checked.

property referenceName

referenceName?: pulumi.Input<string>;

This is a reference name used in Caller Reference (helpful for identifying single health_check set amongst others)

property regions

regions?: pulumi.Input<pulumi.Input<string>[]>;

A list of AWS regions that you want Amazon Route 53 health checkers to check the specified endpoint from.

property requestInterval

requestInterval?: pulumi.Input<number>;

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request.

property resourcePath

resourcePath?: pulumi.Input<string>;

The path that you want Amazon Route 53 to request when performing health checks.

property searchString

searchString?: pulumi.Input<string>;

String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with HTTP_STR_MATCH and HTTPS_STR_MATCH.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the health check.

property type

type?: pulumi.Input<string>;

The protocol to use when performing health checks. Valid values are HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, TCP, CALCULATED and CLOUDWATCH_METRIC.

interface QueryLogArgs

The set of arguments for constructing a QueryLog resource.

property cloudwatchLogGroupArn

cloudwatchLogGroupArn: pulumi.Input<string>;

CloudWatch log group ARN to send query logs.

property zoneId

zoneId: pulumi.Input<string>;

Route53 hosted zone ID to enable query logs.

interface QueryLogState

Input properties used for looking up and filtering QueryLog resources.

property cloudwatchLogGroupArn

cloudwatchLogGroupArn?: pulumi.Input<string>;

CloudWatch log group ARN to send query logs.

property zoneId

zoneId?: pulumi.Input<string>;

Route53 hosted zone ID to enable query logs.

interface RecordArgs

The set of arguments for constructing a Record resource.

property aliases

aliases?: pulumi.Input<pulumi.Input<{
    evaluateTargetHealth: pulumi.Input<boolean>;
    name: pulumi.Input<string>;
    zoneId: pulumi.Input<string>;
}>[]>;

An alias block. Conflicts with ttl & records. Alias record documented below.

property allowOverwrite

allowOverwrite?: pulumi.Input<boolean>;

Allow creation of this record in Terraform to overwrite an existing record, if any. This does not affect the ability to update the record in Terraform and does not prevent other resources within Terraform or manual Route 53 changes outside Terraform from overwriting this record. false by default. This configuration is not recommended for most environments.

property failoverRoutingPolicies

failoverRoutingPolicies?: pulumi.Input<pulumi.Input<{
    type: pulumi.Input<string>;
}>[]>;

A block indicating the routing behavior when associated health check fails. Conflicts with any other routing policy. Documented below.

property geolocationRoutingPolicies

geolocationRoutingPolicies?: pulumi.Input<pulumi.Input<{
    continent: pulumi.Input<string>;
    country: pulumi.Input<string>;
    subdivision: pulumi.Input<string>;
}>[]>;

A block indicating a routing policy based on the geolocation of the requestor. Conflicts with any other routing policy. Documented below.

property healthCheckId

healthCheckId?: pulumi.Input<string>;

The health check the record should be associated with.

property latencyRoutingPolicies

latencyRoutingPolicies?: pulumi.Input<pulumi.Input<{
    region: pulumi.Input<string>;
}>[]>;

A block indicating a routing policy based on the latency between the requestor and an AWS region. Conflicts with any other routing policy. Documented below.

property multivalueAnswerRoutingPolicy

multivalueAnswerRoutingPolicy?: pulumi.Input<boolean>;

Set to true to indicate a multivalue answer routing policy. Conflicts with any other routing policy.

property name

name?: pulumi.Input<string>;

DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.

property records

records?: pulumi.Input<pulumi.Input<string>[]>;

A string list of records. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters").

property setIdentifier

setIdentifier?: pulumi.Input<string>;

Unique identifier to differentiate records with routing policies from one another. Required if using failover, geolocation, latency, or weighted routing policies documented below.

property ttl

ttl?: pulumi.Input<number>;

The TTL of the record.

property type

type: pulumi.Input<string>;

PRIMARY or SECONDARY. A PRIMARY record will be served if its healthcheck is passing, otherwise the SECONDARY will be served. See http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html#dns-failover-failover-rrsets

property weightedRoutingPolicies

weightedRoutingPolicies?: pulumi.Input<pulumi.Input<{
    weight: pulumi.Input<number>;
}>[]>;

A block indicating a weighted routing policy. Conflicts with any other routing policy. Documented below.

property zoneId

zoneId: pulumi.Input<string>;

Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See resource_elb.zone_id for example.

interface RecordState

Input properties used for looking up and filtering Record resources.

property aliases

aliases?: pulumi.Input<pulumi.Input<{
    evaluateTargetHealth: pulumi.Input<boolean>;
    name: pulumi.Input<string>;
    zoneId: pulumi.Input<string>;
}>[]>;

An alias block. Conflicts with ttl & records. Alias record documented below.

property allowOverwrite

allowOverwrite?: pulumi.Input<boolean>;

Allow creation of this record in Terraform to overwrite an existing record, if any. This does not affect the ability to update the record in Terraform and does not prevent other resources within Terraform or manual Route 53 changes outside Terraform from overwriting this record. false by default. This configuration is not recommended for most environments.

property failoverRoutingPolicies

failoverRoutingPolicies?: pulumi.Input<pulumi.Input<{
    type: pulumi.Input<string>;
}>[]>;

A block indicating the routing behavior when associated health check fails. Conflicts with any other routing policy. Documented below.

property fqdn

fqdn?: pulumi.Input<string>;

FQDN built using the zone domain and name.

property geolocationRoutingPolicies

geolocationRoutingPolicies?: pulumi.Input<pulumi.Input<{
    continent: pulumi.Input<string>;
    country: pulumi.Input<string>;
    subdivision: pulumi.Input<string>;
}>[]>;

A block indicating a routing policy based on the geolocation of the requestor. Conflicts with any other routing policy. Documented below.

property healthCheckId

healthCheckId?: pulumi.Input<string>;

The health check the record should be associated with.

property latencyRoutingPolicies

latencyRoutingPolicies?: pulumi.Input<pulumi.Input<{
    region: pulumi.Input<string>;
}>[]>;

A block indicating a routing policy based on the latency between the requestor and an AWS region. Conflicts with any other routing policy. Documented below.

property multivalueAnswerRoutingPolicy

multivalueAnswerRoutingPolicy?: pulumi.Input<boolean>;

Set to true to indicate a multivalue answer routing policy. Conflicts with any other routing policy.

property name

name?: pulumi.Input<string>;

DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.

property records

records?: pulumi.Input<pulumi.Input<string>[]>;

A string list of records. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters").

property setIdentifier

setIdentifier?: pulumi.Input<string>;

Unique identifier to differentiate records with routing policies from one another. Required if using failover, geolocation, latency, or weighted routing policies documented below.

property ttl

ttl?: pulumi.Input<number>;

The TTL of the record.

property type

type?: pulumi.Input<string>;

PRIMARY or SECONDARY. A PRIMARY record will be served if its healthcheck is passing, otherwise the SECONDARY will be served. See http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html#dns-failover-failover-rrsets

property weightedRoutingPolicies

weightedRoutingPolicies?: pulumi.Input<pulumi.Input<{
    weight: pulumi.Input<number>;
}>[]>;

A block indicating a weighted routing policy. Conflicts with any other routing policy. Documented below.

property zoneId

zoneId?: pulumi.Input<string>;

Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See resource_elb.zone_id for example.

interface ResolverEndpointArgs

The set of arguments for constructing a ResolverEndpoint resource.

property direction

direction: pulumi.Input<string>;

The direction of DNS queries to or from the Route 53 Resolver endpoint. Valid values are INBOUND (resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC) or OUTBOUND (resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC).

property ipAddresses

ipAddresses: pulumi.Input<pulumi.Input<{
    ip: pulumi.Input<string>;
    ipId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]>;

The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound endpoints). Described below.

property name

name?: pulumi.Input<string>;

The friendly name of the Route 53 Resolver endpoint.

property securityGroupIds

securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more security groups that you want to use to control access to this VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface ResolverEndpointState

Input properties used for looking up and filtering ResolverEndpoint resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the Route 53 Resolver endpoint.

property direction

direction?: pulumi.Input<string>;

The direction of DNS queries to or from the Route 53 Resolver endpoint. Valid values are INBOUND (resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC) or OUTBOUND (resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC).

property hostVpcId

hostVpcId?: pulumi.Input<string>;

The ID of the VPC that you want to create the resolver endpoint in.

property ipAddresses

ipAddresses?: pulumi.Input<pulumi.Input<{
    ip: pulumi.Input<string>;
    ipId: pulumi.Input<string>;
    subnetId: pulumi.Input<string>;
}>[]>;

The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound endpoints). Described below.

property name

name?: pulumi.Input<string>;

The friendly name of the Route 53 Resolver endpoint.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

The ID of one or more security groups that you want to use to control access to this VPC.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface ResolverRuleArgs

The set of arguments for constructing a ResolverRule resource.

property domainName

domainName: pulumi.Input<string>;

DNS queries for this domain name are forwarded to the IP addresses that are specified using target_ip.

property name

name?: pulumi.Input<string>;

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

property resolverEndpointId

resolverEndpointId?: pulumi.Input<string>;

The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify using target_ip. This argument should only be specified for FORWARD type rules.

property ruleType

ruleType: pulumi.Input<string>;

The rule type. Valid values are FORWARD, SYSTEM and RECURSIVE.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property targetIps

targetIps?: pulumi.Input<pulumi.Input<{
    ip: pulumi.Input<string>;
    port: pulumi.Input<number>;
}>[]>;

Configuration block(s) indicating the IPs that you want Resolver to forward DNS queries to (documented below). This argument should only be specified for FORWARD type rules.

interface ResolverRuleAssociationArgs

The set of arguments for constructing a ResolverRuleAssociation resource.

property name

name?: pulumi.Input<string>;

A name for the association that you’re creating between a resolver rule and a VPC.

property resolverRuleId

resolverRuleId: pulumi.Input<string>;

The ID of the resolver rule that you want to associate with the VPC.

property vpcId

vpcId: pulumi.Input<string>;

The ID of the VPC that you want to associate the resolver rule with.

interface ResolverRuleAssociationState

Input properties used for looking up and filtering ResolverRuleAssociation resources.

property name

name?: pulumi.Input<string>;

A name for the association that you’re creating between a resolver rule and a VPC.

property resolverRuleId

resolverRuleId?: pulumi.Input<string>;

The ID of the resolver rule that you want to associate with the VPC.

property vpcId

vpcId?: pulumi.Input<string>;

The ID of the VPC that you want to associate the resolver rule with.

interface ResolverRuleState

Input properties used for looking up and filtering ResolverRule resources.

property arn

arn?: pulumi.Input<string>;

The ARN (Amazon Resource Name) for the resolver rule.

property domainName

domainName?: pulumi.Input<string>;

DNS queries for this domain name are forwarded to the IP addresses that are specified using target_ip.

property name

name?: pulumi.Input<string>;

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

property ownerId

ownerId?: pulumi.Input<string>;

When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

property resolverEndpointId

resolverEndpointId?: pulumi.Input<string>;

The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify using target_ip. This argument should only be specified for FORWARD type rules.

property ruleType

ruleType?: pulumi.Input<string>;

The rule type. Valid values are FORWARD, SYSTEM and RECURSIVE.

property shareStatus

shareStatus?: pulumi.Input<string>;

Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account. Values are NOT_SHARED, SHARED_BY_ME or SHARED_WITH_ME

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property targetIps

targetIps?: pulumi.Input<pulumi.Input<{
    ip: pulumi.Input<string>;
    port: pulumi.Input<number>;
}>[]>;

Configuration block(s) indicating the IPs that you want Resolver to forward DNS queries to (documented below). This argument should only be specified for FORWARD type rules.

interface ZoneArgs

The set of arguments for constructing a Zone resource.

property comment

comment?: pulumi.Input<string>;

A comment for the hosted zone. Defaults to ‘Managed by Terraform’.

property delegationSetId

delegationSetId?: pulumi.Input<string>;

The ID of the reusable delegation set whose NS records you want to assign to the hosted zone. Conflicts with vpc as delegation sets can only be used for public zones.

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Whether to destroy all records (possibly managed outside of Terraform) in the zone when destroying the zone.

property name

name?: pulumi.Input<string>;

This is the name of the hosted zone.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the zone.

property vpcs

vpcs?: pulumi.Input<pulumi.Input<{
    vpcId: pulumi.Input<string>;
    vpcRegion: pulumi.Input<string>;
}>[]>;

Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the delegation_set_id argument in this resource and any aws_route53_zone_association resource specifying the same zone ID. Detailed below.

interface ZoneAssociationArgs

The set of arguments for constructing a ZoneAssociation resource.

property vpcId

vpcId: pulumi.Input<string>;

The VPC to associate with the private hosted zone.

property vpcRegion

vpcRegion?: pulumi.Input<string>;

The VPC’s region. Defaults to the region of the AWS provider.

property zoneId

zoneId: pulumi.Input<string>;

The private hosted zone to associate.

interface ZoneAssociationState

Input properties used for looking up and filtering ZoneAssociation resources.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC to associate with the private hosted zone.

property vpcRegion

vpcRegion?: pulumi.Input<string>;

The VPC’s region. Defaults to the region of the AWS provider.

property zoneId

zoneId?: pulumi.Input<string>;

The private hosted zone to associate.

interface ZoneState

Input properties used for looking up and filtering Zone resources.

property comment

comment?: pulumi.Input<string>;

A comment for the hosted zone. Defaults to ‘Managed by Terraform’.

property delegationSetId

delegationSetId?: pulumi.Input<string>;

The ID of the reusable delegation set whose NS records you want to assign to the hosted zone. Conflicts with vpc as delegation sets can only be used for public zones.

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Whether to destroy all records (possibly managed outside of Terraform) in the zone when destroying the zone.

property name

name?: pulumi.Input<string>;

This is the name of the hosted zone.

property nameServers

nameServers?: pulumi.Input<pulumi.Input<string>[]>;

A list of name servers in associated (or default) delegation set. Find more about delegation sets in AWS docs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the zone.

property vpcs

vpcs?: pulumi.Input<pulumi.Input<{
    vpcId: pulumi.Input<string>;
    vpcRegion: pulumi.Input<string>;
}>[]>;

Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the delegation_set_id argument in this resource and any aws_route53_zone_association resource specifying the same zone ID. Detailed below.

property zoneId

zoneId?: pulumi.Input<string>;

The Hosted Zone ID. This can be referenced by zone records.