/usr/share/doc/python3-cloudflare/examples
NameSizeModeActions
example_always_use_https.py19890644editdlrm
example_are_zones_ipv6.py18760644editdlrm
example_are_zones_ipv6_simple.py5580644editdlrm
example_certificates.py26730644editdlrm
example_create_zone_and_populate.py39350644editdlrm
example_custom_hostnames.py22800644editdlrm
example_delete_zone_entry.py20340644editdlrm
example_dnssec_settings.py14590644editdlrm
example_dns_export.py13660644editdlrm
example_graphql.py23280644editdlrm
example_graphql.sh9810644editdlrm
example_ips.py7630644editdlrm
example_list_api_from_web.py4540644editdlrm
example_page_rules.sh4400644editdlrm
example_paging_thru_zones.py12040644editdlrm
example_paging_thru_zones.sh7800644editdlrm
example_proxied.py33880644editdlrm
example_settings.py18270644editdlrm
example_update_dynamic_dns.py42730644editdlrm
example_user.py55120644editdlrm
example_with_usage.py6770644editdlrm
example_zones.py24360644editdlrm
example_zone_search.sh4200644editdlrm
__init__.py00644editdlrm
Edit: /usr/share/doc/python3-cloudflare/examples/example_custom_hostnames.py (2280B)
#!/usr/bin/env python """Cloudflare API code - example""" import os import sys sys.path.insert(0, os.path.abspath('..')) import CloudFlare def main(): """Cloudflare API code - example""" # Grab the first argument, if there is one try: zone_name = sys.argv[1] params = {'name':zone_name, 'per_page':1} except IndexError: params = {'per_page':500} cf = CloudFlare.CloudFlare() # grab the zone identifier try: zones = cf.zones.get(params=params) except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones.get %d %s - api call failed' % (e, e)) except Exception as e: exit('/zones.get - %s - api call failed' % (e)) # there should only be one zone - but handle more if needed for zone in sorted(zones, key=lambda v: v['name']): zone_name = zone['name'] zone_id = zone['id'] zone_plan = zone['plan']['name'] if zone_plan != 'Enterprise Website': print('%s %s %s - not Enterprise' % (zone_id, zone_name, zone_plan)) continue print('%s %-40s %s' % (zone_id, zone_name, zone_plan)) try: custom_info = cf.zones.custom_hostnames.get(zone_id) except CloudFlare.exceptions.CloudFlareAPIError as e: sys.stderr.write('/zones.custom_hostnames.get %d %s - api call failed\n' % (e, e)) continue for hostname_info in custom_info: print('\t%s %-30s %s' % (hostname_info['id'], hostname_info['hostname'], hostname_info['created_at'])) for s in sorted(hostname_info.keys()): if s in ['id', 'hostname', 'created_at'] or hostname_info[s] == None: continue print('\t%-15s = %s' % (s, hostname_info[s])) try: fallback_origin = cf.zones.custom_hostnames.fallback_origin.get(zone_id) except CloudFlare.exceptions.CloudFlareAPIError as e: sys.stderr.write('/zones.custom_hostnames.fallback_origin.get %d %s - api call failed\n' % (e, e)) continue print('\t%s %-30s %s %s' % ('', fallback_origin['origin'], fallback_origin['created_at'], fallback_origin['status'])) print('') exit(0) if __name__ == '__main__': main()