Show / Hide Table of Contents

Namespace Pulumi.Cloudflare

Classes

AccessApplication

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var stagingApp = new Cloudflare.AccessApplication("stagingApp", new Cloudflare.AccessApplicationArgs
    {
        Domain = "staging.example.com",
        Name = "staging application",
        SessionDuration = "24h",
        ZoneId = "1d5fdc9e88c8a8c4518b068cd94331fe",
    });
}

}

AccessApplicationArgs

AccessApplicationState

AccessGroup

Provides a Cloudflare Access Group resource. Access Groups are used in conjunction with Access Policies to restrict access to a particular resource based on group membership.

Conditions

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

  • ip - (Optional) A list of IP addresses or ranges. Example: ip = ["1.2.3.4", "10.0.0.0/2"]
  • email - (Optional) A list of email addresses. Example: email = ["test@example.com"]
  • email_domain - (Optional) A list of email domains. Example: email_domain = ["example.com"]
  • service_token - (Optional) A list of service token ids. Example: service_token = [cloudflare_access_service_token.demo.id]
  • any_valid_service_token - (Optional) Boolean indicating if allow all tokens to be granted. Example: any_valid_service_token = true
  • group - (Optional) A list of access group ids. Example: group = [cloudflare_access_group.demo.id]
  • everyone - (Optional) Boolean indicating permitting access for all requests. Example: everyone = true
  • certificate - (Optional) Whether to use mTLS certificate authentication.
  • common_name - (Optional) Use a certificate common name to authenticate with.
  • gsuite - (Optional) Use GSuite as the authentication mechanism. Example:
# ... other configuration
include {
gsuite {
  email = "admins@example.com"
  identity_provider_id = "ca298b82-93b5-41bf-bc2d-10493f09b761"
}
}
  • github - (Optional) Use a GitHub team as the include condition. Example:
# ... other configuration
include {
github {
  name = "my-github-team-name"
  identity_provider_id = "ca298b82-93b5-41bf-bc2d-10493f09b761"
}
}
  • azure - (Optional) Use Azure AD as the include condition. Example:
# ... other configuration
include {
azure {
  id = "86773093-5feb-48dd-814b-7ccd3676ff50e"
  identity_provider_id = "ca298b82-93b5-41bf-bc2d-10493f09b761"
}
}
  • okta - (Optional) Use Okta as the include condition. Example:
# ... other configuration
include {
okta {
  name = "admins"
  identity_provider_id = "ca298b82-93b5-41bf-bc2d-10493f09b761"
}
}
  • saml - (Optional) Use an external SAML setup as the include condition. Example:
# ... other configuration
include {
saml {
  attribute_name = "group"
  attribute_value = "admins"
  identity_provider_id = "ca298b82-93b5-41bf-bc2d-10493f09b761"
}
}

AccessGroupArgs

AccessGroupState

AccessIdentityProvider

Provides a Cloudflare Access Identity Provider resource. Identity Providers are used as an authentication or authorisation source within Access.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    // one time pin
    var pinLogin = new Cloudflare.AccessIdentityProvider("pinLogin", new Cloudflare.AccessIdentityProviderArgs
    {
        AccountId = "1d5fdc9e88c8a8c4518b068cd94331fe",
        Name = "PIN login",
        Type = "onetimepin",
    });
    // oauth
    var githubOauth = new Cloudflare.AccessIdentityProvider("githubOauth", new Cloudflare.AccessIdentityProviderArgs
    {
        AccountId = "1d5fdc9e88c8a8c4518b068cd94331fe",
        Configs = 
        {
            new Cloudflare.Inputs.AccessIdentityProviderConfigArgs
            {
                ClientId = "example",
                ClientSecret = "secret_key",
            },
        },
        Name = "GitHub OAuth",
        Type = "github",
    });
    // saml
    var jumpcloudSaml = new Cloudflare.AccessIdentityProvider("jumpcloudSaml", new Cloudflare.AccessIdentityProviderArgs
    {
        AccountId = "1d5fdc9e88c8a8c4518b068cd94331fe",
        Configs = 
        {
            new Cloudflare.Inputs.AccessIdentityProviderConfigArgs
            {
                Attributes = 
                {
                    "email",
                    "username",
                },
                IdpPublicCert = @"MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQ...GF/Q2/MHadws97cZg
uTnQyuOqPuHbnN83d/2l1NSYKCbHt24o
",
                IssuerUrl = "jumpcloud",
                SignRequest = false,
                SsoTargetUrl = "https://sso.myexample.jumpcloud.com/saml2/cloudflareaccess",
            },
        },
        Name = "JumpCloud SAML",
        Type = "saml",
    });
}

}

AccessIdentityProviderArgs

AccessIdentityProviderState

AccessPolicy

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

AccessPolicyArgs

AccessPolicyState

AccessRule

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

AccessRuleArgs

AccessRuleState

AccessServiceToken

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

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var myApp = new Cloudflare.AccessServiceToken("myApp", new Cloudflare.AccessServiceTokenArgs
    {
        AccountId = "d41d8cd98f00b204e9800998ecf8427e",
        Name = "CI/CD app",
    });
}

}

AccessServiceTokenArgs

AccessServiceTokenState

AccountMember

Provides a resource which manages Cloudflare account members.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var exampleUser = new Cloudflare.AccountMember("exampleUser", new Cloudflare.AccountMemberArgs
    {
        EmailAddress = "user@example.com",
        RoleIds = 
        {
            "68b329da9893e34099c7d8ad5cb9c940",
            "d784fa8b6d98d27699781bd9a7cf19f0",
        },
    });
}

}

AccountMemberArgs

AccountMemberState

Argo

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

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.Argo("example", new Cloudflare.ArgoArgs
    {
        SmartRouting = "on",
        TieredCaching = "on",
        ZoneId = "d41d8cd98f00b204e9800998ecf8427e",
    });
}

}

ArgoArgs

ArgoState

ByoIpPrefix

Provides the ability to manage Bring-Your-Own-IP prefixes (BYOIP) which are used with or without Magic Transit.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.ByoIpPrefix("example", new Cloudflare.ByoIpPrefixArgs
    {
        Advertisement = "on",
        Description = "Example IP Prefix",
        PrefixId = "d41d8cd98f00b204e9800998ecf8427e",
    });
}

}

ByoIpPrefixArgs

ByoIpPrefixState

Config

CustomPages

Provides a resource which manages Cloudflare custom error pages.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var basicChallenge = new Cloudflare.CustomPages("basicChallenge", new Cloudflare.CustomPagesArgs
    {
        State = "customized",
        Type = "basic_challenge",
        Url = "https://example.com/challenge.html",
        ZoneId = "d41d8cd98f00b204e9800998ecf8427e",
    });
}

}

CustomPagesArgs

CustomPagesState

CustomSsl

Provides a Cloudflare custom ssl resource.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var config = new Config();
    var cloudflareZoneId = config.Get("cloudflareZoneId") ?? "1d5fdc9e88c8a8c4518b068cd94331fe";
    // Add a custom ssl certificate to the domain
    var foossl = new Cloudflare.CustomSsl("foossl", new Cloudflare.CustomSslArgs
    {
        CustomSslOptions = new Cloudflare.Inputs.CustomSslCustomSslOptionsArgs
        {
            Bundle_method = "ubiquitous",
            Certificate = "-----INSERT CERTIFICATE-----",
            Geo_restrictions = "us",
            Private_key = "-----INSERT PRIVATE KEY-----",
            Type = "legacy_custom",
        },
        ZoneId = cloudflareZoneId,
    });
}

}

CustomSslArgs

CustomSslState

Filter

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

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var wordpress = new Cloudflare.Filter("wordpress", new Cloudflare.FilterArgs
    {
        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",
    });
}

}

FilterArgs

FilterState

FirewallRule

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

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

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var wordpressFilter = new Cloudflare.Filter("wordpressFilter", new Cloudflare.FilterArgs
    {
        ZoneId = "d41d8cd98f00b204e9800998ecf8427e",
        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",
    });
    var wordpressFirewallRule = new Cloudflare.FirewallRule("wordpressFirewallRule", new Cloudflare.FirewallRuleArgs
    {
        ZoneId = "d41d8cd98f00b204e9800998ecf8427e",
        Description = "Block wordpress break-in attempts",
        FilterId = wordpressFilter.Id,
        Action = "block",
    });
}

}

FirewallRuleArgs

FirewallRuleState

GetIpRanges

GetIpRangesResult

GetWafGroups

GetWafGroupsArgs

GetWafGroupsResult

GetWafPackages

GetWafPackagesArgs

GetWafPackagesResult

GetWafRules

GetWafRulesArgs

GetWafRulesResult

GetZones

GetZonesArgs

GetZonesResult

Healthcheck

Standalone Health Checks provide a way to monitor origin servers without needing a Cloudflare Load Balancer.

Example Usage

TCP Monitor

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var tcpHealthCheck = new Cloudflare.Healthcheck("tcpHealthCheck", new Cloudflare.HealthcheckArgs
    {
        ZoneId = @var.Cloudflare_zone_id,
        Name = "tcp-health-check",
        Description = "example tcp health check",
        Address = "example.com",
        Suspended = false,
        CheckRegions = 
        {
            "WEU",
            "EEU",
        },
        NotificationSuspended = false,
        NotificationEmailAddresses = 
        {
            "hostmaster@example.com",
        },
        Type = "TCP",
        Port = "22",
        Method = "connection_established",
        Timeout = 10,
        Retries = 2,
        Interval = 60,
        ConsecutiveFails = 3,
        ConsecutiveSuccesses = 2,
    });
}

}

HealthcheckArgs

HealthcheckState

LoadBalancer

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 Cloudflare account before you can use this resource.

LoadBalancerArgs

LoadBalancerMonitor

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var httpMonitor = new Cloudflare.LoadBalancerMonitor("httpMonitor", new Cloudflare.LoadBalancerMonitorArgs
    {
        AllowInsecure = false,
        Description = "example http load balancer",
        ExpectedBody = "alive",
        ExpectedCodes = "2xx",
        FollowRedirects = true,
        Headers = 
        {
            new Cloudflare.Inputs.LoadBalancerMonitorHeaderArgs
            {
                Header = "Host",
                Values = 
                {
                    "example.com",
                },
            },
        },
        Interval = 60,
        Method = "GET",
        Path = "/health",
        Retries = 5,
        Timeout = 7,
        Type = "http",
    });
}

}

TCP Monitor

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var tcpMonitor = new Cloudflare.LoadBalancerMonitor("tcpMonitor", new Cloudflare.LoadBalancerMonitorArgs
    {
        Description = "example tcp load balancer",
        Interval = 60,
        Method = "connection_established",
        Retries = 5,
        Timeout = 7,
        Type = "tcp",
    });
}

}

LoadBalancerMonitorArgs

LoadBalancerMonitorState

LoadBalancerPool

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 Cloudflare account before you can use this resource.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var foo = new Cloudflare.LoadBalancerPool("foo", new Cloudflare.LoadBalancerPoolArgs
    {
        Description = "example load balancer pool",
        Enabled = false,
        MinimumOrigins = 1,
        Name = "example-pool",
        NotificationEmail = "someone@example.com",
        Origins = 
        {
            new Cloudflare.Inputs.LoadBalancerPoolOriginArgs
            {
                Address = "192.0.2.1",
                Enabled = false,
                Name = "example-1",
            },
            new Cloudflare.Inputs.LoadBalancerPoolOriginArgs
            {
                Address = "192.0.2.2",
                Name = "example-2",
            },
        },
    });
}

}

LoadBalancerPoolArgs

LoadBalancerPoolState

LoadBalancerState

LogpullRetention

Allows management of the Logpull Retention settings used to control whether or not to retain HTTP request logs.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.LogpullRetention("example", new Cloudflare.LogpullRetentionArgs
    {
        Enabled = "true",
        ZoneId = "fb54f084ca7f7b732d3d3ecbd8ef7bf2",
    });
}

}

LogpullRetentionArgs

LogpullRetentionState

LogpushJob

LogpushJobArgs

LogpushJobState

OriginCaCertificate

Provides a Cloudflare Origin CA certificate used to protect traffic to your origin without involving a third party Certificate Authority.

This resource requires you use your Origin CA Key as the api_user_service_key.

OriginCaCertificateArgs

OriginCaCertificateState

PageRule

Provides a Cloudflare page rule resource.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    // Add a page rule to the domain
    var foobar = new Cloudflare.PageRule("foobar", new Cloudflare.PageRuleArgs
    {
        ZoneId = @var.Cloudflare_zone_id,
        Target = $"sub.{@var.Cloudflare_zone}/page",
        Priority = 1,
        Actions = new Cloudflare.Inputs.PageRuleActionsArgs
        {
            Ssl = "flexible",
            EmailObfuscation = "on",
            Minify = 
            {

                {
                    { "html", "off" },
                    { "css", "on" },
                    { "js", "on" },
                },
            },
        },
    });
}

}

PageRuleArgs

PageRuleState

Provider

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.

ProviderArgs

RateLimit

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

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.RateLimit("example", new Cloudflare.RateLimitArgs
    {
        ZoneId = @var.Cloudflare_zone_id,
        Threshold = 2000,
        Period = 2,
        Match = new Cloudflare.Inputs.RateLimitMatchArgs
        {
            Request = new Cloudflare.Inputs.RateLimitMatchRequestArgs
            {
                UrlPattern = $"{@var.Cloudflare_zone}/*",
                Schemes = 
                {
                    "HTTP",
                    "HTTPS",
                },
                Methods = 
                {
                    "GET",
                    "POST",
                    "PUT",
                    "DELETE",
                    "PATCH",
                    "HEAD",
                },
            },
            Response = new Cloudflare.Inputs.RateLimitMatchResponseArgs
            {
                Statuses = 
                {
                    200,
                    201,
                    202,
                    301,
                    429,
                },
                OriginTraffic = false,
            },
        },
        Action = new Cloudflare.Inputs.RateLimitActionArgs
        {
            Mode = "simulate",
            Timeout = 43200,
            Response = new Cloudflare.Inputs.RateLimitActionResponseArgs
            {
                ContentType = "text/plain",
                Body = "custom response body",
            },
        },
        Correlate = new Cloudflare.Inputs.RateLimitCorrelateArgs
        {
            By = "nat",
        },
        Disabled = false,
        Description = "example rate limit for a zone",
        BypassUrlPatterns = 
        {
            $"{@var.Cloudflare_zone}/bypass1",
            $"{@var.Cloudflare_zone}/bypass2",
        },
    });
}

}

RateLimitArgs

RateLimitState

Record

RecordArgs

RecordState

SpectrumApplication

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    // Define a spectrum application proxies ssh traffic
    var sshProxy = new Cloudflare.SpectrumApplication("sshProxy", new Cloudflare.SpectrumApplicationArgs
    {
        ZoneId = @var.Cloudflare_zone_id,
        Protocol = "tcp/22",
        TrafficType = "direct",
        Dns = new Cloudflare.Inputs.SpectrumApplicationDnsArgs
        {
            Type = "CNAME",
            Name = "ssh.example.com",
        },
        OriginDirects = 
        {
            "tcp://109.151.40.129:22",
        },
    });
}

}

SpectrumApplicationArgs

SpectrumApplicationState

WafGroup

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var honeyPot = new Cloudflare.WafGroup("honeyPot", new Cloudflare.WafGroupArgs
    {
        GroupId = "de677e5818985db1285d0e80225f06e5",
        Mode = "on",
        ZoneId = "ae36f999674d196762efcc5abb06b345",
    });
}

}

WafGroupArgs

WafGroupState

WafPackage

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var owasp = new Cloudflare.WafPackage("owasp", new Cloudflare.WafPackageArgs
    {
        ActionMode = "simulate",
        PackageId = "a25a9a7e9c00afc1fb2e0245519d725b",
        Sensitivity = "medium",
        ZoneId = "ae36f999674d196762efcc5abb06b345",
    });
}

}

WafPackageArgs

WafPackageState

WafRule

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var _00000 = new Cloudflare.WafRule("100000", new Cloudflare.WafRuleArgs
    {
        Mode = "simulate",
        RuleId = "100000",
        ZoneId = "ae36f999674d196762efcc5abb06b345",
    });
}

}

WafRuleArgs

WafRuleState

WorkerRoute

Provides a Cloudflare worker route resource. A route will also require a cloudflare..WorkerScript. NOTE: This resource uses the Cloudflare account APIs. This requires setting the CLOUDFLARE_ACCOUNT_ID environment variable or account_id provider argument.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var myScript = new Cloudflare.WorkerScript("myScript", new Cloudflare.WorkerScriptArgs
    {
    });
    // see "cloudflare..WorkerScript" documentation ...
    // Runs the specified worker script for all URLs that match `example.com/*`
    var myRoute = new Cloudflare.WorkerRoute("myRoute", new Cloudflare.WorkerRouteArgs
    {
        ZoneId = "d41d8cd98f00b204e9800998ecf8427e",
        Pattern = "example.com/*",
        ScriptName = myScript.Name,
    });
}

}

WorkerRouteArgs

WorkerRouteState

WorkerScript

Provides a Cloudflare worker script resource. In order for a script to be active, you'll also need to setup a cloudflare..WorkerRoute. NOTE: This resource uses the Cloudflare account APIs. This requires setting the CLOUDFLARE_ACCOUNT_ID environment variable or account_id provider argument.

WorkerScriptArgs

WorkerScriptState

WorkersKv

Provides a Workers KV Pair. NOTE: This resource uses the Cloudflare account APIs. This requires setting the CLOUDFLARE_ACCOUNT_ID environment variable or account_id provider argument.

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var exampleNs = new Cloudflare.WorkersKvNamespace("exampleNs", new Cloudflare.WorkersKvNamespaceArgs
    {
        Title = "test-namespace",
    });
    var example = new Cloudflare.WorkersKv("example", new Cloudflare.WorkersKvArgs
    {
        NamespaceId = exampleNs.Id,
        Key = "test-key",
        Value = "test value",
    });
}

}

WorkersKvArgs

WorkersKvNamespace

Provides a Workers KV Namespace

Example Usage

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.WorkersKvNamespace("example", new Cloudflare.WorkersKvNamespaceArgs
    {
        Title = "test-namespace",
    });
}

}

WorkersKvNamespaceArgs

WorkersKvNamespaceState

WorkersKvState

Zone

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var example = new Cloudflare.Zone("example", new Cloudflare.ZoneArgs
    {
        Zone = "example.com",
    });
}

}

ZoneArgs

ZoneLockdown

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    // Restrict access to these endpoints to requests from a known IP address.
    var endpointLockdown = new Cloudflare.ZoneLockdown("endpointLockdown", new Cloudflare.ZoneLockdownArgs
    {
        Configurations = 
        {
            new Cloudflare.Inputs.ZoneLockdownConfigurationArgs
            {
                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",
    });
}

}

ZoneLockdownArgs

ZoneLockdownState

ZoneSettingsOverride

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
public MyStack()
{
    var test = new Cloudflare.ZoneSettingsOverride("test", new Cloudflare.ZoneSettingsOverrideArgs
    {
        ZoneId = @var.Cloudflare_zone_id,
        Settings = new Cloudflare.Inputs.ZoneSettingsOverrideSettingsArgs
        {
            Brotli = "on",
            ChallengeTtl = 2700,
            SecurityLevel = "high",
            OpportunisticEncryption = "on",
            AutomaticHttpsRewrites = "on",
            Mirage = "on",
            Waf = "on",
            Minify = new Cloudflare.Inputs.ZoneSettingsOverrideSettingsMinifyArgs
            {
                Css = "on",
                Js = "off",
                Html = "off",
            },
            Security_header = 
            {
                { "enabled", true },
            },
        },
    });
}

}

ZoneSettingsOverrideArgs

ZoneSettingsOverrideState

ZoneState

Back to top Copyright 2016-2020, Pulumi Corporation.