How cloudflare/terraform-provider-cloudflare works
This is a Terraform provider that exposes Cloudflare REST API capabilities as Terraform resources and data sources. The principal workflow is Terraform configuration reaching the provider plugin, which registers service implementations that manage Cloudflare objects and return state to Terraform. The tree shows broad service coverage, including account, security, AI, certificate, and connectivity features. The sampled provider code confirms provider construction and resource registration; README documentation establishes the REST API role. Individual service request wiring was not sampled, so service-to-API links reflect the documented product contract, not inspected call sites.
Main entry points: provider.go Provider setup · main.go Plugin entry · account/resource.go Account resources · access_rule/resource.go Access rules
Components 17
Provider runtime
- Plugin entry
main.go - Provider setup
internal/provider.go
Account security
- Account resources
internal/services/account/resource.go - Access rules
internal/services/access_rule/resource.go - Access groups
internal/services/zero_trust_access_group/data_source_model.go - API Shield
internal/services/api_shield/resource.go - Content scanning
internal/services/content_scanning/resource.go
Platform services
- Certificates
internal/services/certificate_pack/resource.go - Connectivity directory
internal/services/connectivity_directory_service/resource.go - AI Gateway
internal/services/ai_gateway/resource.go - AI Search
internal/services/ai_search_instance/resource.go - Worker validation
internal/services/workers_script/run_worker_first_validator.go
Internal representation
- API JSON codec
internal/apijson/decoder.go - Custom JSON codec
internal/apijsoncustom/decoder.go - Terraform custom fields
internal/customfield/dynamic.go
Other components
- Terraform CLI
- Cloudflare REST API
Connections 17
- Terraform CLI → Plugin entry: starts plugin
- Plugin entry → Provider setup: constructs provider
- Provider setup → Account resources: registers resources
- Provider setup → Access rules: registers resources
- Provider setup → API Shield: registers resources
- Provider setup → Content scanning: registers resources
- Provider setup → AI Gateway: registers resources
- Provider setup → AI Search: registers resources
- Account resources → Cloudflare REST API: manages API objects
- Access rules → Cloudflare REST API: manages API objects
- API Shield → Cloudflare REST API: manages API objects
- Content scanning → Cloudflare REST API: manages API objects
- Certificates → Cloudflare REST API: manages API objects
- Connectivity directory → Cloudflare REST API: manages API objects
- AI Gateway → Cloudflare REST API: manages API objects
- AI Search → Cloudflare REST API: manages API objects
- Access groups → Terraform custom fields: models fields