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.
class pulumi_cloudflare.AccessApplication(resource_name, opts=None, domain=None, name=None, session_duration=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • domain (pulumi.Input[str]) – The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.
  • name (pulumi.Input[str]) – Friendly name of the Access Application.
  • session_duration (pulumi.Input[str]) – How often a user will be forced to re-authorise. Must be one of 30m, 6h, 12h, 24h, 168h, 730h.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the access rule should be added.
domain = None

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

name = None

Friendly name of the Access Application.

session_duration = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.AccessPolicy(resource_name, opts=None, application_id=None, decision=None, excludes=None, includes=None, name=None, precedence=None, requires=None, zone_id=None, __name__=None, __opts__=None)

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

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

  • ip - (Optional) A list of IP addresses or ranges. Example: ip = ["1.2.3.4", "10.0.0.0/2"]
  • email - (Optional) A list of email addresses. Example: email = ["test@example.com"]
  • email_domain - (Optional) A list of email domains. Example: email_domain = ["example.com"]
  • everyone - (Optional) Boolean indicating permitting access for all requests. Example: everyone = true
Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • application_id (pulumi.Input[str]) – The ID of the application the policy is associated with.
  • decision (pulumi.Input[str]) – Defines the action Access will take if the policy matches the user. Allowed values: allow, deny, bypass
  • excludes (pulumi.Input[list]) – A series of access conditions, see below for full list.
  • includes (pulumi.Input[list]) – A series of access conditions, see below for full list.
  • name (pulumi.Input[str]) – Friendly name of the Access Application.
  • precedence (pulumi.Input[float]) – The unique precedence for policies on a single application. Integer.
  • requires (pulumi.Input[list]) – A series of access conditions, see below for full list.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the access rule should be added.
application_id = None

The ID of the application the policy is associated with.

decision = None

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

excludes = None

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

includes = None

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

name = None

Friendly name of the Access Application.

precedence = None

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

requires = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.AccessRule(resource_name, opts=None, configuration=None, mode=None, notes=None, zone=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • configuration (pulumi.Input[dict]) – Rule configuration to apply to a matched request. It’s a complex value. See description below.
  • mode (pulumi.Input[str]) – The action to apply to a matched request. Allowed values: “block”, “challenge”, “whitelist”, “js_challenge”
  • notes (pulumi.Input[str]) – A personal note about the rule. Typically used as a reminder or explanation for the rule.
  • zone (pulumi.Input[str]) – The DNS zone to which the access rule should be added. Will be resolved to zone_id upon creation.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the access rule should be added.
configuration = None

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

mode = None

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

notes = None

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

zone = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.AccountMember(resource_name, opts=None, email_address=None, role_ids=None, __name__=None, __opts__=None)

Provides a resource which manages Cloudflare account members.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • email_address (pulumi.Input[str]) – 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.
  • role_ids (pulumi.Input[list]) – Array of account role IDs that you want to assign to a member.
email_address = None

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.

role_ids = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.Argo(resource_name, opts=None, smart_routing=None, tiered_caching=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • smart_routing (pulumi.Input[str]) – Whether smart routing is enabled. Valid values: on or off. Defaults to off.
  • tiered_caching (pulumi.Input[str]) – Whether tiered caching is enabled. Valid values: on or off. Defaults to off.
  • zone_id (pulumi.Input[str]) – The DNS zone ID that you wish to manage Argo on.
smart_routing = None

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

tiered_caching = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.CustomPages(resource_name, opts=None, account_id=None, state=None, type=None, url=None, zone_id=None, __name__=None, __opts__=None)

Provides a resource which manages Cloudflare custom error pages.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • account_id (pulumi.Input[str]) – The account ID where the custom pages should be updated. Either account_id or zone_id must be provided. If account_id is present, it will override the zone setting.
  • type (pulumi.Input[str]) – The type of custom page you wish to update. Must be one of basic_challenge, waf_challenge, waf_block, ratelimit_block, country_challenge, ip_block, under_attack, 500_errors, 1000_errors, always_online.
  • url (pulumi.Input[str]) – URL of where the custom page source is located.
  • zone_id (pulumi.Input[str]) – The zone ID where the custom pages should be updated. Either zone_id or account_id must be provided.
account_id = None

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

type = None

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

url = None

URL of where the custom page source is located.

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.Filter(resource_name, opts=None, description=None, expression=None, paused=None, ref=None, zone=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • description (pulumi.Input[str]) – A note that you can use to describe the purpose of the filter.
  • expression (pulumi.Input[str]) – The filter expression to be used.
  • paused (pulumi.Input[bool]) – Whether this filter is currently paused. Boolean value.
  • ref (pulumi.Input[str]) – Short reference tag to quickly select related rules.
  • zone (pulumi.Input[str]) – The DNS zone to which the Filter should be added. Will be resolved to zone_id upon creation.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the Filter should be added.
description = None

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

expression = None

The filter expression to be used.

paused = None

Whether this filter is currently paused. Boolean value.

ref = None

Short reference tag to quickly select related rules.

zone = None

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

zone_id = None

The DNS zone to which the Filter should be added.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.FirewallRule(resource_name, opts=None, action=None, description=None, filter_id=None, paused=None, priority=None, zone=None, zone_id=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • action (pulumi.Input[str]) – The action to apply to a matched request. Allowed values: “block”, “challenge”, “allow”, “js_challenge”. Enterprise plan also allows “log”.
  • description (pulumi.Input[str]) – A description of the rule to help identify it.
  • paused (pulumi.Input[bool]) – Whether this filter based firewall rule is currently paused. Boolean value.
  • priority (pulumi.Input[float]) – 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.
  • zone (pulumi.Input[str]) – The DNS zone to which the Firewall Rule should be added. Will be resolved to zone_id upon creation.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the Filter should be added.
action = None

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

description = None

A description of the rule to help identify it.

paused = None

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

priority = None

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.

zone = None

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

zone_id = None

The DNS zone to which the Filter should be added.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.GetIpRangesResult(cidr_blocks=None, ipv4_cidr_blocks=None, ipv6_cidr_blocks=None, id=None)

A collection of values returned by getIpRanges.

id = None

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

class pulumi_cloudflare.GetZonesResult(filter=None, zones=None, id=None)

A collection of values returned by getZones.

id = None

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

class pulumi_cloudflare.LoadBalancer(resource_name, opts=None, default_pool_ids=None, description=None, enabled=None, fallback_pool_id=None, name=None, pop_pools=None, proxied=None, region_pools=None, session_affinity=None, steering_policy=None, ttl=None, zone=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • default_pool_ids (pulumi.Input[list]) – A list of pool IDs ordered by their failover priority. Used whenever region/pop pools are not defined.
  • description (pulumi.Input[str]) – Free text description.
  • enabled (pulumi.Input[bool]) – Enable or disable the load balancer. Defaults to true (enabled).
  • fallback_pool_id (pulumi.Input[str]) – The pool ID to use when all other pools are detected as unhealthy.
  • name (pulumi.Input[str]) – The DNS name (FQDN, including the zone) to associate with the load balancer.
  • pop_pools (pulumi.Input[list]) – 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.
  • proxied (pulumi.Input[bool]) – Whether the hostname gets Cloudflare’s origin protection. Defaults to false.
  • region_pools (pulumi.Input[list]) – 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.
  • session_affinity (pulumi.Input[str]) – 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.
  • steering_policy (pulumi.Input[str]) – Determine which method the load balancer uses to determine the fastest route to your origin. Valid values are: "off", "geo", "dynamic_latency", "random" or "". Default is "".
  • ttl (pulumi.Input[float]) – 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.
  • zone (pulumi.Input[str]) – The zone to add the load balancer to.
created_on = None

The RFC3339 timestamp of when the load balancer was created.

default_pool_ids = None

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

description = None

Free text description.

enabled = None

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

fallback_pool_id = None

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

modified_on = None

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

name = None

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

pop_pools = None

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.

proxied = None

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

region_pools = None

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.

session_affinity = None

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.

steering_policy = None

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

ttl = None

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.

zone = None

The zone to add the load balancer to.

zone_id = None

ID associated with the specified zone.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.LoadBalancerMonitor(resource_name, opts=None, allow_insecure=None, description=None, expected_body=None, expected_codes=None, follow_redirects=None, headers=None, interval=None, method=None, path=None, port=None, retries=None, timeout=None, type=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • allow_insecure (pulumi.Input[bool]) – Do not validate the certificate when monitor use HTTPS.
  • description (pulumi.Input[str]) – Free text description.
  • expected_body (pulumi.Input[str]) – 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.
  • expected_codes (pulumi.Input[str]) – The expected HTTP response code or code range of the health check. Eg 2xx
  • follow_redirects (pulumi.Input[bool]) – Follow redirects if returned by the origin.
  • headers (pulumi.Input[list]) – The header name.
  • interval (pulumi.Input[float]) – 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.
  • method (pulumi.Input[str]) – The HTTP method to use for the health check. Default: “GET”.
  • path (pulumi.Input[str]) – The endpoint path to health check against. Default: “/”.
  • retries (pulumi.Input[float]) – The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. Default: 2.
  • timeout (pulumi.Input[float]) – The timeout (in seconds) before marking the health check as failed. Default: 5.
  • type (pulumi.Input[str]) – The protocol to use for the healthcheck. Currently supported protocols are ‘HTTP’ and ‘HTTPS’. Default: “http”.
allow_insecure = None

Do not validate the certificate when monitor use HTTPS.

created_on = None

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

description = None

Free text description.

expected_body = None

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.

expected_codes = None

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

follow_redirects = None

Follow redirects if returned by the origin.

headers = None

The header name.

interval = None

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.

method = None

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

modified_on = None

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

path = None

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

retries = None

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

timeout = None

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

type = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.LoadBalancerPool(resource_name, opts=None, check_regions=None, description=None, enabled=None, minimum_origins=None, monitor=None, name=None, notification_email=None, origins=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • check_regions (pulumi.Input[list]) – 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.
  • description (pulumi.Input[str]) – Free text description.
  • enabled (pulumi.Input[bool]) – 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.
  • minimum_origins (pulumi.Input[float]) – 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.
  • monitor (pulumi.Input[str]) – The ID of the Monitor to use for health checking origins within this pool.
  • name (pulumi.Input[str]) – A human-identifiable name for the origin.
  • notification_email (pulumi.Input[str]) – The email address to send health status notifications to. This can be an individual mailbox or a mailing list.
  • origins (pulumi.Input[list]) – 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.
check_regions = None

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.

created_on = None

The RFC3339 timestamp of when the load balancer was created.

description = None

Free text description.

enabled = None

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.

minimum_origins = None

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.

modified_on = None

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

monitor = None

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

name = None

A human-identifiable name for the origin.

notification_email = None

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

origins = None

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.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.LogpushJob(resource_name, opts=None, destination_conf=None, enabled=None, logpull_options=None, name=None, ownership_challenge=None, zone_id=None, __name__=None, __opts__=None)

Provides a resource which manages Cloudflare logpush jobs.

Parameters:
ownership_challenge = None

Ownership challenge token to prove destination ownership. See https://developers.cloudflare.com/logs/tutorials/tutorial-logpush-curl/

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.PageRule(resource_name, opts=None, actions=None, priority=None, status=None, target=None, zone=None, __name__=None, __opts__=None)

Provides a Cloudflare page rule resource.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • actions (pulumi.Input[dict]) – The actions taken by the page rule, options given below.
  • priority (pulumi.Input[float]) – The priority of the page rule among others for this target, the higher the number the higher the priority as per API documentation.
  • status (pulumi.Input[str]) – Whether the page rule is active or disabled.
  • target (pulumi.Input[str]) – The URL pattern to target with the page rule.
  • zone (pulumi.Input[str]) – The DNS zone to which the page rule should be added.
actions = None

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

priority = None

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

status = None

Whether the page rule is active or disabled.

target = None

The URL pattern to target with the page rule.

zone = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.Provider(resource_name, opts=None, api_client_logging=None, email=None, max_backoff=None, min_backoff=None, org_id=None, retries=None, rps=None, token=None, use_org_from_zone=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.RateLimit(resource_name, opts=None, action=None, bypass_url_patterns=None, correlate=None, description=None, disabled=None, match=None, period=None, threshold=None, zone=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • action (pulumi.Input[dict]) – The action to be performed when the threshold of matched traffic within the period defined is exceeded.
  • bypass_url_patterns (pulumi.Input[list]) – URLs matching the patterns specified here will be excluded from rate limiting.
  • correlate (pulumi.Input[dict]) – Determines how rate limiting is applied. By default if not specified, rate limiting applies to the clients IP address.
  • description (pulumi.Input[str]) – A note that you can use to describe the reason for a rate limit. This value is sanitized and all tags are removed.
  • disabled (pulumi.Input[bool]) – Whether this ratelimit is currently disabled. Default: false.
  • match (pulumi.Input[dict]) – Determines which traffic the rate limit counts towards the threshold. By default matches all traffic in the zone. See definition below.
  • period (pulumi.Input[float]) – 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).
  • threshold (pulumi.Input[float]) – The threshold that triggers the rate limit mitigations, combine with period. i.e. threshold per period (min: 2, max: 1,000,000).
  • zone (pulumi.Input[str]) – The DNS zone to apply rate limiting to.
action = None

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

bypass_url_patterns = None

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

correlate = None

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

description = None

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

disabled = None

Whether this ratelimit is currently disabled. Default: false.

match = None

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

period = None

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

threshold = None

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

zone = None

The DNS zone to apply rate limiting to.

zone_id = None

The DNS zone ID.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.Record(resource_name, opts=None, data=None, domain=None, name=None, priority=None, proxied=None, ttl=None, type=None, value=None, __name__=None, __opts__=None)

Provides a Cloudflare record resource.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • data (pulumi.Input[dict]) – Map of attributes that constitute the record value. Primarily used for LOC and SRV record types. Either this or value must be specified
  • domain (pulumi.Input[str]) – The DNS zone to add the record to
  • name (pulumi.Input[str]) – The name of the record
  • priority (pulumi.Input[float]) – The priority of the record
  • proxied (pulumi.Input[bool]) – Whether the record gets Cloudflare’s origin protection; defaults to false.
  • ttl (pulumi.Input[float]) – The TTL of the record (automatic: ‘1’)
  • type (pulumi.Input[str]) – The type of the record
  • value (pulumi.Input[str]) – The (string) value of the record. Either this or data must be specified
created_on = None

The RFC3339 timestamp of when the record was created

data = None

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

domain = None

The DNS zone to add the record to

hostname = None

The FQDN of the record

metadata = None

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

modified_on = None

The RFC3339 timestamp of when the record was last modified

name = None

The name of the record

priority = None

The priority of the record

proxiable = None

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

proxied = None

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

ttl = None

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

type = None

The type of the record

value = None

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

zone_id = None

The zone id of the record

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.SpectrumApplication(resource_name, opts=None, dns=None, ip_firewall=None, origin_directs=None, origin_dns=None, origin_port=None, protocol=None, proxy_protocol=None, tls=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • dns (pulumi.Input[dict]) – The name and type of DNS record for the Spectrum application. Fields documented below.
  • ip_firewall (pulumi.Input[bool]) – Enables the IP Firewall for this application. Defaults to true.
  • origin_directs (pulumi.Input[list]) – A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.
  • origin_dns (pulumi.Input[dict]) – A destination DNS addresses to the origin. Fields documented below.
  • origin_port (pulumi.Input[float]) – If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.
  • protocol (pulumi.Input[str]) – The port configuration at Cloudflare’s edge. e.g. tcp/22.
  • proxy_protocol (pulumi.Input[bool]) – Enables Proxy Protocol v1 to the origin. Defaults to false.
  • tls (pulumi.Input[str]) – TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.
dns = None

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

ip_firewall = None

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

origin_directs = None

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

origin_dns = None

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

origin_port = None

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

protocol = None

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

proxy_protocol = None

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

tls = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.WafRule(resource_name, opts=None, mode=None, rule_id=None, zone=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • mode (pulumi.Input[str]) – The mode of the rule, can be one of [“block”, “challenge”, “default”, “disable”, “simulate”].
  • rule_id (pulumi.Input[str]) – The WAF Rule ID.
  • zone (pulumi.Input[str]) – The DNS zone to apply to.
mode = None

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

package_id = None

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

rule_id = None

The WAF Rule ID.

zone = None

The DNS zone to apply to.

zone_id = None

The DNS zone ID.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.WorkerRoute(resource_name, opts=None, enabled=None, pattern=None, script_name=None, zone=None, __name__=None, __opts__=None)

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

Parameters:
Parameters:zone (pulumi.Input[str]) – The zone to add the route to.
pattern = None

The route pattern

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

The zone to add the route to.

zone_id = None

The zone id of the route

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.WorkerScript(resource_name, opts=None, content=None, name=None, zone=None, zone_id=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • content (pulumi.Input[str]) – The script content.
  • name (pulumi.Input[str]) – The name for the script.
  • zone (pulumi.Input[str]) – The zone for the script.
  • zone_id (pulumi.Input[str]) – The zone id of the script (only for non-multi-script resources)
content = None

The script content.

name = None

The name for the script.

zone = None

The zone for the script.

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.Zone(resource_name, opts=None, jump_start=None, paused=None, plan=None, type=None, zone=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • jump_start (pulumi.Input[bool]) – Boolean of whether to scan for DNS records on creation. Ignored after zone is created. Default: false.
  • paused (pulumi.Input[bool]) – Boolean of whether this zone is paused (traffic bypasses Cloudflare). Default: false.
  • plan (pulumi.Input[str]) – 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.
  • type (pulumi.Input[str]) – 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.
  • zone (pulumi.Input[str]) – The DNS zone name which will be added.
jump_start = None

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

name_servers = None

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

paused = None

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

plan = None

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.

status = None

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

type = None

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.

vanity_name_servers = None

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.
zone = None

The DNS zone name which will be added.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.ZoneLockdown(resource_name, opts=None, configurations=None, description=None, paused=None, urls=None, zone=None, zone_id=None, __name__=None, __opts__=None)

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.

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • configurations (pulumi.Input[list]) – 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.
  • description (pulumi.Input[str]) – A description about the lockdown entry. Typically used as a reminder or explanation for the lockdown.
  • paused (pulumi.Input[bool]) – Boolean of whether this zone lockdown is currently paused. Default: false.
  • urls (pulumi.Input[list]) – A list of simple wildcard patterns to match requests against. The order of the urls is unimportant.
  • zone (pulumi.Input[str]) – The DNS zone to which the lockdown will be added. Will be resolved to zone_id upon creation.
  • zone_id (pulumi.Input[str]) – The DNS zone to which the access rule should be added.
configurations = None

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.

description = None

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

paused = None

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

urls = None

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

zone = None

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

zone_id = None

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
class pulumi_cloudflare.ZoneSettingsOverride(resource_name, opts=None, name=None, settings=None, __name__=None, __opts__=None)

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

Parameters:
  • resource_name (str) – The name of the resource.
  • opts (pulumi.ResourceOptions) – Options for the resource.
  • name (pulumi.Input[str]) – The DNS zone to which apply settings.
  • settings (pulumi.Input[dict]) – 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.
initial_settings = None

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

name = None

The DNS zone to which apply settings.

readonly_settings = None

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

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

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.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters:prop (str) – A property name.
Returns:A potentially transformed property name.
Return type:str
pulumi_cloudflare.get_ip_ranges(opts=None)

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

pulumi_cloudflare.get_zones(filter=None, opts=None)

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