#!/bin/bash # Script to generate Terraform resources using cf-terraforming for OpenTofu resources=( cloudflare_access_application cloudflare_access_group cloudflare_access_identity_provider cloudflare_access_mutual_tls_certificate cloudflare_access_policy cloudflare_access_rule cloudflare_access_service_token cloudflare_account_member cloudflare_api_shield cloudflare_api_token cloudflare_argo cloudflare_authenticated_origin_pulls cloudflare_authenticated_origin_pulls_certificate cloudflare_bot_management cloudflare_byo_ip_prefix cloudflare_certificate_pack cloudflare_custom_hostname cloudflare_custom_hostname_fallback_origin cloudflare_custom_pages cloudflare_custom_ssl cloudflare_filter cloudflare_firewall_rule cloudflare_healthcheck cloudflare_ip_list cloudflare_list cloudflare_load_balancer cloudflare_load_balancer_monitor cloudflare_load_balancer_pool cloudflare_logpull_retention cloudflare_logpush_job cloudflare_logpush_ownership_challenge cloudflare_magic_firewall_ruleset cloudflare_origin_ca_certificate cloudflare_page_rule cloudflare_rate_limit cloudflare_record cloudflare_ruleset cloudflare_spectrum_application cloudflare_tiered_cache cloudflare_teams_list cloudflare_teams_location cloudflare_teams_proxy_endpoint cloudflare_teams_rule cloudflare_tunnel cloudflare_turnstile_widget cloudflare_url_normalization_settings cloudflare_waf_group cloudflare_waf_override cloudflare_waf_package cloudflare_waf_rule cloudflare_waiting_room cloudflare_worker_cron_trigger cloudflare_worker_route cloudflare_worker_script cloudflare_workers_kv cloudflare_workers_kv_namespace cloudflare_zone cloudflare_zone_dnssec cloudflare_zone_lockdown cloudflare_zone_settings_override ) for resource in "${resources[@]}"; do echo "Generating ${resource}.tf..." cf-terraforming generate --provider-registry-hostname registry.opentofu.org --resource-type $resource > "${resource}.tf_v5" done echo "✅ All Terraform files generated!"