PulumiCrossCloud.Cloudflare 0.1.1-alpha.20260703085317

This is a prerelease version of PulumiCrossCloud.Cloudflare.
dotnet add package PulumiCrossCloud.Cloudflare --version 0.1.1-alpha.20260703085317
                    
NuGet\Install-Package PulumiCrossCloud.Cloudflare -Version 0.1.1-alpha.20260703085317
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PulumiCrossCloud.Cloudflare" Version="0.1.1-alpha.20260703085317" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PulumiCrossCloud.Cloudflare" Version="0.1.1-alpha.20260703085317" />
                    
Directory.Packages.props
<PackageReference Include="PulumiCrossCloud.Cloudflare" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PulumiCrossCloud.Cloudflare --version 0.1.1-alpha.20260703085317
                    
#r "nuget: PulumiCrossCloud.Cloudflare, 0.1.1-alpha.20260703085317"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PulumiCrossCloud.Cloudflare@0.1.1-alpha.20260703085317
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PulumiCrossCloud.Cloudflare&version=0.1.1-alpha.20260703085317&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=PulumiCrossCloud.Cloudflare&version=0.1.1-alpha.20260703085317&prerelease
                    
Install as a Cake Tool

PulumiCrossCloud.Cloudflare

CloudFlare DNS zone and record management for PulumiCrossCloud.

Authentication Setup

The CloudFlare provider requires an API token to authenticate. You have several options:

export CLOUDFLARE_API_TOKEN="your-api-token"

Option 2: Pulumi Config

pulumi config set cloudflare:apiToken --secret
# Enter your token when prompted

Option 3: Custom Provider (Multi-Account)

For scenarios requiring multiple CloudFlare accounts or programmatic token management:

var customProvider = new Pulumi.Cloudflare.Provider("my-provider", new()
{
    ApiToken = "your-api-token"
});

var factory = new CloudflareCloudResourceFactory(customProvider);

Getting Your API Token

  1. Go to CloudFlare Dashboard → API Tokens
  2. Click Create Token
  3. Use the Edit zone DNS template, or create a custom token with:
    • Zone:DNS:Edit - Create/update/delete DNS records
    • Zone:Zone:Read - Look up existing zones
  4. Optionally restrict to specific zones for security
  5. Copy the generated token

Usage Examples

Looking Up Existing Zones (Most Common)

No account ID needed — the API token already has access to your zones:

// Uses CLOUDFLARE_API_TOKEN environment variable
var factory = new CloudflareCloudResourceFactory();

// Look up existing zone by domain name
var zone = factory.LookupDnsZone("my-zone", "example.com");

// Register DNS records
var records = apiApp.GetRequiredDnsRecords(["api.example.com"]);
zone.RegisterRecords(records, ttl: 300, proxied: true);

Creating a New Zone

Account ID is only required when creating new zones (find it in CloudFlare Dashboard → select a domain → right sidebar under API):

var factory = new CloudflareCloudResourceFactory(accountId: "your-account-id");
var zone = factory.CreateDnsZone("new-zone", "newdomain.com");

Multi-Account Setup

// Account A
var providerA = new Pulumi.Cloudflare.Provider("cf-account-a", new()
{
    ApiToken = accountAToken
});
var factoryA = new CloudflareCloudResourceFactory("account-a-id", providerA);

// Account B (lookup only, no account ID needed)
var providerB = new Pulumi.Cloudflare.Provider("cf-account-b", new()
{
    ApiToken = accountBToken
});
var factoryB = new CloudflareCloudResourceFactory(providerB);

CloudFlare-Specific Features

Proxied Records (Orange Cloud)

CloudFlare can proxy traffic through their CDN for A, AAAA, and CNAME records:

zone.RegisterRecord(record, ttl: 300, proxied: true);

When proxied: true:

  • Traffic routes through CloudFlare's CDN
  • DDoS protection is enabled
  • TTL is automatically set to "Auto" (1)
  • Only works for A, AAAA, and CNAME records

Supported Record Types

  • A, AAAA (IPv4/IPv6 addresses)
  • CNAME (aliases)
  • TXT (text records)
  • MX (mail exchange)
  • SRV (service records)
  • NS (nameserver)
  • CAA (certificate authority authorization)
  • PTR (pointer records)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on PulumiCrossCloud.Cloudflare:

Package Downloads
PulumiCrossCloud

Meta-package that installs the full PulumiCrossCloud package set.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1-alpha.20260703085317 63 7/3/2026
0.1.1-alpha.20260703084517 50 7/3/2026
0.1.0-alpha.alpha... 56 7/3/2026
0.1.0-alpha.alpha... 56 7/3/2026
0.1.0-alpha.20260703083554 58 7/3/2026