1. Packages
  2. Packages
  3. Cloudflare Provider
Viewing docs for Cloudflare v6.19.0
published on Thursday, Aug 6, 2026 by Pulumi

Cloudflare Provider

cloudflare logo cloudflare logo
Viewing docs for Cloudflare v6.19.0
published on Thursday, Aug 6, 2026 by Pulumi

    Installation

    The Cloudflare provider is available as a package in all Pulumi languages:

    Overview

    The Cloudflare provider is used to interact with resources supported by Cloudflare. The provider needs to be configured with the proper credentials before it can be used.

    Example Usage

    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: nodejs
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudflare from "@pulumi/cloudflare";
    
    // Create a DNS record
    const www = new cloudflare.DnsRecord("www", {});
    
    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: python
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    import pulumi
    import pulumi_cloudflare as cloudflare
    
    # Create a DNS record
    www = cloudflare.DnsRecord("www")
    
    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: dotnet
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cloudflare = Pulumi.Cloudflare;
    
    return await Deployment.RunAsync(() =>
    {
        // Create a DNS record
        var www = new Cloudflare.DnsRecord("www");
    
    });
    
    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: go
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudflare/sdk/v6/go/cloudflare"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a DNS record
    		_, err := cloudflare.NewDnsRecord(ctx, "www", nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: yaml
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    resources:
      # Create a DNS record
      www:
        type: cloudflare:DnsRecord
    
    # Pulumi.yaml provider configuration file
    name: configuration-example
    runtime: java
    config:
        cloudflare:apiToken:
            value: 'TODO: var.cloudflare_api_token'
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudflare.DnsRecord;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Create a DNS record
            var www = new DnsRecord("www");
    
        }
    }
    
    pulumi {
      required_providers {
        cloudflare = {
          source = "pulumi/cloudflare"
        }
      }
    }
    
    # Create a DNS record
    resource "cloudflare_dnsrecord" "www" {
    }
    

    Configuration Reference

    • apiEmail (String) A registered Cloudflare email address. Alternatively, can be configured using the CLOUDFLARE_EMAIL environment variable. Required when using apiKey. Conflicts with apiToken.
    • apiKey (String, Sensitive) The API key for operations. Alternatively, can be configured using the CLOUDFLARE_API_KEY environment variable. API keys are now considered legacy by Cloudflare, API tokens should be used instead. Must provide only one of apiKey, apiToken, userServiceKey.
    • apiToken (String, Sensitive) The API Token for operations. Alternatively, can be configured using the CLOUDFLARE_API_TOKEN environment variable. Must provide only one of apiKey, apiToken, userServiceKey.
    • baseUrl (String) Set the base url that the provider connects to. Alternatively, can be configured using the CLOUDFLARE_BASE_URL environment variable.
    • userServiceKey (String, Sensitive) A special Cloudflare API key good for a restricted set of endpoints. Alternatively, can be configured using the CLOUDFLARE_API_USER_SERVICE_KEY environment variable. Must provide only one of apiKey, apiToken, userServiceKey.
    cloudflare logo cloudflare logo
    Viewing docs for Cloudflare v6.19.0
    published on Thursday, Aug 6, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial