Viewing docs for Cloudflare v5.49.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
Viewing docs for Cloudflare v5.49.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
Use this data source to get the IP ranges of Cloudflare network.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
import * as example from "@pulumi/example";
const cloudflare = cloudflare.getIpRanges({});
const example = new example.index.FirewallResource("example", {
name: "from-cloudflare",
network: "default",
sourceRanges: cloudflare.ipv4CidrBlocks,
allow: [{
ports: "443",
protocol: "tcp",
}],
});
import pulumi
import pulumi_cloudflare as cloudflare
import pulumi_example as example
cloudflare = cloudflare.get_ip_ranges()
example = example.index.FirewallResource("example",
name=from-cloudflare,
network=default,
source_ranges=cloudflare.ipv4_cidr_blocks,
allow=[{
ports: 443,
protocol: tcp,
}])
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi-example/sdk/go/example"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cloudflare, err := cloudflare.GetIpRanges(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
_, err = example.NewFirewallResource(ctx, "example", &example.FirewallResourceArgs{
Name: "from-cloudflare",
Network: "default",
SourceRanges: cloudflare.Ipv4CidrBlocks,
Allow: []map[string]interface{}{
map[string]interface{}{
"ports": "443",
"protocol": "tcp",
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
using Example = Pulumi.Example;
return await Deployment.RunAsync(() =>
{
var cloudflare = Cloudflare.GetIpRanges.Invoke();
var example = new Example.Index.FirewallResource("example", new()
{
Name = "from-cloudflare",
Network = "default",
SourceRanges = cloudflare.Apply(getIpRangesResult => getIpRangesResult.Ipv4CidrBlocks),
Allow = new[]
{
{
{ "ports", "443" },
{ "protocol", "tcp" },
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.CloudflareFunctions;
import com.pulumi.example.firewallResource;
import com.pulumi.example.FirewallResourceArgs;
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 cloudflare = CloudflareFunctions.getIpRanges();
var example = new FirewallResource("example", FirewallResourceArgs.builder()
.name("from-cloudflare")
.network("default")
.sourceRanges(cloudflare.applyValue(getIpRangesResult -> getIpRangesResult.ipv4CidrBlocks()))
.allow(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build());
}
}
resources:
example:
type: example:firewallResource
properties:
name: from-cloudflare
network: default
sourceRanges: ${cloudflare.ipv4CidrBlocks}
allow:
- ports: '443'
protocol: tcp
variables:
cloudflare:
fn::invoke:
function: cloudflare:getIpRanges
arguments: {}
Using getIpRanges
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getIpRanges(opts?: InvokeOptions): Promise<GetIpRangesResult>
function getIpRangesOutput(opts?: InvokeOptions): Output<GetIpRangesResult>def get_ip_ranges(opts: Optional[InvokeOptions] = None) -> GetIpRangesResult
def get_ip_ranges_output(opts: Optional[InvokeOptions] = None) -> Output[GetIpRangesResult]func GetIpRanges(ctx *Context, opts ...InvokeOption) (*GetIpRangesResult, error)
func GetIpRangesOutput(ctx *Context, opts ...InvokeOption) GetIpRangesResultOutput> Note: This function is named GetIpRanges in the Go SDK.
public static class GetIpRanges
{
public static Task<GetIpRangesResult> InvokeAsync(InvokeOptions? opts = null)
public static Output<GetIpRangesResult> Invoke(InvokeOptions? opts = null)
}public static CompletableFuture<GetIpRangesResult> getIpRanges(InvokeOptions options)
public static Output<GetIpRangesResult> getIpRanges(InvokeOptions options)
fn::invoke:
function: cloudflare:index/getIpRanges:getIpRanges
arguments:
# arguments dictionarygetIpRanges Result
The following output properties are available:
- China
Ipv4Cidr List<string>Blocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- China
Ipv6Cidr List<string>Blocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- Cidr
Blocks List<string> - The lexically ordered list of all non-China CIDR blocks.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ipv4Cidr
Blocks List<string> - The lexically ordered list of only the IPv4 CIDR blocks.
- Ipv6Cidr
Blocks List<string> - The lexically ordered list of only the IPv6 CIDR blocks.
- China
Ipv4Cidr []stringBlocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- China
Ipv6Cidr []stringBlocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- Cidr
Blocks []string - The lexically ordered list of all non-China CIDR blocks.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ipv4Cidr
Blocks []string - The lexically ordered list of only the IPv4 CIDR blocks.
- Ipv6Cidr
Blocks []string - The lexically ordered list of only the IPv6 CIDR blocks.
- china
Ipv4Cidr List<String>Blocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- china
Ipv6Cidr List<String>Blocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- cidr
Blocks List<String> - The lexically ordered list of all non-China CIDR blocks.
- id String
- The provider-assigned unique ID for this managed resource.
- ipv4Cidr
Blocks List<String> - The lexically ordered list of only the IPv4 CIDR blocks.
- ipv6Cidr
Blocks List<String> - The lexically ordered list of only the IPv6 CIDR blocks.
- china
Ipv4Cidr string[]Blocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- china
Ipv6Cidr string[]Blocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- cidr
Blocks string[] - The lexically ordered list of all non-China CIDR blocks.
- id string
- The provider-assigned unique ID for this managed resource.
- ipv4Cidr
Blocks string[] - The lexically ordered list of only the IPv4 CIDR blocks.
- ipv6Cidr
Blocks string[] - The lexically ordered list of only the IPv6 CIDR blocks.
- china_
ipv4_ Sequence[str]cidr_ blocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- china_
ipv6_ Sequence[str]cidr_ blocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- cidr_
blocks Sequence[str] - The lexically ordered list of all non-China CIDR blocks.
- id str
- The provider-assigned unique ID for this managed resource.
- ipv4_
cidr_ Sequence[str]blocks - The lexically ordered list of only the IPv4 CIDR blocks.
- ipv6_
cidr_ Sequence[str]blocks - The lexically ordered list of only the IPv6 CIDR blocks.
- china
Ipv4Cidr List<String>Blocks - The lexically ordered list of only the IPv4 China CIDR blocks.
- china
Ipv6Cidr List<String>Blocks - The lexically ordered list of only the IPv6 China CIDR blocks.
- cidr
Blocks List<String> - The lexically ordered list of all non-China CIDR blocks.
- id String
- The provider-assigned unique ID for this managed resource.
- ipv4Cidr
Blocks List<String> - The lexically ordered list of only the IPv4 CIDR blocks.
- ipv6Cidr
Blocks List<String> - The lexically ordered list of only the IPv6 CIDR blocks.
Package Details
- Repository
- Cloudflare pulumi/pulumi-cloudflare
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
cloudflareTerraform Provider.
Viewing docs for Cloudflare v5.49.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
