Package @pulumi/cloudflare

var cloudflare = require("@pulumi/cloudflare");
import * as cloudflare from "@pulumi/cloudflare";

Index ▾

accessApplication.ts accessPolicy.ts accessRule.ts accountMember.ts customPages.ts filter.ts firewallRule.ts getIpRanges.ts getZones.ts loadBalancer.ts loadBalancerMonitor.ts loadBalancerPool.ts pageRule.ts provider.ts rateLimit.ts record.ts spectrumApplication.ts utilities.ts wafRule.ts workerRoute.ts workerScript.ts zone.ts zoneLockdown.ts zoneSettingsOverride.ts

Modules ▾

class AccessApplication

extends CustomResource

Provides a Cloudflare Access Application resource. Access Applications are used to restrict access to a whole application using an authorisation gateway managed by Cloudflare.

Example Usage

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

const stagingApp = new cloudflare.AccessApplication("staging_app", {
    domain: "staging.example.com",
    name: "staging application",
    sessionDuration: "24h",
    zoneId: "1d5fdc9e88c8a8c4518b068cd94331fe",
});

constructor

new AccessApplication(name: string, args: AccessApplicationArgs, opts?: pulumi.CustomResourceOptions)

Create a AccessApplication 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?: AccessApplicationState, opts?: pulumi.CustomResourceOptions): AccessApplication

Get an existing AccessApplication 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 aud

public aud: pulumi.Output<string>;

property domain

public domain: pulumi.Output<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

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>;

Friendly name of the Access Application.

property sessionDuration

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

How often a user will be forced to re-authorise. Must be one of 30m, 6h, 12h, 24h, 168h, 730h.

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>;

The DNS zone to which the access rule should be added.

class AccessPolicy

extends CustomResource

Provides a Cloudflare Access Policy resource. Access Policies are used in conjunction with Access Applications to restrict access to a particular resource.

Example Usage

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

// Allowing `test@example.com` to access but only when coming from a
// specific IP.
const testPolicy = new cloudflare.AccessPolicy("test_policy", {
    applicationId: "cb029e245cfdd66dc8d2e570d5dd3322",
    decision: "allow",
    includes: [{
        emails: ["test@example.com"],
    }],
    name: "staging policy",
    precedence: 1,
    requires: [{
        ips: [var_office_ip],
    }],
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

Conditions

require, exclude and include arguments share the available conditions which can be applied. The conditions are:

  • ip - (Optional) A list of IP addresses or ranges. Example: ip = ["1.2.3.4", "10.0.0.0/2"]
  • email - (Optional) A list of email addresses. Example: email = ["test@example.com"]
  • email_domain - (Optional) A list of email domains. Example: email_domain = ["example.com"]
  • everyone - (Optional) Boolean indicating permitting access for all requests. Example: everyone = true

constructor

new AccessPolicy(name: string, args: AccessPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a AccessPolicy 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?: AccessPolicyState, opts?: pulumi.CustomResourceOptions): AccessPolicy

Get an existing AccessPolicy 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 applicationId

public applicationId: pulumi.Output<string>;

The ID of the application the policy is associated with.

property decision

public decision: pulumi.Output<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

property excludes

public excludes: pulumi.Output<{
    emailDomains: string[];
    emails: string[];
    everyone: boolean;
    ips: string[];
}[] | undefined>;

A series of access conditions, see below for full list.

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 includes

public includes: pulumi.Output<{
    emailDomains: string[];
    emails: string[];
    everyone: boolean;
    ips: string[];
}[]>;

A series of access conditions, see below for full list.

property name

public name: pulumi.Output<string>;

Friendly name of the Access Application.

property precedence

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

The unique precedence for policies on a single application. Integer.

property requires

public requires: pulumi.Output<{
    emailDomains: string[];
    emails: string[];
    everyone: boolean;
    ips: string[];
}[] | undefined>;

A series of access conditions, see below for full list.

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>;

The DNS zone to which the access rule should be added.

class AccessRule

extends CustomResource

Provides a Cloudflare IP Firewall Access Rule resource. Access control can be applied on basis of IP addresses, IP ranges, AS numbers or countries.

Example Usage

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

const config = new pulumi.Config();
const myOffice = config.get("myOffice") || [
    "192.0.2.0/24",
    "198.51.100.0/24",
    "2001:db8::/56",
];

// Whitelist (sic!) requests coming from Antarctica, but only for single zone.
const antarctica = new cloudflare.AccessRule("antarctica", {
    configuration: {
        target: "country",
        value: "AQ",
    },
    mode: "whitelist",
    notes: "Requests coming from known Tor exit nodes",
    zone: "example.com",
});
// Challenge requests coming from known Tor exit nodes.
const torExitNodes = new cloudflare.AccessRule("tor_exit_nodes", {
    configuration: {
        target: "country",
        value: "T1",
    },
    mode: "challenge",
    notes: "Requests coming from known Tor exit nodes",
});
const officeNetwork: cloudflare.AccessRule[] = [];
for (let i = 0; i < myOffice.length; i++) {
    officeNetwork.push(new cloudflare.AccessRule(`office_network-${i}`, {
        configuration: {
            target: "ip_range",
            value: myOffice[i],
        },
        mode: "whitelist",
        notes: "Requests coming from office network",
    }));
}

constructor

new AccessRule(name: string, args: AccessRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a AccessRule 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?: AccessRuleState, opts?: pulumi.CustomResourceOptions): AccessRule

Get an existing AccessRule 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 configuration

public configuration: pulumi.Output<{
    target: string;
    value: string;
}>;

Rule configuration to apply to a matched request. It’s a complex value. See description below.

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 mode

public mode: pulumi.Output<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “whitelist”, “js_challenge”

property notes

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

A personal note about the rule. Typically used as a reminder or explanation for the rule.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to which the access rule should be added. Will be resolved to zone_id upon creation.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the access rule should be added.

class AccountMember

extends CustomResource

Provides a resource which manages Cloudflare account members.

Example Usage

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

const exampleUser = new cloudflare.AccountMember("example_user", {
    emailAddress: "user@example.com",
    roleIds: [
        "68b329da9893e34099c7d8ad5cb9c940",
        "d784fa8b6d98d27699781bd9a7cf19f0",
    ],
});

constructor

new AccountMember(name: string, args: AccountMemberArgs, opts?: pulumi.CustomResourceOptions)

Create a AccountMember 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?: AccountMemberState, opts?: pulumi.CustomResourceOptions): AccountMember

Get an existing AccountMember 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 emailAddress

public emailAddress: pulumi.Output<string>;

The email address of the user who you wish to manage. Note: Following creation, this field becomes read only via the API and cannot be updated.

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 roleIds

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

Array of account role IDs that you want to assign to a member.

property urn

urn: Output<URN>;

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

class CustomPages

extends CustomResource

Provides a resource which manages Cloudflare custom error pages.

Example Usage

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

const basicChallenge = new cloudflare.CustomPages("basic_challenge", {
    state: "customized",
    type: "basic_challenge",
    url: "https://example.com/challenge.html",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

constructor

new CustomPages(name: string, args: CustomPagesArgs, opts?: pulumi.CustomResourceOptions)

Create a CustomPages 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?: CustomPagesState, opts?: pulumi.CustomResourceOptions): CustomPages

Get an existing CustomPages 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 accountId

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

The account ID where the custom pages should be updated. Either account_id or zone_id must be provided. If account_id is present, it will override the zone setting.

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 state

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

Managed state of the custom page. Must be one of default, customised. If the value is default it will be removed from the Terraform state management.

property type

public type: pulumi.Output<string>;

The type of custom page you wish to update. Must be one of basic_challenge, waf_challenge, waf_block, ratelimit_block, country_challenge, ip_block, under_attack, 500_errors, 1000_errors, always_online.

property url

public url: pulumi.Output<string>;

URL of where the custom page source is located.

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 | undefined>;

The zone ID where the custom pages should be updated. Either zone_id or account_id must be provided.

class Filter

extends CustomResource

Filter expressions that can be referenced across multiple features, e.g. Firewall Rule. The expression format is similar to Wireshark Display Filter.

Example Usage

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

const wordpress = new cloudflare.Filter("wordpress", {
    description: "Wordpress break-in attempts that are outside of the office",
    expression: "(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.src ne 192.0.2.1",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

constructor

new Filter(name: string, args: FilterArgs, opts?: pulumi.CustomResourceOptions)

Create a Filter 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?: FilterState, opts?: pulumi.CustomResourceOptions): Filter

Get an existing Filter 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 description

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

A note that you can use to describe the purpose of the filter.

property expression

public expression: pulumi.Output<string>;

The filter expression to be used.

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 paused

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

Whether this filter is currently paused. Boolean value.

property ref

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

Short reference tag to quickly select related rules.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to which the Filter should be added. Will be resolved to zone_id upon creation.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the Filter should be added.

class FirewallRule

extends CustomResource

Define Firewall rules using filter expressions for more control over how traffic is matched to the rule. A filter expression permits selecting traffic by multiple criteria allowing greater freedom in rule creation.

Filter expressions needs to be created first before using Firewall Rule. See Filter.

Example Usage

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

const wordpressFilter = new cloudflare.Filter("wordpress", {
    description: "Wordpress break-in attempts that are outside of the office",
    expression: "(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.src ne 192.0.2.1",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});
const wordpressFirewallRule = new cloudflare.FirewallRule("wordpress", {
    action: "block",
    description: "Block wordpress break-in attempts",
    filterId: wordpressFilter.id,
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

constructor

new FirewallRule(name: string, args: FirewallRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a FirewallRule 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?: FirewallRuleState, opts?: pulumi.CustomResourceOptions): FirewallRule

Get an existing FirewallRule 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 action

public action: pulumi.Output<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “allow”, “js_challenge”. Enterprise plan also allows “log”.

property description

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

A description of the rule to help identify it.

property filterId

public filterId: pulumi.Output<string>;

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 paused

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

Whether this filter based firewall rule is currently paused. Boolean value.

property priority

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

The priority of the rule to allow control of processing order. A lower number indicates high priority. If not provided, any rules with a priority will be sequenced before those without.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to which the Firewall Rule should be added. Will be resolved to zone_id upon creation.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the Filter should be added.

class LoadBalancer

extends CustomResource

Provides a Cloudflare Load Balancer resource. This sits in front of a number of defined pools of origins and provides various options for geographically-aware load balancing. Note that the load balancing feature must be enabled in your Clouflare account before you can use this resource.

Example Usage

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

const foo = new cloudflare.LoadBalancerPool("foo", {
    name: "example-lb-pool",
    origins: [{
        address: "192.0.2.1",
        enabled: false,
        name: "example-1",
    }],
});
// Define a load balancer which always points to a pool we define below
// In normal usage, would have different pools set for different pops (cloudflare points-of-presence) and/or for different regions
// Within each pop or region we can define multiple pools in failover order
const bar = new cloudflare.LoadBalancer("bar", {
    defaultPoolIds: [foo.id],
    description: "example load balancer using geo-balancing",
    fallbackPoolId: foo.id,
    name: "example-load-balancer",
    popPools: [{
        poolIds: [foo.id],
        pop: "LAX",
    }],
    proxied: true,
    regionPools: [{
        poolIds: [foo.id],
        region: "WNAM",
    }],
    steeringPolicy: "geo",
    zone: "example.com",
});

constructor

new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions)

Create a LoadBalancer 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?: LoadBalancerState, opts?: pulumi.CustomResourceOptions): LoadBalancer

Get an existing LoadBalancer 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 createdOn

public createdOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer was created.

property defaultPoolIds

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

A list of pool IDs ordered by their failover priority. Used whenever region/pop pools are not defined.

property description

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

Free text description.

property fallbackPoolId

public fallbackPoolId: pulumi.Output<string>;

The pool ID to use when all other pools are detected as unhealthy.

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 modifiedOn

public modifiedOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer was last modified.

property name

public name: pulumi.Output<string>;

The DNS name (FQDN, including the zone) to associate with the load balancer.

property popPools

public popPools: pulumi.Output<{
    poolIds: string[];
    pop: string;
}[]>;

A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers. Fields documented below.

property proxied

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

Whether the hostname gets Cloudflare’s origin protection. Defaults to false.

property regionPools

public regionPools: pulumi.Output<{
    poolIds: string[];
    region: string;
}[]>;

A set containing mappings of region/country codes to a list of pool IDs (ordered by their failover priority) for the given region. Fields documented below.

property sessionAffinity

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

Associates all requests coming from an end-user with a single origin. Cloudflare will set a cookie on the initial response to the client, such that consequent requests with the cookie in the request will go to the same origin, so long as it is available.

property steeringPolicy

public steeringPolicy: pulumi.Output<string>;

Determine which method the load balancer uses to determine the fastest route to your origin. Valid values are: “off”, “geo”, “dynamic_latency” or “”. Default is “”.

property ttl

public ttl: pulumi.Output<number>;

Time to live (TTL) of this load balancer’s DNS name. Conflicts with proxied - this cannot be set for proxied load balancers. Default is 30.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The zone to add the load balancer to.

property zoneId

public zoneId: pulumi.Output<string>;

ID associated with the specified zone.

class LoadBalancerMonitor

extends CustomResource

If you’re using Cloudflare’s Load Balancing to load-balance across multiple origin servers or data centers, you configure one of these Monitors to actively check the availability of those servers over HTTP(S).

Example Usage

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

const test = new cloudflare.LoadBalancerMonitor("test", {
    allowInsecure: false,
    description: "example load balancer",
    expectedBody: "alive",
    expectedCodes: "2xx",
    followRedirects: true,
    headers: [{
        header: "Host",
        values: ["example.com"],
    }],
    interval: 60,
    method: "GET",
    path: "/health",
    retries: 5,
    timeout: 7,
});

constructor

new LoadBalancerMonitor(name: string, args: LoadBalancerMonitorArgs, opts?: pulumi.CustomResourceOptions)

Create a LoadBalancerMonitor 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?: LoadBalancerMonitorState, opts?: pulumi.CustomResourceOptions): LoadBalancerMonitor

Get an existing LoadBalancerMonitor 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 allowInsecure

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

Do not validate the certificate when monitor use HTTPS.

property createdOn

public createdOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer monitor was created.

property description

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

Free text description.

property expectedBody

public expectedBody: pulumi.Output<string>;

A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.

property expectedCodes

public expectedCodes: pulumi.Output<string>;

The expected HTTP response code or code range of the health check. Eg 2xx

property followRedirects

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

Follow redirects if returned by the origin.

property headers

public headers: pulumi.Output<{
    header: string;
    values: string[];
}[] | undefined>;

The header name.

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 interval

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

The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations. Default: 60.

property method

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

The HTTP method to use for the health check. Default: “GET”.

property modifiedOn

public modifiedOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer monitor was last modified.

property path

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

The endpoint path to health check against. Default: “/”.

property port

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

property retries

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

The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. Default: 2.

property timeout

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

The timeout (in seconds) before marking the health check as failed. Default: 5.

property type

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

The protocol to use for the healthcheck. Currently supported protocols are ‘HTTP’ and ‘HTTPS’. Default: “http”.

property urn

urn: Output<URN>;

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

class LoadBalancerPool

extends CustomResource

Provides a Cloudflare Load Balancer pool resource. This provides a pool of origins that can be used by a Cloudflare Load Balancer. Note that the load balancing feature must be enabled in your Clouflare account before you can use this resource.

Example Usage

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

const foo = new cloudflare.LoadBalancerPool("foo", {
    description: "example load balancer pool",
    enabled: false,
    minimumOrigins: 1,
    name: "example-pool",
    notificationEmail: "someone@example.com",
    origins: [
        {
            address: "192.0.2.1",
            enabled: false,
            name: "example-1",
        },
        {
            address: "192.0.2.2",
            name: "example-2",
        },
    ],
});

constructor

new LoadBalancerPool(name: string, args: LoadBalancerPoolArgs, opts?: pulumi.CustomResourceOptions)

Create a LoadBalancerPool 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?: LoadBalancerPoolState, opts?: pulumi.CustomResourceOptions): LoadBalancerPool

Get an existing LoadBalancerPool 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 checkRegions

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

A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found here.

property createdOn

public createdOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer was created.

property description

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

Free text description.

property enabled

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

Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.

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 minimumOrigins

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

The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool. Default: 1.

property modifiedOn

public modifiedOn: pulumi.Output<string>;

The RFC3339 timestamp of when the load balancer was last modified.

property monitor

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

The ID of the Monitor to use for health checking origins within this pool.

property name

public name: pulumi.Output<string>;

A human-identifiable name for the origin.

property notificationEmail

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

The email address to send health status notifications to. This can be an individual mailbox or a mailing list.

property origins

public origins: pulumi.Output<{
    address: string;
    enabled: boolean;
    name: string;
    weight: number;
}[]>;

The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy. It’s a complex value. See description below.

property urn

urn: Output<URN>;

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

class PageRule

extends CustomResource

Provides a Cloudflare page rule resource.

Example Usage

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

// Add a page rule to the domain
const foobar = new cloudflare.PageRule("foobar", {
    actions: {
        emailObfuscation: "on",
        ssl: "flexible",
    },
    priority: 1,
    target: `sub.${var_cloudflare_zone}/page`,
    zone: var_cloudflare_zone,
});

constructor

new PageRule(name: string, args: PageRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a PageRule 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?: PageRuleState, opts?: pulumi.CustomResourceOptions): PageRule

Get an existing PageRule 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 actions

public actions: pulumi.Output<{
    alwaysOnline: string;
    alwaysUseHttps: boolean;
    automaticHttpsRewrites: string;
    browserCacheTtl: number;
    browserCheck: string;
    bypassCacheOnCookie: string;
    cacheByDeviceType: string;
    cacheDeceptionArmor: string;
    cacheLevel: string;
    cacheOnCookie: string;
    disableApps: boolean;
    disablePerformance: boolean;
    disableRailgun: boolean;
    disableSecurity: boolean;
    edgeCacheTtl: number;
    emailObfuscation: string;
    explicitCacheControl: string;
    forwardingUrl: {
        statusCode: number;
        url: string;
    };
    hostHeaderOverride: string;
    ipGeolocation: string;
    mirage: string;
    opportunisticEncryption: string;
    originErrorPagePassThru: string;
    polish: string;
    resolveOverride: string;
    respectStrongEtag: string;
    responseBuffering: string;
    rocketLoader: string;
    securityLevel: string;
    serverSideExclude: string;
    sortQueryStringForCache: string;
    ssl: string;
    trueClientIpHeader: string;
    waf: string;
}>;

The actions taken by the page rule, options given below.

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 priority

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

The priority of the page rule among others for this target, the higher the number the higher the priority as per API documentation.

property status

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

Whether the page rule is active or disabled.

property target

public target: pulumi.Output<string>;

The URL pattern to target with the page rule.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to which the page rule should be added.

property zoneId

public zoneId: pulumi.Output<string>;

The ID of the zone in which the page rule will be applied.

class Provider

extends ProviderResource

The provider type for the cloudflare package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

constructor

new Provider(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions)

Create a Provider 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 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.

class RateLimit

extends CustomResource

Provides a Cloudflare rate limit resource for a given zone. This can be used to limit the traffic you receive zone-wide, or matching more specific types of requests/responses.

Example Usage

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

const example = new cloudflare.RateLimit("example", {
    action: {
        mode: "simulate",
        response: {
            body: "custom response body",
            contentType: "text/plain",
        },
        timeout: 43200,
    },
    bypassUrlPatterns: [
        `${var_cloudflare_zone}/bypass1`,
        `${var_cloudflare_zone}/bypass2`,
    ],
    correlate: {
        by: "nat",
    },
    description: "example rate limit for a zone",
    disabled: false,
    match: {
        request: {
            methods: [
                "GET",
                "POST",
                "PUT",
                "DELETE",
                "PATCH",
                "HEAD",
            ],
            schemes: [
                "HTTP",
                "HTTPS",
            ],
            urlPattern: `${var_cloudflare_zone}/*`,
        },
        response: {
            originTraffic: false,
            statuses: [
                200,
                201,
                202,
                301,
                429,
            ],
        },
    },
    period: 2,
    threshold: 2000,
    zone: var_cloudflare_zone,
});

constructor

new RateLimit(name: string, args: RateLimitArgs, opts?: pulumi.CustomResourceOptions)

Create a RateLimit 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?: RateLimitState, opts?: pulumi.CustomResourceOptions): RateLimit

Get an existing RateLimit 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 action

public action: pulumi.Output<{
    mode: string;
    response: {
        body: string;
        contentType: string;
    };
    timeout: number;
}>;

The action to be performed when the threshold of matched traffic within the period defined is exceeded.

property bypassUrlPatterns

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

URLs matching the patterns specified here will be excluded from rate limiting.

property correlate

public correlate: pulumi.Output<{
    by: string;
} | undefined>;

Determines how rate limiting is applied. By default if not specified, rate limiting applies to the clients IP address.

property description

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

A note that you can use to describe the reason for a rate limit. This value is sanitized and all tags are removed.

property disabled

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

Whether this ratelimit is currently disabled. Default: false.

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 match

public match: pulumi.Output<{
    request: {
        methods: string[];
        schemes: string[];
        urlPattern: string;
    };
    response: {
        originTraffic: boolean;
        statuses: number[];
    };
}>;

Determines which traffic the rate limit counts towards the threshold. By default matches all traffic in the zone. See definition below.

property period

public period: pulumi.Output<number>;

The time in seconds to count matching traffic. If the count exceeds threshold within this period the action will be performed (min: 1, max: 86,400).

property threshold

public threshold: pulumi.Output<number>;

The threshold that triggers the rate limit mitigations, combine with period. i.e. threshold per period (min: 2, max: 1,000,000).

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to apply rate limiting to.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone ID.

class Record

extends CustomResource

Provides a Cloudflare record resource.

Example Usage

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

// Add a record requiring a data map
const _sipTls = new cloudflare.Record("_sip_tls", {
    data: {
        name: "terraform-srv",
        port: 443,
        priority: 0,
        proto: "_tls",
        service: "_sip",
        target: "example.com",
        weight: 0,
    },
    domain: var_cloudflare_zone,
    name: "_sip._tls",
    type: "SRV",
});
// Add a record to the domain
const foobar = new cloudflare.Record("foobar", {
    domain: var_cloudflare_zone,
    name: "terraform",
    ttl: 3600,
    type: "A",
    value: "192.168.0.11",
});

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 createdOn

public createdOn: pulumi.Output<string>;

The RFC3339 timestamp of when the record was created

property data

public data: pulumi.Output<{
    algorithm: number;
    altitude: number;
    certificate: string;
    content: string;
    digest: string;
    digestType: number;
    fingerprint: string;
    flags: string;
    keyTag: number;
    latDegrees: number;
    latDirection: string;
    latMinutes: number;
    latSeconds: number;
    longDegrees: number;
    longDirection: string;
    longMinutes: number;
    longSeconds: number;
    matchingType: number;
    name: string;
    order: number;
    port: number;
    precisionHorz: number;
    precisionVert: number;
    preference: number;
    priority: number;
    proto: string;
    protocol: number;
    publicKey: string;
    regex: string;
    replacement: string;
    selector: number;
    service: string;
    size: number;
    target: string;
    type: number;
    usage: number;
    weight: number;
} | undefined>;

Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or value must be specified

property domain

public domain: pulumi.Output<string>;

The DNS zone to add the record to

property hostname

public hostname: pulumi.Output<string>;

The FQDN of the record

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 metadata

public metadata: pulumi.Output<{[key: string]: any}>;

A key-value map of string metadata cloudflare associates with the record

property modifiedOn

public modifiedOn: pulumi.Output<string>;

The RFC3339 timestamp of when the record was last modified

property name

public name: pulumi.Output<string>;

The name of the record

property priority

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

The priority of the record

property proxiable

public proxiable: pulumi.Output<boolean>;

Shows whether this record can be proxied, must be true if setting proxied=true

property proxied

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

Whether the record gets Cloudflare’s origin protection; defaults to false.

property ttl

public ttl: pulumi.Output<number>;

The TTL of the record (automatic: ‘1’)

property type

public type: pulumi.Output<string>;

The type of the record

property urn

urn: Output<URN>;

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

property value

public value: pulumi.Output<string>;

The (string) value of the record. Either this or data must be specified

property zoneId

public zoneId: pulumi.Output<string>;

The zone id of the record

class SpectrumApplication

extends CustomResource

Provides a Cloudflare Spectrum Application. You can extend the power of Cloudflare’s DDoS, TLS, and IP Firewall to your other TCP-based services.

Example Usage

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

// Define a spectrum application proxies ssh traffic
const sshProxy = new cloudflare.SpectrumApplication("ssh_proxy", {
    dns: {
        name: "ssh.example.com",
        type: "CNAME",
    },
    originDirects: ["tcp://109.151.40.129:22"],
    protocol: "tcp/22",
});

constructor

new SpectrumApplication(name: string, args: SpectrumApplicationArgs, opts?: pulumi.CustomResourceOptions)

Create a SpectrumApplication 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?: SpectrumApplicationState, opts?: pulumi.CustomResourceOptions): SpectrumApplication

Get an existing SpectrumApplication 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 dns

public dns: pulumi.Output<{
    name: string;
    type: string;
}>;

The name and type of DNS record for the Spectrum application. Fields documented below.

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 ipFirewall

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

Enables the IP Firewall for this application. Defaults to true.

property originDirects

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

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

property originDns

public originDns: pulumi.Output<{
    name: string;
} | undefined>;

A destination DNS addresses to the origin. Fields documented below.

property originPort

public originPort: pulumi.Output<number>;

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

property protocol

public protocol: pulumi.Output<string>;

The port configuration at Cloudflare’s edge. e.g. tcp/22.

property proxyProtocol

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

Enables Proxy Protocol v1 to the origin. Defaults to false.

property tls

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

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

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>;

class WafRule

extends CustomResource

Provides a Cloudflare WAF rule resource for a particular zone. This can be used to configure firewall behaviour for pre-defined firewall rules.

Example Usage

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

const _100000 = new cloudflare.WafRule("100000", {
    mode: "simulate",
    ruleId: "100000",
    zone: "domain.com",
});

constructor

new WafRule(name: string, args: WafRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a WafRule 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?: WafRuleState, opts?: pulumi.CustomResourceOptions): WafRule

Get an existing WafRule 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 mode

public mode: pulumi.Output<string>;

The mode of the rule, can be one of [“block”, “challenge”, “default”, “disable”, “simulate”].

property packageId

public packageId: pulumi.Output<string>;

The ID of the WAF Rule Package that contains the rule.

property ruleId

public ruleId: pulumi.Output<string>;

The WAF Rule ID.

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The DNS zone to apply to.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone ID.

class WorkerRoute

extends CustomResource

Provides a Cloudflare worker route resource. A route will also require a cloudflare_worker_script.

Example Usage

NOTE: This is for non-enterprise accounts where there is one script per zone. The enabled flag determines whether to run the worker script for a request that matches the specified pattern. For enterprise accounts, see the “multi-script” example below.

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

const myScript = new cloudflare.WorkerScript("my_script", {});
// Enables the zone's worker script for all URLs that match `example.com/*`
const myRoute = new cloudflare.WorkerRoute("my_route", {
    enabled: true,
    pattern: "example.com/*",
    zone: "example.com",
}, {dependsOn: [myScript]});

Multi-script example usage

NOTE: This is only for enterprise accounts. With multi-script, each route points to a particular script instead of setting an enabled flag

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

const myScript = new cloudflare.WorkerScript("my_script", {});
// Runs the specified worker script for all URLs that match `example.com/*`
const myRoute = new cloudflare.WorkerRoute("my_route", {
    pattern: "example.com/*",
    scriptName: myScript.name,
    zone: "example.com",
});

constructor

new WorkerRoute(name: string, args: WorkerRouteArgs, opts?: pulumi.CustomResourceOptions)

Create a WorkerRoute 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?: WorkerRouteState, opts?: pulumi.CustomResourceOptions): WorkerRoute

Get an existing WorkerRoute 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 enabled

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

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 multiScript

public multiScript: pulumi.Output<boolean>;

property pattern

public pattern: pulumi.Output<string>;

The route pattern

  • enabled (For single-script accounts only) Whether to run the worker script for requests that match the route pattern. Default is false
  • script_name (For multi-script accounts only) Which worker script to run for requests that match the route pattern. If script_name is empty, workers will be skipped for matching requests.

property scriptName

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

property urn

urn: Output<URN>;

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

property zone

public zone: pulumi.Output<string>;

The zone to add the route to.

property zoneId

public zoneId: pulumi.Output<string>;

The zone id of the route

class WorkerScript

extends CustomResource

Provides a Cloudflare worker script resource. In order for a script to be active, you’ll also need to setup a cloudflare_worker_route.

Example Usage

NOTE: This is for non-enterprise accounts where there is one script per zone. For enterprise accounts, see the “multi-script” example below.

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
import * as fs from "fs";

// Sets the script for the example.com zone
const myScript = new cloudflare.WorkerScript("my_script", {
    content: fs.readFileSync("script.js", "utf-8"),
    zone: "example.com",
});

Multi-script example usage

NOTE: This is only for enterprise accounts. With multi-script, each script is given a name instead of a zone

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
import * as fs from "fs";

// Sets the script with the name "script_1"
const myScript = new cloudflare.WorkerScript("my_script", {
    content: fs.readFileSync("script.js", "utf-8"),
    name: "script_1",
});

constructor

new WorkerScript(name: string, args: WorkerScriptArgs, opts?: pulumi.CustomResourceOptions)

Create a WorkerScript 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?: WorkerScriptState, opts?: pulumi.CustomResourceOptions): WorkerScript

Get an existing WorkerScript 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 content

public content: pulumi.Output<string>;

The script content.

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 | undefined>;

The name for the script.

property urn

urn: Output<URN>;

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

property zone

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

The zone for the script.

property zoneId

public zoneId: pulumi.Output<string>;

The zone id of the script (only for non-multi-script resources)

class Zone

extends CustomResource

Provides a Cloudflare Zone resource. Zone is the basic resource for working with Cloudflare and is roughly equivalent to a domain name that the user purchases.

Example Usage

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

const example = new cloudflare.Zone("example", {
    zone: "example.com",
});

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 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 jumpStart

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

Boolean of whether to scan for DNS records on creation. Ignored after zone is created. Default: false.

property meta

public meta: pulumi.Output<{
    phishingDetected: boolean;
    wildcardProxiable: boolean;
}>;

property nameServers

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

Cloudflare-assigned name servers. This is only populated for zones that use Cloudflare DNS.

property paused

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

Boolean of whether this zone is paused (traffic bypasses Cloudflare). Default: false.

property plan

public plan: pulumi.Output<string>;

The name of the commercial plan to apply to the zone, can be updated once the one is created; one of free, pro, business, enterprise.

property status

public status: pulumi.Output<string>;

Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated

property type

public type: pulumi.Output<string>;

A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Valid values: full, partial

property urn

urn: Output<URN>;

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

property vanityNameServers

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

List of Vanity Nameservers (if set).

  • meta.wildcard_proxiable - Indicates whether wildcard DNS records can receive Cloudflare security and performance features.
  • meta.phishing_detected - Indicates if URLs on the zone have been identified as hosting phishing content.

property zone

public zone: pulumi.Output<string>;

The DNS zone name which will be added.

class ZoneLockdown

extends CustomResource

Provides a Cloudflare Zone Lockdown resource. Zone Lockdown allows you to define one or more URLs (with wildcard matching on the domain or path) that will only permit access if the request originates from an IP address that matches a safelist of one or more IP addresses and/or IP ranges.

Example Usage

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

// Restrict access to these endpoints to requests from a known IP address.
const endpointLockdown = new cloudflare.ZoneLockdown("endpoint_lockdown", {
    configurations: [{
        target: "ip",
        value: "198.51.100.4",
    }],
    description: "Restrict access to these endpoints to requests from a known IP address",
    paused: false,
    urls: ["api.mysite.com/some/endpoint*"],
    zone: "api.mysite.com",
});

constructor

new ZoneLockdown(name: string, args: ZoneLockdownArgs, opts?: pulumi.CustomResourceOptions)

Create a ZoneLockdown 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?: ZoneLockdownState, opts?: pulumi.CustomResourceOptions): ZoneLockdown

Get an existing ZoneLockdown 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 configurations

public configurations: pulumi.Output<{
    target: string;
    value: string;
}[]>;

A list of IP addresses or IP ranges to match the request against specified in target, value pairs. It’s a complex value. See description below. The order of the configuration entries is unimportant.

property description

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

A description about the lockdown entry. Typically used as a reminder or explanation for the lockdown.

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 paused

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

Boolean of whether this zone lockdown is currently paused. Default: false.

property urls

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

A list of simple wildcard patterns to match requests against. The order of the urls is unimportant.

property urn

urn: Output<URN>;

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

property zone

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

The DNS zone to which the lockdown will be added. Will be resolved to zone_id upon creation.

property zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the access rule should be added.

class ZoneSettingsOverride

extends CustomResource

Provides a resource which customizes Cloudflare zone settings. Note that after destroying this resource Zone Settings will be reset to their initial values.

Example Usage

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

const test = new cloudflare.ZoneSettingsOverride("test", {
    name: var_cloudflare_zone,
    settings: {
        automaticHttpsRewrites: "on",
        brotli: "on",
        challengeTtl: 2700,
        minify: {
            css: "on",
            html: "off",
            js: "off",
        },
        mirage: "on",
        opportunisticEncryption: "on",
        securityHeader: {
            enabled: true,
        },
        securityLevel: "high",
        waf: "on",
    },
});

constructor

new ZoneSettingsOverride(name: string, args: ZoneSettingsOverrideArgs, opts?: pulumi.CustomResourceOptions)

Create a ZoneSettingsOverride 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?: ZoneSettingsOverrideState, opts?: pulumi.CustomResourceOptions): ZoneSettingsOverride

Get an existing ZoneSettingsOverride 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 initialSettings

public initialSettings: pulumi.Output<{
    advancedDdos: string;
    alwaysOnline: string;
    alwaysUseHttps: string;
    automaticHttpsRewrites: string;
    brotli: string;
    browserCacheTtl: number;
    browserCheck: string;
    cacheLevel: string;
    challengeTtl: number;
    cnameFlattening: string;
    developmentMode: string;
    edgeCacheTtl: number;
    emailObfuscation: string;
    hotlinkProtection: string;
    http2: string;
    ipGeolocation: string;
    ipv6: string;
    maxUpload: number;
    minTlsVersion: string;
    minify: {
        css: string;
        html: string;
        js: string;
    };
    mirage: string;
    mobileRedirect: {
        mobileSubdomain: string;
        status: string;
        stripUri: boolean;
    };
    opportunisticEncryption: string;
    opportunisticOnion: string;
    originErrorPagePassThru: string;
    polish: string;
    prefetchPreload: string;
    privacyPass: string;
    pseudoIpv4: string;
    responseBuffering: string;
    rocketLoader: string;
    securityHeader: {
        enabled: boolean;
        includeSubdomains: boolean;
        maxAge: number;
        nosniff: boolean;
        preload: boolean;
    };
    securityLevel: string;
    serverSideExclude: string;
    sha1Support: string;
    sortQueryStringForCache: string;
    ssl: string;
    tls12Only: string;
    tls13: string;
    tlsClientAuth: string;
    trueClientIpHeader: string;
    waf: string;
    webp: string;
    websockets: string;
}>;

Settings present in the zone at the time the resource is created. This will be used to restore the original settings when this resource is destroyed. Shares the same schema as the settings attribute (Above).

property initialSettingsReadAt

public initialSettingsReadAt: pulumi.Output<string>;

property name

public name: pulumi.Output<string>;

The DNS zone to which apply settings.

property readonlySettings

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

Which of the current settings are not able to be set by the user. Which settings these are is determined by plan level and user permissions.

  • zone_status. A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.
  • zone_type. Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated.

property settings

public settings: pulumi.Output<{
    advancedDdos: string;
    alwaysOnline: string;
    alwaysUseHttps: string;
    automaticHttpsRewrites: string;
    brotli: string;
    browserCacheTtl: number;
    browserCheck: string;
    cacheLevel: string;
    challengeTtl: number;
    cnameFlattening: string;
    developmentMode: string;
    edgeCacheTtl: number;
    emailObfuscation: string;
    hotlinkProtection: string;
    http2: string;
    ipGeolocation: string;
    ipv6: string;
    maxUpload: number;
    minTlsVersion: string;
    minify: {
        css: string;
        html: string;
        js: string;
    };
    mirage: string;
    mobileRedirect: {
        mobileSubdomain: string;
        status: string;
        stripUri: boolean;
    };
    opportunisticEncryption: string;
    opportunisticOnion: string;
    originErrorPagePassThru: string;
    polish: string;
    prefetchPreload: string;
    privacyPass: string;
    pseudoIpv4: string;
    responseBuffering: string;
    rocketLoader: string;
    securityHeader: {
        enabled: boolean;
        includeSubdomains: boolean;
        maxAge: number;
        nosniff: boolean;
        preload: boolean;
    };
    securityLevel: string;
    serverSideExclude: string;
    sha1Support: string;
    sortQueryStringForCache: string;
    ssl: string;
    tls12Only: string;
    tls13: string;
    tlsClientAuth: string;
    trueClientIpHeader: string;
    waf: string;
    webp: string;
    websockets: string;
}>;

Settings overrides that will be applied to the zone. If a setting is not specified the existing setting will be used. For a full list of available settings see below.

property urn

urn: Output<URN>;

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

property zoneStatus

public zoneStatus: pulumi.Output<string>;

property zoneType

public zoneType: pulumi.Output<string>;

function getEnv

getEnv(vars: string[]): string | undefined

function getEnvBoolean

getEnvBoolean(vars: string[]): boolean | undefined

function getEnvNumber

getEnvNumber(vars: string[]): number | undefined

function getIpRanges

getIpRanges(opts?: pulumi.InvokeOptions): Promise<GetIpRangesResult>

Use this data source to get the [IP ranges][1] of Cloudflare edge nodes.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
import * as gcp from "@pulumi/gcp";

const cloudflare = pulumi.output(cloudflare.getIpRanges({}));
const allowCloudflareIngress = new gcp.compute.Firewall("allow_cloudflare_ingress", {
    allows: [{
        ports: "443",
        protocol: "tcp",
    }],
    network: "default",
    sourceRanges: cloudflare.apply(cloudflare => cloudflare.ipv4CidrBlocks),
});

function getZones

getZones(args: GetZonesArgs, opts?: pulumi.InvokeOptions): Promise<GetZonesResult>

Use this data source to look up [Zone][1] records.

Example Usage

The example below matches all active zones that begin with example. and are not paused. The matched zones are then locked down using the cloudflare_zone_lockdown resource.

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

const test = pulumi.output(cloudflare.getZones({
    filter: {
        name: "example.*",
        paused: false,
        status: "active",
    },
}));
const endpointLockdown: cloudflare.ZoneLockdown[] = [];
for (let i = 0; i < test.apply(test => test.zones.length); i++) {
    endpointLockdown.push(new cloudflare.ZoneLockdown(`endpoint_lockdown-${i}`, {
        configurations: [{
            target: "ip",
            value: "198.51.100.4",
        }],
        description: "Restrict access to these endpoints to requests from a known IP address",
        paused: false,
        urls: ["api.mysite.com/some/endpoint*"],
        zone: test.apply(test => test.zones[i]),
    }));
}

function requireWithDefault

requireWithDefault<T>(req: () => T, def: T | undefined): T

interface AccessApplicationArgs

The set of arguments for constructing a AccessApplication resource.

property domain

domain: pulumi.Input<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

property name

name: pulumi.Input<string>;

Friendly name of the Access Application.

property sessionDuration

sessionDuration?: pulumi.Input<string>;

How often a user will be forced to re-authorise. Must be one of 30m, 6h, 12h, 24h, 168h, 730h.

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccessApplicationState

Input properties used for looking up and filtering AccessApplication resources.

property aud

property domain

domain?: pulumi.Input<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

property name

name?: pulumi.Input<string>;

Friendly name of the Access Application.

property sessionDuration

sessionDuration?: pulumi.Input<string>;

How often a user will be forced to re-authorise. Must be one of 30m, 6h, 12h, 24h, 168h, 730h.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccessPolicyArgs

The set of arguments for constructing a AccessPolicy resource.

property applicationId

applicationId: pulumi.Input<string>;

The ID of the application the policy is associated with.

property decision

decision: pulumi.Input<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

property excludes

excludes?: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property includes

includes: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property name

name: pulumi.Input<string>;

Friendly name of the Access Application.

property precedence

precedence?: pulumi.Input<number>;

The unique precedence for policies on a single application. Integer.

property requires

requires?: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccessPolicyState

Input properties used for looking up and filtering AccessPolicy resources.

property applicationId

applicationId?: pulumi.Input<string>;

The ID of the application the policy is associated with.

property decision

decision?: pulumi.Input<string>;

The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.

property excludes

excludes?: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property includes

includes?: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property name

name?: pulumi.Input<string>;

Friendly name of the Access Application.

property precedence

precedence?: pulumi.Input<number>;

The unique precedence for policies on a single application. Integer.

property requires

requires?: pulumi.Input<pulumi.Input<{
    emailDomains: pulumi.Input<pulumi.Input<string>[]>;
    emails: pulumi.Input<pulumi.Input<string>[]>;
    everyone: pulumi.Input<boolean>;
    ips: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

A series of access conditions, see below for full list.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccessRuleArgs

The set of arguments for constructing a AccessRule resource.

property configuration

configuration: pulumi.Input<{
    target: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>;

Rule configuration to apply to a matched request. It’s a complex value. See description below.

property mode

mode: pulumi.Input<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “whitelist”, “js_challenge”

property notes

notes?: pulumi.Input<string>;

A personal note about the rule. Typically used as a reminder or explanation for the rule.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the access rule should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccessRuleState

Input properties used for looking up and filtering AccessRule resources.

property configuration

configuration?: pulumi.Input<{
    target: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>;

Rule configuration to apply to a matched request. It’s a complex value. See description below.

property mode

mode?: pulumi.Input<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “whitelist”, “js_challenge”

property notes

notes?: pulumi.Input<string>;

A personal note about the rule. Typically used as a reminder or explanation for the rule.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the access rule should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface AccountMemberArgs

The set of arguments for constructing a AccountMember resource.

property emailAddress

emailAddress: pulumi.Input<string>;

The email address of the user who you wish to manage. Note: Following creation, this field becomes read only via the API and cannot be updated.

property roleIds

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

Array of account role IDs that you want to assign to a member.

interface AccountMemberState

Input properties used for looking up and filtering AccountMember resources.

property emailAddress

emailAddress?: pulumi.Input<string>;

The email address of the user who you wish to manage. Note: Following creation, this field becomes read only via the API and cannot be updated.

property roleIds

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

Array of account role IDs that you want to assign to a member.

interface CustomPagesArgs

The set of arguments for constructing a CustomPages resource.

property accountId

accountId?: pulumi.Input<string>;

The account ID where the custom pages should be updated. Either account_id or zone_id must be provided. If account_id is present, it will override the zone setting.

property state

state?: pulumi.Input<string>;

Managed state of the custom page. Must be one of default, customised. If the value is default it will be removed from the Terraform state management.

property type

type: pulumi.Input<string>;

The type of custom page you wish to update. Must be one of basic_challenge, waf_challenge, waf_block, ratelimit_block, country_challenge, ip_block, under_attack, 500_errors, 1000_errors, always_online.

property url

url: pulumi.Input<string>;

URL of where the custom page source is located.

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID where the custom pages should be updated. Either zone_id or account_id must be provided.

interface CustomPagesState

Input properties used for looking up and filtering CustomPages resources.

property accountId

accountId?: pulumi.Input<string>;

The account ID where the custom pages should be updated. Either account_id or zone_id must be provided. If account_id is present, it will override the zone setting.

property state

state?: pulumi.Input<string>;

Managed state of the custom page. Must be one of default, customised. If the value is default it will be removed from the Terraform state management.

property type

type?: pulumi.Input<string>;

The type of custom page you wish to update. Must be one of basic_challenge, waf_challenge, waf_block, ratelimit_block, country_challenge, ip_block, under_attack, 500_errors, 1000_errors, always_online.

property url

url?: pulumi.Input<string>;

URL of where the custom page source is located.

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID where the custom pages should be updated. Either zone_id or account_id must be provided.

interface FilterArgs

The set of arguments for constructing a Filter resource.

property description

description?: pulumi.Input<string>;

A note that you can use to describe the purpose of the filter.

property expression

expression: pulumi.Input<string>;

The filter expression to be used.

property paused

paused?: pulumi.Input<boolean>;

Whether this filter is currently paused. Boolean value.

property ref

ref?: pulumi.Input<string>;

Short reference tag to quickly select related rules.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the Filter should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FilterState

Input properties used for looking up and filtering Filter resources.

property description

description?: pulumi.Input<string>;

A note that you can use to describe the purpose of the filter.

property expression

expression?: pulumi.Input<string>;

The filter expression to be used.

property paused

paused?: pulumi.Input<boolean>;

Whether this filter is currently paused. Boolean value.

property ref

ref?: pulumi.Input<string>;

Short reference tag to quickly select related rules.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the Filter should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FirewallRuleArgs

The set of arguments for constructing a FirewallRule resource.

property action

action: pulumi.Input<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “allow”, “js_challenge”. Enterprise plan also allows “log”.

property description

description?: pulumi.Input<string>;

A description of the rule to help identify it.

property filterId

filterId: pulumi.Input<string>;

property paused

paused?: pulumi.Input<boolean>;

Whether this filter based firewall rule is currently paused. Boolean value.

property priority

priority?: pulumi.Input<number>;

The priority of the rule to allow control of processing order. A lower number indicates high priority. If not provided, any rules with a priority will be sequenced before those without.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the Firewall Rule should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FirewallRuleState

Input properties used for looking up and filtering FirewallRule resources.

property action

action?: pulumi.Input<string>;

The action to apply to a matched request. Allowed values: “block”, “challenge”, “allow”, “js_challenge”. Enterprise plan also allows “log”.

property description

description?: pulumi.Input<string>;

A description of the rule to help identify it.

property filterId

filterId?: pulumi.Input<string>;

property paused

paused?: pulumi.Input<boolean>;

Whether this filter based firewall rule is currently paused. Boolean value.

property priority

priority?: pulumi.Input<number>;

The priority of the rule to allow control of processing order. A lower number indicates high priority. If not provided, any rules with a priority will be sequenced before those without.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the Firewall Rule should be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface GetIpRangesResult

A collection of values returned by getIpRanges.

property cidrBlocks

cidrBlocks: string[];

property id

id: string;

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

property ipv4CidrBlocks

ipv4CidrBlocks: string[];

property ipv6CidrBlocks

ipv6CidrBlocks: string[];

interface GetZonesArgs

A collection of arguments for invoking getZones.

property filter

filter: {
    name: string;
    paused: boolean;
    status: string;
};

interface GetZonesResult

A collection of values returned by getZones.

property id

id: string;

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

property zones

zones: string[];

interface LoadBalancerArgs

The set of arguments for constructing a LoadBalancer resource.

property defaultPoolIds

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

A list of pool IDs ordered by their failover priority. Used whenever region/pop pools are not defined.

property description

description?: pulumi.Input<string>;

Free text description.

property fallbackPoolId

fallbackPoolId: pulumi.Input<string>;

The pool ID to use when all other pools are detected as unhealthy.

property name

name: pulumi.Input<string>;

The DNS name (FQDN, including the zone) to associate with the load balancer.

property popPools

popPools?: pulumi.Input<pulumi.Input<{
    poolIds: pulumi.Input<pulumi.Input<string>[]>;
    pop: pulumi.Input<string>;
}>[]>;

A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers. Fields documented below.

property proxied

proxied?: pulumi.Input<boolean>;

Whether the hostname gets Cloudflare’s origin protection. Defaults to false.

property regionPools

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

A set containing mappings of region/country codes to a list of pool IDs (ordered by their failover priority) for the given region. Fields documented below.

property sessionAffinity

sessionAffinity?: pulumi.Input<string>;

Associates all requests coming from an end-user with a single origin. Cloudflare will set a cookie on the initial response to the client, such that consequent requests with the cookie in the request will go to the same origin, so long as it is available.

property steeringPolicy

steeringPolicy?: pulumi.Input<string>;

Determine which method the load balancer uses to determine the fastest route to your origin. Valid values are: “off”, “geo”, “dynamic_latency” or “”. Default is “”.

property ttl

ttl?: pulumi.Input<number>;

Time to live (TTL) of this load balancer’s DNS name. Conflicts with proxied - this cannot be set for proxied load balancers. Default is 30.

property zone

zone: pulumi.Input<string>;

The zone to add the load balancer to.

interface LoadBalancerMonitorArgs

The set of arguments for constructing a LoadBalancerMonitor resource.

property allowInsecure

allowInsecure?: pulumi.Input<boolean>;

Do not validate the certificate when monitor use HTTPS.

property description

description?: pulumi.Input<string>;

Free text description.

property expectedBody

expectedBody: pulumi.Input<string>;

A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.

property expectedCodes

expectedCodes: pulumi.Input<string>;

The expected HTTP response code or code range of the health check. Eg 2xx

property followRedirects

followRedirects?: pulumi.Input<boolean>;

Follow redirects if returned by the origin.

property headers

headers?: pulumi.Input<pulumi.Input<{
    header: pulumi.Input<string>;
    values: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

The header name.

property interval

interval?: pulumi.Input<number>;

The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations. Default: 60.

property method

method?: pulumi.Input<string>;

The HTTP method to use for the health check. Default: “GET”.

property path

path?: pulumi.Input<string>;

The endpoint path to health check against. Default: “/”.

property port

port?: pulumi.Input<number>;

property retries

retries?: pulumi.Input<number>;

The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. Default: 2.

property timeout

timeout?: pulumi.Input<number>;

The timeout (in seconds) before marking the health check as failed. Default: 5.

property type

type?: pulumi.Input<string>;

The protocol to use for the healthcheck. Currently supported protocols are ‘HTTP’ and ‘HTTPS’. Default: “http”.

interface LoadBalancerMonitorState

Input properties used for looking up and filtering LoadBalancerMonitor resources.

property allowInsecure

allowInsecure?: pulumi.Input<boolean>;

Do not validate the certificate when monitor use HTTPS.

property createdOn

createdOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer monitor was created.

property description

description?: pulumi.Input<string>;

Free text description.

property expectedBody

expectedBody?: pulumi.Input<string>;

A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

The expected HTTP response code or code range of the health check. Eg 2xx

property followRedirects

followRedirects?: pulumi.Input<boolean>;

Follow redirects if returned by the origin.

property headers

headers?: pulumi.Input<pulumi.Input<{
    header: pulumi.Input<string>;
    values: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

The header name.

property interval

interval?: pulumi.Input<number>;

The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations. Default: 60.

property method

method?: pulumi.Input<string>;

The HTTP method to use for the health check. Default: “GET”.

property modifiedOn

modifiedOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer monitor was last modified.

property path

path?: pulumi.Input<string>;

The endpoint path to health check against. Default: “/”.

property port

port?: pulumi.Input<number>;

property retries

retries?: pulumi.Input<number>;

The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. Default: 2.

property timeout

timeout?: pulumi.Input<number>;

The timeout (in seconds) before marking the health check as failed. Default: 5.

property type

type?: pulumi.Input<string>;

The protocol to use for the healthcheck. Currently supported protocols are ‘HTTP’ and ‘HTTPS’. Default: “http”.

interface LoadBalancerPoolArgs

The set of arguments for constructing a LoadBalancerPool resource.

property checkRegions

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

A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found here.

property description

description?: pulumi.Input<string>;

Free text description.

property enabled

enabled?: pulumi.Input<boolean>;

Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.

property minimumOrigins

minimumOrigins?: pulumi.Input<number>;

The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool. Default: 1.

property monitor

monitor?: pulumi.Input<string>;

The ID of the Monitor to use for health checking origins within this pool.

property name

name: pulumi.Input<string>;

A human-identifiable name for the origin.

property notificationEmail

notificationEmail?: pulumi.Input<string>;

The email address to send health status notifications to. This can be an individual mailbox or a mailing list.

property origins

origins: pulumi.Input<pulumi.Input<{
    address: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    name: pulumi.Input<string>;
    weight: pulumi.Input<number>;
}>[]>;

The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy. It’s a complex value. See description below.

interface LoadBalancerPoolState

Input properties used for looking up and filtering LoadBalancerPool resources.

property checkRegions

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

A list of regions (specified by region code) from which to run health checks. Empty means every Cloudflare data center (the default), but requires an Enterprise plan. Region codes can be found here.

property createdOn

createdOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer was created.

property description

description?: pulumi.Input<string>;

Free text description.

property enabled

enabled?: pulumi.Input<boolean>;

Whether to enable (the default) this origin within the Pool. Disabled origins will not receive traffic and are excluded from health checks. The origin will only be disabled for the current pool.

property minimumOrigins

minimumOrigins?: pulumi.Input<number>;

The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool. Default: 1.

property modifiedOn

modifiedOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer was last modified.

property monitor

monitor?: pulumi.Input<string>;

The ID of the Monitor to use for health checking origins within this pool.

property name

name?: pulumi.Input<string>;

A human-identifiable name for the origin.

property notificationEmail

notificationEmail?: pulumi.Input<string>;

The email address to send health status notifications to. This can be an individual mailbox or a mailing list.

property origins

origins?: pulumi.Input<pulumi.Input<{
    address: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    name: pulumi.Input<string>;
    weight: pulumi.Input<number>;
}>[]>;

The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy. It’s a complex value. See description below.

interface LoadBalancerState

Input properties used for looking up and filtering LoadBalancer resources.

property createdOn

createdOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer was created.

property defaultPoolIds

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

A list of pool IDs ordered by their failover priority. Used whenever region/pop pools are not defined.

property description

description?: pulumi.Input<string>;

Free text description.

property fallbackPoolId

fallbackPoolId?: pulumi.Input<string>;

The pool ID to use when all other pools are detected as unhealthy.

property modifiedOn

modifiedOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the load balancer was last modified.

property name

name?: pulumi.Input<string>;

The DNS name (FQDN, including the zone) to associate with the load balancer.

property popPools

popPools?: pulumi.Input<pulumi.Input<{
    poolIds: pulumi.Input<pulumi.Input<string>[]>;
    pop: pulumi.Input<string>;
}>[]>;

A set containing mappings of Cloudflare Point-of-Presence (PoP) identifiers to a list of pool IDs (ordered by their failover priority) for the PoP (datacenter). This feature is only available to enterprise customers. Fields documented below.

property proxied

proxied?: pulumi.Input<boolean>;

Whether the hostname gets Cloudflare’s origin protection. Defaults to false.

property regionPools

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

A set containing mappings of region/country codes to a list of pool IDs (ordered by their failover priority) for the given region. Fields documented below.

property sessionAffinity

sessionAffinity?: pulumi.Input<string>;

Associates all requests coming from an end-user with a single origin. Cloudflare will set a cookie on the initial response to the client, such that consequent requests with the cookie in the request will go to the same origin, so long as it is available.

property steeringPolicy

steeringPolicy?: pulumi.Input<string>;

Determine which method the load balancer uses to determine the fastest route to your origin. Valid values are: “off”, “geo”, “dynamic_latency” or “”. Default is “”.

property ttl

ttl?: pulumi.Input<number>;

Time to live (TTL) of this load balancer’s DNS name. Conflicts with proxied - this cannot be set for proxied load balancers. Default is 30.

property zone

zone?: pulumi.Input<string>;

The zone to add the load balancer to.

property zoneId

zoneId?: pulumi.Input<string>;

ID associated with the specified zone.

interface PageRuleArgs

The set of arguments for constructing a PageRule resource.

property actions

actions: pulumi.Input<{
    alwaysOnline: pulumi.Input<string>;
    alwaysUseHttps: pulumi.Input<boolean>;
    automaticHttpsRewrites: pulumi.Input<string>;
    browserCacheTtl: pulumi.Input<number>;
    browserCheck: pulumi.Input<string>;
    bypassCacheOnCookie: pulumi.Input<string>;
    cacheByDeviceType: pulumi.Input<string>;
    cacheDeceptionArmor: pulumi.Input<string>;
    cacheLevel: pulumi.Input<string>;
    cacheOnCookie: pulumi.Input<string>;
    disableApps: pulumi.Input<boolean>;
    disablePerformance: pulumi.Input<boolean>;
    disableRailgun: pulumi.Input<boolean>;
    disableSecurity: pulumi.Input<boolean>;
    edgeCacheTtl: pulumi.Input<number>;
    emailObfuscation: pulumi.Input<string>;
    explicitCacheControl: pulumi.Input<string>;
    forwardingUrl: pulumi.Input<{
        statusCode: pulumi.Input<number>;
        url: pulumi.Input<string>;
    }>;
    hostHeaderOverride: pulumi.Input<string>;
    ipGeolocation: pulumi.Input<string>;
    mirage: pulumi.Input<string>;
    opportunisticEncryption: pulumi.Input<string>;
    originErrorPagePassThru: pulumi.Input<string>;
    polish: pulumi.Input<string>;
    resolveOverride: pulumi.Input<string>;
    respectStrongEtag: pulumi.Input<string>;
    responseBuffering: pulumi.Input<string>;
    rocketLoader: pulumi.Input<string>;
    securityLevel: pulumi.Input<string>;
    serverSideExclude: pulumi.Input<string>;
    sortQueryStringForCache: pulumi.Input<string>;
    ssl: pulumi.Input<string>;
    trueClientIpHeader: pulumi.Input<string>;
    waf: pulumi.Input<string>;
}>;

The actions taken by the page rule, options given below.

property priority

priority?: pulumi.Input<number>;

The priority of the page rule among others for this target, the higher the number the higher the priority as per API documentation.

property status

status?: pulumi.Input<string>;

Whether the page rule is active or disabled.

property target

target: pulumi.Input<string>;

The URL pattern to target with the page rule.

property zone

zone: pulumi.Input<string>;

The DNS zone to which the page rule should be added.

interface PageRuleState

Input properties used for looking up and filtering PageRule resources.

property actions

actions?: pulumi.Input<{
    alwaysOnline: pulumi.Input<string>;
    alwaysUseHttps: pulumi.Input<boolean>;
    automaticHttpsRewrites: pulumi.Input<string>;
    browserCacheTtl: pulumi.Input<number>;
    browserCheck: pulumi.Input<string>;
    bypassCacheOnCookie: pulumi.Input<string>;
    cacheByDeviceType: pulumi.Input<string>;
    cacheDeceptionArmor: pulumi.Input<string>;
    cacheLevel: pulumi.Input<string>;
    cacheOnCookie: pulumi.Input<string>;
    disableApps: pulumi.Input<boolean>;
    disablePerformance: pulumi.Input<boolean>;
    disableRailgun: pulumi.Input<boolean>;
    disableSecurity: pulumi.Input<boolean>;
    edgeCacheTtl: pulumi.Input<number>;
    emailObfuscation: pulumi.Input<string>;
    explicitCacheControl: pulumi.Input<string>;
    forwardingUrl: pulumi.Input<{
        statusCode: pulumi.Input<number>;
        url: pulumi.Input<string>;
    }>;
    hostHeaderOverride: pulumi.Input<string>;
    ipGeolocation: pulumi.Input<string>;
    mirage: pulumi.Input<string>;
    opportunisticEncryption: pulumi.Input<string>;
    originErrorPagePassThru: pulumi.Input<string>;
    polish: pulumi.Input<string>;
    resolveOverride: pulumi.Input<string>;
    respectStrongEtag: pulumi.Input<string>;
    responseBuffering: pulumi.Input<string>;
    rocketLoader: pulumi.Input<string>;
    securityLevel: pulumi.Input<string>;
    serverSideExclude: pulumi.Input<string>;
    sortQueryStringForCache: pulumi.Input<string>;
    ssl: pulumi.Input<string>;
    trueClientIpHeader: pulumi.Input<string>;
    waf: pulumi.Input<string>;
}>;

The actions taken by the page rule, options given below.

property priority

priority?: pulumi.Input<number>;

The priority of the page rule among others for this target, the higher the number the higher the priority as per API documentation.

property status

status?: pulumi.Input<string>;

Whether the page rule is active or disabled.

property target

target?: pulumi.Input<string>;

The URL pattern to target with the page rule.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the page rule should be added.

property zoneId

zoneId?: pulumi.Input<string>;

The ID of the zone in which the page rule will be applied.

interface ProviderArgs

The set of arguments for constructing a Provider resource.

property apiClientLogging

apiClientLogging?: pulumi.Input<boolean>;

Whether to print logs from the API client (using the default log library logger)

property email

email?: pulumi.Input<string>;

A registered Cloudflare email address.

property maxBackoff

maxBackoff?: pulumi.Input<number>;

Maximum backoff period in seconds after failed API calls

property minBackoff

minBackoff?: pulumi.Input<number>;

Minimum backoff period in seconds after failed API calls

property orgId

orgId?: pulumi.Input<string>;

Configure API client to always use that organization. If set this will override ‘user_owner_from_zone’

property retries

retries?: pulumi.Input<number>;

Maximum number of retries to perform when an API request fails

property rps

rps?: pulumi.Input<number>;

RPS limit to apply when making calls to the API

property token

token?: pulumi.Input<string>;

The token key for API operations.

property useOrgFromZone

useOrgFromZone?: pulumi.Input<string>;

If specified zone is owned by an organization, configure API client to always use that organization

interface RateLimitArgs

The set of arguments for constructing a RateLimit resource.

property action

action: pulumi.Input<{
    mode: pulumi.Input<string>;
    response: pulumi.Input<{
        body: pulumi.Input<string>;
        contentType: pulumi.Input<string>;
    }>;
    timeout: pulumi.Input<number>;
}>;

The action to be performed when the threshold of matched traffic within the period defined is exceeded.

property bypassUrlPatterns

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

URLs matching the patterns specified here will be excluded from rate limiting.

property correlate

correlate?: pulumi.Input<{
    by: pulumi.Input<string>;
}>;

Determines how rate limiting is applied. By default if not specified, rate limiting applies to the clients IP address.

property description

description?: pulumi.Input<string>;

A note that you can use to describe the reason for a rate limit. This value is sanitized and all tags are removed.

property disabled

disabled?: pulumi.Input<boolean>;

Whether this ratelimit is currently disabled. Default: false.

property match

match?: pulumi.Input<{
    request: pulumi.Input<{
        methods: pulumi.Input<pulumi.Input<string>[]>;
        schemes: pulumi.Input<pulumi.Input<string>[]>;
        urlPattern: pulumi.Input<string>;
    }>;
    response: pulumi.Input<{
        originTraffic: pulumi.Input<boolean>;
        statuses: pulumi.Input<pulumi.Input<number>[]>;
    }>;
}>;

Determines which traffic the rate limit counts towards the threshold. By default matches all traffic in the zone. See definition below.

property period

period: pulumi.Input<number>;

The time in seconds to count matching traffic. If the count exceeds threshold within this period the action will be performed (min: 1, max: 86,400).

property threshold

threshold: pulumi.Input<number>;

The threshold that triggers the rate limit mitigations, combine with period. i.e. threshold per period (min: 2, max: 1,000,000).

property zone

zone: pulumi.Input<string>;

The DNS zone to apply rate limiting to.

interface RateLimitState

Input properties used for looking up and filtering RateLimit resources.

property action

action?: pulumi.Input<{
    mode: pulumi.Input<string>;
    response: pulumi.Input<{
        body: pulumi.Input<string>;
        contentType: pulumi.Input<string>;
    }>;
    timeout: pulumi.Input<number>;
}>;

The action to be performed when the threshold of matched traffic within the period defined is exceeded.

property bypassUrlPatterns

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

URLs matching the patterns specified here will be excluded from rate limiting.

property correlate

correlate?: pulumi.Input<{
    by: pulumi.Input<string>;
}>;

Determines how rate limiting is applied. By default if not specified, rate limiting applies to the clients IP address.

property description

description?: pulumi.Input<string>;

A note that you can use to describe the reason for a rate limit. This value is sanitized and all tags are removed.

property disabled

disabled?: pulumi.Input<boolean>;

Whether this ratelimit is currently disabled. Default: false.

property match

match?: pulumi.Input<{
    request: pulumi.Input<{
        methods: pulumi.Input<pulumi.Input<string>[]>;
        schemes: pulumi.Input<pulumi.Input<string>[]>;
        urlPattern: pulumi.Input<string>;
    }>;
    response: pulumi.Input<{
        originTraffic: pulumi.Input<boolean>;
        statuses: pulumi.Input<pulumi.Input<number>[]>;
    }>;
}>;

Determines which traffic the rate limit counts towards the threshold. By default matches all traffic in the zone. See definition below.

property period

period?: pulumi.Input<number>;

The time in seconds to count matching traffic. If the count exceeds threshold within this period the action will be performed (min: 1, max: 86,400).

property threshold

threshold?: pulumi.Input<number>;

The threshold that triggers the rate limit mitigations, combine with period. i.e. threshold per period (min: 2, max: 1,000,000).

property zone

zone?: pulumi.Input<string>;

The DNS zone to apply rate limiting to.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID.

interface RecordArgs

The set of arguments for constructing a Record resource.

property data

data?: pulumi.Input<{
    algorithm: pulumi.Input<number>;
    altitude: pulumi.Input<number>;
    certificate: pulumi.Input<string>;
    content: pulumi.Input<string>;
    digest: pulumi.Input<string>;
    digestType: pulumi.Input<number>;
    fingerprint: pulumi.Input<string>;
    flags: pulumi.Input<string>;
    keyTag: pulumi.Input<number>;
    latDegrees: pulumi.Input<number>;
    latDirection: pulumi.Input<string>;
    latMinutes: pulumi.Input<number>;
    latSeconds: pulumi.Input<number>;
    longDegrees: pulumi.Input<number>;
    longDirection: pulumi.Input<string>;
    longMinutes: pulumi.Input<number>;
    longSeconds: pulumi.Input<number>;
    matchingType: pulumi.Input<number>;
    name: pulumi.Input<string>;
    order: pulumi.Input<number>;
    port: pulumi.Input<number>;
    precisionHorz: pulumi.Input<number>;
    precisionVert: pulumi.Input<number>;
    preference: pulumi.Input<number>;
    priority: pulumi.Input<number>;
    proto: pulumi.Input<string>;
    protocol: pulumi.Input<number>;
    publicKey: pulumi.Input<string>;
    regex: pulumi.Input<string>;
    replacement: pulumi.Input<string>;
    selector: pulumi.Input<number>;
    service: pulumi.Input<string>;
    size: pulumi.Input<number>;
    target: pulumi.Input<string>;
    type: pulumi.Input<number>;
    usage: pulumi.Input<number>;
    weight: pulumi.Input<number>;
}>;

Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or value must be specified

property domain

domain: pulumi.Input<string>;

The DNS zone to add the record to

property name

name: pulumi.Input<string>;

The name of the record

property priority

priority?: pulumi.Input<number>;

The priority of the record

property proxied

proxied?: pulumi.Input<boolean>;

Whether the record gets Cloudflare’s origin protection; defaults to false.

property ttl

ttl?: pulumi.Input<number>;

The TTL of the record (automatic: ‘1’)

property type

type: pulumi.Input<string>;

The type of the record

property value

value?: pulumi.Input<string>;

The (string) value of the record. Either this or data must be specified

interface RecordState

Input properties used for looking up and filtering Record resources.

property createdOn

createdOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the record was created

property data

data?: pulumi.Input<{
    algorithm: pulumi.Input<number>;
    altitude: pulumi.Input<number>;
    certificate: pulumi.Input<string>;
    content: pulumi.Input<string>;
    digest: pulumi.Input<string>;
    digestType: pulumi.Input<number>;
    fingerprint: pulumi.Input<string>;
    flags: pulumi.Input<string>;
    keyTag: pulumi.Input<number>;
    latDegrees: pulumi.Input<number>;
    latDirection: pulumi.Input<string>;
    latMinutes: pulumi.Input<number>;
    latSeconds: pulumi.Input<number>;
    longDegrees: pulumi.Input<number>;
    longDirection: pulumi.Input<string>;
    longMinutes: pulumi.Input<number>;
    longSeconds: pulumi.Input<number>;
    matchingType: pulumi.Input<number>;
    name: pulumi.Input<string>;
    order: pulumi.Input<number>;
    port: pulumi.Input<number>;
    precisionHorz: pulumi.Input<number>;
    precisionVert: pulumi.Input<number>;
    preference: pulumi.Input<number>;
    priority: pulumi.Input<number>;
    proto: pulumi.Input<string>;
    protocol: pulumi.Input<number>;
    publicKey: pulumi.Input<string>;
    regex: pulumi.Input<string>;
    replacement: pulumi.Input<string>;
    selector: pulumi.Input<number>;
    service: pulumi.Input<string>;
    size: pulumi.Input<number>;
    target: pulumi.Input<string>;
    type: pulumi.Input<number>;
    usage: pulumi.Input<number>;
    weight: pulumi.Input<number>;
}>;

Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or value must be specified

property domain

domain?: pulumi.Input<string>;

The DNS zone to add the record to

property hostname

hostname?: pulumi.Input<string>;

The FQDN of the record

property metadata

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

A key-value map of string metadata cloudflare associates with the record

property modifiedOn

modifiedOn?: pulumi.Input<string>;

The RFC3339 timestamp of when the record was last modified

property name

name?: pulumi.Input<string>;

The name of the record

property priority

priority?: pulumi.Input<number>;

The priority of the record

property proxiable

proxiable?: pulumi.Input<boolean>;

Shows whether this record can be proxied, must be true if setting proxied=true

property proxied

proxied?: pulumi.Input<boolean>;

Whether the record gets Cloudflare’s origin protection; defaults to false.

property ttl

ttl?: pulumi.Input<number>;

The TTL of the record (automatic: ‘1’)

property type

type?: pulumi.Input<string>;

The type of the record

property value

value?: pulumi.Input<string>;

The (string) value of the record. Either this or data must be specified

property zoneId

zoneId?: pulumi.Input<string>;

The zone id of the record

interface SpectrumApplicationArgs

The set of arguments for constructing a SpectrumApplication resource.

property dns

dns: pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

The name and type of DNS record for the Spectrum application. Fields documented below.

property ipFirewall

ipFirewall?: pulumi.Input<boolean>;

Enables the IP Firewall for this application. Defaults to true.

property originDirects

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

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

property originDns

originDns?: pulumi.Input<{
    name: pulumi.Input<string>;
}>;

A destination DNS addresses to the origin. Fields documented below.

property originPort

originPort: pulumi.Input<number>;

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

property protocol

protocol: pulumi.Input<string>;

The port configuration at Cloudflare’s edge. e.g. tcp/22.

property proxyProtocol

proxyProtocol?: pulumi.Input<boolean>;

Enables Proxy Protocol v1 to the origin. Defaults to false.

property tls

tls?: pulumi.Input<string>;

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

property zoneId

zoneId: pulumi.Input<string>;

interface SpectrumApplicationState

Input properties used for looking up and filtering SpectrumApplication resources.

property dns

dns?: pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

The name and type of DNS record for the Spectrum application. Fields documented below.

property ipFirewall

ipFirewall?: pulumi.Input<boolean>;

Enables the IP Firewall for this application. Defaults to true.

property originDirects

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

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

property originDns

originDns?: pulumi.Input<{
    name: pulumi.Input<string>;
}>;

A destination DNS addresses to the origin. Fields documented below.

property originPort

originPort?: pulumi.Input<number>;

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

property protocol

protocol?: pulumi.Input<string>;

The port configuration at Cloudflare’s edge. e.g. tcp/22.

property proxyProtocol

proxyProtocol?: pulumi.Input<boolean>;

Enables Proxy Protocol v1 to the origin. Defaults to false.

property tls

tls?: pulumi.Input<string>;

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

property zoneId

zoneId?: pulumi.Input<string>;

interface WafRuleArgs

The set of arguments for constructing a WafRule resource.

property mode

mode: pulumi.Input<string>;

The mode of the rule, can be one of [“block”, “challenge”, “default”, “disable”, “simulate”].

property ruleId

ruleId: pulumi.Input<string>;

The WAF Rule ID.

property zone

zone: pulumi.Input<string>;

The DNS zone to apply to.

interface WafRuleState

Input properties used for looking up and filtering WafRule resources.

property mode

mode?: pulumi.Input<string>;

The mode of the rule, can be one of [“block”, “challenge”, “default”, “disable”, “simulate”].

property packageId

packageId?: pulumi.Input<string>;

The ID of the WAF Rule Package that contains the rule.

property ruleId

ruleId?: pulumi.Input<string>;

The WAF Rule ID.

property zone

zone?: pulumi.Input<string>;

The DNS zone to apply to.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID.

interface WorkerRouteArgs

The set of arguments for constructing a WorkerRoute resource.

property enabled

enabled?: pulumi.Input<boolean>;

property pattern

pattern: pulumi.Input<string>;

The route pattern

  • enabled (For single-script accounts only) Whether to run the worker script for requests that match the route pattern. Default is false
  • script_name (For multi-script accounts only) Which worker script to run for requests that match the route pattern. If script_name is empty, workers will be skipped for matching requests.

property scriptName

scriptName?: pulumi.Input<string>;

property zone

zone: pulumi.Input<string>;

The zone to add the route to.

interface WorkerRouteState

Input properties used for looking up and filtering WorkerRoute resources.

property enabled

enabled?: pulumi.Input<boolean>;

property multiScript

multiScript?: pulumi.Input<boolean>;

property pattern

pattern?: pulumi.Input<string>;

The route pattern

  • enabled (For single-script accounts only) Whether to run the worker script for requests that match the route pattern. Default is false
  • script_name (For multi-script accounts only) Which worker script to run for requests that match the route pattern. If script_name is empty, workers will be skipped for matching requests.

property scriptName

scriptName?: pulumi.Input<string>;

property zone

zone?: pulumi.Input<string>;

The zone to add the route to.

property zoneId

zoneId?: pulumi.Input<string>;

The zone id of the route

interface WorkerScriptArgs

The set of arguments for constructing a WorkerScript resource.

property content

content: pulumi.Input<string>;

The script content.

property name

name?: pulumi.Input<string>;

The name for the script.

property zone

zone?: pulumi.Input<string>;

The zone for the script.

property zoneId

zoneId?: pulumi.Input<string>;

The zone id of the script (only for non-multi-script resources)

interface WorkerScriptState

Input properties used for looking up and filtering WorkerScript resources.

property content

content?: pulumi.Input<string>;

The script content.

property name

name?: pulumi.Input<string>;

The name for the script.

property zone

zone?: pulumi.Input<string>;

The zone for the script.

property zoneId

zoneId?: pulumi.Input<string>;

The zone id of the script (only for non-multi-script resources)

interface ZoneArgs

The set of arguments for constructing a Zone resource.

property jumpStart

jumpStart?: pulumi.Input<boolean>;

Boolean of whether to scan for DNS records on creation. Ignored after zone is created. Default: false.

property paused

paused?: pulumi.Input<boolean>;

Boolean of whether this zone is paused (traffic bypasses Cloudflare). Default: false.

property plan

plan?: pulumi.Input<string>;

The name of the commercial plan to apply to the zone, can be updated once the one is created; one of free, pro, business, enterprise.

property zone

zone: pulumi.Input<string>;

The DNS zone name which will be added.

interface ZoneLockdownArgs

The set of arguments for constructing a ZoneLockdown resource.

property configurations

configurations: pulumi.Input<pulumi.Input<{
    target: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

A list of IP addresses or IP ranges to match the request against specified in target, value pairs. It’s a complex value. See description below. The order of the configuration entries is unimportant.

property description

description?: pulumi.Input<string>;

A description about the lockdown entry. Typically used as a reminder or explanation for the lockdown.

property paused

paused?: pulumi.Input<boolean>;

Boolean of whether this zone lockdown is currently paused. Default: false.

property urls

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

A list of simple wildcard patterns to match requests against. The order of the urls is unimportant.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the lockdown will be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface ZoneLockdownState

Input properties used for looking up and filtering ZoneLockdown resources.

property configurations

configurations?: pulumi.Input<pulumi.Input<{
    target: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

A list of IP addresses or IP ranges to match the request against specified in target, value pairs. It’s a complex value. See description below. The order of the configuration entries is unimportant.

property description

description?: pulumi.Input<string>;

A description about the lockdown entry. Typically used as a reminder or explanation for the lockdown.

property paused

paused?: pulumi.Input<boolean>;

Boolean of whether this zone lockdown is currently paused. Default: false.

property urls

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

A list of simple wildcard patterns to match requests against. The order of the urls is unimportant.

property zone

zone?: pulumi.Input<string>;

The DNS zone to which the lockdown will be added. Will be resolved to zone_id upon creation.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the access rule should be added.

interface ZoneSettingsOverrideArgs

The set of arguments for constructing a ZoneSettingsOverride resource.

property name

name: pulumi.Input<string>;

The DNS zone to which apply settings.

property settings

settings?: pulumi.Input<{
    advancedDdos: pulumi.Input<string>;
    alwaysOnline: pulumi.Input<string>;
    alwaysUseHttps: pulumi.Input<string>;
    automaticHttpsRewrites: pulumi.Input<string>;
    brotli: pulumi.Input<string>;
    browserCacheTtl: pulumi.Input<number>;
    browserCheck: pulumi.Input<string>;
    cacheLevel: pulumi.Input<string>;
    challengeTtl: pulumi.Input<number>;
    cnameFlattening: pulumi.Input<string>;
    developmentMode: pulumi.Input<string>;
    edgeCacheTtl: pulumi.Input<number>;
    emailObfuscation: pulumi.Input<string>;
    hotlinkProtection: pulumi.Input<string>;
    http2: pulumi.Input<string>;
    ipGeolocation: pulumi.Input<string>;
    ipv6: pulumi.Input<string>;
    maxUpload: pulumi.Input<number>;
    minTlsVersion: pulumi.Input<string>;
    minify: pulumi.Input<{
        css: pulumi.Input<string>;
        html: pulumi.Input<string>;
        js: pulumi.Input<string>;
    }>;
    mirage: pulumi.Input<string>;
    mobileRedirect: pulumi.Input<{
        mobileSubdomain: pulumi.Input<string>;
        status: pulumi.Input<string>;
        stripUri: pulumi.Input<boolean>;
    }>;
    opportunisticEncryption: pulumi.Input<string>;
    opportunisticOnion: pulumi.Input<string>;
    originErrorPagePassThru: pulumi.Input<string>;
    polish: pulumi.Input<string>;
    prefetchPreload: pulumi.Input<string>;
    privacyPass: pulumi.Input<string>;
    pseudoIpv4: pulumi.Input<string>;
    responseBuffering: pulumi.Input<string>;
    rocketLoader: pulumi.Input<string>;
    securityHeader: pulumi.Input<{
        enabled: pulumi.Input<boolean>;
        includeSubdomains: pulumi.Input<boolean>;
        maxAge: pulumi.Input<number>;
        nosniff: pulumi.Input<boolean>;
        preload: pulumi.Input<boolean>;
    }>;
    securityLevel: pulumi.Input<string>;
    serverSideExclude: pulumi.Input<string>;
    sha1Support: pulumi.Input<string>;
    sortQueryStringForCache: pulumi.Input<string>;
    ssl: pulumi.Input<string>;
    tls12Only: pulumi.Input<string>;
    tls13: pulumi.Input<string>;
    tlsClientAuth: pulumi.Input<string>;
    trueClientIpHeader: pulumi.Input<string>;
    waf: pulumi.Input<string>;
    webp: pulumi.Input<string>;
    websockets: pulumi.Input<string>;
}>;

Settings overrides that will be applied to the zone. If a setting is not specified the existing setting will be used. For a full list of available settings see below.

interface ZoneSettingsOverrideState

Input properties used for looking up and filtering ZoneSettingsOverride resources.

property initialSettings

initialSettings?: pulumi.Input<{
    advancedDdos: pulumi.Input<string>;
    alwaysOnline: pulumi.Input<string>;
    alwaysUseHttps: pulumi.Input<string>;
    automaticHttpsRewrites: pulumi.Input<string>;
    brotli: pulumi.Input<string>;
    browserCacheTtl: pulumi.Input<number>;
    browserCheck: pulumi.Input<string>;
    cacheLevel: pulumi.Input<string>;
    challengeTtl: pulumi.Input<number>;
    cnameFlattening: pulumi.Input<string>;
    developmentMode: pulumi.Input<string>;
    edgeCacheTtl: pulumi.Input<number>;
    emailObfuscation: pulumi.Input<string>;
    hotlinkProtection: pulumi.Input<string>;
    http2: pulumi.Input<string>;
    ipGeolocation: pulumi.Input<string>;
    ipv6: pulumi.Input<string>;
    maxUpload: pulumi.Input<number>;
    minTlsVersion: pulumi.Input<string>;
    minify: pulumi.Input<{
        css: pulumi.Input<string>;
        html: pulumi.Input<string>;
        js: pulumi.Input<string>;
    }>;
    mirage: pulumi.Input<string>;
    mobileRedirect: pulumi.Input<{
        mobileSubdomain: pulumi.Input<string>;
        status: pulumi.Input<string>;
        stripUri: pulumi.Input<boolean>;
    }>;
    opportunisticEncryption: pulumi.Input<string>;
    opportunisticOnion: pulumi.Input<string>;
    originErrorPagePassThru: pulumi.Input<string>;
    polish: pulumi.Input<string>;
    prefetchPreload: pulumi.Input<string>;
    privacyPass: pulumi.Input<string>;
    pseudoIpv4: pulumi.Input<string>;
    responseBuffering: pulumi.Input<string>;
    rocketLoader: pulumi.Input<string>;
    securityHeader: pulumi.Input<{
        enabled: pulumi.Input<boolean>;
        includeSubdomains: pulumi.Input<boolean>;
        maxAge: pulumi.Input<number>;
        nosniff: pulumi.Input<boolean>;
        preload: pulumi.Input<boolean>;
    }>;
    securityLevel: pulumi.Input<string>;
    serverSideExclude: pulumi.Input<string>;
    sha1Support: pulumi.Input<string>;
    sortQueryStringForCache: pulumi.Input<string>;
    ssl: pulumi.Input<string>;
    tls12Only: pulumi.Input<string>;
    tls13: pulumi.Input<string>;
    tlsClientAuth: pulumi.Input<string>;
    trueClientIpHeader: pulumi.Input<string>;
    waf: pulumi.Input<string>;
    webp: pulumi.Input<string>;
    websockets: pulumi.Input<string>;
}>;

Settings present in the zone at the time the resource is created. This will be used to restore the original settings when this resource is destroyed. Shares the same schema as the settings attribute (Above).

property initialSettingsReadAt

initialSettingsReadAt?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The DNS zone to which apply settings.

property readonlySettings

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

Which of the current settings are not able to be set by the user. Which settings these are is determined by plan level and user permissions.

  • zone_status. A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.
  • zone_type. Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated.

property settings

settings?: pulumi.Input<{
    advancedDdos: pulumi.Input<string>;
    alwaysOnline: pulumi.Input<string>;
    alwaysUseHttps: pulumi.Input<string>;
    automaticHttpsRewrites: pulumi.Input<string>;
    brotli: pulumi.Input<string>;
    browserCacheTtl: pulumi.Input<number>;
    browserCheck: pulumi.Input<string>;
    cacheLevel: pulumi.Input<string>;
    challengeTtl: pulumi.Input<number>;
    cnameFlattening: pulumi.Input<string>;
    developmentMode: pulumi.Input<string>;
    edgeCacheTtl: pulumi.Input<number>;
    emailObfuscation: pulumi.Input<string>;
    hotlinkProtection: pulumi.Input<string>;
    http2: pulumi.Input<string>;
    ipGeolocation: pulumi.Input<string>;
    ipv6: pulumi.Input<string>;
    maxUpload: pulumi.Input<number>;
    minTlsVersion: pulumi.Input<string>;
    minify: pulumi.Input<{
        css: pulumi.Input<string>;
        html: pulumi.Input<string>;
        js: pulumi.Input<string>;
    }>;
    mirage: pulumi.Input<string>;
    mobileRedirect: pulumi.Input<{
        mobileSubdomain: pulumi.Input<string>;
        status: pulumi.Input<string>;
        stripUri: pulumi.Input<boolean>;
    }>;
    opportunisticEncryption: pulumi.Input<string>;
    opportunisticOnion: pulumi.Input<string>;
    originErrorPagePassThru: pulumi.Input<string>;
    polish: pulumi.Input<string>;
    prefetchPreload: pulumi.Input<string>;
    privacyPass: pulumi.Input<string>;
    pseudoIpv4: pulumi.Input<string>;
    responseBuffering: pulumi.Input<string>;
    rocketLoader: pulumi.Input<string>;
    securityHeader: pulumi.Input<{
        enabled: pulumi.Input<boolean>;
        includeSubdomains: pulumi.Input<boolean>;
        maxAge: pulumi.Input<number>;
        nosniff: pulumi.Input<boolean>;
        preload: pulumi.Input<boolean>;
    }>;
    securityLevel: pulumi.Input<string>;
    serverSideExclude: pulumi.Input<string>;
    sha1Support: pulumi.Input<string>;
    sortQueryStringForCache: pulumi.Input<string>;
    ssl: pulumi.Input<string>;
    tls12Only: pulumi.Input<string>;
    tls13: pulumi.Input<string>;
    tlsClientAuth: pulumi.Input<string>;
    trueClientIpHeader: pulumi.Input<string>;
    waf: pulumi.Input<string>;
    webp: pulumi.Input<string>;
    websockets: pulumi.Input<string>;
}>;

Settings overrides that will be applied to the zone. If a setting is not specified the existing setting will be used. For a full list of available settings see below.

property zoneStatus

zoneStatus?: pulumi.Input<string>;

property zoneType

zoneType?: pulumi.Input<string>;

interface ZoneState

Input properties used for looking up and filtering Zone resources.

property jumpStart

jumpStart?: pulumi.Input<boolean>;

Boolean of whether to scan for DNS records on creation. Ignored after zone is created. Default: false.

property meta

meta?: pulumi.Input<{
    phishingDetected: pulumi.Input<boolean>;
    wildcardProxiable: pulumi.Input<boolean>;
}>;

property nameServers

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

Cloudflare-assigned name servers. This is only populated for zones that use Cloudflare DNS.

property paused

paused?: pulumi.Input<boolean>;

Boolean of whether this zone is paused (traffic bypasses Cloudflare). Default: false.

property plan

plan?: pulumi.Input<string>;

The name of the commercial plan to apply to the zone, can be updated once the one is created; one of free, pro, business, enterprise.

property status

status?: pulumi.Input<string>;

Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated

property type

type?: pulumi.Input<string>;

A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Valid values: full, partial

property vanityNameServers

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

List of Vanity Nameservers (if set).

  • meta.wildcard_proxiable - Indicates whether wildcard DNS records can receive Cloudflare security and performance features.
  • meta.phishing_detected - Indicates if URLs on the zone have been identified as hosting phishing content.

property zone

zone?: pulumi.Input<string>;

The DNS zone name which will be added.