Skip to content

Commit

Permalink
Merge branch 'issue151-missing-calls'
Browse files Browse the repository at this point in the history
  • Loading branch information
mahtin committed Nov 8, 2022
2 parents 1f588a3 + cb85a20 commit 0d1575d
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 12 deletions.
93 changes: 90 additions & 3 deletions CloudFlare/api_v4.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ def api_v4(self):
# The API commands for /graphql
graphql(self)

# Issue 151
from_developers(self)

def user(self):
""" user """

Expand All @@ -93,6 +96,8 @@ def zones(self):
self.add('AUTH', 'zones', 'available_plans')
self.add('AUTH', 'zones', 'available_rate_plans')
self.add('AUTH', 'zones', 'bot_management')
self.add('AUTH', 'zones', 'bot_management/feedback')
self.add('AUTH', 'zones', 'client_certificates')
self.add('AUTH', 'zones', 'custom_certificates')
self.add('AUTH', 'zones', 'custom_certificates/prioritize')
self.add('AUTH', 'zones', 'custom_csrs')
Expand All @@ -104,7 +109,10 @@ def zones(self):
self.add('AUTH', 'zones', 'dns_records/export')
self.add('AUTH', 'zones', 'dns_records/import')
self.add('AUTH', 'zones', 'dns_records/scan')
self.add('VOID', 'zones', 'dns_settings')
self.add('AUTH', 'zones', 'dns_settings/use_apex_ns')
self.add('AUTH', 'zones', 'filters')
self.add('AUTH', 'zones', 'filters/validate-expr')
self.add('AUTH', 'zones', 'healthchecks')
self.add('AUTH', 'zones', 'healthchecks/preview')
self.add('AUTH', 'zones', 'keyless_certificates')
Expand Down Expand Up @@ -177,8 +185,8 @@ def zones_analytics(self):
""" zones analytics """

self.add('VOID', 'zones', 'analytics')
# self.add('AUTH', 'zones', 'analytics/colos')
# self.add('AUTH', 'zones', 'analytics/dashboard')
self.add('AUTH', 'zones', 'analytics/colos')
self.add('AUTH', 'zones', 'analytics/dashboard')
self.add('AUTH', 'zones', 'analytics/latency')
self.add('AUTH', 'zones', 'analytics/latency/colos')

Expand Down Expand Up @@ -465,6 +473,7 @@ def accounts_load_balancers(self):
self.add('AUTH', 'accounts', 'load_balancers/regions')
self.add('AUTH', 'accounts', 'load_balancers/search')


def accounts_firewall(self):
""" accounts firewall """

Expand All @@ -477,7 +486,7 @@ def accounts_secondary_dns(self):

self.add('VOID', 'accounts', 'secondary_dns')
# self.add('AUTH', 'accounts', 'secondary_dns/masters')
# self.add('AUTH', 'accounts', 'secondary_dns/primaries')
self.add('AUTH', 'accounts', 'secondary_dns/primaries')
self.add('AUTH', 'accounts', 'secondary_dns/tsigs')
self.add('AUTH', 'accounts', 'secondary_dns/acls')
self.add('AUTH', 'accounts', 'secondary_dns/peers')
Expand Down Expand Up @@ -541,9 +550,11 @@ def accounts_access(self):

self.add('VOID', 'accounts', 'access')
self.add('AUTH', 'accounts', 'access/bookmarks')
self.add('AUTH', 'accounts', 'access/gateway_ca')
self.add('AUTH', 'accounts', 'access/groups')
self.add('AUTH', 'accounts', 'access/identity_providers')
self.add('AUTH', 'accounts', 'access/organizations')
self.add('AUTH', 'accounts', 'access/organizations/doh')
self.add('AUTH', 'accounts', 'access/organizations/revoke_user')
self.add('AUTH', 'accounts', 'access/service_tokens')
self.add('AUTH', 'accounts', 'access/service_tokens', 'refresh')
Expand Down Expand Up @@ -829,3 +840,79 @@ def radar(self):
self.add('VOID', 'radar/verified_bots/top')
self.add('AUTH', 'radar/verified_bots/top/bots')
self.add('AUTH', 'radar/verified_bots/top/categories')

def from_developers(self):
""" from_developers """
self.add('VOID', 'accounts', 'analytics_engine')
self.add('AUTH', 'accounts', 'analytics_engine/sql')

self.add('AUTH', 'accounts', 'images/v1/config')
self.add('AUTH', 'accounts', 'images/v1/direct_upload')

self.add('VOID', 'accounts', 'logpush')
self.add('AUTH', 'accounts', 'logpush/jobs')

self.add('VOID', 'accounts', 'logs')
self.add('AUTH', 'accounts', 'logs/retrieve')

self.add('VOID', 'accounts', 'magic/advanced_tcp_protection')
self.add('VOID', 'accounts', 'magic/advanced_tcp_protection/configs')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/allowlist')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/prefixes')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/prefixes/bulk')
self.add('VOID', 'accounts', 'magic/advanced_tcp_protection/configs/syn_protection')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/syn_protection/rules')
self.add('VOID', 'accounts', 'magic/advanced_tcp_protection/configs/tcp_flow_protection')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/tcp_flow_protection/rules')
self.add('AUTH', 'accounts', 'magic/advanced_tcp_protection/configs/tcp_protection_status')

self.add('VOID', 'accounts', 'pubsub')
self.add('AUTH', 'accounts', 'pubsub/namespaces')
self.add('AUTH', 'accounts', 'pubsub/namespaces', 'brokers')
self.add('AUTH', 'accounts', 'pubsub/namespaces', 'brokers', 'credentials')

self.add('VOID', 'accounts', 'rulesets', 'versions', 'by_tag')
self.add('AUTH', 'accounts', 'rulesets', 'versions', 'by_tag/wordpress')
self.add('VOID', 'accounts', 'rulesets/phases/ddos_l4')
self.add('AUTH', 'accounts', 'rulesets/phases/ddos_l4/entrypoint')
self.add('VOID', 'accounts', 'rulesets/phases/ddos_l7')
self.add('AUTH', 'accounts', 'rulesets/phases/ddos_l7/entrypoint')
self.add('VOID', 'accounts', 'rulesets/phases/http_request_firewall_custom')
self.add('AUTH', 'accounts', 'rulesets/phases/http_request_firewall_custom/entrypoint')
self.add('VOID', 'accounts', 'rulesets/phases/http_request_firewall_managed')
self.add('AUTH', 'accounts', 'rulesets/phases/http_request_firewall_managed/entrypoint')

self.add('VOID', 'accounts', 'stream/analytics')
self.add('AUTH', 'accounts', 'stream/analytics/views')
self.add('AUTH', 'accounts', 'stream/live_inputs', 'videos')

self.add('VOID', 'accounts', 'workers/dispatch')
self.add('AUTH', 'accounts', 'workers/dispatch/namespaces')
self.add('AUTH', 'accounts', 'workers/dispatch/namespaces', 'scripts')
self.add('AUTH', 'accounts', 'workers/dispatch/namespaces', 'scripts', 'tags')

# self.add('AUTH', 'organizations', 'load_balancers/monitors')

self.add('AUTH', 'users')

self.add('VOID', 'zones', 'content-upload-scan')
self.add('AUTH', 'zones', 'content-upload-scan/disable')
self.add('AUTH', 'zones', 'content-upload-scan/enable')
self.add('AUTH', 'zones', 'content-upload-scan/payloads')
self.add('AUTH', 'zones', 'content-upload-scan/settings')

self.add('VOID', 'zones', 'phases')
self.add('VOID', 'zones', 'phases/http_request_firewall_managed')
self.add('AUTH', 'zones', 'phases/http_request_firewall_managed/entrypoint')

self.add('VOID', 'zones', 'rulesets/phases/ddos_l7')
self.add('AUTH', 'zones', 'rulesets/phases/ddos_l7/entrypoint')
self.add('VOID', 'zones', 'rulesets/phases/http_ratelimit')
self.add('AUTH', 'zones', 'rulesets/phases/http_ratelimit/entrypoint')
self.add('VOID', 'zones', 'rulesets/phases/http_request_cache_settings')
self.add('AUTH', 'zones', 'rulesets/phases/http_request_cache_settings/entrypoint')
self.add('VOID', 'zones', 'rulesets/phases/http_request_firewall_custom')
self.add('AUTH', 'zones', 'rulesets/phases/http_request_firewall_custom/entrypoint')
self.add('VOID', 'zones', 'rulesets/phases/http_request_firewall_managed')
self.add('AUTH', 'zones', 'rulesets/phases/http_request_firewall_managed/entrypoint')
self.add('AUTH', 'zones', 'rulesets/phases/http_request_firewall_managed/entrypoint/versions')
10 changes: 5 additions & 5 deletions CloudFlare/cloudflare.py
Original file line number Diff line number Diff line change
Expand Up @@ -572,27 +572,27 @@ def __str__(self):
def get(self, identifier1=None, identifier2=None, identifier3=None, identifier4=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'get() call not available for this endpoint')
raise CloudFlareAPIError(0, 'not found')

def patch(self, identifier1=None, identifier2=None, identifier3=None, identifier4=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'patch() call not available for this endpoint')
raise CloudFlareAPIError(0, 'not found')

def post(self, identifier1=None, identifier2=None, identifier3=None, identifier4=None, params=None, data=None, files=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'post() call not available for this endpoint')
raise CloudFlareAPIError(0, 'not found')

def put(self, identifier1=None, identifier2=None, identifier3=None, identifier4=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'put() call not available for this endpoint')
raise CloudFlareAPIError(0, 'not found')

def delete(self, identifier1=None, identifier2=None, identifier3=None, identifier4=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'delete() call not available for this endpoint')
raise CloudFlareAPIError(0, 'not found')

class _add_no_auth():
""" Cloudflare v4 API"""
Expand Down
5 changes: 1 addition & 4 deletions cli4/cli4.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,10 +159,7 @@ def run_command(cf, method, command, params=None, content=None, files=None):
cmd.append(element)
except AttributeError:
# the verb/element was not found
if len(cmd) == 0:
sys.stderr.write('cli4: /%s - not found\n' % (element))
else:
sys.stderr.write('cli4: /%s/%s - not found\n' % ('/'.join(cmd), element))
sys.stderr.write('cli4: /%s - not found\n' % (command))
raise e

if content and params:
Expand Down

0 comments on commit 0d1575d

Please sign in to comment.