cli4 - Man Page
Command line access to Cloudflare v4 API
Synopsis
cli4 [-V|--version] [-h|--help] [-v|--verbose] [-e|--examples] [-q|--quiet] [-j|--json] [-y|--yaml] [-n|--ndjson] [-r|--raw] [ir|--image] [-d|--dump] [-b|--binary] [-A openapi-url|--openapi openapi-url] [-p profile-name|--profile profile-name] [item=value ...] [=value ...] [item=@filename ...] [=@filename ...] [-G|--get] [-P|--patch] [-O|--post] [-U|--put] [-D|--delete] /command...
Description
cli4 provides command line access to Cloudflare v4 API
Options
- [-V, --version]
Display program version number and exit.
- [-h, --help]
This information (in a terse form).
- [-v, --verbose]
Provide some protcol debugging information.
- [-e, --example]
Show the path to the examples folder/directory.
- [-q, --quiet]
Don't output any JSON/YAML responses.
- [-j, --json]
Output response data in JSON format (the default).
- [-y, --yaml]
Output response data in YAML format (if yaml package installed).
- [-n, --ndjson]
Output response data in NDJSON format (if jsonlines package installed).
- [-r, --raw]
Output JSON results in raw mode without splitting out the errors and results.
- [-i, --image]
Output results as binary (i.e. it's an image). This isn't normally needed as the API returns a Content-Type to indicate an image is being returned. This option can be used to allow the API output to be output without any processing (i.e. JSON formatted).
- [-d, --dump]
Output a list of all API calls included in the code.
- [-b, --binary]
Open files in binary mode.
- [-A openapi-url, --openapi openapi-url]
Decode Cloudflare's OpenAPI spec and output all the known commands.
- [-p profile-name, --profile profile-name]
Select a profile-name from the configuration file (hence select custom email/token values).
- --get
Send HTTP request as a GET (the default).
- --patch
Send HTTP request as a PATCH.
- --post
Send HTTP request as a POST.
- --put
Send HTTP request as a PUT.
- --delete
Send HTTP request as a DELETE.
- item=value
Set a paramater or data value to send with a GET, PATCH, POST, PUT or DELETE command. The value is sent as a string.
- item:=value
Set a paramater or data value to send with a GET, PATCH, POST, PUT or DELETE command. The value is sent as an interger.
- item=@filename
Set a paramater or data value to send with a POST or PUT command. The value is based on the content of the file.
- /command ...
The API command(s) to execute.
Command(s)
The command string uses slash (/) to seperate the verbs in the same way that the Cloudflare v4 API documentation does. Any verb starting with colon (:) is either converted to zone_id, user_id, organtization_id, or otherwise. Any verb starting with coloe (:) and followed by 32 hex chracters is passed thru raw. Any verb starting with two colons (::) is passed thru raw.
Results
The output is either JSON or YAML formatted.
Examples
cli4 /zones List infomation for all zones.
cli4 /zones/:example.com List specific zone info.
cli4 /zones/:example.com/settings List settings for a specific zone.
cli4 --delete purge_everything=true /zones/:example.com/purge_cache Purge cache for a specific zone.
cli4 --delete files='[http://example.com/css/styles.css]' /zones/:example.com/purge_cache Purge cache for a specific zone.
cli4 --delete files='[http://example.com/css/styles.css,http://example.com/js/script.js] /zones/:example.com/purge_cache Purge cache for a specific zone.
cli4 --delete tags='[tag1,tag2,tag3]' /zones/:example.com/purge_cache Purge cache for a specific zone.
cli4 /zones/:example.com/available_plans List available plans for a zone.
cli4 --patch status=active /zones/:example.com/dnssec Make DNSSEC active for specfic zone.
cli4 /zones/:example.com/dnssec List DNSSEC infomation and status for a specific zone.
See Also
The Cloudflare API can be found https://api.cloudflare.com/. Each API call is provided via a similarly named function within the Cloudflare class.