Registry / devops / pulumi-cloudflare

pulumi-cloudflare

JSON →
library6.17.0pypypi✓ verified 88d ago

A Pulumi package for managing Cloudflare resources. Currently at v6.14.0, requires Python >=3.9. Release cadence is irregular, roughly monthly.

pip install pulumi-cloudflare
INSTALL
IMPORT
SIG · PULUMI-CLOUDFLARE
P
pulumi-cloudflare
devopspythonv6.17.0
Install
9.2s avg
Import
11967ms
Disk
121MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v6.17.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 12.870s · 123.3MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 9.2s · import 11.064s · 109MB
121MB installed
● package 121MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

cloudflare
✓ import pulumi_cloudflare as cloudflare
✗ import cloudflare
cloudflare is the official SDK, not Pulumi's package
Record
✓ from pulumi_cloudflare import Record
✗ from cloudflare import Record
Pulumi resources are in the pulumi_cloudflare module
Zone
✓ from pulumi_cloudflare import Zone
✗ from cloudflare import Zone
Zone is a Pulumi resource, not the Cloudflare SDK

Create a Cloudflare zone and an A record.

import pulumi import pulumi_cloudflare as cloudflare zone = cloudflare.Zone( "example-zone", zone="example.com", plan="free", account_id=os.environ.get('CLOUDFLARE_ACCOUNT_ID', '') ) record = cloudflare.Record( "example-record", zone_id=zone.id, name="www", type="A", value="1.2.3.4", ttl=120, ) pulumi.export("zone_name", zone.zone)
pulumi --version
Debug
Known issues
breakingv6.11.0 introduced 36 breaking changes including required fields and missing outputs. Upgrade with caution.
fix
Review the changelog and adjust your Pulumi code accordingly.
affects: >=6.11.0
breakingv6.10.0 introduced 92 breaking changes including property removals and input requirement changes.
fix
Check your usage of affected resources like AddressMap, EmailRoutingDns, TeamsRule, ZeroTrustDexTest.
affects: >=6.10.0
gotchaDo not install the official 'cloudflare' SDK and try to use its classes in Pulumi resources. They are separate packages.
fix
Use pulumi_cloudflare for infrastructure, and cloudflare for API access only.
affects: all
deprecatedSome resources like 'cloudflare:index/apiShield:ApiShield' have had outputs removed in recent versions.
fix
Check resource documentation for any removed properties.
affects: >=6.11.0
Errors
Common errors & fixes
ImportError: cannot import name 'Record' from 'cloudflare'
Mistaking the official Cloudflare SDK for the Pulumi provider.
fix
Use 'from pulumi_cloudflare import Record' instead.
KeyError: 'zone_id'
Trying to access a property that doesn't exist on the resource yet (e.g., before applying).
fix
Ensure you use pulumi.Output and apply() correctly, e.g., record.zone_id.apply(lambda zid: ...)
pulumi.errors.ResourceConflictError: resource 'example-zone' already exists
Trying to create a zone with a name that already exists in your Cloudflare account.
fix
Use pulumi.import or change the resource name and zone attribute.
Upgrade
Version history
6.17.0latest on PyPI · released May 22, 2026
Audit
Dependencies
pulumirequiredRequired to run Pulumi programs
cloudflareoptionalOfficial Cloudflare Python SDK for non-Pulumi operations
Agent activity
17 hits · last 30 days
node
10
Resources
pulumi-cloudflare — pip install pulumi-cloudflare · libregistry