python-cloudflare

repository·master·Indexed 20 days ago

https://github.com/cloudflare/python-cloudflare

A Python client for interacting with the Cloudflare API. This repository is archived and superseded by cloudflare-python; however, it remains the source for version v2.19.* and below. The library provides a CloudFlare module to manage user and account resources, zones, DNS records, security settings, firewall rules, cache, Workers, KV storage, R2, D1 databases, and other Cloudflare services.

Tokens
10.8K
Snippets
20
Records
30
Agent score
22%

What's inside python-cloudflare

  1. Quickstart with python-cloudflare

    master

    To get started with python-cloudflare, import the CloudFlare module and instantiate the cloudflare() class. This object serves as the primary entry point for interacting with the Cloudflare API. You can then call various methods to retrieve data, such as ips() to get Cloudflare's IP ranges.

    import CloudFlare
    cf = CloudFlare.cloudflare()
    
    # Example: Get Cloudflare IP ranges
    ips = cf.ips()
    print(ips)
  2. Migrate to the new cloudflare-python repository

    master

    This repository is archived and is no longer the source of the cloudflare Python library. For the most up-to-date version of the library, use the new repository at https://github.com/cloudflare/cloudflare-python.

    If you specifically require version v2.19.* or below, you can access the documentation and code tree for those versions here. Note that v2 will not receive further updates.

  3. Reference: Cloudflare API Logpush endpoints

    master

    Endpoints for managing Logpush datasets and jobs. This includes validating ownership and destinations for log delivery.

    | Method | Endpoint |
    | :--- | :--- |
    | `GET` | `/accounts/:id/logpush/datasets/:id/fields` |
    | `GET` | `/accounts/:id/logpush/datasets/:id/jobs` |
    | `GET` | `/accounts/:id/logpush/jobs` |
    | `POST` | `/accounts/:id/logpush/jobs` |
    | `PUT` | `/accounts/:id/logpush/jobs` |
    | `DELETE` | `/accounts/:id/logpush/jobs` |
    | `POST` | `/accounts/:id/logpush/ownership` |
    | `POST` | `/accounts/:id/logpush/ownership/validate` |
    | `POST` | `/accounts/:id/logpush/validate/destination/exists` |
    | `POST` | `/accounts/:id/logpush/validate/origin` |
  4. Manage Web3 Hostnames and IPFS Content

    master

    Endpoints for Web3 hostname and IPFS content management:

    • GET /zones/:id/web3/hostnames (List hostnames)
    • POST /zones/:id/web3/hostnames (Create hostname)
    • PUT /zones/:id/web3/hostnames (Update hostname)
    • PATCH /zones/:id/web3/hostnames (Partial update)
    • DELETE /zones/:id/web3/hostnames (Delete hostname)
    • GET /zones/:id/web3/hostnames/:id/ipfs_universal_path/content_list
    • PUT /zones/:id/web3/hostnames/:id/ipfs_universal_path/content_list
    • POST /zones/:id/web3/hostnames/:id/ipfs_universal_path/content_list/entries
    • PUT /zones/:id/web3/hostnames/:id/ipfs_universal_path/content_list/entries
    • DELETE /zones/:id/web3/hostnames/:id/ipfs_universal_path/content_list/entries
  5. Reference Cloudflare D1 Database API endpoints

    master

    The following endpoints allow you to manage D1 databases and execute queries within a Cloudflare account.

    |`GET`   |`PUT`   |`POST`  |`PATCH` |`DELETE`|
    |--------|--------|--------|--------|:-------|
    |`GET`   |`POST`  |-       |-       |`DELETE`| /accounts/:id/d1/database |
    |-       |`POST`  |-       |-       |-       | /accounts/:id/d1/database/:id/query |
  6. Manage User and Account Resources

    master

    The Cloudflare API provides several endpoints for managing user-level resources, including audit logs, firewall access rules, load balancers, and authentication tokens.

    Key resource groups include:

    • User Profile & Logs: Manage user details (/user) and view audit logs (/user/audit_logs).
    • Access Rules: Manage firewall access rules for the user (/user/firewall/access_rules/rules).
    • Load Balancing: Manage monitors (/user/load_balancers/monitors) and pools (/user/load_balancers/pools).
    • Tokens: Create, list, and verify API tokens (/user/tokens).
    |`GET`   |-       |-       |`PATCH` |-       | /user |
    |`GET`   |-       |-       |-       |-       | /user/audit_logs |
    |`GET`   |-       |-       |`PATCH` |-       | /user/firewall/access_rules/rules |
    |`GET`   |-       |-       |-       |-       | /user/invites |
    |`GET`   |-       |-       |`PUT`   |`PATCH` |`DELETE`| /user/load_balancers/pools |
    |`GET`   |-       |-       |-       |-       | /user/tokens/verify |
  7. Reference Cloudflare Addressing API endpoints

    master

    The following endpoints are used to manage Cloudflare Addressing resources, including address maps, LOA documents, prefixes, and services within an account.

    |`GET`   |`PUT`   |`POST`  |`PATCH` |`DELETE`|
    |--------|--------|--------|--------|:-------|
    |`GET`   |`POST`  |-       |`PATCH` |`DELETE`| /accounts/:id/addressing/address_maps |
    |-       |-       |`PUT`   |-       |`DELETE`| /accounts/:id/addressing/address_maps/:id/accounts |
    |-       |-       |`PUT`   |-       |`DELETE`| /accounts/:id/addressing/address_maps/:id/ips |
    |-       |-       |`PUT`   |-       |`DELETE`| /accounts/:id/addressing/address_maps/:id/zones |
    |-       |`POST`  |-       |-       |-       | /accounts/:id/addressing/loa_documents |
    |`GET`   |-       |-       |-       |-       | /accounts/:id/addressing/loa_documents/:id/download |
    |`GET`   |`POST`  |-       |`PATCH` |`DELETE`| /accounts/:id/addressing/prefixes |
    |`GET`   |-       |-       |`PATCH` |-       | /accounts/:id/addressing/prefixes/:id/bgp/prefixes |
    |`GET`   |-       |-       |`PATCH` |-       | /accounts/:id/addressing/prefixes/:id/bgp/status |
    |`GET`   |`POST`  |-       |-       |`DELETE`| /accounts/:id/addressing/prefixes/:id/bindings |
    |`GET`   |`POST`  |-       |-       |`DELETE`| /accounts/:id/addressing/prefixes/:id/delegations |
    |`GET`   |-       |-       |-       |-       | /accounts/:id/addressing/services |
  8. Configure Zone Security and Firewall Rules

    master

    Cloudflare provides granular control over security via firewall rules, WAF overrides, and Access policies.

    Key security endpoints:

    • Firewall Rules: Manage firewall rules (/zones/:id/firewall/rules), lockdowns (/zones/:id/firewall/lockdowns), and User-Agent rules (/zones/:id/firewall/ua_rules).
    • WAF (Web Application Firewall): Manage WAF package overrides (/zones/:id/firewall/waf/overrides) and WAF package rules (/zones/:id/firewall/waf/packages/:id/rules).
    • Access: Manage Access apps (/zones/:id/access/apps), certificates (/zones/:id/access/certificates), and identity providers (/zones/:id/access/identity_providers).
    |`GET`   |`POST`  |`PUT`   |`PATCH` |`DELETE`| /zones/:id/firewall/rules |
    |`GET`   |`POST`  |`PUT`   |`PATCH` |`DELETE`| /zones/:id/firewall/waf/overrides |
    |`GET`   |`POST`  |`PUT`   |`PATCH` |`DELETE`| /zones/:id/access/groups |
    |`GET`   |`POST`  |`PUT`   |-       |`DELETE`| /zones/:id/access/identity_providers |
  9. Reference: Cloudflare API Rulesets endpoints

    master

    Endpoints for managing Cloudflare Rulesets, including rules within a ruleset and versioning.

    | Method | Endpoint |
    | :--- | :--- |
    | `GET` | `/accounts/:id/rulesets` |
    | `POST` | `/accounts/:id/rulesets` |
    | `PUT` | `/accounts/:id/rulesets` |
    | `DELETE` | `/accounts/:id/rulesets` |
    | `POST` | `/accounts/:id/rulesets/:id/rules` |
    | `PATCH` | `/accounts/:id/rulesets/:id/rules` |
    | `DELETE` | `/accounts/:id/rulesets/:id/rules` |
    | `GET` | `/accounts/:id/rulesets/:id/versions` |
    | `DELETE` | `/accounts/:id/rulesets/:id/versions` |
    | `GET` | `/accounts/:id/rulesets/:id/versions/:id/by_tag` |
    | `GET` | `/accounts/:id/rulesets/phases/:id/entrypoint` |
    | `GET` | `/accounts/:id/rulesets/phases/:id/entrypoint/versions` |
  10. Reference: Cloudflare API Workers endpoints

    master

    Endpoints for managing Cloudflare Workers, including deployments, scripts, settings, and Durable Objects.

    | Method | Endpoint |
    | :--- | :--- |
    | `GET` | `/accounts/:id/workers/account-settings` |
    | `PUT` | `/accounts/:id/workers/account-settings` |
    | `GET` | `/accounts/:id/workers/deployments/by-script` |
    | `GET` | `/accounts/:id/workers/deployments/by-script/:id/detail` |
    | `GET` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts` |
    | `GET` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts/:id/content` |
    | `GET` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts/:id/settings` |
    | `PATCH` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts/:id/settings` |
    | `PUT` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts/:id/settings` |
    | `DELETE` | `/accounts/:id/workers/dispatch/namespaces/:id/scripts/:id/settings` |
    | `GET` | `/accounts/:id/workers/domains` |
    | `GET` | `/accounts/:id/workers/durable_objects/namespaces` |
    | `GET` | `/accounts/:id/workers/durable_objects/namespaces/:id/objects` |
    | `GET` | `/accounts/:id/workers/queues` |
    | `POST` | `/accounts/:id/workers/queues` |
    | `PUT` | `/accounts/:id/workers/queues` |
    | `DELETE` | `/accounts/:id/workers/queues` |
    | `GET` | `/accounts/:id/workers/queues/:id/consumers` |
    | `GET` | `/accounts/:id/workers/queues/:id/consumers` |
    | `POST` | `/accounts/:id/workers/queues/:id/consumers` |
    | `PUT` | `/accounts/:id/workers/queues/:id/consumers` |
    | `DELETE` | `/accounts/:id/workers/queues/:id/consumers` |
    | `GET` | `/accounts/:id/workers/scripts` |
    | `PUT` | `/accounts/:id/workers/scripts` |
    | `DELETE` | `/accounts/:id/workers/scripts` |
    | `PUT` | `/accounts/:id/workers/scripts/:id/content` |
    | `DELETE` | `/accounts/:id/workers/scripts/:id/content` |
    | `GET` | `/accounts/:id/workers/scripts/:id/content/v2` |
    | `GET` | `/accounts/:id/workers/scripts/:id/schedules` |
    | `PUT` | `/accounts/:id/workers/scripts/:id/schedules` |
    | `GET` | `/accounts/:id/workers/scripts/:id/settings` |
    | `PATCH` | `/accounts/:id/workers/scripts/:id/settings` |
    | `PUT` | `/accounts/:id/workers/scripts/:id/settings` |
    | `DELETE` | `/accounts/:id/workers/scripts/:id/settings` |
    | `GET` | `/accounts/:id/workers/scripts/:id/tails` |
    | `POST` | `/accounts/:id/workers/scripts/:id/tails` |
    | `DELETE` | `/accounts/:id/workers/scripts/:id/tails` |
    | `GET` | `/accounts/:id/workers/scripts/:id/usage-model` |
    | `PUT` | `/accounts/:id/workers/scripts/:id/usage-model` |
    | `GET` | `/accounts/:id/workers/services/:id/environments/:id/content` |
    | `GET` | `/accounts/:id/workers/services/:id/environments/:id/settings` |
    | `PATCH` | `/accounts/:id/workers/services/:id/environments/:id/settings` |
    | `PUT` | `/accounts/:id/workers/services/:id/environments/:id/settings` |
    | `GET` | `/accounts/:id/workers/subdomain` |
    | `GET` | `/accounts/:id/workers/subdomain` |
    | `POST` | `/accounts/:id/workers/subdomain` |
    | `PATCH` | `/accounts/:id/workers/subdomain` |
    | `DELETE` | `/accounts/:id/workers/subdomain` |
  11. Manage Cloudflare Snippets

    master

    Snippets can be managed using the following operations:

    • GET /zones/:id/snippets (List snippets)
    • PUT /zones/:id/snippets (Create snippet)
    • DELETE /zones/:id/snippets (Delete snippet)
    • GET /zones/:id/snippets/:id/content (Get snippet content)
    • GET /zones/:id/snippets/snippet_rules (List rules)
    • PUT /zones/:id/snippets/snippet_rules (Update rules)