get Hosted Zone Id
Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId in a given region for the purpose of using in an AWS Route53 Alias.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const main = aws.elb.getHostedZoneId({});
const www = new aws.route53.Record("www", {
zoneId: primary.zoneId,
name: "example.com",
type: aws.route53.RecordType.A,
aliases: [{
name: mainAwsElb.dnsName,
zoneId: main.then(main => main.id),
evaluateTargetHealth: true,
}],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
main = aws.elb.get_hosted_zone_id()
www = aws.route53.Record("www",
zone_id=primary["zoneId"],
name="example.com",
type=aws.route53.RecordType.A,
aliases=[{
"name": main_aws_elb["dnsName"],
"zone_id": main.id,
"evaluate_target_health": True,
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var main = Aws.Elb.GetHostedZoneId.Invoke();
var www = new Aws.Route53.Record("www", new()
{
ZoneId = primary.ZoneId,
Name = "example.com",
Type = Aws.Route53.RecordType.A,
Aliases = new[]
{
new Aws.Route53.Inputs.RecordAliasArgs
{
Name = mainAwsElb.DnsName,
ZoneId = main.Apply(getHostedZoneIdResult => getHostedZoneIdResult.Id),
EvaluateTargetHealth = true,
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb"
"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 {
main, err := elb.GetHostedZoneId(ctx, &elb.GetHostedZoneIdArgs{}, nil)
if err != nil {
return err
}
_, err = route53.NewRecord(ctx, "www", &route53.RecordArgs{
ZoneId: pulumi.Any(primary.ZoneId),
Name: pulumi.String("example.com"),
Type: pulumi.String(route53.RecordTypeA),
Aliases: route53.RecordAliasArray{
&route53.RecordAliasArgs{
Name: pulumi.Any(mainAwsElb.DnsName),
ZoneId: pulumi.String(main.Id),
EvaluateTargetHealth: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elb.ElbFunctions;
import com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;
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) {
final var main = ElbFunctions.getHostedZoneId(GetHostedZoneIdArgs.builder()
.build());
var www = new Record("www", RecordArgs.builder()
.zoneId(primary.zoneId())
.name("example.com")
.type("A")
.aliases(RecordAliasArgs.builder()
.name(mainAwsElb.dnsName())
.zoneId(main.id())
.evaluateTargetHealth(true)
.build())
.build());
}
}
Content copied to clipboard
resources:
www:
type: aws:route53:Record
properties:
zoneId: ${primary.zoneId}
name: example.com
type: A
aliases:
- name: ${mainAwsElb.dnsName}
zoneId: ${main.id}
evaluateTargetHealth: true
variables:
main:
fn::invoke:
function: aws:elb:getHostedZoneId
arguments: {}
Content copied to clipboard
Return
A collection of values returned by getHostedZoneId.
Parameters
argument
A collection of arguments for invoking getHostedZoneId.
Return
A collection of values returned by getHostedZoneId.
Parameters
region
Name of the region whose AWS ELB HostedZoneId is desired. Defaults to the region from the AWS provider configuration.
See also
suspend fun getHostedZoneId(argument: suspend GetHostedZoneIdPlainArgsBuilder.() -> Unit): GetHostedZoneIdResult
Return
A collection of values returned by getHostedZoneId.
Parameters
argument
Builder for com.pulumi.aws.elb.kotlin.inputs.GetHostedZoneIdPlainArgs.