Data Source: awsNatGateways
This resource can be useful for getting back a list of NAT gateway ids to be referenced elsewhere.
Example Usage
The following returns all NAT gateways in a specified VPC that are marked as available
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
const dataAwsNatGatewaysNgws = new aws.dataAwsNatGateways.DataAwsNatGateways(
this,
"ngws",
{
filter: [
{
name: "state",
values: ["available"],
},
],
vpcId: "${var.vpc_id}",
}
);
const dataAwsNatGatewayNgw = new aws.dataAwsNatGateway.DataAwsNatGateway(
this,
"ngw",
{
id: `\${tolist(${dataAwsNatGatewaysNgws.ids})[count.index]}`,
}
);
/*In most cases loops should be handled in the programming language context and
not inside of the Terraform context. If you are looping over something external, e.g. a variable or a file input
you should consider using a for loop. If you are looping over something only known to Terraform, e.g. a result of a data source
you need to keep this like it is.*/
dataAwsNatGatewayNgw.addOverride(
"count",
`\${length(${dataAwsNatGatewaysNgws.ids})}`
);
Argument Reference
filter
- (Optional) Custom filter block as described below.vpcId
- (Optional) VPC ID that you want to filter from.tags
- (Optional) Map of tags, each pair of which must exactly match a pair on the desired NAT Gateways.
More complex filters can be expressed using one or more filter
sub-blocks, which take the following arguments:
name
- (Required) Name of the field to filter by, as defined by the underlying AWS API.values
- (Required) Set of values that are accepted for the given field. A Nat Gateway will be selected if any one of the given values matches.
Attributes Reference
id
- AWS Region.ids
- List of all the NAT gateway ids found.
Timeouts
read
- (Default20M
)