1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#!/usr/bin/env python3
"""Cloudflare API code - example"""
import os
import sys
import json
sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('..'))
import CloudFlare
def main():
"""Cloudflare API code - example"""
cf = CloudFlare.CloudFlare()
try:
found_comands = cf.api_from_openapi()
except Exception as e:
exit('api_from_web: - %s - api call connection failed' % (e))
# {
# "action": "GET",
# "cmd": "/accounts",
# "deprecated": false,
# "deprecated_date": "",
# "deprecated_already": false
# }
# {
# "action": "DELETE",
# "cmd": "/accounts/:id/addressing/prefixes/:id/delegations",
# "deprecated": false,
# "deprecated_date": "",
# "deprecated_already": false,
# "content_type": "application/json"
# }
print('# cloudflare-python')
print('')
print('## Table of commands')
print('')
print('|`GET` |`PUT` |`POST` |`PATCH` |`DELETE`|API call|')
print('|--------|--------|--------|--------|--------|:-------|')
cmds = {}
for r in found_comands:
if r['deprecated'] or r['deprecated_already']:
continue
cmd = r['cmd']
action = r['action']
if cmd not in cmds:
cmds[cmd] = {}
cmds[cmd][action] = action
# This produces something like this ...
# GET - - PATCH - /zones/:zone_identifier/settings/always_online
# GET - PUT PATCH DELETE /zones/:zone_identifier/waiting_rooms/:waiting_room_id
for cmd in cmds.keys():
p = '|'
for method in ['GET', 'POST', 'PUT', 'PATCH', 'DELETE']:
if method in cmds[cmd]:
p += '%-8s|' % ('`' + method + '`')
else:
p += '%-8s|' % ('-')
print("%s %s |" % (p, cmd))
print('')
if __name__ == '__main__':
main()
|