from aden_tools.credentials import CredentialSpec

CLOUDFLARE_CREDENTIALS = {
    "cloudflare": CredentialSpec(
        env_var="CLOUDFLARE_API_TOKEN",
        description=(
            "Cloudflare API token (DNS/Zone Read-Write). Provide via env var or credential store."
        ),
        required=True,
        help_url="https://dash.cloudflare.com/profile/api-tokens",
        credential_id="cloudflare_api_token",
        api_key_instructions=(
            "Create an API token with Zone/DNS read and edit permissions: "
            "https://dash.cloudflare.com/profile/api-tokens"
        ),
        direct_api_key_supported=True,
        health_check_endpoint="https://api.cloudflare.com/client/v4/user/tokens/verify",
        tools=[
            "cloudflare_list_zones",
            "cloudflare_get_zone",
            "cloudflare_get_zone_settings",
            "cloudflare_list_zone_custom_pages",
            "cloudflare_get_ssl_verification",
            "cloudflare_list_zone_certificates",
            "cloudflare_list_zone_subscriptions",
            "cloudflare_get_dnssec_status",
            "cloudflare_update_zone_setting",
            "cloudflare_list_dns_records",
            "cloudflare_get_dns_record",
            "cloudflare_list_dns_record_scan",
            "cloudflare_get_dns_settings",
            "cloudflare_list_dns_analytics_report",
            "cloudflare_check_domain_dns_health",
            "cloudflare_create_dns_record",
            "cloudflare_update_dns_record",
            "cloudflare_delete_dns_record",
            "cloudflare_get_zone_analytics",
            "cloudflare_get_top_analytics",
            "cloudflare_get_security_analytics",
            "cloudflare_get_cache_analytics",
            "cloudflare_get_performance_analytics",
            "cloudflare_get_http_analytics_report",
            "cloudflare_list_firewall_events",
            "cloudflare_get_security_settings",
            "cloudflare_list_page_rules",
            "cloudflare_list_waf_rulesets",
            "cloudflare_get_bot_management_settings",
            "cloudflare_list_managed_transforms",
            "cloudflare_get_ddos_protection_settings",
            "cloudflare_create_firewall_rule",
            "cloudflare_delete_firewall_rule",
            "cloudflare_get_speed_settings",
            "cloudflare_get_cache_settings",
            "cloudflare_get_http_config",
            "cloudflare_get_network_settings",
            "cloudflare_purge_cache_all",
            "cloudflare_purge_cache_files",
            "cloudflare_list_advanced_services",
            "cloudflare_list_accounts",
            "cloudflare_get_account_details",
            "cloudflare_list_account_members",
            "cloudflare_invite_account_member",
            "cloudflare_delete_account_member",
            "cloudflare_list_custom_hostnames",
            "cloudflare_list_audit_logs",
            "cloudflare_list_firewall_rules",
            "cloudflare_list_access_applications",
            "cloudflare_list_r2_buckets",
            "cloudflare_list_pages_projects",
            "cloudflare_create_access_policy",
            "cloudflare_create_worker_route",
            "cloudflare_set_ssl_mode",
        ],
    )
}
