Python client for the Cloudflare v4 API
Project description
cloudflare-api
Python client for Cloudflare API v4
Usage
Python Package
pip install cloudflare-api
Sample code can be found inside /test.py
Source Code
git clone https://github.com/nikhiljohn10/cloudflare-api
cd cloudflare-api
Instructions to get new API Token
- Go to Dashboard
- Create Token
- Use
Edit Cloudflare Workerstemplate - Select one account from Account Resources
- Select
All Zonesor specific zones under Zone Resources - Continue to summary
- Create Token
- Copy the token and save it somewhere secret & secure.
Create a secret.py in the root directory with following content and replace API_TOKEN with the token obtained from Cloudflare Dashboard:
API_TOKEN = "API_TOKEN"
Then run the following command in terminal:
make test
Note: The
secret.pyfile is ignored by git
Example
For this example, poetry is used for easy setup.
python3 -m pip install poetry
poetry new cloudflare-app
cd cloudflare-app
poetry add cloudflare-api
Copy the code below in to a new file ./cloudflare-app/__main__.py.
#!/usr/bin/env python3
from CloudflareAPI import Cloudflare, jsonPrint
def main():
cf = Cloudflare(token="API_TOKEN")
print(cf.worker.list())
print(cf.store.list())
Now replace API_TOKEN values with values obtained from Cloudflare dashboard. You can now run the program using following command:
poetry run python cloudflare-app
Default Permissions
1. Account
- Workers Tail ( Read )
- Workers KV Storage ( Edit )
- Workers Scripts ( Edit )
- Account Settings ( Read )
2. Zones
- Workers Routes ( Edit )
3. Users
- User Details ( Read )
Available endpoints
Account
list- List all accounts where given token have accessget_id- Return account id if only one account exists. Otherwise display all accounts availabe and exit.details- Display details of an accountrename* - Rename an existing account
Worker
-
list- List all existing workers -
upload- Upload a new worker with binding if given -
download- Download an existing worker -
deploy- Deploy an existing worker using the subdomain -
undeploy- Undeploy an existing worker -
delete- Delete an existing workerSubdomain
create- Create a new subdomain if none existsget- Get the current subdomain from cloudflare account
Store(Workers KV)
list- List all existing Namespacesget_id- Find the namespace id of the namespacecreate- Create a new namespacerename- Rename an existing namespacedelete- Delete an existing namespace
( * : Not accessable with default Worker Token )
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudflare-api-1.2.3.tar.gz.
File metadata
- Download URL: cloudflare-api-1.2.3.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2cabd205957cce4c473fdb918d464283497e46dc02ab863bf555cc463d713eb
|
|
| MD5 |
0d05132cc57ff4cc2706ab3c7692eaf1
|
|
| BLAKE2b-256 |
45674dc7979857d4a331e297787b7473ccc726343697574283cfd4c3d77f0db2
|
File details
Details for the file cloudflare_api-1.2.3-py3-none-any.whl.
File metadata
- Download URL: cloudflare_api-1.2.3-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86978422f1beebcbca19fe3a683dc2bcb9ded2ed913645a67a016ed0344c9aa5
|
|
| MD5 |
5fac932fb7ac59c29680a34a89b03859
|
|
| BLAKE2b-256 |
e7030929bcdda3aa377f692f772d75e81ea99164e530bc3818ff5577fce67000
|