[{"data":1,"prerenderedAt":2257},["ShallowReactive",2],{"navigation_docs":3,"-advanced-configurations-rules":540,"-advanced-configurations-rules-surround":2252},[4,20,493,535],{"title":5,"path":6,"stem":7,"children":8,"icon":19},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11,15],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F2.usage",{"title":16,"path":17,"stem":18},"Laravel","\u002Fgetting-started\u002Flaravel","1.getting-started\u002F3.laravel","i-lucide-square-play",{"title":21,"icon":22,"path":23,"stem":24,"children":25,"page":492},"Client Reference","i-lucide-terminal","\u002Fclient","2.client",[26,72,125,155,159,182,216,236,246,250,268,285,289,299,303,325,352,356,360,364,403,407,411,415,469,488],{"title":27,"path":28,"stem":29,"children":30},"Accounts","\u002Fclient\u002Faccounts","2.client\u002F00.accounts\u002F00.index",[31,32,36,46,50,64,68],{"title":27,"path":28,"stem":29},{"title":33,"path":34,"stem":35},"Members","\u002Fclient\u002Faccounts\u002Fmembers","2.client\u002F00.accounts\u002F01.members",{"title":37,"path":38,"stem":39,"children":40},"Logs","\u002Fclient\u002Faccounts\u002Flogs","2.client\u002F00.accounts\u002F02.logs\u002F00.index",[41,42],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Audit","\u002Fclient\u002Faccounts\u002Flogs\u002Faudit","2.client\u002F00.accounts\u002F02.logs\u002F01.audit",{"title":47,"path":48,"stem":49},"Subscriptions","\u002Fclient\u002Faccounts\u002Fsubscriptions","2.client\u002F00.accounts\u002F03.subscriptions",{"title":51,"path":52,"stem":53,"children":54},"Tokens","\u002Fclient\u002Faccounts\u002Ftokens","2.client\u002F00.accounts\u002F04.tokens\u002F00.index",[55,56,60],{"title":51,"path":52,"stem":53},{"title":57,"path":58,"stem":59},"Permission Groups","\u002Fclient\u002Faccounts\u002Ftokens\u002Fpermission-groups","2.client\u002F00.accounts\u002F04.tokens\u002F01.permission-groups",{"title":61,"path":62,"stem":63},"Value","\u002Fclient\u002Faccounts\u002Ftokens\u002Fvalue","2.client\u002F00.accounts\u002F04.tokens\u002F02.value",{"title":65,"path":66,"stem":67},"Settings","\u002Fclient\u002Faccounts\u002Fsettings","2.client\u002F00.accounts\u002F05.settings",{"title":69,"path":70,"stem":71},"Access Rules","\u002Fclient\u002Faccounts\u002Faccess-rules","2.client\u002F00.accounts\u002F06.access-rules",{"title":73,"path":74,"stem":75,"children":76},"User","\u002Fclient\u002Fuser","2.client\u002F01.user\u002F00.index",[77,78,82,86,89,93,104,108,111],{"title":73,"path":74,"stem":75},{"title":79,"path":80,"stem":81},"Audit Logs","\u002Fclient\u002Fuser\u002Faudit-logs","2.client\u002F01.user\u002F01.audit-logs",{"title":83,"path":84,"stem":85},"Invites","\u002Fclient\u002Fuser\u002Finvites","2.client\u002F01.user\u002F02.invites",{"title":47,"path":87,"stem":88},"\u002Fclient\u002Fuser\u002Fsubscriptions","2.client\u002F01.user\u002F03.subscriptions",{"title":90,"path":91,"stem":92},"Tenants","\u002Fclient\u002Fuser\u002Ftenants","2.client\u002F01.user\u002F04.tenants",{"title":51,"path":94,"stem":95,"children":96},"\u002Fclient\u002Fuser\u002Ftokens","2.client\u002F01.user\u002F05.tokens\u002F00.index",[97,98,101],{"title":51,"path":94,"stem":95},{"title":57,"path":99,"stem":100},"\u002Fclient\u002Fuser\u002Ftokens\u002Fpermission-groups","2.client\u002F01.user\u002F05.tokens\u002F01.permission-groups",{"title":61,"path":102,"stem":103},"\u002Fclient\u002Fuser\u002Ftokens\u002Fvalue","2.client\u002F01.user\u002F05.tokens\u002F02.value",{"title":105,"path":106,"stem":107},"Communication Preferences","\u002Fclient\u002Fuser\u002Fcommunication-preferences","2.client\u002F01.user\u002F06.communication-preferences",{"title":69,"path":109,"stem":110},"\u002Fclient\u002Fuser\u002Faccess-rules","2.client\u002F01.user\u002F07.access-rules",{"title":112,"path":113,"stem":114,"children":115},"Load Balancers","\u002Fclient\u002Fuser\u002Fload-balancers","2.client\u002F01.user\u002F08.load-balancers\u002F00.index",[116,117,121],{"title":112,"path":113,"stem":114},{"title":118,"path":119,"stem":120},"Monitors","\u002Fclient\u002Fuser\u002Fload-balancers\u002Fmonitors","2.client\u002F01.user\u002F08.load-balancers\u002F01.monitors",{"title":122,"path":123,"stem":124},"Pools","\u002Fclient\u002Fuser\u002Fload-balancers\u002Fpools","2.client\u002F01.user\u002F08.load-balancers\u002F02.pools",{"title":126,"path":127,"stem":128,"children":129},"Organizations","\u002Fclient\u002Forganizations","2.client\u002F02.organizations\u002F00.index",[130,131,135,143,152],{"title":126,"path":127,"stem":128},{"title":132,"path":133,"stem":134},"Profile","\u002Fclient\u002Forganizations\u002Fprofile","2.client\u002F02.organizations\u002F01.profile",{"title":37,"path":136,"stem":137,"children":138},"\u002Fclient\u002Forganizations\u002Flogs","2.client\u002F02.organizations\u002F02.logs\u002F00.index",[139,140],{"title":37,"path":136,"stem":137},{"title":43,"path":141,"stem":142},"\u002Fclient\u002Forganizations\u002Flogs\u002Faudit","2.client\u002F02.organizations\u002F02.logs\u002F01.audit",{"title":144,"path":145,"stem":146,"children":147},"Billing","\u002Fclient\u002Forganizations\u002Fbilling","2.client\u002F02.organizations\u002F03.billing\u002F00.index",[148,149],{"title":144,"path":145,"stem":146},{"title":12,"path":150,"stem":151},"\u002Fclient\u002Forganizations\u002Fbilling\u002Fusage","2.client\u002F02.organizations\u002F03.billing\u002F01.usage",{"title":33,"path":153,"stem":154},"\u002Fclient\u002Forganizations\u002Fmembers","2.client\u002F02.organizations\u002F04.members",{"title":156,"path":157,"stem":158},"Memberships","\u002Fclient\u002Fmemberships","2.client\u002F03.memberships",{"title":90,"path":160,"stem":161,"children":162},"\u002Fclient\u002Ftenants","2.client\u002F04.tenants\u002F00.index",[163,164,168,171,175,179],{"title":90,"path":160,"stem":161},{"title":165,"path":166,"stem":167},"Account Types","\u002Fclient\u002Ftenants\u002Faccount-types","2.client\u002F04.tenants\u002F01.account-types",{"title":27,"path":169,"stem":170},"\u002Fclient\u002Ftenants\u002Faccounts","2.client\u002F04.tenants\u002F02.accounts",{"title":172,"path":173,"stem":174},"Custom Nameservers","\u002Fclient\u002Ftenants\u002Fcustom-nameservers","2.client\u002F04.tenants\u002F03.custom-nameservers",{"title":176,"path":177,"stem":178},"Entitlements","\u002Fclient\u002Ftenants\u002Fentitlements","2.client\u002F04.tenants\u002F04.entitlements",{"title":156,"path":180,"stem":181},"\u002Fclient\u002Ftenants\u002Fmemberships","2.client\u002F04.tenants\u002F05.memberships",{"title":183,"path":184,"stem":185,"children":186},"Iam","\u002Fclient\u002Fiam","2.client\u002F05.iam\u002F00.index",[187,188,191,195,199,203,207],{"title":183,"path":184,"stem":185},{"title":57,"path":189,"stem":190},"\u002Fclient\u002Fiam\u002Fpermission-groups","2.client\u002F05.iam\u002F01.permission-groups",{"title":192,"path":193,"stem":194},"Resource Groups","\u002Fclient\u002Fiam\u002Fresource-groups","2.client\u002F05.iam\u002F02.resource-groups",{"title":196,"path":197,"stem":198},"Sso","\u002Fclient\u002Fiam\u002Fsso","2.client\u002F05.iam\u002F03.sso",{"title":200,"path":201,"stem":202},"Oauth Clients","\u002Fclient\u002Fiam\u002Foauth-clients","2.client\u002F05.iam\u002F04.oauth-clients",{"title":204,"path":205,"stem":206},"Oauth Scopes","\u002Fclient\u002Fiam\u002Foauth-scopes","2.client\u002F05.iam\u002F05.oauth-scopes",{"title":208,"path":209,"stem":210,"children":211},"User Groups","\u002Fclient\u002Fiam\u002Fuser-groups","2.client\u002F05.iam\u002F06.user-groups\u002F00.index",[212,213],{"title":208,"path":209,"stem":210},{"title":33,"path":214,"stem":215},"\u002Fclient\u002Fiam\u002Fuser-groups\u002Fmembers","2.client\u002F05.iam\u002F06.user-groups\u002F01.members",{"title":217,"path":218,"stem":219,"children":220},"Zones","\u002Fclient\u002Fzones","2.client\u002F06.zones\u002F00.index",[221,222,226,229,232],{"title":217,"path":218,"stem":219},{"title":223,"path":224,"stem":225},"Holds","\u002Fclient\u002Fzones\u002Fholds","2.client\u002F06.zones\u002F01.holds",{"title":65,"path":227,"stem":228},"\u002Fclient\u002Fzones\u002Fsettings","2.client\u002F06.zones\u002F02.settings",{"title":47,"path":230,"stem":231},"\u002Fclient\u002Fzones\u002Fsubscriptions","2.client\u002F06.zones\u002F03.subscriptions",{"title":233,"path":234,"stem":235},"Transformation Flows","\u002Fclient\u002Fzones\u002Ftransformation-flows","2.client\u002F06.zones\u002F04.transformation-flows",{"title":237,"path":238,"stem":239,"children":240},"DNS","\u002Fclient\u002Fdns","2.client\u002F07.dns\u002F00.index",[241,242],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"DNSSEC","\u002Fclient\u002Fdns\u002Fdnssec","2.client\u002F07.dns\u002F01.dnssec",{"title":247,"path":248,"stem":249},"Page Rules","\u002Fclient\u002Fpage-rules","2.client\u002F08.page-rules",{"title":251,"path":252,"stem":253,"children":254},"Rulesets","\u002Fclient\u002Frulesets","2.client\u002F09.rulesets\u002F00.index",[255,256,260,264],{"title":251,"path":252,"stem":253},{"title":257,"path":258,"stem":259},"Rules","\u002Fclient\u002Frulesets\u002Frules","2.client\u002F09.rulesets\u002F01.rules",{"title":261,"path":262,"stem":263},"Versions","\u002Fclient\u002Frulesets\u002Fversions","2.client\u002F09.rulesets\u002F02.versions",{"title":265,"path":266,"stem":267},"Phases","\u002Fclient\u002Frulesets\u002Fphases","2.client\u002F09.rulesets\u002F03.phases",{"title":269,"path":270,"stem":271,"children":272},"Firewall","\u002Fclient\u002Ffirewall","2.client\u002F10.firewall\u002F00.index",[273,274,277,281],{"title":269,"path":270,"stem":271},{"title":69,"path":275,"stem":276},"\u002Fclient\u002Ffirewall\u002Faccess-rules","2.client\u002F10.firewall\u002F01.access-rules",{"title":278,"path":279,"stem":280},"Lockdowns","\u002Fclient\u002Ffirewall\u002Flockdowns","2.client\u002F10.firewall\u002F02.lockdowns",{"title":282,"path":283,"stem":284},"UA Rules","\u002Fclient\u002Ffirewall\u002Fua-rules","2.client\u002F10.firewall\u002F03.ua-rules",{"title":286,"path":287,"stem":288},"Bot Management","\u002Fclient\u002Fbot-management","2.client\u002F11.bot-management",{"title":290,"path":291,"stem":292,"children":293},"SSL","\u002Fclient\u002Fssl","2.client\u002F12.ssl\u002F00.index",[294,295],{"title":290,"path":291,"stem":292},{"title":296,"path":297,"stem":298},"Certificate Packs","\u002Fclient\u002Fssl\u002Fcertificate-packs","2.client\u002F12.ssl\u002F01.certificate-packs",{"title":300,"path":301,"stem":302},"Origin CA Certificates","\u002Fclient\u002Forigin-ca-certificates","2.client\u002F13.origin-ca-certificates",{"title":304,"path":305,"stem":306,"children":307},"Cache","\u002Fclient\u002Fcache","2.client\u002F14.cache\u002F00.index",[308,309,313,317,321],{"title":304,"path":305,"stem":306},{"title":310,"path":311,"stem":312},"Cache Reserve","\u002Fclient\u002Fcache\u002Fcache-reserve","2.client\u002F14.cache\u002F01.cache-reserve",{"title":314,"path":315,"stem":316},"Regional Tiered Cache","\u002Fclient\u002Fcache\u002Fregional-tiered-cache","2.client\u002F14.cache\u002F02.regional-tiered-cache",{"title":318,"path":319,"stem":320},"Smart Tiered Cache","\u002Fclient\u002Fcache\u002Fsmart-tiered-cache","2.client\u002F14.cache\u002F03.smart-tiered-cache",{"title":322,"path":323,"stem":324},"Variants","\u002Fclient\u002Fcache\u002Fvariants","2.client\u002F14.cache\u002F04.variants",{"title":112,"path":326,"stem":327,"children":328},"\u002Fclient\u002Fload-balancers","2.client\u002F15.load-balancers\u002F00.index",[329,330,333,336,340,344,348],{"title":112,"path":326,"stem":327},{"title":122,"path":331,"stem":332},"\u002Fclient\u002Fload-balancers\u002Fpools","2.client\u002F15.load-balancers\u002F01.pools",{"title":118,"path":334,"stem":335},"\u002Fclient\u002Fload-balancers\u002Fmonitors","2.client\u002F15.load-balancers\u002F02.monitors",{"title":337,"path":338,"stem":339},"Monitor Groups","\u002Fclient\u002Fload-balancers\u002Fmonitor-groups","2.client\u002F15.load-balancers\u002F03.monitor-groups",{"title":341,"path":342,"stem":343},"Regions","\u002Fclient\u002Fload-balancers\u002Fregions","2.client\u002F15.load-balancers\u002F04.regions",{"title":345,"path":346,"stem":347},"Searches","\u002Fclient\u002Fload-balancers\u002Fsearches","2.client\u002F15.load-balancers\u002F05.searches",{"title":349,"path":350,"stem":351},"Previews","\u002Fclient\u002Fload-balancers\u002Fpreviews","2.client\u002F15.load-balancers\u002F06.previews",{"title":353,"path":354,"stem":355},"Cloud Connector","\u002Fclient\u002Fcloud-connector","2.client\u002F16.cloud-connector",{"title":357,"path":358,"stem":359},"Zaraz","\u002Fclient\u002Fzaraz","2.client\u002F17.zaraz",{"title":361,"path":362,"stem":363},"Google Tag Gateway","\u002Fclient\u002Fgoogle-tag-gateway","2.client\u002F18.google-tag-gateway",{"title":365,"path":366,"stem":367,"children":368},"Workers","\u002Fclient\u002Fworkers","2.client\u002F19.workers\u002F00.index",[369,370,373,377,381,385,389,393,396,399],{"title":365,"path":366,"stem":367},{"title":65,"path":371,"stem":372},"\u002Fclient\u002Fworkers\u002Fsettings","2.client\u002F19.workers\u002F01.settings",{"title":374,"path":375,"stem":376},"Cron","\u002Fclient\u002Fworkers\u002Fcron","2.client\u002F19.workers\u002F02.cron",{"title":378,"path":379,"stem":380},"Deployments","\u002Fclient\u002Fworkers\u002Fdeployments","2.client\u002F19.workers\u002F03.deployments",{"title":382,"path":383,"stem":384},"Domains","\u002Fclient\u002Fworkers\u002Fdomains","2.client\u002F19.workers\u002F04.domains",{"title":386,"path":387,"stem":388},"Scripts","\u002Fclient\u002Fworkers\u002Fscripts","2.client\u002F19.workers\u002F05.scripts",{"title":390,"path":391,"stem":392},"Subdomain","\u002Fclient\u002Fworkers\u002Fsubdomain","2.client\u002F19.workers\u002F06.subdomain",{"title":37,"path":394,"stem":395},"\u002Fclient\u002Fworkers\u002Flogs","2.client\u002F19.workers\u002F07.logs",{"title":261,"path":397,"stem":398},"\u002Fclient\u002Fworkers\u002Fversions","2.client\u002F19.workers\u002F08.versions",{"title":400,"path":401,"stem":402},"Routes","\u002Fclient\u002Fworkers\u002Froutes","2.client\u002F19.workers\u002F09.routes",{"title":404,"path":405,"stem":406},"KV","\u002Fclient\u002Fkv","2.client\u002F20.kv",{"title":408,"path":409,"stem":410},"Durable Objects","\u002Fclient\u002Fdurable-objects","2.client\u002F21.durable-objects",{"title":412,"path":413,"stem":414},"D1","\u002Fclient\u002Fd1","2.client\u002F22.d1",{"title":416,"path":417,"stem":418,"children":419},"R2","\u002Fclient\u002Fr2","2.client\u002F23.r2\u002F00.index",[420,421,425,429,433,437,441,445,449,453,457,461,465],{"title":416,"path":417,"stem":418},{"title":422,"path":423,"stem":424},"Buckets","\u002Fclient\u002Fr2\u002Fbuckets","2.client\u002F23.r2\u002F01.buckets",{"title":426,"path":427,"stem":428},"Cors","\u002Fclient\u002Fr2\u002Fcors","2.client\u002F23.r2\u002F02.cors",{"title":430,"path":431,"stem":432},"Lifecycle","\u002Fclient\u002Fr2\u002Flifecycle","2.client\u002F23.r2\u002F03.lifecycle",{"title":434,"path":435,"stem":436},"Lock","\u002Fclient\u002Fr2\u002Flock","2.client\u002F23.r2\u002F04.lock",{"title":438,"path":439,"stem":440},"Custom Domains","\u002Fclient\u002Fr2\u002Fcustom-domains","2.client\u002F23.r2\u002F05.custom-domains",{"title":442,"path":443,"stem":444},"Managed Domain","\u002Fclient\u002Fr2\u002Fmanaged-domain","2.client\u002F23.r2\u002F06.managed-domain",{"title":446,"path":447,"stem":448},"Sippy","\u002Fclient\u002Fr2\u002Fsippy","2.client\u002F23.r2\u002F07.sippy",{"title":450,"path":451,"stem":452},"Event Notifications","\u002Fclient\u002Fr2\u002Fevent-notifications","2.client\u002F23.r2\u002F08.event-notifications",{"title":454,"path":455,"stem":456},"Metrics","\u002Fclient\u002Fr2\u002Fmetrics","2.client\u002F23.r2\u002F09.metrics",{"title":458,"path":459,"stem":460},"Objects","\u002Fclient\u002Fr2\u002Fobjects","2.client\u002F23.r2\u002F10.objects",{"title":462,"path":463,"stem":464},"Jobs","\u002Fclient\u002Fr2\u002Fjobs","2.client\u002F23.r2\u002F11.jobs",{"title":466,"path":467,"stem":468},"Local Uploads","\u002Fclient\u002Fr2\u002Flocal-uploads","2.client\u002F23.r2\u002F12.local-uploads",{"title":470,"path":471,"stem":472,"children":473},"Zero Trust","\u002Fclient\u002Fzero-trust","2.client\u002F24.zero-trust\u002F00.index",[474,475],{"title":470,"path":471,"stem":472},{"title":476,"path":477,"stem":478,"children":479},"Networks","\u002Fclient\u002Fzero-trust\u002Fnetworks","2.client\u002F24.zero-trust\u002F01.networks\u002F00.index",[480,481,484],{"title":476,"path":477,"stem":478},{"title":400,"path":482,"stem":483},"\u002Fclient\u002Fzero-trust\u002Fnetworks\u002Froutes","2.client\u002F24.zero-trust\u002F01.networks\u002F01.routes",{"title":485,"path":486,"stem":487},"Virtual Networks","\u002Fclient\u002Fzero-trust\u002Fnetworks\u002Fvirtual-networks","2.client\u002F24.zero-trust\u002F01.networks\u002F02.virtual-networks",{"title":489,"path":490,"stem":491},"IPs","\u002Fclient\u002Fips","2.client\u002F25.ips",false,{"title":494,"icon":495,"path":496,"stem":497,"children":498,"page":492},"Advanced","i-lucide-code-xml","\u002Fadvanced","3.advanced",[499,531],{"title":500,"path":501,"stem":502,"children":503,"page":492},"Configurations","\u002Fadvanced\u002Fconfigurations","3.advanced\u002F1.configurations",[504,516,524,528],{"title":217,"path":505,"stem":506,"children":507,"page":492},"\u002Fadvanced\u002Fconfigurations\u002Fzones","3.advanced\u002F1.configurations\u002F1.zones",[508,512],{"title":509,"path":510,"stem":511},"Page Rule","\u002Fadvanced\u002Fconfigurations\u002Fzones\u002Fpage-rules","3.advanced\u002F1.configurations\u002F1.zones\u002F1.page-rules",{"title":513,"path":514,"stem":515},"Cache Purge","\u002Fadvanced\u002Fconfigurations\u002Fzones\u002Fcache-purge","3.advanced\u002F1.configurations\u002F1.zones\u002F2.cache-purge",{"title":365,"path":517,"stem":518,"children":519,"page":492},"\u002Fadvanced\u002Fconfigurations\u002Fworkers","3.advanced\u002F1.configurations\u002F2.workers",[520],{"title":521,"path":522,"stem":523},"Deployment","\u002Fadvanced\u002Fconfigurations\u002Fworkers\u002Fdeployment","3.advanced\u002F1.configurations\u002F2.workers\u002F1.deployment",{"title":525,"path":526,"stem":527},"Ruleset","\u002Fadvanced\u002Fconfigurations\u002Fruleset","3.advanced\u002F1.configurations\u002F3.ruleset",{"title":257,"path":529,"stem":530},"\u002Fadvanced\u002Fconfigurations\u002Frules","3.advanced\u002F1.configurations\u002F4.rules",{"title":532,"path":533,"stem":534},"Expression Builder","\u002Fadvanced\u002Fexpression-builder","3.advanced\u002F2.expression-builder",{"title":536,"path":537,"stem":538,"icon":539},"Coverage","\u002Fcoverage","4.coverage","i-lucide-gauge",{"id":541,"title":257,"body":542,"description":2246,"extension":2247,"links":2248,"meta":2249,"navigation":579,"path":529,"seo":2250,"stem":530,"__hash__":2251},"docs\u002F3.advanced\u002F1.configurations\u002F4.rules.md",{"type":543,"value":544,"toc":2238},"minimark",[545,549,562,847,857,861,959,962,1090,1094,1100,1451,1456,1881,1885,1888,2223,2228,2234],[546,547,12],"h2",{"id":548},"usage",[550,551,552,553,557,558,561],"p",{},"A ruleset is a list of rules, and each rule pairs an ",[554,555,556],"strong",{},"expression"," — which traffic it matches — with an ",[554,559,560],{},"action"," — what Cloudflare does about it. This package ships one class per action, so the action name is picked by the class you construct rather than by a string you have to remember.",[563,564,569],"pre",{"className":565,"code":566,"filename":567,"language":567,"meta":568,"style":568},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\nuse Cloudflare\\Configurations\\Ruleset;\nuse Cloudflare\\Configurations\\Rules\\ManagedChallengeRule;\n\n$rule = (new ManagedChallengeRule())\n    ->enable()\n    ->setDescription('Challenge logins from outside the office')\n    ->setExpression('http.request.uri.path eq \"\u002Flogin\" and ip.src ne 203.0.113.4');\n\n$ruleset = (new Ruleset('Login protection'))\n    ->zone()\n    ->requestFirewallCustom()\n    ->addRule($rule);\n\n$response = $client->rulesets()->create(zoneId: 'zone_id', values: $ruleset);\n\n","php","",[570,571,572,581,605,627,632,657,670,693,713,718,747,757,767,783,788],"code",{"__ignoreMap":568},[573,574,577],"span",{"class":575,"line":576},"line",1,[573,578,580],{"emptyLinePlaceholder":579},true,"\n",[573,582,584,588,592,596,598,600,602],{"class":575,"line":583},2,[573,585,587],{"class":586},"sbssI","use",[573,589,591],{"class":590},"sTEyZ"," Cloudflare",[573,593,595],{"class":594},"sMK4o","\\",[573,597,500],{"class":590},[573,599,595],{"class":594},[573,601,525],{"class":590},[573,603,604],{"class":594},";\n",[573,606,608,610,612,614,616,618,620,622,625],{"class":575,"line":607},3,[573,609,587],{"class":586},[573,611,591],{"class":590},[573,613,595],{"class":594},[573,615,500],{"class":590},[573,617,595],{"class":594},[573,619,257],{"class":590},[573,621,595],{"class":594},[573,623,624],{"class":590},"ManagedChallengeRule",[573,626,604],{"class":594},[573,628,630],{"class":575,"line":629},4,[573,631,580],{"emptyLinePlaceholder":579},[573,633,635,638,641,644,647,650,654],{"class":575,"line":634},5,[573,636,637],{"class":594},"$",[573,639,640],{"class":590},"rule ",[573,642,643],{"class":594},"=",[573,645,646],{"class":594}," (",[573,648,649],{"class":586},"new",[573,651,653],{"class":652},"sBMFI"," ManagedChallengeRule",[573,655,656],{"class":594},"())\n",[573,658,660,663,667],{"class":575,"line":659},6,[573,661,662],{"class":594},"    ->",[573,664,666],{"class":665},"s2Zo4","enable",[573,668,669],{"class":594},"()\n",[573,671,673,675,678,681,684,688,690],{"class":575,"line":672},7,[573,674,662],{"class":594},[573,676,677],{"class":665},"setDescription",[573,679,680],{"class":594},"(",[573,682,683],{"class":594},"'",[573,685,687],{"class":686},"sfazB","Challenge logins from outside the office",[573,689,683],{"class":594},[573,691,692],{"class":594},")\n",[573,694,696,698,701,703,705,708,710],{"class":575,"line":695},8,[573,697,662],{"class":594},[573,699,700],{"class":665},"setExpression",[573,702,680],{"class":594},[573,704,683],{"class":594},[573,706,707],{"class":686},"http.request.uri.path eq \"\u002Flogin\" and ip.src ne 203.0.113.4",[573,709,683],{"class":594},[573,711,712],{"class":594},");\n",[573,714,716],{"class":575,"line":715},9,[573,717,580],{"emptyLinePlaceholder":579},[573,719,721,723,726,728,730,732,735,737,739,742,744],{"class":575,"line":720},10,[573,722,637],{"class":594},[573,724,725],{"class":590},"ruleset ",[573,727,643],{"class":594},[573,729,646],{"class":594},[573,731,649],{"class":586},[573,733,734],{"class":652}," Ruleset",[573,736,680],{"class":594},[573,738,683],{"class":594},[573,740,741],{"class":686},"Login protection",[573,743,683],{"class":594},[573,745,746],{"class":594},"))\n",[573,748,750,752,755],{"class":575,"line":749},11,[573,751,662],{"class":594},[573,753,754],{"class":665},"zone",[573,756,669],{"class":594},[573,758,760,762,765],{"class":575,"line":759},12,[573,761,662],{"class":594},[573,763,764],{"class":665},"requestFirewallCustom",[573,766,669],{"class":594},[573,768,770,772,775,778,781],{"class":575,"line":769},13,[573,771,662],{"class":594},[573,773,774],{"class":665},"addRule",[573,776,777],{"class":594},"($",[573,779,780],{"class":590},"rule",[573,782,712],{"class":594},[573,784,786],{"class":575,"line":785},14,[573,787,580],{"emptyLinePlaceholder":579},[573,789,791,793,796,798,801,804,807,810,813,816,818,821,824,827,830,832,835,838,840,842,845],{"class":575,"line":790},15,[573,792,637],{"class":594},[573,794,795],{"class":590},"response ",[573,797,643],{"class":594},[573,799,800],{"class":594}," $",[573,802,803],{"class":590},"client",[573,805,806],{"class":594},"->",[573,808,809],{"class":665},"rulesets",[573,811,812],{"class":594},"()->",[573,814,815],{"class":665},"create",[573,817,680],{"class":594},[573,819,820],{"class":652},"zoneId",[573,822,823],{"class":594},":",[573,825,826],{"class":594}," '",[573,828,829],{"class":686},"zone_id",[573,831,683],{"class":594},[573,833,834],{"class":594},",",[573,836,837],{"class":652}," values",[573,839,823],{"class":594},[573,841,800],{"class":594},[573,843,844],{"class":590},"ruleset",[573,846,712],{"class":594},[550,848,849,852,853,856],{},[570,850,851],{},"addRule()"," takes a rule object. If you would rather hand-write the whole payload, skip these classes and pass a plain array to ",[570,854,855],{},"$client->rulesets()->create()"," instead — it accepts either.",[546,858,860],{"id":859},"every-rule-shares-these","Every rule shares these",[862,863,864,877],"table",{},[865,866,867],"thead",{},[868,869,870,874],"tr",{},[871,872,873],"th",{},"Method",[871,875,876],{},"Effect",[878,879,880,902,916,926,936,946],"tbody",{},[868,881,882,892],{},[883,884,885,888,889],"td",{},[570,886,887],{},"enable()"," \u002F ",[570,890,891],{},"disable()",[883,893,894,895,898,899,901],{},"Whether Cloudflare runs the rule. Rules are ",[554,896,897],{},"disabled"," until you call ",[570,900,887],{},".",[868,903,904,909],{},[883,905,906],{},[570,907,908],{},"setExpression($expression)",[883,910,911,912,915],{},"Which traffic matches. Takes a string, an ",[913,914,532],"a",{"href":533},", or a closure that receives one. Matches everything when unset.",[868,917,918,923],{},[883,919,920],{},[570,921,922],{},"setDescription($description)",[883,924,925],{},"An informative description of the rule.",[868,927,928,933],{},[883,929,930],{},[570,931,932],{},"setLogging($enabled)",[883,934,935],{},"Whether Cloudflare logs when the rule matches.",[868,937,938,943],{},[883,939,940],{},[570,941,942],{},"setActionParameters($parameters)",[883,944,945],{},"Parameters for the rule's action, merged over whatever the class builds. Calling it twice merges rather than replaces.",[868,947,948,956],{},[883,949,950,888,953],{},[570,951,952],{},"setId($id)",[570,954,955],{},"setRef($reference)",[883,957,958],{},"Identify an existing rule, for updates.",[550,960,961],{},"Expressions read well as a closure:",[563,963,965],{"className":565,"code":964,"filename":567,"language":567,"meta":568,"style":568},"\nuse Cloudflare\\Configurations\\Rules\\BlockRule;\n\n$rule = (new BlockRule('{\"error\":\"blocked\"}'))\n    ->enable()\n    ->setExpression(fn ($builder) => $builder->field('ip.src')->eq('203.0.113.4'));\n\n",[570,966,967,971,992,996,1022,1030],{"__ignoreMap":568},[573,968,969],{"class":575,"line":576},[573,970,580],{"emptyLinePlaceholder":579},[573,972,973,975,977,979,981,983,985,987,990],{"class":575,"line":583},[573,974,587],{"class":586},[573,976,591],{"class":590},[573,978,595],{"class":594},[573,980,500],{"class":590},[573,982,595],{"class":594},[573,984,257],{"class":590},[573,986,595],{"class":594},[573,988,989],{"class":590},"BlockRule",[573,991,604],{"class":594},[573,993,994],{"class":575,"line":607},[573,995,580],{"emptyLinePlaceholder":579},[573,997,998,1000,1002,1004,1006,1008,1011,1013,1015,1018,1020],{"class":575,"line":629},[573,999,637],{"class":594},[573,1001,640],{"class":590},[573,1003,643],{"class":594},[573,1005,646],{"class":594},[573,1007,649],{"class":586},[573,1009,1010],{"class":652}," BlockRule",[573,1012,680],{"class":594},[573,1014,683],{"class":594},[573,1016,1017],{"class":686},"{\"error\":\"blocked\"}",[573,1019,683],{"class":594},[573,1021,746],{"class":594},[573,1023,1024,1026,1028],{"class":575,"line":634},[573,1025,662],{"class":594},[573,1027,666],{"class":665},[573,1029,669],{"class":594},[573,1031,1032,1034,1036,1038,1042,1045,1048,1051,1054,1056,1058,1060,1063,1065,1067,1070,1072,1075,1078,1080,1082,1085,1087],{"class":575,"line":659},[573,1033,662],{"class":594},[573,1035,700],{"class":665},[573,1037,680],{"class":594},[573,1039,1041],{"class":1040},"spNyl","fn",[573,1043,1044],{"class":594}," ($",[573,1046,1047],{"class":590},"builder",[573,1049,1050],{"class":594},")",[573,1052,1053],{"class":594}," =>",[573,1055,800],{"class":594},[573,1057,1047],{"class":590},[573,1059,806],{"class":594},[573,1061,1062],{"class":665},"field",[573,1064,680],{"class":594},[573,1066,683],{"class":594},[573,1068,1069],{"class":686},"ip.src",[573,1071,683],{"class":594},[573,1073,1074],{"class":594},")->",[573,1076,1077],{"class":665},"eq",[573,1079,680],{"class":594},[573,1081,683],{"class":594},[573,1083,1084],{"class":686},"203.0.113.4",[573,1086,683],{"class":594},[573,1088,1089],{"class":594},"));\n",[546,1091,1093],{"id":1092},"the-rules","The rules",[550,1095,1096,1097,901],{},"Cloudflare defines a different set of parameters for each action. Where it requires them, the class asks for them in its constructor; where they are optional, pass them with ",[570,1098,1099],{},"setActionParameters()",[862,1101,1102,1115],{},[865,1103,1104],{},[868,1105,1106,1109,1112],{},[871,1107,1108],{},"Class",[871,1110,1111],{},"Cloudflare action",[871,1113,1114],{},"Parameters",[878,1116,1117,1140,1155,1169,1182,1196,1210,1224,1249,1266,1286,1303,1320,1337,1358,1378,1401,1428],{},[868,1118,1119,1123,1128],{},[883,1120,1121],{},[570,1122,989],{},[883,1124,1125],{},[570,1126,1127],{},"block",[883,1129,1130,1133,1134,1133,1137],{},[570,1131,1132],{},"$content",", ",[570,1135,1136],{},"$contentType",[570,1138,1139],{},"$statusCode",[868,1141,1142,1147,1152],{},[883,1143,1144],{},[570,1145,1146],{},"ChallengeRule",[883,1148,1149],{},[570,1150,1151],{},"challenge",[883,1153,1154],{},"none",[868,1156,1157,1162,1167],{},[883,1158,1159],{},[570,1160,1161],{},"JSChallengeRule",[883,1163,1164],{},[570,1165,1166],{},"js_challenge",[883,1168,1154],{},[868,1170,1171,1175,1180],{},[883,1172,1173],{},[570,1174,624],{},[883,1176,1177],{},[570,1178,1179],{},"managed_challenge",[883,1181,1154],{},[868,1183,1184,1189,1194],{},[883,1185,1186],{},[570,1187,1188],{},"LogRule",[883,1190,1191],{},[570,1192,1193],{},"log",[883,1195,1154],{},[868,1197,1198,1203,1208],{},[883,1199,1200],{},[570,1201,1202],{},"DDoSDynamicRule",[883,1204,1205],{},[570,1206,1207],{},"ddos_dynamic",[883,1209,1154],{},[868,1211,1212,1217,1222],{},[883,1213,1214],{},[570,1215,1216],{},"ForceConnectionCloseRule",[883,1218,1219],{},[570,1220,1221],{},"force_connection_close",[883,1223,1154],{},[868,1225,1226,1231,1236],{},[883,1227,1228],{},[570,1229,1230],{},"ExecuteRule",[883,1232,1233],{},[570,1234,1235],{},"execute",[883,1237,1238,1241,1242,1245,1246],{},[570,1239,1240],{},"$rulesetId",", plus optional ",[570,1243,1244],{},"overrides"," and ",[570,1247,1248],{},"matched_data",[868,1250,1251,1256,1261],{},[883,1252,1253],{},[570,1254,1255],{},"ScoreRule",[883,1257,1258],{},[570,1259,1260],{},"score",[883,1262,1263],{},[570,1264,1265],{},"$increment",[868,1267,1268,1273,1278],{},[883,1269,1270],{},[570,1271,1272],{},"ServeErrorRule",[883,1274,1275],{},[570,1276,1277],{},"serve_error",[883,1279,1280,1133,1282,1133,1284],{},[570,1281,1136],{},[570,1283,1132],{},[570,1285,1139],{},[868,1287,1288,1293,1298],{},[883,1289,1290],{},[570,1291,1292],{},"CompressionRule",[883,1294,1295],{},[570,1296,1297],{},"compress_response",[883,1299,1300],{},[570,1301,1302],{},"$algorithm",[868,1304,1305,1310,1315],{},[883,1306,1307],{},[570,1308,1309],{},"ConfigRule",[883,1311,1312],{},[570,1313,1314],{},"set_config",[883,1316,1317],{},[570,1318,1319],{},"$settings",[868,1321,1322,1327,1332],{},[883,1323,1324],{},[570,1325,1326],{},"SkipRule",[883,1328,1329],{},[570,1330,1331],{},"skip",[883,1333,1334],{},[570,1335,1336],{},"$skip",[868,1338,1339,1344,1349],{},[883,1340,1341],{},[570,1342,1343],{},"RedirectRule",[883,1345,1346],{},[570,1347,1348],{},"redirect",[883,1350,1351,1354,1355],{},[570,1352,1353],{},"from_value"," or ",[570,1356,1357],{},"from_list",[868,1359,1360,1365,1370],{},[883,1361,1362],{},[570,1363,1364],{},"RewriteRule",[883,1366,1367],{},[570,1368,1369],{},"rewrite",[883,1371,1372,1133,1375],{},[570,1373,1374],{},"uri",[570,1376,1377],{},"headers",[868,1379,1380,1385,1390],{},[883,1381,1382],{},[570,1383,1384],{},"OriginRule",[883,1386,1387],{},[570,1388,1389],{},"route",[883,1391,1392,1133,1395,1133,1398],{},[570,1393,1394],{},"origin",[570,1396,1397],{},"host_header",[570,1399,1400],{},"sni",[868,1402,1403,1408,1413],{},[883,1404,1405],{},[570,1406,1407],{},"CacheSettingsRule",[883,1409,1410],{},[570,1411,1412],{},"set_cache_settings",[883,1414,1415,1133,1418,1133,1421,1133,1424,1427],{},[570,1416,1417],{},"cache",[570,1419,1420],{},"edge_ttl",[570,1422,1423],{},"browser_ttl",[570,1425,1426],{},"cache_key",", and more",[868,1429,1430,1435,1440],{},[883,1431,1432],{},[570,1433,1434],{},"LogCustomFieldRule",[883,1436,1437],{},[570,1438,1439],{},"log_custom_field",[883,1441,1442,1133,1445,1133,1448,1427],{},[570,1443,1444],{},"request_fields",[570,1446,1447],{},"response_fields",[570,1449,1450],{},"cookie_fields",[1452,1453,1455],"h3",{"id":1454},"rules-that-take-constructor-arguments","Rules that take constructor arguments",[563,1457,1459],{"className":565,"code":1458,"filename":567,"language":567,"meta":568,"style":568},"\nuse Cloudflare\\Configurations\\Rules\\BlockRule;\nuse Cloudflare\\Configurations\\Rules\\CompressionRule;\nuse Cloudflare\\Configurations\\Rules\\ConfigRule;\nuse Cloudflare\\Configurations\\Rules\\ExecuteRule;\nuse Cloudflare\\Configurations\\Rules\\ScoreRule;\nuse Cloudflare\\Configurations\\Rules\\ServeErrorRule;\nuse Cloudflare\\Configurations\\Rules\\SkipRule;\n\n\u002F\u002F Answer the request yourself. `content` is sent as-is, so encode it to match\n\u002F\u002F the content type you declare.\nnew BlockRule('{\"error\":\"blocked\"}', 'application\u002Fjson', 403);\n\n\u002F\u002F Run one of Cloudflare's managed rulesets.\nnew ExecuteRule('4814384a9e5d4991b9815dcfc25d2f1f');\n\n\u002F\u002F Add to the request's cumulative score.\nnew ScoreRule(20);\n\n\u002F\u002F Serve an error page instead of reaching the origin.\nnew ServeErrorRule('text\u002Fhtml', '\u003Ch1>Gone\u003C\u002Fh1>', 410);\n\n\u002F\u002F Compress the response with a named algorithm.\nnew CompressionRule('brotli');\n\n\u002F\u002F Change zone settings for this request only.\nnew ConfigRule(['ssl' => 'full', 'automatic_https_rewrites' => true]);\n\n\u002F\u002F Skip Cloudflare's own products or rules.\nnew SkipRule(['products' => ['waf', 'rateLimit']]);\n\n",[570,1460,1461,1465,1485,1505,1525,1545,1565,1585,1605,1609,1615,1620,1650,1654,1659,1677,1682,1688,1703,1708,1714,1747,1752,1758,1777,1782,1788,1829,1834,1840],{"__ignoreMap":568},[573,1462,1463],{"class":575,"line":576},[573,1464,580],{"emptyLinePlaceholder":579},[573,1466,1467,1469,1471,1473,1475,1477,1479,1481,1483],{"class":575,"line":583},[573,1468,587],{"class":586},[573,1470,591],{"class":590},[573,1472,595],{"class":594},[573,1474,500],{"class":590},[573,1476,595],{"class":594},[573,1478,257],{"class":590},[573,1480,595],{"class":594},[573,1482,989],{"class":590},[573,1484,604],{"class":594},[573,1486,1487,1489,1491,1493,1495,1497,1499,1501,1503],{"class":575,"line":607},[573,1488,587],{"class":586},[573,1490,591],{"class":590},[573,1492,595],{"class":594},[573,1494,500],{"class":590},[573,1496,595],{"class":594},[573,1498,257],{"class":590},[573,1500,595],{"class":594},[573,1502,1292],{"class":590},[573,1504,604],{"class":594},[573,1506,1507,1509,1511,1513,1515,1517,1519,1521,1523],{"class":575,"line":629},[573,1508,587],{"class":586},[573,1510,591],{"class":590},[573,1512,595],{"class":594},[573,1514,500],{"class":590},[573,1516,595],{"class":594},[573,1518,257],{"class":590},[573,1520,595],{"class":594},[573,1522,1309],{"class":590},[573,1524,604],{"class":594},[573,1526,1527,1529,1531,1533,1535,1537,1539,1541,1543],{"class":575,"line":634},[573,1528,587],{"class":586},[573,1530,591],{"class":590},[573,1532,595],{"class":594},[573,1534,500],{"class":590},[573,1536,595],{"class":594},[573,1538,257],{"class":590},[573,1540,595],{"class":594},[573,1542,1230],{"class":590},[573,1544,604],{"class":594},[573,1546,1547,1549,1551,1553,1555,1557,1559,1561,1563],{"class":575,"line":659},[573,1548,587],{"class":586},[573,1550,591],{"class":590},[573,1552,595],{"class":594},[573,1554,500],{"class":590},[573,1556,595],{"class":594},[573,1558,257],{"class":590},[573,1560,595],{"class":594},[573,1562,1255],{"class":590},[573,1564,604],{"class":594},[573,1566,1567,1569,1571,1573,1575,1577,1579,1581,1583],{"class":575,"line":672},[573,1568,587],{"class":586},[573,1570,591],{"class":590},[573,1572,595],{"class":594},[573,1574,500],{"class":590},[573,1576,595],{"class":594},[573,1578,257],{"class":590},[573,1580,595],{"class":594},[573,1582,1272],{"class":590},[573,1584,604],{"class":594},[573,1586,1587,1589,1591,1593,1595,1597,1599,1601,1603],{"class":575,"line":695},[573,1588,587],{"class":586},[573,1590,591],{"class":590},[573,1592,595],{"class":594},[573,1594,500],{"class":590},[573,1596,595],{"class":594},[573,1598,257],{"class":590},[573,1600,595],{"class":594},[573,1602,1326],{"class":590},[573,1604,604],{"class":594},[573,1606,1607],{"class":575,"line":715},[573,1608,580],{"emptyLinePlaceholder":579},[573,1610,1611],{"class":575,"line":720},[573,1612,1614],{"class":1613},"sHwdD","\u002F\u002F Answer the request yourself. `content` is sent as-is, so encode it to match\n",[573,1616,1617],{"class":575,"line":749},[573,1618,1619],{"class":1613},"\u002F\u002F the content type you declare.\n",[573,1621,1622,1624,1626,1628,1630,1632,1634,1636,1638,1641,1643,1645,1648],{"class":575,"line":759},[573,1623,649],{"class":586},[573,1625,1010],{"class":652},[573,1627,680],{"class":594},[573,1629,683],{"class":594},[573,1631,1017],{"class":686},[573,1633,683],{"class":594},[573,1635,834],{"class":594},[573,1637,826],{"class":594},[573,1639,1640],{"class":686},"application\u002Fjson",[573,1642,683],{"class":594},[573,1644,834],{"class":594},[573,1646,1647],{"class":586}," 403",[573,1649,712],{"class":594},[573,1651,1652],{"class":575,"line":769},[573,1653,580],{"emptyLinePlaceholder":579},[573,1655,1656],{"class":575,"line":785},[573,1657,1658],{"class":1613},"\u002F\u002F Run one of Cloudflare's managed rulesets.\n",[573,1660,1661,1663,1666,1668,1670,1673,1675],{"class":575,"line":790},[573,1662,649],{"class":586},[573,1664,1665],{"class":652}," ExecuteRule",[573,1667,680],{"class":594},[573,1669,683],{"class":594},[573,1671,1672],{"class":686},"4814384a9e5d4991b9815dcfc25d2f1f",[573,1674,683],{"class":594},[573,1676,712],{"class":594},[573,1678,1680],{"class":575,"line":1679},16,[573,1681,580],{"emptyLinePlaceholder":579},[573,1683,1685],{"class":575,"line":1684},17,[573,1686,1687],{"class":1613},"\u002F\u002F Add to the request's cumulative score.\n",[573,1689,1691,1693,1696,1698,1701],{"class":575,"line":1690},18,[573,1692,649],{"class":586},[573,1694,1695],{"class":652}," ScoreRule",[573,1697,680],{"class":594},[573,1699,1700],{"class":586},"20",[573,1702,712],{"class":594},[573,1704,1706],{"class":575,"line":1705},19,[573,1707,580],{"emptyLinePlaceholder":579},[573,1709,1711],{"class":575,"line":1710},20,[573,1712,1713],{"class":1613},"\u002F\u002F Serve an error page instead of reaching the origin.\n",[573,1715,1717,1719,1722,1724,1726,1729,1731,1733,1735,1738,1740,1742,1745],{"class":575,"line":1716},21,[573,1718,649],{"class":586},[573,1720,1721],{"class":652}," ServeErrorRule",[573,1723,680],{"class":594},[573,1725,683],{"class":594},[573,1727,1728],{"class":686},"text\u002Fhtml",[573,1730,683],{"class":594},[573,1732,834],{"class":594},[573,1734,826],{"class":594},[573,1736,1737],{"class":686},"\u003Ch1>Gone\u003C\u002Fh1>",[573,1739,683],{"class":594},[573,1741,834],{"class":594},[573,1743,1744],{"class":586}," 410",[573,1746,712],{"class":594},[573,1748,1750],{"class":575,"line":1749},22,[573,1751,580],{"emptyLinePlaceholder":579},[573,1753,1755],{"class":575,"line":1754},23,[573,1756,1757],{"class":1613},"\u002F\u002F Compress the response with a named algorithm.\n",[573,1759,1761,1763,1766,1768,1770,1773,1775],{"class":575,"line":1760},24,[573,1762,649],{"class":586},[573,1764,1765],{"class":652}," CompressionRule",[573,1767,680],{"class":594},[573,1769,683],{"class":594},[573,1771,1772],{"class":686},"brotli",[573,1774,683],{"class":594},[573,1776,712],{"class":594},[573,1778,1780],{"class":575,"line":1779},25,[573,1781,580],{"emptyLinePlaceholder":579},[573,1783,1785],{"class":575,"line":1784},26,[573,1786,1787],{"class":1613},"\u002F\u002F Change zone settings for this request only.\n",[573,1789,1791,1793,1796,1799,1801,1804,1806,1808,1810,1813,1815,1817,1819,1822,1824,1826],{"class":575,"line":1790},27,[573,1792,649],{"class":586},[573,1794,1795],{"class":652}," ConfigRule",[573,1797,1798],{"class":594},"([",[573,1800,683],{"class":594},[573,1802,1803],{"class":686},"ssl",[573,1805,683],{"class":594},[573,1807,1053],{"class":594},[573,1809,826],{"class":594},[573,1811,1812],{"class":686},"full",[573,1814,683],{"class":594},[573,1816,834],{"class":594},[573,1818,826],{"class":594},[573,1820,1821],{"class":686},"automatic_https_rewrites",[573,1823,683],{"class":594},[573,1825,1053],{"class":594},[573,1827,1828],{"class":594}," true]);\n",[573,1830,1832],{"class":575,"line":1831},28,[573,1833,580],{"emptyLinePlaceholder":579},[573,1835,1837],{"class":575,"line":1836},29,[573,1838,1839],{"class":1613},"\u002F\u002F Skip Cloudflare's own products or rules.\n",[573,1841,1843,1845,1848,1850,1852,1855,1857,1859,1862,1864,1867,1869,1871,1873,1876,1878],{"class":575,"line":1842},30,[573,1844,649],{"class":586},[573,1846,1847],{"class":652}," SkipRule",[573,1849,1798],{"class":594},[573,1851,683],{"class":594},[573,1853,1854],{"class":686},"products",[573,1856,683],{"class":594},[573,1858,1053],{"class":594},[573,1860,1861],{"class":594}," [",[573,1863,683],{"class":594},[573,1865,1866],{"class":686},"waf",[573,1868,683],{"class":594},[573,1870,834],{"class":594},[573,1872,826],{"class":594},[573,1874,1875],{"class":686},"rateLimit",[573,1877,683],{"class":594},[573,1879,1880],{"class":594},"]]);\n",[1452,1882,1884],{"id":1883},"everything-else","Everything else",[550,1886,1887],{},"The remaining actions take parameters Cloudflare defines per action and extends over time, so they are passed through as given rather than modelled one method at a time:",[563,1889,1891],{"className":565,"code":1890,"filename":567,"language":567,"meta":568,"style":568},"\nuse Cloudflare\\Configurations\\Rules\\RedirectRule;\nuse Cloudflare\\Configurations\\Rules\\RewriteRule;\n\n$redirect = (new RedirectRule())\n    ->enable()\n    ->setExpression('http.request.uri.path eq \"\u002Fold\"')\n    ->setActionParameters([\n        'from_value' => [\n            'status_code' => 301,\n            'target_url' => ['value' => 'https:\u002F\u002Fexample.com\u002Fnew'],\n            'preserve_query_string' => true,\n        ],\n    ]);\n\n$rewrite = (new RewriteRule())\n    ->enable()\n    ->setActionParameters([\n        'uri' => ['path' => ['value' => '\u002Frewritten']],\n        'headers' => ['x-source' => ['operation' => 'set', 'value' => 'cloudflare']],\n    ]);\n\n",[570,1892,1893,1897,1917,1937,1941,1959,1967,1984,1994,2008,2026,2058,2072,2077,2082,2086,2104,2112,2120,2161,2219],{"__ignoreMap":568},[573,1894,1895],{"class":575,"line":576},[573,1896,580],{"emptyLinePlaceholder":579},[573,1898,1899,1901,1903,1905,1907,1909,1911,1913,1915],{"class":575,"line":583},[573,1900,587],{"class":586},[573,1902,591],{"class":590},[573,1904,595],{"class":594},[573,1906,500],{"class":590},[573,1908,595],{"class":594},[573,1910,257],{"class":590},[573,1912,595],{"class":594},[573,1914,1343],{"class":590},[573,1916,604],{"class":594},[573,1918,1919,1921,1923,1925,1927,1929,1931,1933,1935],{"class":575,"line":607},[573,1920,587],{"class":586},[573,1922,591],{"class":590},[573,1924,595],{"class":594},[573,1926,500],{"class":590},[573,1928,595],{"class":594},[573,1930,257],{"class":590},[573,1932,595],{"class":594},[573,1934,1364],{"class":590},[573,1936,604],{"class":594},[573,1938,1939],{"class":575,"line":629},[573,1940,580],{"emptyLinePlaceholder":579},[573,1942,1943,1945,1948,1950,1952,1954,1957],{"class":575,"line":634},[573,1944,637],{"class":594},[573,1946,1947],{"class":590},"redirect ",[573,1949,643],{"class":594},[573,1951,646],{"class":594},[573,1953,649],{"class":586},[573,1955,1956],{"class":652}," RedirectRule",[573,1958,656],{"class":594},[573,1960,1961,1963,1965],{"class":575,"line":659},[573,1962,662],{"class":594},[573,1964,666],{"class":665},[573,1966,669],{"class":594},[573,1968,1969,1971,1973,1975,1977,1980,1982],{"class":575,"line":672},[573,1970,662],{"class":594},[573,1972,700],{"class":665},[573,1974,680],{"class":594},[573,1976,683],{"class":594},[573,1978,1979],{"class":686},"http.request.uri.path eq \"\u002Fold\"",[573,1981,683],{"class":594},[573,1983,692],{"class":594},[573,1985,1986,1988,1991],{"class":575,"line":695},[573,1987,662],{"class":594},[573,1989,1990],{"class":665},"setActionParameters",[573,1992,1993],{"class":594},"([\n",[573,1995,1996,1999,2001,2003,2005],{"class":575,"line":715},[573,1997,1998],{"class":594},"        '",[573,2000,1353],{"class":686},[573,2002,683],{"class":594},[573,2004,1053],{"class":594},[573,2006,2007],{"class":594}," [\n",[573,2009,2010,2013,2016,2018,2020,2023],{"class":575,"line":720},[573,2011,2012],{"class":594},"            '",[573,2014,2015],{"class":686},"status_code",[573,2017,683],{"class":594},[573,2019,1053],{"class":594},[573,2021,2022],{"class":586}," 301",[573,2024,2025],{"class":594},",\n",[573,2027,2028,2030,2033,2035,2037,2039,2041,2044,2046,2048,2050,2053,2055],{"class":575,"line":749},[573,2029,2012],{"class":594},[573,2031,2032],{"class":686},"target_url",[573,2034,683],{"class":594},[573,2036,1053],{"class":594},[573,2038,1861],{"class":594},[573,2040,683],{"class":594},[573,2042,2043],{"class":686},"value",[573,2045,683],{"class":594},[573,2047,1053],{"class":594},[573,2049,826],{"class":594},[573,2051,2052],{"class":686},"https:\u002F\u002Fexample.com\u002Fnew",[573,2054,683],{"class":594},[573,2056,2057],{"class":594},"],\n",[573,2059,2060,2062,2065,2067,2069],{"class":575,"line":759},[573,2061,2012],{"class":594},[573,2063,2064],{"class":686},"preserve_query_string",[573,2066,683],{"class":594},[573,2068,1053],{"class":594},[573,2070,2071],{"class":594}," true,\n",[573,2073,2074],{"class":575,"line":769},[573,2075,2076],{"class":594},"        ],\n",[573,2078,2079],{"class":575,"line":785},[573,2080,2081],{"class":594},"    ]);\n",[573,2083,2084],{"class":575,"line":790},[573,2085,580],{"emptyLinePlaceholder":579},[573,2087,2088,2090,2093,2095,2097,2099,2102],{"class":575,"line":1679},[573,2089,637],{"class":594},[573,2091,2092],{"class":590},"rewrite ",[573,2094,643],{"class":594},[573,2096,646],{"class":594},[573,2098,649],{"class":586},[573,2100,2101],{"class":652}," RewriteRule",[573,2103,656],{"class":594},[573,2105,2106,2108,2110],{"class":575,"line":1684},[573,2107,662],{"class":594},[573,2109,666],{"class":665},[573,2111,669],{"class":594},[573,2113,2114,2116,2118],{"class":575,"line":1690},[573,2115,662],{"class":594},[573,2117,1990],{"class":665},[573,2119,1993],{"class":594},[573,2121,2122,2124,2126,2128,2130,2132,2134,2137,2139,2141,2143,2145,2147,2149,2151,2153,2156,2158],{"class":575,"line":1705},[573,2123,1998],{"class":594},[573,2125,1374],{"class":686},[573,2127,683],{"class":594},[573,2129,1053],{"class":594},[573,2131,1861],{"class":594},[573,2133,683],{"class":594},[573,2135,2136],{"class":686},"path",[573,2138,683],{"class":594},[573,2140,1053],{"class":594},[573,2142,1861],{"class":594},[573,2144,683],{"class":594},[573,2146,2043],{"class":686},[573,2148,683],{"class":594},[573,2150,1053],{"class":594},[573,2152,826],{"class":594},[573,2154,2155],{"class":686},"\u002Frewritten",[573,2157,683],{"class":594},[573,2159,2160],{"class":594},"]],\n",[573,2162,2163,2165,2167,2169,2171,2173,2175,2178,2180,2182,2184,2186,2189,2191,2193,2195,2198,2200,2202,2204,2206,2208,2210,2212,2215,2217],{"class":575,"line":1710},[573,2164,1998],{"class":594},[573,2166,1377],{"class":686},[573,2168,683],{"class":594},[573,2170,1053],{"class":594},[573,2172,1861],{"class":594},[573,2174,683],{"class":594},[573,2176,2177],{"class":686},"x-source",[573,2179,683],{"class":594},[573,2181,1053],{"class":594},[573,2183,1861],{"class":594},[573,2185,683],{"class":594},[573,2187,2188],{"class":686},"operation",[573,2190,683],{"class":594},[573,2192,1053],{"class":594},[573,2194,826],{"class":594},[573,2196,2197],{"class":686},"set",[573,2199,683],{"class":594},[573,2201,834],{"class":594},[573,2203,826],{"class":594},[573,2205,2043],{"class":686},[573,2207,683],{"class":594},[573,2209,1053],{"class":594},[573,2211,826],{"class":594},[573,2213,2214],{"class":686},"cloudflare",[573,2216,683],{"class":594},[573,2218,2160],{"class":594},[573,2220,2221],{"class":575,"line":1716},[573,2222,2081],{"class":594},[550,2224,2225,2227],{},[570,2226,1099],{}," works on every rule, including the ones with constructors, so anything Cloudflare adds is reachable without waiting for this package to catch up.",[2229,2230,2233],"callout",{"icon":2231,"to":2232},"i-simple-icons-cloudflare","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fruleset-engine\u002Frules-language\u002Factions\u002F","The full list of actions and their parameters on the Cloudflare Rules language reference",[2235,2236,2237],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":568,"searchDepth":583,"depth":583,"links":2239},[2240,2241,2242],{"id":548,"depth":583,"text":12},{"id":859,"depth":583,"text":860},{"id":1092,"depth":583,"text":1093,"children":2243},[2244,2245],{"id":1454,"depth":607,"text":1455},{"id":1883,"depth":607,"text":1884},"The rule classes that make up a ruleset, and how to configure each action.","md",null,{},{"title":257,"description":2246},"rI0C0OzB5W27uNbV5rxUQnizWrvrSqabNbKLRBOActQ",[2253,2255],{"title":525,"path":526,"stem":527,"description":2254,"children":-1},"A fluent configuration helper for building Account\u002FZone Ruleset payloads.",{"title":532,"path":533,"stem":534,"description":2256,"children":-1},"Build expressions for the Cloudflare Rules language fluently instead of hand-writing expression strings.",1786913633590]