getIpRanges

Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the AWS IP Address Ranges documentation.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetIpRangesArgs;
import com.pulumi.aws.ec2.SecurityGroup;
import com.pulumi.aws.ec2.SecurityGroupArgs;
import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
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 europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
.regions(
"eu-west-1",
"eu-central-1")
.services("ec2")
.build());
var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
.ingress(SecurityGroupIngressArgs.builder()
.fromPort("443")
.toPort("443")
.protocol("tcp")
.cidrBlocks(europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.cidrBlocks()))
.ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.ipv6CidrBlocks()))
.build())
.tags(Map.ofEntries(
Map.entry("CreateDate", europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.createDate())),
Map.entry("SyncToken", europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.syncToken()))
))
.build());
}
}

Return

A collection of values returned by getIpRanges.

Parameters

argument

A collection of arguments for invoking getIpRanges.


suspend fun getIpRanges(regions: List<String>? = null, services: List<String>, url: String? = null): GetIpRangesResult

Return

A collection of values returned by getIpRanges.

Parameters

regions

Filter IP ranges by regions (or include all regions, if omitted). Valid items are global (for cloudfront) as well as all AWS regions (e.g., eu-central-1)

services

Filter IP ranges by services. Valid items are amazon (for amazon.com), amazon_connect, api_gateway, cloud9, cloudfront, codebuild, dynamodb, ec2, ec2_instance_connect, globalaccelerator, route53, route53_healthchecks, s3 and workspaces_gateways. See the 2 documentation for other possible values.

NOTE: If the specified combination of regions and services does not yield any CIDR blocks, this call will fail.

url

Custom URL for source JSON file. Syntax must match AWS IP Address Ranges documentation. Defaults to https://ip-ranges.amazonaws.com/ip-ranges.json.

See also


suspend fun getIpRanges(argument: suspend GetIpRangesPlainArgsBuilder.() -> Unit): GetIpRangesResult

Return

A collection of values returned by getIpRanges.

Parameters

argument

Builder for com.pulumi.aws.kotlin.inputs.GetIpRangesPlainArgs.

See also