Package @pulumi/cloudflare

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-cloudflare repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-cloudflare repo.

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

Modules

Resources

Data Sources

Others

Resources

Resource AccessApplication

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("stagingApp", {
    domain: "staging.example.com",
    name: "staging application",
    sessionDuration: "24h",
    zoneId: "1d5fdc9e88c8a8c4518b068cd94331fe",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/access_application.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AccessApplication. 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.

Resource AccessPolicy

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.

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"]
  • emailDomain - (Optional) A list of email domains. Example: emailDomain = ["example.com"]
  • everyone - (Optional) Boolean indicating permitting access for all requests. Example: everyone = true

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/access_policy.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AccessPolicy. 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>;

Defines the action Access will take if the policy matches the user. Allowed values: allow, deny, bypass

property excludes

public excludes: pulumi.Output<outputs.AccessPolicyExclude[] | 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<outputs.AccessPolicyInclude[]>;

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<outputs.AccessPolicyRequire[] | 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.

Resource AccessRule

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.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/access_rule.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AccessRule. 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<outputs.AccessRuleConfiguration>;

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”, “jsChallenge”

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 zoneId

public zoneId: pulumi.Output<string>;

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

Resource AccessServiceToken

class AccessServiceToken extends CustomResource

Access Service Tokens are used for service-to-service communication when an application is behind Cloudflare Access.

Example Usage

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

const myApp = new cloudflare.AccessServiceToken("myApp", {
    accountId: "d41d8cd98f00b204e9800998ecf8427e",
    name: "CI/CD app",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/access_service_token.html.markdown.

constructor

new AccessServiceToken(name: string, args: AccessServiceTokenArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing AccessServiceToken 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AccessServiceToken. 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>;

The ID of the account where the Access Service is being created.

property clientId

public clientId: pulumi.Output<string>;

UUID client ID associated with the Service Token.

property clientSecret

public clientSecret: pulumi.Output<string>;

A secret for interacting with Access protocols.

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 token’s intent.

property urn

urn: Output<URN>;

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

Resource AccountMember

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("exampleUser", {
    emailAddress: "user@example.com",
    roleIds: [
        "68b329da9893e34099c7d8ad5cb9c940",
        "d784fa8b6d98d27699781bd9a7cf19f0",
    ],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/account_member.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AccountMember. 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.

Resource Argo

class Argo extends CustomResource

Cloudflare Argo controls the routing to your origin and tiered caching options to speed up your website browsing experience.

Example Usage

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

const example = new cloudflare.Argo("example", {
    smartRouting: "on",
    tieredCaching: "on",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/argo.html.markdown.

constructor

new Argo(name: string, args: ArgoArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing Argo 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Argo. 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 smartRouting

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

Whether smart routing is enabled. Valid values: on or off. Defaults to off.

property tieredCaching

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

Whether tiered caching is enabled. Valid values: on or off. 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>;

The DNS zone ID that you wish to manage Argo on.

Resource CustomPages

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("basicChallenge", {
    state: "customized",
    type: "basicChallenge",
    url: "https://example.com/challenge.html",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/custom_pages.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomPages. 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 accountId or zoneId must be provided. If accountId 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>;

property type

public type: pulumi.Output<string>;

The type of custom page you wish to update. Must be one of basicChallenge, wafChallenge, wafBlock, ratelimitBlock, countryChallenge, ipBlock, underAttack, 500Errors, 1000Errors, alwaysOnline.

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 zoneId or accountId must be provided.

Resource CustomSsl

class CustomSsl extends CustomResource

Provides a Cloudflare custom ssl resource.

Example Usage

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

const config = new pulumi.Config();
const cloudflareZoneId = config.get("cloudflareZoneId") || "1d5fdc9e88c8a8c4518b068cd94331fe";

// Add a custom ssl certificate to the domain
const foossl = new cloudflare.CustomSsl("foossl", {
    customSslOptions: {
        bundle_method: "ubiquitous",
        certificate: "-----INSERT CERTIFICATE-----",
        geo_restrictions: "us",
        private_key: "-----INSERT PRIVATE KEY-----",
        type: "legacyCustom",
    },
    zoneId: cloudflareZoneId,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/custom_ssl.html.markdown.

constructor

new CustomSsl(name: string, args: CustomSslArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing CustomSsl 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomSsl. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property customSslOptions

public customSslOptions: pulumi.Output<outputs.CustomSslCustomSslOptions | undefined>;

The certificate, private key and associated optional parameters, such as bundle_method, geo_restrictions, and type.

property customSslPriorities

public customSslPriorities: pulumi.Output<outputs.CustomSslCustomSslPriority[] | undefined>;

property expiresOn

public expiresOn: pulumi.Output<string>;

property hosts

public hosts: 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 issuer

public issuer: pulumi.Output<string>;

property modifiedOn

public modifiedOn: pulumi.Output<string>;

property priority

public priority: pulumi.Output<number>;

property signature

public signature: pulumi.Output<string>;

property status

public status: pulumi.Output<string>;

property uploadedOn

public uploadedOn: pulumi.Output<string>;

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 id to the custom ssl cert should be added.

Resource Filter

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",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/filter.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Filter. 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 zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the Filter should be added.

Resource FirewallRule

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.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/firewall_rule.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of FirewallRule. 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”, “jsChallenge”. 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 zoneId

public zoneId: pulumi.Output<string>;

The DNS zone to which the Filter should be added.

Resource LoadBalancer

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.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/load_balancer.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of LoadBalancer. 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 enabled

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

Enable or disable the load balancer. Defaults to true (enabled).

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<outputs.LoadBalancerPopPool[]>;

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<outputs.LoadBalancerRegionPool[]>;

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", "dynamicLatency", "random" 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 zoneId

public zoneId: pulumi.Output<string>;

The zone ID to add the load balancer to.

Resource LoadBalancerMonitor

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) or TCP.

Example Usage

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

const httpMonitor = new cloudflare.LoadBalancerMonitor("httpMonitor", {
    allowInsecure: false,
    description: "example http load balancer",
    expectedBody: "alive",
    expectedCodes: "2xx",
    followRedirects: true,
    headers: [{
        header: "Host",
        values: ["example.com"],
    }],
    interval: 60,
    method: "GET",
    path: "/health",
    retries: 5,
    timeout: 7,
    type: "http",
});
TCP Monitor
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";

const tcpMonitor = new cloudflare.LoadBalancerMonitor("tcpMonitor", {
    description: "example tcp load balancer",
    interval: 60,
    method: "connectionEstablished",
    retries: 5,
    timeout: 7,
    type: "tcp",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/load_balancer_monitor.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of LoadBalancerMonitor. 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. Only valid if type is “http” or “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 | undefined>;

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. Only valid and required if type is “http” or “https”.

property expectedCodes

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

The expected HTTP response code or code range of the health check. Eg 2xx. Only valid and required if type is “http” or “https”.

property followRedirects

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

Follow redirects if returned by the origin. Only valid if type is “http” or “https”.

property headers

public headers: pulumi.Output<outputs.LoadBalancerMonitorHeader[] | 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>;

The method to use for the health check. Valid values are any valid HTTP verb if type is “http” or “https”, or connectionEstablished if type is “tcp”. Default: “GET” if type is “http” or “https”, or “connectionEstablished” if type is “tcp” .

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

The endpoint path to health check against. Default: “/”. Only valid if type is “http” or “https”.

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’, ‘HTTPS’ and ‘TCP’. Default: “http”.

property urn

urn: Output<URN>;

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

Resource LoadBalancerPool

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",
        },
    ],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/load_balancer_pool.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of LoadBalancerPool. 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<outputs.LoadBalancerPoolOrigin[]>;

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.

Resource LogpushJob

class LogpushJob extends CustomResource

Provides a resource which manages Cloudflare logpush jobs.

Example Usage

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

const exampleJob = new cloudflare.LogpushJob("exampleJob", {
    destinationConf: "s3://my-bucket-path?region=us-west-2",
    enabled: true,
    logpullOptions: "fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339",
    name: "My-logpush-job",
    ownershipChallenge: "00000000000000000",
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/logpush_job.html.markdown.

constructor

new LogpushJob(name: string, args: LogpushJobArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing LogpushJob 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of LogpushJob. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property destinationConf

public destinationConf: pulumi.Output<string>;

Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See Logpush destination documentation.

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 logpullOptions

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

Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See Logpull options documentation.

property name

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

The name of the logpush job to create. Must match the regular expression ^[a-zA-Z0-9\-\.]*$.

property ownershipChallenge

public ownershipChallenge: pulumi.Output<string>;

Ownership challenge token to prove destination ownership. See Developer documentation.

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 zone ID where the logpush job should be created.

Resource PageRule

class PageRule extends CustomResource

Provides a Cloudflare page rule resource.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/page_rule.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of PageRule. 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<outputs.PageRuleActions>;

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 zoneId

public zoneId: pulumi.Output<string>;

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

Resource Provider

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.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/index.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Provider. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method register

static register(provider: ProviderResource | undefined): Promise<string | 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 urn

urn: Output<URN>;

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

Resource RateLimit

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.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/rate_limit.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of RateLimit. 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<outputs.RateLimitAction>;

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<outputs.RateLimitCorrelate | 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<outputs.RateLimitMatch>;

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 zoneId

public zoneId: pulumi.Output<string>;

The DNS zone ID to apply rate limiting to.

Resource Record

class Record extends CustomResource

Provides a Cloudflare record resource.

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/record.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Record. 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<outputs.RecordData | 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 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 DNS zone ID to add the record to

Resource SpectrumApplication

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("sshProxy", {
    dns: {
        name: "ssh.example.com",
        type: "CNAME",
    },
    originDirects: ["tcp://109.151.40.129:22"],
    protocol: "tcp/22",
    trafficType: "direct",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/spectrum_application.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of SpectrumApplication. 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<outputs.SpectrumApplicationDns>;

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<outputs.SpectrumApplicationOriginDns | undefined>;

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

property originPort

public originPort: pulumi.Output<number>;

If using originDns 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 trafficType

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

Set’s application type. Valid values are: direct, http, https. Defaults to direct.

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

Resource WafGroup

class WafGroup extends CustomResource

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

Example Usage

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

const honeyPot = new cloudflare.WafGroup("honeyPot", {
    groupId: "de677e5818985db1285d0e80225f06e5",
    mode: "on",
    zoneId: "ae36f999674d196762efcc5abb06b345",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/waf_group.html.markdown.

constructor

new WafGroup(name: string, args: WafGroupArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing WafGroup 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of WafGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property groupId

public groupId: pulumi.Output<string>;

The WAF Rule Group ID.

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

The mode of the group, can be one of [“on”, “off”].

property packageId

public packageId: pulumi.Output<string>;

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

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 ID to apply to.

Resource WafPackage

class WafPackage extends CustomResource

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

Example Usage

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

const owasp = new cloudflare.WafPackage("owasp", {
    actionMode: "simulate",
    packageId: "a25a9a7e9c00afc1fb2e0245519d725b",
    sensitivity: "medium",
    zoneId: "ae36f999674d196762efcc5abb06b345",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/waf_package.html.markdown.

constructor

new WafPackage(name: string, args: WafPackageArgs, opts?: pulumi.CustomResourceOptions)

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

Get an existing WafPackage 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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of WafPackage. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property actionMode

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

The action mode of the package, can be one of [“block”, “challenge”, “simulate”].

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 packageId

public packageId: pulumi.Output<string>;

The WAF Package ID.

property sensitivity

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

The sensitivity of the package, can be one of [“high”, “medium”, “low”, “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>;

The DNS zone ID to apply to.

Resource WafRule

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",
    zoneId: "ae36f999674d196762efcc5abb06b345",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/waf_rule.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of WafRule. 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 zoneId

public zoneId: pulumi.Output<string>;

The DNS zone ID to apply to.

Resource WorkerRoute

class WorkerRoute extends CustomResource

Provides a Cloudflare worker route resource. A route will also require a cloudflare..WorkerScript.

Example Usage

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

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

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/worker_route.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of WorkerRoute. 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 pattern

public pattern: pulumi.Output<string>;

The route pattern * scriptName Which worker script to run for requests that match the route pattern. If scriptName 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 zoneId

public zoneId: pulumi.Output<string>;

The zone ID to add the route to.

Resource WorkerScript

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..WorkerRoute.

Example Usage

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

// Sets the script with the name "script1"
const myScript = new cloudflare.WorkerScript("myScript", {
    content: "",
    file: [{}],
    name: "script1",
    "script.js": [{}],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/worker_script.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of WorkerScript. 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>;

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.

Resource Zone

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",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/zone.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Zone. 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<outputs.ZoneMeta>;

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

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. Default is full.

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.

Resource ZoneLockdown

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("endpointLockdown", {
    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*"],
    zoneId: "d41d8cd98f00b204e9800998ecf8427e",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/zone_lockdown.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ZoneLockdown. 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<outputs.ZoneLockdownConfiguration[]>;

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 priority

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

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 zoneId

public zoneId: pulumi.Output<string>;

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

Resource ZoneSettingsOverride

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", {
    "var.cloudflare_zone_id": [{
        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",
        }],
    }],
    zoneId: "",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/r/zone_settings_override.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ZoneSettingsOverride. 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<outputs.ZoneSettingsOverrideInitialSettings>;

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 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. * zoneStatus. A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. * zoneType. Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated.

property settings

public settings: pulumi.Output<outputs.ZoneSettingsOverrideSettings>;

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 zoneId

public zoneId: pulumi.Output<string>;

The DNS zone ID to which apply settings.

property zoneStatus

public zoneStatus: pulumi.Output<string>;

property zoneType

public zoneType: pulumi.Output<string>;

Data Sources

Data Source getIpRanges

getIpRanges(opts?: pulumi.InvokeOptions): Promise<GetIpRangesResult> & 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 cloudflareIpRanges = cloudflare.getIpRanges();
const allowCloudflareIngress = new gcp.compute.Firewall("allowCloudflareIngress", {
    allows: [{
        ports: "443",
        protocol: "tcp",
    }],
    network: "default",
    sourceRanges: cloudflareIpRanges.ipv4CidrBlocks,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/d/ip_ranges.html.markdown.

Data Source getWafGroups

getWafGroups(args: GetWafGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetWafGroupsResult> & GetWafGroupsResult

Use this data source to look up [WAF Rule Groups][1].

Example Usage

The example below matches all WAF Rule Groups that contain the word example and are currently on. The matched WAF Rule Groups are then returned as output.

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

const test = cloudflare.getWafGroups({
    filter: {
        mode: "on",
        name: ".*example.*",
    },
});

export const wafGroups = {
    "data.cloudflare_waf_groups.test.groups": [{}],
    value: "",
};

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/d/waf_groups.html.markdown.

Data Source getWafPackages

getWafPackages(args: GetWafPackagesArgs, opts?: pulumi.InvokeOptions): Promise<GetWafPackagesResult> & GetWafPackagesResult

Use this data source to look up [WAF Rule Packages][1].

Example Usage

The example below matches all high sensitivity WAF Rule Packages, with a challenge action mode and an anomaly detection mode, that contain the word example. The matched WAF Rule Packages are then returned as output.

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

const test = cloudflare.getWafPackages({
    filter: {
        actionMode: "challenge",
        detectionMode: "anomaly",
        name: ".*example.*",
        sensitivity: "high",
    },
});

export const wafPackages = {
    "data.cloudflare_waf_packages.test.packages": [{}],
    value: "",
};

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/d/waf_packages.html.markdown.

Data Source getZones

getZones(args: GetZonesArgs, opts?: pulumi.InvokeOptions): Promise<GetZonesResult> & 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..ZoneLockdown resource.

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

const test = cloudflare.getZones({
    filter: {
        name: "example.*",
        paused: false,
        status: "active",
    },
});
const endpointLockdown = new cloudflare.ZoneLockdown("endpointLockdown", {
    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: (<any>test.zones[0])["name"],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-cloudflare/blob/master/website/docs/d/zones.html.markdown.

Others

interface AccessApplicationArgs

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

interface AccessApplicationState

Input properties used for looking up and filtering AccessApplication resources.

property aud

aud?: pulumi.Input<string>;

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

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

Defines the action Access will take if the policy matches the user. Allowed values: allow, deny, bypass

property excludes

excludes?: pulumi.Input<pulumi.Input<inputs.AccessPolicyExclude>[]>;

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

property includes

includes: pulumi.Input<pulumi.Input<inputs.AccessPolicyInclude>[]>;

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<inputs.AccessPolicyRequire>[]>;

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

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

Defines the action Access will take if the policy matches the user. Allowed values: allow, deny, bypass

property excludes

excludes?: pulumi.Input<pulumi.Input<inputs.AccessPolicyExclude>[]>;

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

property includes

includes?: pulumi.Input<pulumi.Input<inputs.AccessPolicyInclude>[]>;

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<inputs.AccessPolicyRequire>[]>;

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

interface AccessRuleArgs

The set of arguments for constructing a AccessRule resource.

property configuration

configuration: pulumi.Input<inputs.AccessRuleConfiguration>;

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”, “jsChallenge”

property notes

notes?: pulumi.Input<string>;

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

property zoneId

zoneId?: pulumi.Input<string>;

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

interface AccessRuleState

interface AccessRuleState

Input properties used for looking up and filtering AccessRule resources.

property configuration

configuration?: pulumi.Input<inputs.AccessRuleConfiguration>;

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”, “jsChallenge”

property notes

notes?: pulumi.Input<string>;

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

property zoneId

zoneId?: pulumi.Input<string>;

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

interface AccessServiceTokenArgs

interface AccessServiceTokenArgs

The set of arguments for constructing a AccessServiceToken resource.

property accountId

accountId: pulumi.Input<string>;

The ID of the account where the Access Service is being created.

property name

name: pulumi.Input<string>;

Friendly name of the token’s intent.

interface AccessServiceTokenState

interface AccessServiceTokenState

Input properties used for looking up and filtering AccessServiceToken resources.

property accountId

accountId?: pulumi.Input<string>;

The ID of the account where the Access Service is being created.

property clientId

clientId?: pulumi.Input<string>;

UUID client ID associated with the Service Token.

property clientSecret

clientSecret?: pulumi.Input<string>;

A secret for interacting with Access protocols.

property name

name?: pulumi.Input<string>;

Friendly name of the token’s intent.

interface AccountMemberArgs

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

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 ArgoArgs

interface ArgoArgs

The set of arguments for constructing a Argo resource.

property smartRouting

smartRouting?: pulumi.Input<string>;

Whether smart routing is enabled. Valid values: on or off. Defaults to off.

property tieredCaching

tieredCaching?: pulumi.Input<string>;

Whether tiered caching is enabled. Valid values: on or off. Defaults to off.

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID that you wish to manage Argo on.

interface ArgoState

interface ArgoState

Input properties used for looking up and filtering Argo resources.

property smartRouting

smartRouting?: pulumi.Input<string>;

Whether smart routing is enabled. Valid values: on or off. Defaults to off.

property tieredCaching

tieredCaching?: pulumi.Input<string>;

Whether tiered caching is enabled. Valid values: on or off. Defaults to off.

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID that you wish to manage Argo on.

interface CustomPagesArgs

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 accountId or zoneId must be provided. If accountId is present, it will override the zone setting.

property state

state?: pulumi.Input<string>;

property type

type: pulumi.Input<string>;

The type of custom page you wish to update. Must be one of basicChallenge, wafChallenge, wafBlock, ratelimitBlock, countryChallenge, ipBlock, underAttack, 500Errors, 1000Errors, alwaysOnline.

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 zoneId or accountId must be provided.

interface CustomPagesState

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 accountId or zoneId must be provided. If accountId is present, it will override the zone setting.

property state

state?: pulumi.Input<string>;

property type

type?: pulumi.Input<string>;

The type of custom page you wish to update. Must be one of basicChallenge, wafChallenge, wafBlock, ratelimitBlock, countryChallenge, ipBlock, underAttack, 500Errors, 1000Errors, alwaysOnline.

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 zoneId or accountId must be provided.

interface CustomSslArgs

interface CustomSslArgs

The set of arguments for constructing a CustomSsl resource.

property customSslOptions

customSslOptions?: pulumi.Input<inputs.CustomSslCustomSslOptions>;

The certificate, private key and associated optional parameters, such as bundle_method, geo_restrictions, and type.

property customSslPriorities

customSslPriorities?: pulumi.Input<pulumi.Input<inputs.CustomSslCustomSslPriority>[]>;

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone id to the custom ssl cert should be added.

interface CustomSslState

interface CustomSslState

Input properties used for looking up and filtering CustomSsl resources.

property customSslOptions

customSslOptions?: pulumi.Input<inputs.CustomSslCustomSslOptions>;

The certificate, private key and associated optional parameters, such as bundle_method, geo_restrictions, and type.

property customSslPriorities

customSslPriorities?: pulumi.Input<pulumi.Input<inputs.CustomSslCustomSslPriority>[]>;

property expiresOn

expiresOn?: pulumi.Input<string>;

property hosts

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

property issuer

issuer?: pulumi.Input<string>;

property modifiedOn

modifiedOn?: pulumi.Input<string>;

property priority

priority?: pulumi.Input<number>;

property signature

signature?: pulumi.Input<string>;

property status

status?: pulumi.Input<string>;

property uploadedOn

uploadedOn?: pulumi.Input<string>;

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone id to the custom ssl cert should be added.

interface FilterArgs

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 zoneId

zoneId: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FilterState

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 zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FirewallRuleArgs

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”, “jsChallenge”. 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 zoneId

zoneId: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

interface FirewallRuleState

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”, “jsChallenge”. 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 zoneId

zoneId?: pulumi.Input<string>;

The DNS zone to which the Filter should be added.

function getEnv

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

function getEnvBoolean

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

function getEnvNumber

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

interface GetIpRangesResult

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

function getVersion

getVersion(): string

interface GetWafGroupsArgs

interface GetWafGroupsArgs

A collection of arguments for invoking getWafGroups.

property filter

filter?: inputs.GetWafGroupsFilter;

property packageId

packageId?: undefined | string;

property zoneId

zoneId: string;

interface GetWafGroupsResult

interface GetWafGroupsResult

A collection of values returned by getWafGroups.

property filter

filter?: outputs.GetWafGroupsFilter;

property groups

groups: outputs.GetWafGroupsGroup[];

property id

id: string;

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

property packageId

packageId?: undefined | string;

property zoneId

zoneId: string;

interface GetWafPackagesArgs

interface GetWafPackagesArgs

A collection of arguments for invoking getWafPackages.

property filter

filter?: inputs.GetWafPackagesFilter;

property zoneId

zoneId: string;

interface GetWafPackagesResult

interface GetWafPackagesResult

A collection of values returned by getWafPackages.

property filter

filter?: outputs.GetWafPackagesFilter;

property id

id: string;

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

property packages

packages: outputs.GetWafPackagesPackage[];

property zoneId

zoneId: string;

interface GetZonesArgs

interface GetZonesArgs

A collection of arguments for invoking getZones.

property filter

filter: inputs.GetZonesFilter;

interface GetZonesResult

interface GetZonesResult

A collection of values returned by getZones.

property filter

filter: outputs.GetZonesFilter;

property id

id: string;

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

property zones

zones: outputs.GetZonesZone[];

interface LoadBalancerArgs

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 enabled

enabled?: pulumi.Input<boolean>;

Enable or disable the load balancer. Defaults to true (enabled).

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<inputs.LoadBalancerPopPool>[]>;

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<inputs.LoadBalancerRegionPool>[]>;

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", "dynamicLatency", "random" 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 zoneId

zoneId: pulumi.Input<string>;

The zone ID to add the load balancer to.

interface LoadBalancerMonitorArgs

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. Only valid if type is “http” or “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. Only valid and required if type is “http” or “https”.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

The expected HTTP response code or code range of the health check. Eg 2xx. Only valid and required if type is “http” or “https”.

property followRedirects

followRedirects?: pulumi.Input<boolean>;

Follow redirects if returned by the origin. Only valid if type is “http” or “https”.

property headers

headers?: pulumi.Input<pulumi.Input<inputs.LoadBalancerMonitorHeader>[]>;

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 method to use for the health check. Valid values are any valid HTTP verb if type is “http” or “https”, or connectionEstablished if type is “tcp”. Default: “GET” if type is “http” or “https”, or “connectionEstablished” if type is “tcp” .

property path

path?: pulumi.Input<string>;

The endpoint path to health check against. Default: “/”. Only valid if type is “http” or “https”.

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’, ‘HTTPS’ and ‘TCP’. Default: “http”.

interface LoadBalancerMonitorState

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. Only valid if type is “http” or “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. Only valid and required if type is “http” or “https”.

property expectedCodes

expectedCodes?: pulumi.Input<string>;

The expected HTTP response code or code range of the health check. Eg 2xx. Only valid and required if type is “http” or “https”.

property followRedirects

followRedirects?: pulumi.Input<boolean>;

Follow redirects if returned by the origin. Only valid if type is “http” or “https”.

property headers

headers?: pulumi.Input<pulumi.Input<inputs.LoadBalancerMonitorHeader>[]>;

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 method to use for the health check. Valid values are any valid HTTP verb if type is “http” or “https”, or connectionEstablished if type is “tcp”. Default: “GET” if type is “http” or “https”, or “connectionEstablished” if type is “tcp” .

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: “/”. Only valid if type is “http” or “https”.

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’, ‘HTTPS’ and ‘TCP’. Default: “http”.

interface LoadBalancerPoolArgs

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<inputs.LoadBalancerPoolOrigin>[]>;

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

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<inputs.LoadBalancerPoolOrigin>[]>;

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

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 enabled

enabled?: pulumi.Input<boolean>;

Enable or disable the load balancer. Defaults to true (enabled).

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<inputs.LoadBalancerPopPool>[]>;

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<inputs.LoadBalancerRegionPool>[]>;

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", "dynamicLatency", "random" 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 zoneId

zoneId?: pulumi.Input<string>;

The zone ID to add the load balancer to.

interface LogpushJobArgs

interface LogpushJobArgs

The set of arguments for constructing a LogpushJob resource.

property destinationConf

destinationConf: pulumi.Input<string>;

Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See Logpush destination documentation.

property enabled

enabled?: pulumi.Input<boolean>;

property logpullOptions

logpullOptions?: pulumi.Input<string>;

Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See Logpull options documentation.

property name

name?: pulumi.Input<string>;

The name of the logpush job to create. Must match the regular expression ^[a-zA-Z0-9\-\.]*$.

property ownershipChallenge

ownershipChallenge: pulumi.Input<string>;

Ownership challenge token to prove destination ownership. See Developer documentation.

property zoneId

zoneId: pulumi.Input<string>;

The zone ID where the logpush job should be created.

interface LogpushJobState

interface LogpushJobState

Input properties used for looking up and filtering LogpushJob resources.

property destinationConf

destinationConf?: pulumi.Input<string>;

Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See Logpush destination documentation.

property enabled

enabled?: pulumi.Input<boolean>;

property logpullOptions

logpullOptions?: pulumi.Input<string>;

Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See Logpull options documentation.

property name

name?: pulumi.Input<string>;

The name of the logpush job to create. Must match the regular expression ^[a-zA-Z0-9\-\.]*$.

property ownershipChallenge

ownershipChallenge?: pulumi.Input<string>;

Ownership challenge token to prove destination ownership. See Developer documentation.

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID where the logpush job should be created.

interface PageRuleArgs

interface PageRuleArgs

The set of arguments for constructing a PageRule resource.

property actions

actions: pulumi.Input<inputs.PageRuleActions>;

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 zoneId

zoneId: pulumi.Input<string>;

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

interface PageRuleState

interface PageRuleState

Input properties used for looking up and filtering PageRule resources.

property actions

actions?: pulumi.Input<inputs.PageRuleActions>;

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 zoneId

zoneId?: pulumi.Input<string>;

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

interface ProviderArgs

interface ProviderArgs

The set of arguments for constructing a Provider resource.

property accountId

accountId?: pulumi.Input<string>;

Configure API client to always use that account.

property apiClientLogging

apiClientLogging?: pulumi.Input<boolean>;

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

property apiKey

apiKey?: pulumi.Input<string>;

The API key for operations.

property apiToken

apiToken?: pulumi.Input<string>;

The API Token for operations.

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

interface RateLimitArgs

interface RateLimitArgs

The set of arguments for constructing a RateLimit resource.

property action

action: pulumi.Input<inputs.RateLimitAction>;

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<inputs.RateLimitCorrelate>;

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<inputs.RateLimitMatch>;

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 zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to apply rate limiting to.

interface RateLimitState

interface RateLimitState

Input properties used for looking up and filtering RateLimit resources.

property action

action?: pulumi.Input<inputs.RateLimitAction>;

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<inputs.RateLimitCorrelate>;

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<inputs.RateLimitMatch>;

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 zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID to apply rate limiting to.

interface RecordArgs

interface RecordArgs

The set of arguments for constructing a Record resource.

property data

data?: pulumi.Input<inputs.RecordData>;

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

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

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to add the record to

interface RecordState

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<inputs.RecordData>;

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

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 DNS zone ID to add the record to

interface SpectrumApplicationArgs

interface SpectrumApplicationArgs

The set of arguments for constructing a SpectrumApplication resource.

property dns

dns: pulumi.Input<inputs.SpectrumApplicationDns>;

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<inputs.SpectrumApplicationOriginDns>;

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

property originPort

originPort: pulumi.Input<number>;

If using originDns 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 trafficType

trafficType?: pulumi.Input<string>;

Set’s application type. Valid values are: direct, http, https. Defaults to direct.

property zoneId

zoneId: pulumi.Input<string>;

interface SpectrumApplicationState

interface SpectrumApplicationState

Input properties used for looking up and filtering SpectrumApplication resources.

property dns

dns?: pulumi.Input<inputs.SpectrumApplicationDns>;

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<inputs.SpectrumApplicationOriginDns>;

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

property originPort

originPort?: pulumi.Input<number>;

If using originDns 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 trafficType

trafficType?: pulumi.Input<string>;

Set’s application type. Valid values are: direct, http, https. Defaults to direct.

property zoneId

zoneId?: pulumi.Input<string>;

interface WafGroupArgs

interface WafGroupArgs

The set of arguments for constructing a WafGroup resource.

property groupId

groupId: pulumi.Input<string>;

The WAF Rule Group ID.

property mode

mode?: pulumi.Input<string>;

The mode of the group, can be one of [“on”, “off”].

property packageId

packageId?: pulumi.Input<string>;

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

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WafGroupState

interface WafGroupState

Input properties used for looking up and filtering WafGroup resources.

property groupId

groupId?: pulumi.Input<string>;

The WAF Rule Group ID.

property mode

mode?: pulumi.Input<string>;

The mode of the group, can be one of [“on”, “off”].

property packageId

packageId?: pulumi.Input<string>;

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

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WafPackageArgs

interface WafPackageArgs

The set of arguments for constructing a WafPackage resource.

property actionMode

actionMode?: pulumi.Input<string>;

The action mode of the package, can be one of [“block”, “challenge”, “simulate”].

property packageId

packageId: pulumi.Input<string>;

The WAF Package ID.

property sensitivity

sensitivity?: pulumi.Input<string>;

The sensitivity of the package, can be one of [“high”, “medium”, “low”, “off”].

property zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WafPackageState

interface WafPackageState

Input properties used for looking up and filtering WafPackage resources.

property actionMode

actionMode?: pulumi.Input<string>;

The action mode of the package, can be one of [“block”, “challenge”, “simulate”].

property packageId

packageId?: pulumi.Input<string>;

The WAF Package ID.

property sensitivity

sensitivity?: pulumi.Input<string>;

The sensitivity of the package, can be one of [“high”, “medium”, “low”, “off”].

property zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WafRuleArgs

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 zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WafRuleState

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 zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID to apply to.

interface WorkerRouteArgs

interface WorkerRouteArgs

The set of arguments for constructing a WorkerRoute resource.

property pattern

pattern: pulumi.Input<string>;

The route pattern * scriptName Which worker script to run for requests that match the route pattern. If scriptName is empty, workers will be skipped for matching requests.

property scriptName

scriptName?: pulumi.Input<string>;

property zoneId

zoneId: pulumi.Input<string>;

The zone ID to add the route to.

interface WorkerRouteState

interface WorkerRouteState

Input properties used for looking up and filtering WorkerRoute resources.

property pattern

pattern?: pulumi.Input<string>;

The route pattern * scriptName Which worker script to run for requests that match the route pattern. If scriptName is empty, workers will be skipped for matching requests.

property scriptName

scriptName?: pulumi.Input<string>;

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID to add the route to.

interface WorkerScriptArgs

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.

interface WorkerScriptState

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.

interface ZoneArgs

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 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. Default is full.

property zone

zone: pulumi.Input<string>;

The DNS zone name which will be added.

interface ZoneLockdownArgs

interface ZoneLockdownArgs

The set of arguments for constructing a ZoneLockdown resource.

property configurations

configurations: pulumi.Input<pulumi.Input<inputs.ZoneLockdownConfiguration>[]>;

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 priority

priority?: pulumi.Input<number>;

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 zoneId

zoneId: pulumi.Input<string>;

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

interface ZoneLockdownState

interface ZoneLockdownState

Input properties used for looking up and filtering ZoneLockdown resources.

property configurations

configurations?: pulumi.Input<pulumi.Input<inputs.ZoneLockdownConfiguration>[]>;

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 priority

priority?: pulumi.Input<number>;

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 zoneId

zoneId?: pulumi.Input<string>;

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

interface ZoneSettingsOverrideArgs

interface ZoneSettingsOverrideArgs

The set of arguments for constructing a ZoneSettingsOverride resource.

property settings

settings?: pulumi.Input<inputs.ZoneSettingsOverrideSettings>;

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 zoneId

zoneId: pulumi.Input<string>;

The DNS zone ID to which apply settings.

interface ZoneSettingsOverrideState

interface ZoneSettingsOverrideState

Input properties used for looking up and filtering ZoneSettingsOverride resources.

property initialSettings

initialSettings?: pulumi.Input<inputs.ZoneSettingsOverrideInitialSettings>;

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 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. * zoneStatus. A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. * zoneType. Status of the zone. Valid values: active, pending, initializing, moved, deleted, deactivated.

property settings

settings?: pulumi.Input<inputs.ZoneSettingsOverrideSettings>;

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 zoneId

zoneId?: pulumi.Input<string>;

The DNS zone ID to which apply settings.

property zoneStatus

zoneStatus?: pulumi.Input<string>;

property zoneType

zoneType?: pulumi.Input<string>;

interface ZoneState

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<inputs.ZoneMeta>;

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. Default is full.

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.