PulumiCrossCloud.Cloudflare
0.1.1-alpha.20260703085317
dotnet add package PulumiCrossCloud.Cloudflare --version 0.1.1-alpha.20260703085317
NuGet\Install-Package PulumiCrossCloud.Cloudflare -Version 0.1.1-alpha.20260703085317
<PackageReference Include="PulumiCrossCloud.Cloudflare" Version="0.1.1-alpha.20260703085317" />
<PackageVersion Include="PulumiCrossCloud.Cloudflare" Version="0.1.1-alpha.20260703085317" />
<PackageReference Include="PulumiCrossCloud.Cloudflare" />
paket add PulumiCrossCloud.Cloudflare --version 0.1.1-alpha.20260703085317
#r "nuget: PulumiCrossCloud.Cloudflare, 0.1.1-alpha.20260703085317"
#:package PulumiCrossCloud.Cloudflare@0.1.1-alpha.20260703085317
#addin nuget:?package=PulumiCrossCloud.Cloudflare&version=0.1.1-alpha.20260703085317&prerelease
#tool nuget:?package=PulumiCrossCloud.Cloudflare&version=0.1.1-alpha.20260703085317&prerelease
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:
Option 1: Environment Variable (Recommended)
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
- Go to CloudFlare Dashboard → API Tokens
- Click Create Token
- 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
- Optionally restrict to specific zones for security
- 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 | Versions 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. |
-
net10.0
- OpenTelemetry.Api (>= 1.16.0)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.16.0)
- Pulumi.Cloudflare (>= 6.17.0)
- PulumiCrossCloud.Core (>= 0.1.1-alpha.20260703085317)
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 |