cf 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/_meta/agent-context.json +26 -21
- package/dist/_meta/commands.json +7696 -18100
- package/dist/_meta/schemas.json +6411 -13925
- package/dist/{abuse-reports-dMIfUJ8v.mjs → abuse-reports-Ina5TlsU.mjs} +2 -2
- package/dist/{accounts-Kx1epdA1.mjs → accounts-B_joQcMi.mjs} +9 -9
- package/dist/{acm-Utu252kC.mjs → acm-_kIHqYME.mjs} +2 -2
- package/dist/{addressing-CBq7Z7Vq.mjs → addressing-CaFlw8y1.mjs} +10 -10
- package/dist/{agent-context-BGTU299M.mjs → agent-context-DMPfi54f.mjs} +1 -1
- package/dist/ai-CqnhNb_c.mjs +2 -0
- package/dist/ai-gateway-pgYGI519.mjs +8 -0
- package/dist/ai-search-eqQMPQol.mjs +7 -0
- package/dist/ai_gateway--vuVLnOm.mjs +4 -0
- package/dist/{alerting-CqmEIaKn.mjs → alerting-CPxHiYHb.mjs} +5 -5
- package/dist/{analytics-Dv-X8x7D.mjs → analytics-DSSRDZz8.mjs} +1 -1
- package/dist/analytics_engine-gWyfnsCs.mjs +2 -0
- package/dist/{api-gateway-CNv0IHTU.mjs → api-gateway-BXXGFCVR.mjs} +10 -10
- package/dist/argo-aC6A3JyX.mjs +2 -0
- package/dist/artifacts-HD4V2xpK.mjs +4 -0
- package/dist/audit-logs-BuExU_nz.mjs +2 -0
- package/dist/auth-CSC4yhEJ.mjs +9 -0
- package/dist/auth-D5hNsOFq.mjs +5 -0
- package/dist/billing-COaghyxl.mjs +2 -0
- package/dist/bot-management-DmEzeV1Y.mjs +5 -0
- package/dist/botnet-feed-ByEAXAkw.mjs +3 -0
- package/dist/brand-protection-dPrGe8sL.mjs +3 -0
- package/dist/browser-rendering-BiSGnpBf.mjs +4 -0
- package/dist/{build-DYkGW4dh.mjs → build-HuS9-R0V.mjs} +131 -131
- package/dist/{cache-DsoW6Xwv.mjs → cache-CY-7Lt71.mjs} +4 -4
- package/dist/calls-wOQGDWPl.mjs +4 -0
- package/dist/certificate-authorities-CtqzAtxQ.mjs +2 -0
- package/dist/chunk-6IEM75FG-BEjRFMGh.mjs +2 -0
- package/dist/client-certificates-CRf41xLe.mjs +3 -0
- package/dist/cloud-connector-BA5IRZUP.mjs +2 -0
- package/dist/{cloudforce-one-2Bhz8YdW.mjs → cloudforce-one-Bq_qPAWs.mjs} +20 -20
- package/dist/{completions-BwRpZQVn.mjs → completions-DOeHPdCG.mjs} +2 -2
- package/dist/config-B5k-XbwS.mjs +2 -0
- package/dist/connectivity-Bx3MgTHX.mjs +3 -0
- package/dist/connector-interrupts-D7ylweJZ.mjs +2 -0
- package/dist/connector-telemetry-events-6izV1kbP.mjs +2 -0
- package/dist/connector-telemetry-snapshots-BnjKbyxX.mjs +2 -0
- package/dist/connectors-DRt4e6d_.mjs +3 -0
- package/dist/content-scanning-Cd2vy5Sz.mjs +4 -0
- package/dist/context-jpewmual.mjs +2 -0
- package/dist/{custom-certificates-aAiEguR7.mjs → custom-certificates-DYE-9epx.mjs} +3 -3
- package/dist/{custom-hostnames-AG5yBHIi.mjs → custom-hostnames-CtuTdFcX.mjs} +4 -4
- package/dist/custom-nameservers-CWqA51in.mjs +3 -0
- package/dist/custom-pages-DeUKEFGe.mjs +4 -0
- package/dist/d1-DvWY9Gp4.mjs +4 -0
- package/dist/data-security-BPo6dIWu.mjs +6 -0
- package/dist/dcv-delegation-Bgf86J-r.mjs +2 -0
- package/dist/{deploy-CQial3kN.mjs → deploy-dVrgDUOp.mjs} +1 -1
- package/dist/{dev-B38LfCTl.mjs → dev-C01_Lby6.mjs} +1 -1
- package/dist/diagnostics-6nKPmVgz.mjs +3 -0
- package/dist/{dispatch-namespaces-DmHvoBOg.mjs → dispatch-namespaces-64lXx2WJ.mjs} +6 -6
- package/dist/dist-C6zxsVdY.mjs +306 -0
- package/dist/{dist-AIcZFk0U.mjs → dist-t_YrL25p.mjs} +7 -7
- package/dist/{dns-VMhQSr5n.mjs → dns-ClciFGxx.mjs} +13 -13
- package/dist/dns-firewall-DfUmXDCe.mjs +57 -0
- package/dist/durable-objects-CMaYZ-YU.mjs +2 -0
- package/dist/{email-routing-tIR2SFu-.mjs → email-routing-CGXhFqF5.mjs} +9 -9
- package/dist/{email-security-Ca1id3rZ.mjs → email-security-D5viPq8S.mjs} +7 -7
- package/dist/email-sending-C2jpc3gh.mjs +3 -0
- package/dist/{filters-A4dg_a68.mjs → filters-bzsFcWt0.mjs} +3 -3
- package/dist/{firewall-DWPQgYd9.mjs → firewall-DYZcTtIC.mjs} +10 -10
- package/dist/{fraud-BMkSsJGU.mjs → fraud-C03MtdZb.mjs} +1 -1
- package/dist/google-tag-gateway-Dfy887yA.mjs +2 -0
- package/dist/{healthchecks-CtIfrFql.mjs → healthchecks-DRoAlWgr.mjs} +3 -3
- package/dist/hostnames-CFgIVI3s.mjs +3 -0
- package/dist/hyperdrive-C7-gwTSV.mjs +18 -0
- package/dist/iam-DqVPzGrb.mjs +6 -0
- package/dist/images-BYfl4YgR.mjs +7 -0
- package/dist/index.mjs +1 -1
- package/dist/intel-duTEPIHc.mjs +3 -0
- package/dist/{ips-K4bzaGqd.mjs → ips-nv9INuWZ.mjs} +1 -1
- package/dist/keyless-certificates-CRCDVd3g.mjs +3 -0
- package/dist/{kv-8o27w_pY.mjs → kv-CZoV4tiv.mjs} +4 -4
- package/dist/leaked-credential-checks-DNIBg7Pe.mjs +3 -0
- package/dist/{load-balancers-DtG8nj25.mjs → load-balancers--OMg0HNt.mjs} +5 -5
- package/dist/{logpush-4L0njy1d.mjs → logpush-C0_lZTyY.mjs} +3 -3
- package/dist/{logs-B_Yp95hv.mjs → logs-BtpWZQfV.mjs} +2 -2
- package/dist/magic-cloud-networking-u6rwYbGg.mjs +5 -0
- package/dist/{magic-network-monitoring-BnwvM4-I.mjs → magic-network-monitoring-CKgQyRj4.mjs} +3 -3
- package/dist/{magic-transit-CXDyvhxq.mjs → magic-transit-CLhMcJ_-.mjs} +32 -33
- package/dist/managed-transforms-D0Z2mlth.mjs +3 -0
- package/dist/mtls-certificates-BL65NK5T.mjs +3 -0
- package/dist/{network-interconnects-rrr7red3.mjs → network-interconnects-Bgu9gmaG.mjs} +5 -5
- package/dist/oauth-Bk-F-tIO.mjs +52 -0
- package/dist/{observability-DWvpqnQJ.mjs → observability-BynRbTF4.mjs} +3 -3
- package/dist/open-YWOUIZ5Y-3jqSKAB1.mjs +4 -0
- package/dist/{organizations-T77D50Sq.mjs → organizations-BqJHyvMK.mjs} +3 -3
- package/dist/origin-ca-certificates-BGvYwm3C.mjs +3 -0
- package/dist/origin-post-quantum-encryption-9KOE8YPI.mjs +2 -0
- package/dist/{origin-tls-client-auth-CaVW1Ztp.mjs → origin-tls-client-auth-d3snC3vr.mjs} +3 -3
- package/dist/{output-BJFNwj7b.mjs → output-B6fBFRqe.mjs} +1 -1
- package/dist/{page-rules-CjZPTMQX.mjs → page-rules-EZHJePmn.mjs} +4 -4
- package/dist/{page-shield-D5RRNJCY.mjs → page-shield-CXJioWPs.mjs} +5 -5
- package/dist/{pages-CWJtJnL0.mjs → pages-D4aYteKk.mjs} +8 -8
- package/dist/{pipelines-B0L_7j9e.mjs → pipelines-G8Iusxq-.mjs} +5 -5
- package/dist/progress-DrDErV9w.mjs +2 -0
- package/dist/queues-DEkbKqZX.mjs +6 -0
- package/dist/{r2-DQIcyRtA.mjs → r2-CV0IkCAW.mjs} +9 -9
- package/dist/r2-data-catalog-NtqGC_a_.mjs +14 -0
- package/dist/radar-D986zPJr.mjs +2 -0
- package/dist/{rate-limits-DcrQV6Ar.mjs → rate-limits-B2wRsUX1.mjs} +3 -3
- package/dist/raw-fetch-_n0lMAnD.mjs +2 -0
- package/dist/{realtime-kit-CaquuVOE.mjs → realtime-kit-Ld3c5eU6.mjs} +9 -9
- package/dist/{registrar-Ko-xZemf.mjs → registrar-CDIwTz3G.mjs} +6 -6
- package/dist/request-tracers-D7SFMDik.mjs +2 -0
- package/dist/resource-sharing-YIQ04jXE.mjs +5 -0
- package/dist/{resource-tagging-C3qtLzCz.mjs → resource-tagging-Bd6Y03sg.mjs} +7 -7
- package/dist/rules-DHjLP5Kx.mjs +4 -0
- package/dist/{rulesets-CBgpeSvJ.mjs → rulesets-q4QABpKs.mjs} +7 -7
- package/dist/rum-SmT4HZmM.mjs +4 -0
- package/dist/{schema-D16TgWBg.mjs → schema-BR31o4P6.mjs} +1 -1
- package/dist/{schema-validation-Dgv_opM3.mjs → schema-validation-vVetgC_P.mjs} +5 -5
- package/dist/{scim-DdSEr4kZ.mjs → scim-ChOkZpNx.mjs} +2 -2
- package/dist/{session-COHHdS7A.mjs → sdk-DhIhH6GB.mjs} +4 -4
- package/dist/{secrets-store-7BfyvJLb.mjs → secrets-store-BAK9G12O.mjs} +12 -12
- package/dist/security-center-eScuYDKP.mjs +2 -0
- package/dist/security-txt-x7R4gmQu.mjs +3 -0
- package/dist/session-DHYCE-PM.mjs +93 -0
- package/dist/shared-BAjo72Lz.mjs +2 -0
- package/dist/{smart-shield-TeWZFnH2.mjs → smart-shield-CWlSsNi8.mjs} +2 -2
- package/dist/snippets-DrlgYJYp.mjs +4 -0
- package/dist/{spawn-DcppKGI5.mjs → spawn-CCGzKlC4.mjs} +1 -1
- package/dist/{spectrum-CTTZID8u.mjs → spectrum-pVGxb7u5.mjs} +6 -6
- package/dist/speed-ZFrMWDgd.mjs +4 -0
- package/dist/src-DU7FBCOX.mjs +108 -0
- package/dist/ssl-9JY05sYt.mjs +15 -0
- package/dist/stream-tRU39b8K.mjs +14 -0
- package/dist/{tenants-Bd7NGQ_m.mjs → tenants-HLGUazms.mjs} +1 -1
- package/dist/{token-validation-DAgtFOvs.mjs → token-validation-_VdamKpz.mjs} +4 -4
- package/dist/{tools-DXQmfFuE.mjs → tools-D_hfUU_Z.mjs} +1 -1
- package/dist/{turnstile-cfdaO4ca.mjs → turnstile-BRzXd28B.mjs} +4 -4
- package/dist/{ui-D4KtlMh9.mjs → ui-erjBdVKL.mjs} +1 -1
- package/dist/url-normalization-D-NxuLtN.mjs +3 -0
- package/dist/url-scanner-BzzR6iDx.mjs +2 -0
- package/dist/{user-CAo-yCJA.mjs → user-C4omq__w.mjs} +2 -2
- package/dist/vectorize-By6EqcNR.mjs +4 -0
- package/dist/{versions-CUwWJWmy.mjs → versions-CBHwWPAM.mjs} +1 -1
- package/dist/{waiting-rooms-Dln5ICg5.mjs → waiting-rooms-u6KwrzWd.mjs} +6 -6
- package/dist/{web3-HQJRm38W.mjs → web3-DQ5dmE9W.mjs} +3 -3
- package/dist/{workers-Dg7ddG2Q.mjs → workers-D8Be7_as.mjs} +14 -14
- package/dist/workers-builds-BE3W3qNk.mjs +7 -0
- package/dist/{workflows-VquuSh2J.mjs → workflows-BWWufqFA.mjs} +3 -3
- package/dist/zaraz-Bsa9AvVL.mjs +2 -0
- package/dist/{zero-trust-CP96wnSh.mjs → zero-trust-UNVZFnKu.mjs} +87 -87
- package/dist/zero_trust-B0_Rk4p2.mjs +3 -0
- package/dist/zones-BXtdwt6E.mjs +21 -0
- package/package.json +4 -4
- package/dist/ai-DOOKLPkG.mjs +0 -2
- package/dist/ai-gateway-Cj1T3avF.mjs +0 -8
- package/dist/ai-search-CQF_Sn7d.mjs +0 -7
- package/dist/ai_gateway-C3fH22C0.mjs +0 -4
- package/dist/analytics_engine-DdXVR8z2.mjs +0 -2
- package/dist/argo-CX_A4kcn.mjs +0 -2
- package/dist/audit-logs-BfBf3oo-.mjs +0 -2
- package/dist/auth-SyWhMmPu.mjs +0 -6
- package/dist/auth-ffdf9yR0.mjs +0 -135
- package/dist/autorag-BuGhGTeZ.mjs +0 -2
- package/dist/billing-PoG81XaQ.mjs +0 -2
- package/dist/bot-management-CFvtVx62.mjs +0 -5
- package/dist/botnet-feed-B-M4Yu0W.mjs +0 -3
- package/dist/brand-protection-D05Eg-_6.mjs +0 -3
- package/dist/browser-rendering-xu8F_Rrv.mjs +0 -4
- package/dist/calls-CZbO7TyR.mjs +0 -4
- package/dist/certificate-authorities-D2yr7_3t.mjs +0 -2
- package/dist/client-certificates-MJcDsTId.mjs +0 -3
- package/dist/cloud-connector-DWOrN2eM.mjs +0 -2
- package/dist/config-DYzlVxcB.mjs +0 -2
- package/dist/connectivity-BX8C7tvK.mjs +0 -3
- package/dist/content-scanning-r6uzMO1r.mjs +0 -4
- package/dist/context-DGlHRGWM.mjs +0 -2
- package/dist/custom-nameservers-D1DtlRue.mjs +0 -3
- package/dist/custom-pages-DQCi2plU.mjs +0 -4
- package/dist/d1-DbnYhw45.mjs +0 -4
- package/dist/data-security-D_EtYBfo.mjs +0 -6
- package/dist/dcv-delegation-CHspSzTI.mjs +0 -2
- package/dist/diagnostics-BJQGjVJn.mjs +0 -3
- package/dist/dist-DNBSHor6.mjs +0 -301
- package/dist/dns-firewall-B4DVXFBQ.mjs +0 -57
- package/dist/durable-objects-CTboySEo.mjs +0 -2
- package/dist/email-sending-DwWKc5jC.mjs +0 -3
- package/dist/google-tag-gateway-BGD49nRC.mjs +0 -2
- package/dist/hostnames-BiomxukN.mjs +0 -3
- package/dist/hyperdrive-Da104VaQ.mjs +0 -18
- package/dist/iam-BIGKo0WW.mjs +0 -6
- package/dist/images-BO8FbDAa.mjs +0 -5
- package/dist/intel-CY6_79v8.mjs +0 -3
- package/dist/keyless-certificates-CZC-L8gM.mjs +0 -3
- package/dist/leaked-credential-checks-qLzRyu85.mjs +0 -3
- package/dist/magic-cloud-networking-CSOM3EM-.mjs +0 -5
- package/dist/managed-transforms-D15yVbZx.mjs +0 -3
- package/dist/mtls-certificates-D8k0AXWK.mjs +0 -3
- package/dist/origin-ca-certificates-DXIvD8H5.mjs +0 -3
- package/dist/origin-post-quantum-encryption-C8oOczyV.mjs +0 -2
- package/dist/progress-CrCGTq7N.mjs +0 -2
- package/dist/queues-CN6DPhRR.mjs +0 -6
- package/dist/r2-data-catalog-Bbo93TJx.mjs +0 -14
- package/dist/radar-Bxb0WX8V.mjs +0 -2
- package/dist/raw-fetch-Dlccg0Tr.mjs +0 -2
- package/dist/request-tracers-DOW_reTJ.mjs +0 -2
- package/dist/resource-sharing-D7TX0JV0.mjs +0 -5
- package/dist/rules-BXRADHL5.mjs +0 -4
- package/dist/rum-BjPptTUP.mjs +0 -4
- package/dist/security-center-DAy6AKtT.mjs +0 -2
- package/dist/security-txt-xAMb7K6Y.mjs +0 -3
- package/dist/shared-AGtpXwwL.mjs +0 -2
- package/dist/snippets-CCSsCXVs.mjs +0 -4
- package/dist/speed-CuzTE0AL.mjs +0 -4
- package/dist/src-BW6vfAwE.mjs +0 -108
- package/dist/ssl-BWA2LdwC.mjs +0 -15
- package/dist/stream-GFsIZ-pP.mjs +0 -14
- package/dist/url-normalization-B5RN4nLD.mjs +0 -3
- package/dist/url-scanner-BrZ1L9OC.mjs +0 -2
- package/dist/vectorize-C7_oQlaI.mjs +0 -4
- package/dist/workers-builds-AVfx8IyL.mjs +0 -7
- package/dist/zaraz-xYSWIV4P.mjs +0 -2
- package/dist/zones-BSgmZ9WC.mjs +0 -21
- /package/dist/{body-parser-DKa8Ipg1.mjs → body-parser-DWSy7uZ8.mjs} +0 -0
- /package/dist/{cli-types-CRIDdDw3.mjs → cli-types-BeyOc81z.mjs} +0 -0
- /package/dist/{input-validation-zEO81MWN.mjs → input-validation-_fMCApaH.mjs} +0 -0
- /package/dist/{lib-Eu1wXxuh.mjs → lib-4PQI6yRW.mjs} +0 -0
- /package/dist/{local-VJaJ3BZ1.mjs → local-CYc9q7l2.mjs} +0 -0
- /package/dist/{metadata-5VwHPW6C.mjs → metadata-OOwvpR8m.mjs} +0 -0
- /package/dist/{resolve-4-OSeHlK.mjs → resolve-C3h-mwp7.mjs} +0 -0
- /package/dist/{theme-BklJDrb2.mjs → theme-DbNbIY4d.mjs} +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{C as e,D as t,E as n,T as r,_ as i,i as a,n as o}from"./auth-ffdf9yR0.mjs";import{n as s,r as c,t as l}from"./body-parser-DKa8Ipg1.mjs";import{t as u}from"./output-BJFNwj7b.mjs";import{n as d,t as f}from"./progress-CrCGTq7N.mjs";import{n as p}from"./input-validation-zEO81MWN.mjs";import{t as m}from"./local-VJaJ3BZ1.mjs";import{t as h}from"./cli-types-CRIDdDw3.mjs";import{n as g,t as _}from"./raw-fetch-Dlccg0Tr.mjs";function v(e){return e.option(`forwarded`,{type:`string`,description:`The forwarded header`}).option(`description`,{type:`string`,description:`The description field`}).option(`destination-type`,{type:`string`,description:`The destination_type field`,choices:[`NONE`,`ZERO_TRUST_LIST`]}).option(`name`,{type:`string`,description:`The name field`}).option(`policy`,{type:`string`,description:`The policy field`}).option(`update-mode`,{type:`string`,description:`The update_mode field`,choices:[`AUTO`,`MANUAL`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ee={command:`create`,describe:`Create a new Catalog Sync (Closed Beta).`,builder:v,handler:async r=>{let h={};if(r.forwarded!==void 0&&(h.forwarded=String(r.forwarded)),r.dryRun){d({command:`cf magic-cloud-networking catalog-syncs create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({description:p(r.description,`description`,`text`),destination_type:p(r[`destination-type`],`destination-type`,`text`),name:p(r.name,`name`,`text`),policy:p(r.policy,`policy`,`text`),update_mode:p(r[`update-mode`],`update-mode`,`text`)}):s(r.body)});return}let g=await o(r),_=r.local?m:await i(g);if(r.accountId=_,r.body){let e=s(r.body);u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/catalog-syncs`,{body:e,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`});return}r[`destination-type`]===void 0&&(r[`destination-type`]=await n(`destination-type`,`The destination_type field`,[`NONE`,`ZERO_TRUST_LIST`])),r.name===void 0&&(r.name=await t(`name`,`The name field`)),r[`update-mode`]===void 0&&(r[`update-mode`]=await n(`update-mode`,`The update_mode field`,[`AUTO`,`MANUAL`]));let v={};r.description!==void 0&&c(v,[`description`],p(r.description,`description`,`text`)),r[`destination-type`]!==void 0&&c(v,[`destination_type`],p(r[`destination-type`],`destination-type`,`text`)),r.name!==void 0&&c(v,[`name`],p(r.name,`name`,`text`)),r.policy!==void 0&&c(v,[`policy`],p(r.policy,`policy`,`text`)),r[`update-mode`]!==void 0&&c(v,[`update_mode`],p(r[`update-mode`],`update-mode`,`text`)),u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/catalog-syncs`,{body:Object.keys(v).length>0?v:void 0,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`})}};function te(e){return e.positional(`sync-id`,{type:`string`,description:`Sync ID`,demandOption:!0}).option(`delete-destination`,{type:`boolean`,description:`Delete destination`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const y={command:`delete <sync-id>`,describe:`Delete a Catalog Sync (Closed Beta).`,builder:te,handler:async t=>{let n={delete_destination:t[`delete-destination`]};if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/${t[`sync-id`]==null?`<sync-id>`:encodeURIComponent(String(t[`sync-id`]))}`,pathParams:{"sync-id":String(t[`sync-id`]??``)},query:n,bodyKind:`none`});return}let a=await o(t),s=t.local?m:await i(a);if(t.accountId=s,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}u(await f(`Deleting`,async()=>a.magicCloudNetworking.catalogSyncs.delete({account_id:s,sync_id:t[`sync-id`],...n})),{successLabel:`Deleted`})}};function b(e){return e.positional(`sync-id`,{type:`string`,description:`Sync ID`,demandOption:!0}).option(`description`,{type:`string`,description:`The description field`}).option(`name`,{type:`string`,description:`The name field`}).option(`policy`,{type:`string`,description:`The policy field`}).option(`update-mode`,{type:`string`,description:`The update_mode field`,choices:[`AUTO`,`MANUAL`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const x={command:`edit <sync-id>`,describe:`Update a Catalog Sync (Closed Beta).`,builder:b,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/${t[`sync-id`]==null?`<sync-id>`:encodeURIComponent(String(t[`sync-id`]))}`,pathParams:{"sync-id":String(t[`sync-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({description:p(t.description,`description`,`text`),name:p(t.name,`name`,`text`),policy:p(t.policy,`policy`,`text`),update_mode:p(t[`update-mode`],`update-mode`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.catalogSyncs.edit({body:e,account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Updated`});return}let a=l({description:p(t.description,`description`,`text`),name:p(t.name,`name`,`text`),policy:p(t.policy,`policy`,`text`),update_mode:p(t[`update-mode`],`update-mode`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.catalogSyncs.edit({body:a,account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Updated`})}};function S(e){return e.positional(`sync-id`,{type:`string`,description:`Sync ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`get <sync-id>`,describe:`Read a Catalog Sync (Closed Beta).`,builder:S,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/${t[`sync-id`]==null?`<sync-id>`:encodeURIComponent(String(t[`sync-id`]))}`,pathParams:{"sync-id":String(t[`sync-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Loading`,async()=>n.magicCloudNetworking.catalogSyncs.get({account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Loaded`})}};function w(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const T={command:`list`,describe:`List Catalog Syncs (Closed Beta).`,builder:w,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Loading`,async()=>n.magicCloudNetworking.catalogSyncs.list({account_id:r})),{successLabel:`Loaded`})}};function E(e){return e.option(`destination-type`,{type:`string`,description:`Specify type of destination, omit to return all.`,choices:[`NONE`,`ZERO_TRUST_LIST`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const D={command:`list`,describe:`List prebuilt catalog sync policies (Closed Beta).`,builder:h(E),handler:async t=>{let n={destination_type:t[`destination-type`]};if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs prebuilt-policies list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/prebuilt-policies`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.catalogSyncs.prebuiltPolicies.list({account_id:a,...n})),{successLabel:`Loaded`})}},O={command:`prebuilt-policies`,describe:`Synchronize cloud resource inventories from AWS, Azure, and GCP into a unified catalog`,builder:e=>e.command(D).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function k(e){return e.positional(`sync-id`,{type:`string`,description:`Sync ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const A={command:`refresh <sync-id>`,describe:`Refresh a Catalog Sync's destination by running the sync policy against latest resource catalog (Closed Beta).`,builder:k,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs refresh`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/${t[`sync-id`]==null?`<sync-id>`:encodeURIComponent(String(t[`sync-id`]))}/refresh`,pathParams:{"sync-id":String(t[`sync-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Creating`,async()=>n.magicCloudNetworking.catalogSyncs.refresh({account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Created`})}};function j(e){return e.positional(`sync-id`,{type:`string`,description:`Sync ID`,demandOption:!0}).option(`description`,{type:`string`,description:`The description field`}).option(`name`,{type:`string`,description:`The name field`}).option(`policy`,{type:`string`,description:`The policy field`}).option(`update-mode`,{type:`string`,description:`The update_mode field`,choices:[`AUTO`,`MANUAL`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const M={command:`update <sync-id>`,describe:`Update a Catalog Sync (Closed Beta).`,builder:j,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking catalog-syncs update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/catalog-syncs/${t[`sync-id`]==null?`<sync-id>`:encodeURIComponent(String(t[`sync-id`]))}`,pathParams:{"sync-id":String(t[`sync-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({description:p(t.description,`description`,`text`),name:p(t.name,`name`,`text`),policy:p(t.policy,`policy`,`text`),update_mode:p(t[`update-mode`],`update-mode`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.catalogSyncs.update({body:e,account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Updated`});return}let a=l({description:p(t.description,`description`,`text`),name:p(t.name,`name`,`text`),policy:p(t.policy,`policy`,`text`),update_mode:p(t[`update-mode`],`update-mode`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.catalogSyncs.update({body:a,account_id:r,sync_id:t[`sync-id`]})),{successLabel:`Updated`})}},N={command:`catalog-syncs`,describe:`Synchronize cloud resource inventories from AWS, Azure, and GCP into a unified catalog`,builder:e=>e.command(ee).command(y).command(x).command(C).command(T).command(A).command(M).command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function P(e){return e.option(`forwarded`,{type:`string`,description:`The forwarded header`}).option(`cloud-type`,{type:`string`,description:`The cloud_type field`,choices:[`AWS`,`AZURE`,`GOOGLE`,`CLOUDFLARE`]}).option(`description`,{type:`string`,description:`The description field`}).option(`friendly-name`,{type:`string`,description:`The friendly_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const F={command:`create`,describe:`Create a new Cloud Integration (Closed Beta).`,builder:P,handler:async r=>{let h={};if(r.forwarded!==void 0&&(h.forwarded=String(r.forwarded)),r.dryRun){d({command:`cf magic-cloud-networking cloud-integrations create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({cloud_type:p(r[`cloud-type`],`cloud-type`,`text`),description:p(r.description,`description`,`text`),friendly_name:p(r[`friendly-name`],`friendly-name`,`text`)}):s(r.body)});return}let g=await o(r),_=r.local?m:await i(g);if(r.accountId=_,r.body){let e=s(r.body);u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/providers`,{body:e,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`});return}r[`cloud-type`]===void 0&&(r[`cloud-type`]=await n(`cloud-type`,`The cloud_type field`,[`AWS`,`AZURE`,`GOOGLE`,`CLOUDFLARE`])),r[`friendly-name`]===void 0&&(r[`friendly-name`]=await t(`friendly-name`,`The friendly_name field`));let v={};r[`cloud-type`]!==void 0&&c(v,[`cloud_type`],p(r[`cloud-type`],`cloud-type`,`text`)),r.description!==void 0&&c(v,[`description`],p(r.description,`description`,`text`)),r[`friendly-name`]!==void 0&&c(v,[`friendly_name`],p(r[`friendly-name`],`friendly-name`,`text`)),u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/providers`,{body:Object.keys(v).length>0?v:void 0,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`})}};function I(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const L={command:`delete <provider-id>`,describe:`Delete a Cloud Integration (Closed Beta).`,builder:I,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}`,pathParams:{"provider-id":String(t[`provider-id`]??``)},bodyKind:`none`});return}let n=await o(t),a=t.local?m:await i(n);if(t.accountId=a,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
4
|
-
`);return}u(await f(`Deleting`,async()=>n.magicCloudNetworking.cloudIntegrations.delete({account_id:a,provider_id:t[`provider-id`]})),{successLabel:`Deleted`})}};function R(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const z={command:`discover-all`,describe:`Run discovery for all Cloud Integrations in an account (Closed Beta).`,builder:R,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations discover-all`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/discover`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Creating`,async()=>n.magicCloudNetworking.cloudIntegrations.discoverAll({account_id:r})),{successLabel:`Created`})}};function B(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`v2`,{type:`boolean`,description:`V2`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const V={command:`discover <provider-id>`,describe:`Run discovery for a Cloud Integration (Closed Beta).`,builder:B,handler:async t=>{let n={v2:t.v2};if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations discover`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}/discover`,pathParams:{"provider-id":String(t[`provider-id`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Creating`,async()=>r.magicCloudNetworking.cloudIntegrations.discover({account_id:a,provider_id:t[`provider-id`],...n})),{successLabel:`Created`})}};function H(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`aws-arn`,{type:`string`,description:`The aws_arn field`}).option(`azure-subscription-id`,{type:`string`,description:`The azure_subscription_id field`}).option(`azure-tenant-id`,{type:`string`,description:`The azure_tenant_id field`}).option(`description`,{type:`string`,description:`The description field`}).option(`friendly-name`,{type:`string`,description:`The friendly_name field`}).option(`gcp-project-id`,{type:`string`,description:`The gcp_project_id field`}).option(`gcp-service-account-email`,{type:`string`,description:`The gcp_service_account_email field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const U={command:`edit <provider-id>`,describe:`Update a Cloud Integration (Closed Beta).`,builder:H,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}`,pathParams:{"provider-id":String(t[`provider-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({aws_arn:p(t[`aws-arn`],`aws-arn`,`text`),azure_subscription_id:p(t[`azure-subscription-id`],`azure-subscription-id`,`text`),azure_tenant_id:p(t[`azure-tenant-id`],`azure-tenant-id`,`text`),description:p(t.description,`description`,`text`),friendly_name:p(t[`friendly-name`],`friendly-name`,`text`),gcp_project_id:p(t[`gcp-project-id`],`gcp-project-id`,`text`),gcp_service_account_email:p(t[`gcp-service-account-email`],`gcp-service-account-email`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.cloudIntegrations.edit({body:e,account_id:r,provider_id:t[`provider-id`]})),{successLabel:`Updated`});return}let a=l({aws_arn:p(t[`aws-arn`],`aws-arn`,`text`),azure_subscription_id:p(t[`azure-subscription-id`],`azure-subscription-id`,`text`),azure_tenant_id:p(t[`azure-tenant-id`],`azure-tenant-id`,`text`),description:p(t.description,`description`,`text`),friendly_name:p(t[`friendly-name`],`friendly-name`,`text`),gcp_project_id:p(t[`gcp-project-id`],`gcp-project-id`,`text`),gcp_service_account_email:p(t[`gcp-service-account-email`],`gcp-service-account-email`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.cloudIntegrations.edit({body:a,account_id:r,provider_id:t[`provider-id`]})),{successLabel:`Updated`})}};function W(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`status`,{type:`boolean`,description:`Status`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const G={command:`get <provider-id>`,describe:`Read a Cloud Integration (Closed Beta).`,builder:W,handler:async t=>{let n={status:t.status};if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}`,pathParams:{"provider-id":String(t[`provider-id`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.cloudIntegrations.get({account_id:a,provider_id:t[`provider-id`],...n})),{successLabel:`Loaded`})}};function K(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const q={command:`initial-setup <provider-id>`,describe:`Get initial configuration to complete Cloud Integration setup (Closed Beta).`,builder:K,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations initial-setup`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}/initial_setup`,pathParams:{"provider-id":String(t[`provider-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Loading`,async()=>n.magicCloudNetworking.cloudIntegrations.initialSetup({account_id:r,provider_id:t[`provider-id`]})),{successLabel:`Loaded`})}};function J(e){return e.option(`status`,{type:`boolean`,description:`Status`}).option(`order-by`,{type:`string`,description:`One of ["updated_at", "id", "cloud_type", "name"].`}).option(`desc`,{type:`boolean`,description:`Desc`}).option(`cloudflare`,{type:`boolean`,description:`Cloudflare`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Y={command:`list`,describe:`List Cloud Integrations (Closed Beta).`,builder:J,handler:async t=>{let n={status:t.status,order_by:t[`order-by`],desc:t.desc,cloudflare:t.cloudflare};if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.cloudIntegrations.list({account_id:a,...n})),{successLabel:`Loaded`})}};function X(e){return e.positional(`provider-id`,{type:`string`,description:`Provider ID`,demandOption:!0}).option(`aws-arn`,{type:`string`,description:`The aws_arn field`}).option(`azure-subscription-id`,{type:`string`,description:`The azure_subscription_id field`}).option(`azure-tenant-id`,{type:`string`,description:`The azure_tenant_id field`}).option(`description`,{type:`string`,description:`The description field`}).option(`friendly-name`,{type:`string`,description:`The friendly_name field`}).option(`gcp-project-id`,{type:`string`,description:`The gcp_project_id field`}).option(`gcp-service-account-email`,{type:`string`,description:`The gcp_service_account_email field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Z={command:`update <provider-id>`,describe:`Update a Cloud Integration (Closed Beta).`,builder:X,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking cloud-integrations update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/providers/${t[`provider-id`]==null?`<provider-id>`:encodeURIComponent(String(t[`provider-id`]))}`,pathParams:{"provider-id":String(t[`provider-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({aws_arn:p(t[`aws-arn`],`aws-arn`,`text`),azure_subscription_id:p(t[`azure-subscription-id`],`azure-subscription-id`,`text`),azure_tenant_id:p(t[`azure-tenant-id`],`azure-tenant-id`,`text`),description:p(t.description,`description`,`text`),friendly_name:p(t[`friendly-name`],`friendly-name`,`text`),gcp_project_id:p(t[`gcp-project-id`],`gcp-project-id`,`text`),gcp_service_account_email:p(t[`gcp-service-account-email`],`gcp-service-account-email`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.cloudIntegrations.update({body:e,account_id:r,provider_id:t[`provider-id`]})),{successLabel:`Updated`});return}let a=l({aws_arn:p(t[`aws-arn`],`aws-arn`,`text`),azure_subscription_id:p(t[`azure-subscription-id`],`azure-subscription-id`,`text`),azure_tenant_id:p(t[`azure-tenant-id`],`azure-tenant-id`,`text`),description:p(t.description,`description`,`text`),friendly_name:p(t[`friendly-name`],`friendly-name`,`text`),gcp_project_id:p(t[`gcp-project-id`],`gcp-project-id`,`text`),gcp_service_account_email:p(t[`gcp-service-account-email`],`gcp-service-account-email`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.cloudIntegrations.update({body:a,account_id:r,provider_id:t[`provider-id`]})),{successLabel:`Updated`})}},Q={command:`cloud-integrations`,describe:`Cloud provider credentials and integrations for resource discovery and on-ramp provisioning`,builder:e=>e.command(F).command(L).command(V).command(z).command(U).command(G).command(q).command(Y).command(Z).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ne(e){return e.option(`prefixes`,{type:`string`,array:!0,description:`The prefixes field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const re={command:`edit`,describe:`Update the Magic WAN Address Space (Closed Beta).`,builder:ne,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps address-spaces edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/magic_wan_address_space`,pathParams:{},bodyKind:`json`,body:t.body===void 0?l({prefixes:t.prefixes}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.addressSpaces.edit({body:e,account_id:r})),{successLabel:`Updated`});return}if(t.prefixes===void 0)throw Error(`--prefixes is required (or pass --body with this field set).`);let a=l({prefixes:t.prefixes});u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.addressSpaces.edit({body:a,account_id:r})),{successLabel:`Updated`})}};function ie(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ae={command:`list`,describe:`Read the Magic WAN Address Space (Closed Beta).`,builder:ie,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps address-spaces list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/magic_wan_address_space`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Loading`,async()=>n.magicCloudNetworking.onRamps.addressSpaces.list({account_id:r})),{successLabel:`Loaded`})}};function oe(e){return e.option(`prefixes`,{type:`string`,array:!0,description:`The prefixes field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const se={command:`update`,describe:`Update the Magic WAN Address Space (Closed Beta).`,builder:oe,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps address-spaces update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/magic_wan_address_space`,pathParams:{},bodyKind:`json`,body:t.body===void 0?l({prefixes:t.prefixes}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.addressSpaces.update({body:e,account_id:r})),{successLabel:`Updated`});return}if(t.prefixes===void 0)throw Error(`--prefixes is required (or pass --body with this field set).`);let a=l({prefixes:t.prefixes});u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.addressSpaces.update({body:a,account_id:r})),{successLabel:`Updated`})}},ce={command:`address-spaces`,describe:`On-ramp connections that bridge cloud VPCs/VNets to your Cloudflare network`,builder:e=>e.command(re).command(ae).command(se).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function le(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ue={command:`apply <onramp-id>`,describe:`Apply an On-ramp (Closed Beta).`,builder:le,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps apply`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}/apply`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Creating`,async()=>n.magicCloudNetworking.onRamps.apply({account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Created`})}};function de(e){return e.option(`forwarded`,{type:`string`,description:`The forwarded header`}).option(`adopted-hub-id`,{type:`string`,description:`The adopted_hub_id field`}).option(`attached-hubs`,{type:`string`,array:!0,description:`The attached_hubs field`}).option(`attached-vpcs`,{type:`string`,array:!0,description:`The attached_vpcs field`}).option(`cloud-asn`,{type:`number`,description:`Sets the cloud-side ASN. If unset or zero, the cloud's default ASN takes effect.`}).option(`cloud-type`,{type:`string`,description:`The cloud_type field`,choices:[`AWS`,`AZURE`,`GOOGLE`]}).option(`description`,{type:`string`,description:`The description field`}).option(`dynamic-routing`,{type:`boolean`,description:`Enables BGP routing. When enabling this feature, set both install_routes_in_cloud and install_routes_in_magic_wan to false.`}).option(`hub-provider-id`,{type:`string`,description:`The hub_provider_id field`}).option(`install-routes-in-cloud`,{type:`boolean`,description:`The install_routes_in_cloud field`}).option(`install-routes-in-magic-wan`,{type:`boolean`,description:`The install_routes_in_magic_wan field`}).option(`manage-hub-to-hub-attachments`,{type:`boolean`,description:`The manage_hub_to_hub_attachments field`}).option(`manage-vpc-to-hub-attachments`,{type:`boolean`,description:`The manage_vpc_to_hub_attachments field`}).option(`name`,{type:`string`,description:`The name field`}).option(`region`,{type:`string`,description:`The region field`}).option(`type`,{type:`string`,description:`The type field`,choices:[`OnrampTypeSingle`,`OnrampTypeHub`]}).option(`vpc`,{type:`string`,description:`The vpc field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const fe={command:`create`,describe:`Create a new On-ramp (Closed Beta).`,builder:de,handler:async r=>{let h={};if(r.forwarded!==void 0&&(h.forwarded=String(r.forwarded)),r.dryRun){d({command:`cf magic-cloud-networking on-ramps create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({adopted_hub_id:p(r[`adopted-hub-id`],`adopted-hub-id`,`text`),attached_hubs:r[`attached-hubs`],attached_vpcs:r[`attached-vpcs`],cloud_asn:r[`cloud-asn`],cloud_type:p(r[`cloud-type`],`cloud-type`,`text`),description:p(r.description,`description`,`text`),dynamic_routing:r[`dynamic-routing`],hub_provider_id:p(r[`hub-provider-id`],`hub-provider-id`,`text`),install_routes_in_cloud:r[`install-routes-in-cloud`],install_routes_in_magic_wan:r[`install-routes-in-magic-wan`],manage_hub_to_hub_attachments:r[`manage-hub-to-hub-attachments`],manage_vpc_to_hub_attachments:r[`manage-vpc-to-hub-attachments`],name:p(r.name,`name`,`text`),region:p(r.region,`region`,`text`),type:p(r.type,`type`,`text`),vpc:p(r.vpc,`vpc`,`text`)}):s(r.body)});return}let g=await o(r),_=r.local?m:await i(g);if(r.accountId=_,r.body){let e=s(r.body);u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/onramps`,{body:e,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`});return}if(r[`cloud-type`]===void 0&&(r[`cloud-type`]=await n(`cloud-type`,`The cloud_type field`,[`AWS`,`AZURE`,`GOOGLE`])),r[`dynamic-routing`]===void 0)throw Error(`--dynamic-routing is required (or pass --body with this field set).`);if(r[`install-routes-in-cloud`]===void 0)throw Error(`--install-routes-in-cloud is required (or pass --body with this field set).`);if(r[`install-routes-in-magic-wan`]===void 0)throw Error(`--install-routes-in-magic-wan is required (or pass --body with this field set).`);r.name===void 0&&(r.name=await t(`name`,`The name field`)),r.type===void 0&&(r.type=await n(`type`,`The type field`,[`OnrampTypeSingle`,`OnrampTypeHub`]));let v={};r[`adopted-hub-id`]!==void 0&&c(v,[`adopted_hub_id`],p(r[`adopted-hub-id`],`adopted-hub-id`,`text`)),r[`attached-hubs`]!==void 0&&c(v,[`attached_hubs`],r[`attached-hubs`]),r[`attached-vpcs`]!==void 0&&c(v,[`attached_vpcs`],r[`attached-vpcs`]),r[`cloud-asn`]!==void 0&&c(v,[`cloud_asn`],r[`cloud-asn`]),r[`cloud-type`]!==void 0&&c(v,[`cloud_type`],p(r[`cloud-type`],`cloud-type`,`text`)),r.description!==void 0&&c(v,[`description`],p(r.description,`description`,`text`)),r[`dynamic-routing`]!==void 0&&c(v,[`dynamic_routing`],r[`dynamic-routing`]),r[`hub-provider-id`]!==void 0&&c(v,[`hub_provider_id`],p(r[`hub-provider-id`],`hub-provider-id`,`text`)),r[`install-routes-in-cloud`]!==void 0&&c(v,[`install_routes_in_cloud`],r[`install-routes-in-cloud`]),r[`install-routes-in-magic-wan`]!==void 0&&c(v,[`install_routes_in_magic_wan`],r[`install-routes-in-magic-wan`]),r[`manage-hub-to-hub-attachments`]!==void 0&&c(v,[`manage_hub_to_hub_attachments`],r[`manage-hub-to-hub-attachments`]),r[`manage-vpc-to-hub-attachments`]!==void 0&&c(v,[`manage_vpc_to_hub_attachments`],r[`manage-vpc-to-hub-attachments`]),r.name!==void 0&&c(v,[`name`],p(r.name,`name`,`text`)),r.region!==void 0&&c(v,[`region`],p(r.region,`region`,`text`)),r.type!==void 0&&c(v,[`type`],p(r.type,`type`,`text`)),r.vpc!==void 0&&c(v,[`vpc`],p(r.vpc,`vpc`,`text`)),u(await f(`Creating`,async()=>a(g,`POST`,`/accounts/${_}/magic/cloud/onramps`,{body:Object.keys(v).length>0?v:void 0,headers:Object.keys(h).length>0?h:void 0})),{successLabel:`Created`})}};function pe(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`destroy`,{type:`boolean`,description:`Destroy`}).option(`force`,{type:`boolean`,description:`Force`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const me={command:`delete <onramp-id>`,describe:`Delete an On-ramp (Closed Beta).`,builder:pe,handler:async t=>{let n={destroy:t.destroy,force:t.force};if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},query:n,bodyKind:`none`});return}let a=await o(t),s=t.local?m:await i(a);if(t.accountId=s,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
5
|
-
`);return}u(await f(`Deleting`,async()=>a.magicCloudNetworking.onRamps.delete({account_id:s,onramp_id:t[`onramp-id`],...n})),{successLabel:`Deleted`})}};function he(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`attached-hubs`,{type:`string`,array:!0,description:`The attached_hubs field`}).option(`attached-vpcs`,{type:`string`,array:!0,description:`The attached_vpcs field`}).option(`description`,{type:`string`,description:`The description field`}).option(`install-routes-in-cloud`,{type:`boolean`,description:`The install_routes_in_cloud field`}).option(`install-routes-in-magic-wan`,{type:`boolean`,description:`The install_routes_in_magic_wan field`}).option(`manage-hub-to-hub-attachments`,{type:`boolean`,description:`The manage_hub_to_hub_attachments field`}).option(`manage-vpc-to-hub-attachments`,{type:`boolean`,description:`The manage_vpc_to_hub_attachments field`}).option(`name`,{type:`string`,description:`The name field`}).option(`vpc`,{type:`string`,description:`The vpc field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ge={command:`edit <onramp-id>`,describe:`Update an On-ramp (Closed Beta).`,builder:he,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({attached_hubs:t[`attached-hubs`],attached_vpcs:t[`attached-vpcs`],description:p(t.description,`description`,`text`),install_routes_in_cloud:t[`install-routes-in-cloud`],install_routes_in_magic_wan:t[`install-routes-in-magic-wan`],manage_hub_to_hub_attachments:t[`manage-hub-to-hub-attachments`],manage_vpc_to_hub_attachments:t[`manage-vpc-to-hub-attachments`],name:p(t.name,`name`,`text`),vpc:p(t.vpc,`vpc`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.edit({body:e,account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Updated`});return}let a=l({attached_hubs:t[`attached-hubs`],attached_vpcs:t[`attached-vpcs`],description:p(t.description,`description`,`text`),install_routes_in_cloud:t[`install-routes-in-cloud`],install_routes_in_magic_wan:t[`install-routes-in-magic-wan`],manage_hub_to_hub_attachments:t[`manage-hub-to-hub-attachments`],manage_vpc_to_hub_attachments:t[`manage-vpc-to-hub-attachments`],name:p(t.name,`name`,`text`),vpc:p(t.vpc,`vpc`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.edit({body:a,account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Updated`})}};function _e(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const ve={command:`export <onramp-id>`,describe:`Export an On-ramp to terraform ready file(s) (Closed Beta).`,builder:_e,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps export`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}/export`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r;let a=await f(`Loading`,async()=>_(`/accounts/${r}/magic/cloud/onramps/${encodeURIComponent(String(t[`onramp-id`]))}/export`,{method:`POST`,localEndpoint:t.local?t.localEndpoint:void 0}));g(t.text===!0?a.toString(`utf-8`):a)}};function ye(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`status`,{type:`boolean`,description:`Status`}).option(`vpcs`,{type:`boolean`,description:`Vpcs`}).option(`post-apply-resources`,{type:`boolean`,description:`Post apply resources`}).option(`planned-resources`,{type:`boolean`,description:`Planned resources`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const be={command:`get <onramp-id>`,describe:`Read an On-ramp (Closed Beta).`,builder:ye,handler:async t=>{let n={status:t.status,vpcs:t.vpcs,post_apply_resources:t[`post-apply-resources`],planned_resources:t[`planned-resources`]};if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.onRamps.get({account_id:a,onramp_id:t[`onramp-id`],...n})),{successLabel:`Loaded`})}};function xe(e){return e.option(`order-by`,{type:`string`,description:`One of ["updated_at", "id", "cloud_type", "name"].`}).option(`desc`,{type:`boolean`,description:`Desc`}).option(`status`,{type:`boolean`,description:`Status`}).option(`vpcs`,{type:`boolean`,description:`Vpcs`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Se={command:`list`,describe:`List On-ramps (Closed Beta).`,builder:xe,handler:async t=>{let n={order_by:t[`order-by`],desc:t.desc,status:t.status,vpcs:t.vpcs};if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.onRamps.list({account_id:a,...n})),{successLabel:`Loaded`})}};function Ce(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const we={command:`plan <onramp-id>`,describe:`Plan an On-ramp (Closed Beta).`,builder:Ce,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps plan`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}/plan`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?m:await i(n);t.accountId=r,u(await f(`Creating`,async()=>n.magicCloudNetworking.onRamps.plan({account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Created`})}};function Te(e){return e.positional(`onramp-id`,{type:`string`,description:`Onramp ID`,demandOption:!0}).option(`attached-hubs`,{type:`string`,array:!0,description:`The attached_hubs field`}).option(`attached-vpcs`,{type:`string`,array:!0,description:`The attached_vpcs field`}).option(`description`,{type:`string`,description:`The description field`}).option(`install-routes-in-cloud`,{type:`boolean`,description:`The install_routes_in_cloud field`}).option(`install-routes-in-magic-wan`,{type:`boolean`,description:`The install_routes_in_magic_wan field`}).option(`manage-hub-to-hub-attachments`,{type:`boolean`,description:`The manage_hub_to_hub_attachments field`}).option(`manage-vpc-to-hub-attachments`,{type:`boolean`,description:`The manage_vpc_to_hub_attachments field`}).option(`name`,{type:`string`,description:`The name field`}).option(`vpc`,{type:`string`,description:`The vpc field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Ee={command:`update <onramp-id>`,describe:`Update an On-ramp (Closed Beta).`,builder:Te,handler:async t=>{if(t.dryRun){d({command:`cf magic-cloud-networking on-ramps update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/onramps/${t[`onramp-id`]==null?`<onramp-id>`:encodeURIComponent(String(t[`onramp-id`]))}`,pathParams:{"onramp-id":String(t[`onramp-id`]??``)},bodyKind:`json`,body:t.body===void 0?l({attached_hubs:t[`attached-hubs`],attached_vpcs:t[`attached-vpcs`],description:p(t.description,`description`,`text`),install_routes_in_cloud:t[`install-routes-in-cloud`],install_routes_in_magic_wan:t[`install-routes-in-magic-wan`],manage_hub_to_hub_attachments:t[`manage-hub-to-hub-attachments`],manage_vpc_to_hub_attachments:t[`manage-vpc-to-hub-attachments`],name:p(t.name,`name`,`text`),vpc:p(t.vpc,`vpc`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?m:await i(n);if(t.accountId=r,t.body){let e=s(t.body);u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.update({body:e,account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Updated`});return}let a=l({attached_hubs:t[`attached-hubs`],attached_vpcs:t[`attached-vpcs`],description:p(t.description,`description`,`text`),install_routes_in_cloud:t[`install-routes-in-cloud`],install_routes_in_magic_wan:t[`install-routes-in-magic-wan`],manage_hub_to_hub_attachments:t[`manage-hub-to-hub-attachments`],manage_vpc_to_hub_attachments:t[`manage-vpc-to-hub-attachments`],name:p(t.name,`name`,`text`),vpc:p(t.vpc,`vpc`,`text`)});u(await f(`Updating`,async()=>n.magicCloudNetworking.onRamps.update({body:a,account_id:r,onramp_id:t[`onramp-id`]})),{successLabel:`Updated`})}},De={command:`on-ramps`,describe:`On-ramp connections that bridge cloud VPCs/VNets to your Cloudflare network`,builder:e=>e.command(ue).command(fe).command(me).command(ge).command(ve).command(be).command(Se).command(we).command(Ee).command(ce).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function $(e){return e.option(`provider-id`,{type:`string`,description:`Provider ID`}).option(`resource-type`,{type:`string`,description:`Resource type`}).option(`resource-id`,{type:`string`,description:`Resource ID`}).option(`region`,{type:`string`,description:`Region`}).option(`resource-group`,{type:`string`,description:`Resource group`}).option(`search`,{type:`string`,description:`Search`}).option(`order-by`,{type:`string`,description:`One of ["id", "resource_type", "region"].`}).option(`desc`,{type:`boolean`,description:`Desc`}).option(`v2`,{type:`boolean`,description:`V2`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const Oe={command:`export`,describe:`Export resources in the Resource Catalog as a JSON file (Closed Beta).`,builder:$,handler:async t=>{let n={provider_id:t[`provider-id`],resource_type:t[`resource-type`],resource_id:t[`resource-id`],region:t.region,resource_group:t[`resource-group`],search:t.search,order_by:t[`order-by`],desc:t.desc,v2:t.v2};if(t.dryRun){d({command:`cf magic-cloud-networking resources export`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/resources/export`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a;let s=new URLSearchParams(Object.entries(n).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),c=await f(`Loading`,async()=>_(`/accounts/${a}/magic/cloud/resources/export${s?`?`+s:``}`,{method:`GET`,localEndpoint:t.local?t.localEndpoint:void 0}));g(t.text===!0?c.toString(`utf-8`):c)}};function ke(e){return e.positional(`resource-id`,{type:`string`,description:`Resource ID`,demandOption:!0}).option(`v2`,{type:`boolean`,description:`V2`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ae={command:`get <resource-id>`,describe:`Read an resource from the Resource Catalog (Closed Beta).`,builder:ke,handler:async t=>{let n={v2:t.v2};if(t.dryRun){d({command:`cf magic-cloud-networking resources get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/resources/${t[`resource-id`]==null?`<resource-id>`:encodeURIComponent(String(t[`resource-id`]))}`,pathParams:{"resource-id":String(t[`resource-id`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.resources.get({account_id:a,resource_id:t[`resource-id`],...n})),{successLabel:`Loaded`})}};function je(e){return e.option(`provider-id`,{type:`string`,description:`Provider ID`}).option(`resource-type`,{type:`string`,description:`Resource type`}).option(`resource-id`,{type:`string`,description:`Resource ID`}).option(`region`,{type:`string`,description:`Region`}).option(`resource-group`,{type:`string`,description:`Resource group`}).option(`managed`,{type:`boolean`,description:`Managed`}).option(`search`,{type:`string`,description:`Search`}).option(`order-by`,{type:`string`,description:`One of ["id", "resource_type", "region"].`}).option(`desc`,{type:`boolean`,description:`Desc`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`page`,{type:`number`,description:`Page`}).option(`cloudflare`,{type:`boolean`,description:`Cloudflare`}).option(`v2`,{type:`boolean`,description:`V2`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Me={command:`list`,describe:`List resources in the Resource Catalog (Closed Beta).`,builder:h(je),handler:async t=>{let n={provider_id:t[`provider-id`],resource_type:t[`resource-type`],resource_id:t[`resource-id`],region:t.region,resource_group:t[`resource-group`],managed:t.managed,search:t.search,order_by:t[`order-by`],desc:t.desc,per_page:t[`per-page`],page:t.page,cloudflare:t.cloudflare,v2:t.v2};if(t.dryRun){d({command:`cf magic-cloud-networking resources list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/resources`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?m:await i(r);t.accountId=a,u(await f(`Loading`,async()=>r.magicCloudNetworking.resources.list({account_id:a,...n})),{successLabel:`Loaded`})}};function Ne(e){return e.option(`policy`,{type:`string`,description:`The policy field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Pe={command:`policy-preview`,describe:`Preview Rego query result against the latest resource catalog (Closed Beta).`,builder:Ne,handler:async n=>{if(n.dryRun){d({command:`cf magic-cloud-networking resources policy-preview`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/magic/cloud/resources/policy-preview`,pathParams:{},bodyKind:`json`,body:n.body===void 0?l({policy:p(n.policy,`policy`,`text`)}):s(n.body)});return}let r=await o(n),a=n.local?m:await i(r);if(n.accountId=a,n.body){let e=s(n.body);u(await f(`Creating`,async()=>r.magicCloudNetworking.resources.policyPreview({...e,account_id:a})),{successLabel:`Created`});return}n.policy===void 0&&(n.policy=await t(`policy`,`The policy field`));let c=l({policy:p(n.policy,`policy`,`text`)});u(await f(`Creating`,async()=>r.magicCloudNetworking.resources.policyPreview({...c,account_id:a})),{successLabel:`Created`})}},Fe={command:`resources`,describe:`Discovered cloud resources (VPCs, subnets, route tables) from connected cloud accounts`,builder:e=>e.command(Oe).command(Ae).command(Me).command(Pe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Ie={command:`magic-cloud-networking`,describe:`Multi-cloud networking — discover cloud resources, manage on-ramps, and automate cross-cloud connectivity`,builder:e=>e.command(N).command(Q).command(De).command(Fe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Ie as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{S as e,T as t,n}from"./auth-ffdf9yR0.mjs";import{n as r}from"./body-parser-DKa8Ipg1.mjs";import{t as i}from"./output-BJFNwj7b.mjs";import{n as a,t as o}from"./progress-CrCGTq7N.mjs";function s(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const c={command:`delete`,describe:`Disables all Managed Transforms.`,builder:s,handler:async r=>{if(r.dryRun){a({command:`cf managed-transforms delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${r.zone??r.zoneId??`<zone>`}/managed_headers`,pathParams:{"zone-id":String(r.zone??r[`zone-id`]??``)},bodyKind:`none`});return}let s=await n(r),c=await e({zone:r.zone},s,{quiet:r.quiet});if(r.zoneId=c,!await t({force:!!r.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}i(await o(`Deleting`,async()=>s.managedTransforms.delete({zone_id:c})),{successLabel:`Deleted`})}};function l(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`A Managed Transforms patch object. Both fields are optional; only the sections provided will be updated.`})}const u={command:`edit`,describe:`Updates the status of one or more Managed Transforms.`,builder:l,handler:async t=>{if(t.dryRun){a({command:`cf managed-transforms edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/managed_headers`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:r(t.body)});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});if(t.zoneId=c,t.body){let e=r(t.body);i(await o(`Updating`,async()=>s.managedTransforms.edit({...e,zone_id:c})),{successLabel:`Updated`});return}i(await o(`Updating`,async()=>s.managedTransforms.edit({zone_id:c})),{successLabel:`Updated`})}};function d(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const f={command:`list`,describe:`Fetches a list of all Managed Transforms.`,builder:d,handler:async t=>{if(t.dryRun){a({command:`cf managed-transforms list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/managed_headers`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let r=await n(t),s=await e({zone:t.zone},r,{quiet:t.quiet});t.zoneId=s,i(await o(`Loading`,async()=>r.managedTransforms.list({zone_id:s})),{successLabel:`Loaded`})}},p={command:`managed-transforms`,describe:`Cloudflare-managed HTTP header transforms — automatically add security headers, remove server info, etc.`,builder:e=>e.command(c).command(u).command(f).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{p as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{C as e,D as t,T as n,_ as r,n as i}from"./auth-ffdf9yR0.mjs";import{n as a,t as o}from"./body-parser-DKa8Ipg1.mjs";import{t as s}from"./output-BJFNwj7b.mjs";import{n as c,t as l}from"./progress-CrCGTq7N.mjs";import{n as u}from"./input-validation-zEO81MWN.mjs";import{t as d}from"./local-VJaJ3BZ1.mjs";import{t as f}from"./cli-types-CRIDdDw3.mjs";function p(e){return e.positional(`mtls-certificate-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const m={command:`get <mtls-certificate-id>`,describe:`Lists all active associations between the certificate and Cloudflare services.`,builder:p,handler:async t=>{if(t.dryRun){c({command:`cf mtls-certificates associations get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/mtls_certificates/${t[`mtls-certificate-id`]==null?`<mtls-certificate-id>`:encodeURIComponent(String(t[`mtls-certificate-id`]))}/associations`,pathParams:{"mtls-certificate-id":String(t[`mtls-certificate-id`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.mtlsCertificates.associations.get({account_id:a,mtls_certificate_id:t[`mtls-certificate-id`]})),{successLabel:`Loaded`})}},h={command:`associations`,describe:`Operations for associations`,builder:e=>e.command(m).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function g(e){return e.option(`ca`,{type:`boolean`,description:`Indicates whether the certificate is a CA or leaf certificate.`}).option(`certificates`,{type:`string`,description:`The uploaded root CA certificate.`}).option(`name`,{type:`string`,description:`Optional unique name for the certificate. Only used for human readability.`}).option(`private-key`,{type:`string`,description:`The private key for the certificate. This field is only needed for specific use cases such as using a custom certificate with Zero Trust's block page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const _={command:`create`,describe:`Upload a certificate that you want to use with mTLS-enabled Cloudflare services, such as Bring Your Own CA (BYO-CA) for mTLS. To create certificates issued by the Cloudflare managed CA, use the [Create Client Certificate endpoint](/api/resources/client_certificates/methods/create/).`,builder:g,handler:async n=>{if(n.dryRun){c({command:`cf mtls-certificates create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/mtls_certificates`,pathParams:{},bodyKind:`json`,body:n.body===void 0?o({ca:n.ca,certificates:u(n.certificates,`certificates`,`text`),name:u(n.name,`name`,`text`),private_key:u(n[`private-key`],`private-key`,`text`)}):a(n.body)});return}let f=await i(n),p=n.local?d:await r(f);if(n.accountId=p,n.body){let e=a(n.body);s(await l(`Creating`,async()=>f.mtlsCertificates.create({...e,account_id:p})),{successLabel:`Created`});return}if(n.ca===void 0)throw Error(`--ca is required (or pass --body with this field set).`);n.certificates===void 0&&(n.certificates=await t(`certificates`,`The uploaded root CA certificate.`));let m=o({ca:n.ca,certificates:u(n.certificates,`certificates`,`text`),name:u(n.name,`name`,`text`),private_key:u(n[`private-key`],`private-key`,`text`)});s(await l(`Creating`,async()=>f.mtlsCertificates.create({...m,account_id:p})),{successLabel:`Created`})}};function v(e){return e.positional(`mtls-certificate-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const y={command:`delete <mtls-certificate-id>`,describe:`Deletes the mTLS certificate unless the certificate is in use by one or more Cloudflare services.`,builder:v,handler:async t=>{if(t.dryRun){c({command:`cf mtls-certificates delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/mtls_certificates/${t[`mtls-certificate-id`]==null?`<mtls-certificate-id>`:encodeURIComponent(String(t[`mtls-certificate-id`]))}`,pathParams:{"mtls-certificate-id":String(t[`mtls-certificate-id`]??``)},bodyKind:`none`});return}let a=await i(t),o=t.local?d:await r(a);if(t.accountId=o,!await n({force:!!t.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}s(await l(`Deleting`,async()=>a.mtlsCertificates.delete({account_id:o,mtls_certificate_id:t[`mtls-certificate-id`]})),{successLabel:`Deleted`})}};function b(e){return e.positional(`mtls-certificate-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const x={command:`get <mtls-certificate-id>`,describe:`Fetches a single mTLS certificate uploaded to your account. To get a certificate issued by the Cloudflare managed CA, use the [Client Certificate Details endpoint](/api/resources/client_certificates/methods/get/).`,builder:b,handler:async t=>{if(t.dryRun){c({command:`cf mtls-certificates get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/mtls_certificates/${t[`mtls-certificate-id`]==null?`<mtls-certificate-id>`:encodeURIComponent(String(t[`mtls-certificate-id`]))}`,pathParams:{"mtls-certificate-id":String(t[`mtls-certificate-id`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.mtlsCertificates.get({account_id:a,mtls_certificate_id:t[`mtls-certificate-id`]})),{successLabel:`Loaded`})}};function S(e){return e.option(`type`,{type:`string`,description:`Filters results by certificate type. Multiple types can be comma-separated.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`list`,describe:`Lists all mTLS certificates uploaded to your account, such as Bring Your Own CA (BYO-CA) for mTLS. To list certificates issued by the Cloudflare managed CA, use the [List Client Certificates endpoint](/api/resources/client_certificates/methods/list/).`,builder:f(S),handler:async t=>{let n={type:t.type};if(t.dryRun){c({command:`cf mtls-certificates list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/mtls_certificates`,pathParams:{},query:n,bodyKind:`none`});return}let a=await i(t),o=t.local?d:await r(a);t.accountId=o,s(await l(`Loading`,async()=>a.mtlsCertificates.list({account_id:o,...n})),{successLabel:`Loaded`})}},w={command:`mtls-certificates`,describe:`Upload and manage mTLS certificates used by API Shield, Workers, and Gateway for client authentication`,builder:e=>e.command(_).command(y).command(x).command(C).command(h).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{w as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{D as e,E as t,T as n,n as r}from"./auth-ffdf9yR0.mjs";import{n as i,t as a}from"./body-parser-DKa8Ipg1.mjs";import{t as o}from"./output-BJFNwj7b.mjs";import{n as s,t as c}from"./progress-CrCGTq7N.mjs";import{n as l}from"./input-validation-zEO81MWN.mjs";import{t as u}from"./cli-types-CRIDdDw3.mjs";function d(e){return e.option(`csr`,{type:`string`,description:`The Certificate Signing Request (CSR). Must be newline-encoded.`}).option(`hostnames`,{type:`string`,array:!0,description:"Array of hostnames or wildcard names bound to the certificate.\nHostnames must be fully qualified domain names (FQDNs) belonging to zones on your account (e.g., `example.com` or `sub.example.com`). Wildcards are supported only as a `*.` prefix for a single level (e.g., `*.example.com`). Double wildcards (`*.*.example.com`) and interior wildcards (`foo.*.example.com`) are not allowed. The wildcard suffix must be a multi-label domain (`*.example.com` is valid, but `*.com` is not). Unicode/IDN hostnames are accepted and automatically converted to punycode."}).option(`request-type`,{type:`string`,description:`Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).`,choices:[`origin-rsa`,`origin-ecc`,`keyless-certificate`]}).option(`requested-validity`,{type:`number`,description:`The number of days for which the certificate should be valid.`,default:5475}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const f={command:`create`,describe:`Create an Origin CA certificate. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).`,builder:d,handler:async n=>{if(n.dryRun){s({command:`cf origin-ca-certificates create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/certificates`,pathParams:{},bodyKind:`json`,body:n.body===void 0?a({csr:l(n.csr,`csr`,`text`),hostnames:n.hostnames,request_type:l(n[`request-type`],`request-type`,`text`),requested_validity:n[`requested-validity`]}):i(n.body)});return}let u=await r(n);if(n.body){let e=i(n.body);o(await c(`Creating`,async()=>u.originCaCertificates.create({...e})),{successLabel:`Created`});return}if(n.csr===void 0&&(n.csr=await e(`csr`,`The Certificate Signing Request (CSR). Must be newline-encoded.`)),n.hostnames===void 0)throw Error(`--hostnames is required (or pass --body with this field set).`);n[`request-type`]===void 0&&(n[`request-type`]=await t(`request-type`,`Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).`,[`origin-rsa`,`origin-ecc`,`keyless-certificate`]));let d=a({csr:l(n.csr,`csr`,`text`),hostnames:n.hostnames,request_type:l(n[`request-type`],`request-type`,`text`),requested_validity:n[`requested-validity`]});o(await c(`Creating`,async()=>u.originCaCertificates.create({...d})),{successLabel:`Created`})}};function p(e){return e.positional(`certificate-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const m={command:`delete <certificate-id>`,describe:`Revoke an existing Origin CA certificate by its serial number. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).`,builder:p,handler:async e=>{if(e.dryRun){s({command:`cf origin-ca-certificates delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/certificates/${e[`certificate-id`]==null?`<certificate-id>`:encodeURIComponent(String(e[`certificate-id`]))}`,pathParams:{"certificate-id":String(e[`certificate-id`]??``)},bodyKind:`none`});return}let t=await r(e);if(!await n({force:!!e.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}o(await c(`Deleting`,async()=>t.originCaCertificates.delete({certificate_id:e[`certificate-id`]})),{successLabel:`Deleted`})}};function h(e){return e.positional(`certificate-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const g={command:`get <certificate-id>`,describe:`Get an existing Origin CA certificate by its serial number. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).`,builder:h,handler:async e=>{if(e.dryRun){s({command:`cf origin-ca-certificates get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/certificates/${e[`certificate-id`]==null?`<certificate-id>`:encodeURIComponent(String(e[`certificate-id`]))}`,pathParams:{"certificate-id":String(e[`certificate-id`]??``)},bodyKind:`none`});return}let t=await r(e);o(await c(`Loading`,async()=>t.originCaCertificates.get({certificate_id:e[`certificate-id`]})),{successLabel:`Loaded`})}};function _(e){return e.option(`zone-id`,{type:`string`,description:`Identifier.`}).option(`page`,{type:`number`,description:`Page number of paginated results.`}).option(`per-page`,{type:`number`,description:`Number of records per page.`}).option(`limit`,{type:`number`,description:`Limit to the number of records returned.`}).option(`offset`,{type:`number`,description:`Offset the results.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`list`,describe:`List all existing Origin CA certificates for a given zone. You can use an Origin CA Key as your User Service Key or an API token when calling this endpoint ([see above](#requests)).`,builder:u(_),handler:async e=>{let t={zone_id:e[`zone-id`],page:e.page,per_page:e[`per-page`],limit:e.limit,offset:e.offset};if(e.dryRun){s({command:`cf origin-ca-certificates list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/certificates`,pathParams:{},query:t,bodyKind:`none`});return}let n=await r(e);o(await c(`Loading`,async()=>n.originCaCertificates.list(t)),{successLabel:`Loaded`})}},y={command:`origin-ca-certificates`,describe:`Free Cloudflare-signed certificates installed on your origin server for Full (strict) SSL mode`,builder:e=>e.command(f).command(m).command(g).command(v).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{y as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{E as e,S as t,n}from"./auth-ffdf9yR0.mjs";import{n as r,t as i}from"./body-parser-DKa8Ipg1.mjs";import{t as a}from"./output-BJFNwj7b.mjs";import{n as o,t as s}from"./progress-CrCGTq7N.mjs";import{n as c}from"./input-validation-zEO81MWN.mjs";function l(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const u={command:`get`,describe:`Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised.`,builder:l,handler:async e=>{if(e.dryRun){o({command:`cf origin-post-quantum-encryption get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/cache/origin_post_quantum_encryption`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let r=await n(e),i=await t({zone:e.zone},r,{quiet:e.quiet});e.zoneId=i,a(await s(`Loading`,async()=>r.originPostQuantumEncryption.get({zone_id:i})),{successLabel:`Loaded`})}};function d(e){return e.option(`value`,{type:`string`,description:`Value of the Origin Post Quantum Encryption Setting.`,choices:[`preferred`,`supported`,`off`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const f={command:`update`,describe:`Instructs Cloudflare to use Post-Quantum (PQ) key agreement algorithms when connecting to your origin. Preferred instructs Cloudflare to opportunistically send a Post-Quantum keyshare in the first message to the origin (for fastest connections when the origin supports and prefers PQ), supported means that PQ algorithms are advertised but only used when requested by the origin, and off means that PQ algorithms are not advertised.`,builder:d,handler:async l=>{if(l.dryRun){o({command:`cf origin-post-quantum-encryption update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${l.zone??l.zoneId??`<zone>`}/cache/origin_post_quantum_encryption`,pathParams:{"zone-id":String(l.zone??l[`zone-id`]??``)},bodyKind:`json`,body:l.body===void 0?i({value:c(l.value,`value`,`text`)}):r(l.body)});return}let u=await n(l),d=await t({zone:l.zone},u,{quiet:l.quiet});if(l.zoneId=d,l.body){let e=r(l.body);a(await s(`Updating`,async()=>u.originPostQuantumEncryption.update({...e,zone_id:d})),{successLabel:`Updated`});return}l.value===void 0&&(l.value=await e(`value`,`Value of the Origin Post Quantum Encryption Setting.`,[`preferred`,`supported`,`off`]));let f=i({value:c(l.value,`value`,`text`)});a(await s(`Updating`,async()=>u.originPostQuantumEncryption.update({...f,zone_id:d})),{successLabel:`Updated`})}},p={command:`origin-post-quantum-encryption`,describe:`Enable post-quantum key exchange for connections between Cloudflare and your origin server`,builder:e=>e.command(u).command(f).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{p as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{r as e,t}from"./session-COHHdS7A.mjs";import{r as n}from"./theme-BklJDrb2.mjs";import{a as r}from"./dist-AIcZFk0U.mjs";import{t as i}from"./output-BJFNwj7b.mjs";function a(e){i(e)}const o=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function s(){return!(!n()||!process.stdout.isTTY||process.env.CF_QUIET===`1`)}async function c(n,i){if(!s())return i();t(e);let a=r({frames:[...o],indicator:`timer`,delay:80});a.start(n);try{let e=await i();return a.stop(n),e}catch(e){throw a.error(n),e}}export{a as n,c as t};
|
package/dist/queues-CN6DPhRR.mjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{C as e,D as t,E as n,T as r,_ as i,n as a}from"./auth-ffdf9yR0.mjs";import{n as o,t as s}from"./body-parser-DKa8Ipg1.mjs";import{t as c}from"./output-BJFNwj7b.mjs";import{n as l,t as u}from"./progress-CrCGTq7N.mjs";import{n as d}from"./input-validation-zEO81MWN.mjs";import{t as f}from"./local-VJaJ3BZ1.mjs";import{t as p}from"./cli-types-CRIDdDw3.mjs";function m(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dead-letter-queue`,{type:`string`,description:`The dead_letter_queue field`}).option(`script-name`,{type:`string`,description:`Name of a Worker`}).option(`settings-batch-size`,{type:`number`,description:`The maximum number of messages to include in a batch.`}).option(`settings-max-concurrency`,{type:`number`,description:"Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended)."}).option(`settings-max-retries`,{type:`number`,description:`The maximum number of retries`}).option(`settings-max-wait-time-ms`,{type:`number`,description:`The number of milliseconds to wait for a batch to fill up before attempting to deliver it`}).option(`settings-retry-delay`,{type:`number`,description:`The number of seconds to delay before making the message available for another attempt.`}).option(`settings-visibility-timeout-ms`,{type:`number`,description:`The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt.`}).option(`type`,{type:`string`,description:`The type field`,choices:[`worker`,`http_pull`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Request body for creating or updating a consumer`}).conflicts(`script-name`,[`settings-visibility-timeout-ms`]).conflicts(`settings-max-concurrency`,[`settings-visibility-timeout-ms`]).conflicts(`settings-max-wait-time-ms`,[`settings-visibility-timeout-ms`]).conflicts(`settings-visibility-timeout-ms`,[`script-name`,`settings-max-concurrency`,`settings-max-wait-time-ms`])}const h={command:`create <queue-id>`,describe:`Creates a new consumer for a Queue`,builder:m,handler:async r=>{if(r.dryRun){l({command:`cf queues consumers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${r[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(r[`queue-id`]))}/consumers`,pathParams:{"queue-id":String(r[`queue-id`]??``)},bodyKind:`json`,body:r.body===void 0?s({dead_letter_queue:d(r[`dead-letter-queue`],`dead-letter-queue`,`text`),script_name:d(r[`script-name`],`script-name`,`text`),settings:{batch_size:r[`settings-batch-size`],max_concurrency:r[`settings-max-concurrency`],max_retries:r[`settings-max-retries`],max_wait_time_ms:r[`settings-max-wait-time-ms`],retry_delay:r[`settings-retry-delay`],visibility_timeout_ms:r[`settings-visibility-timeout-ms`]},type:d(r.type,`type`,`text`)}):o(r.body)});return}let p=await a(r),m=r.local?f:await i(p);if(r.accountId=m,r.body){let e=o(r.body);c(await u(`Creating`,async()=>p.queues.consumers.create({body:e,account_id:m,queue_id:r[`queue-id`]})),{successLabel:`Created`});return}r.type===void 0&&(r.type=await n(`type`,`The type field`,[`worker`,`http_pull`])),r.type===`worker`&&r[`script-name`]===void 0&&(r[`script-name`]=await t(`script-name`,`Name of a Worker`,{question:`Enter value for --script-name`}));let h=s({dead_letter_queue:d(r[`dead-letter-queue`],`dead-letter-queue`,`text`),script_name:d(r[`script-name`],`script-name`,`text`),settings:{batch_size:r[`settings-batch-size`],max_concurrency:r[`settings-max-concurrency`],max_retries:r[`settings-max-retries`],max_wait_time_ms:r[`settings-max-wait-time-ms`],retry_delay:r[`settings-retry-delay`],visibility_timeout_ms:r[`settings-visibility-timeout-ms`]},type:d(r.type,`type`,`text`)});c(await u(`Creating`,async()=>p.queues.consumers.create({body:h,account_id:m,queue_id:r[`queue-id`]})),{successLabel:`Created`})}};function ee(e){return e.positional(`consumer-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const g={command:`delete <consumer-id>`,describe:`Deletes the consumer for a queue.`,builder:ee,handler:async t=>{if(t.dryRun){l({command:`cf queues consumers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/consumers/${t[`consumer-id`]==null?`<consumer-id>`:encodeURIComponent(String(t[`consumer-id`]))}`,pathParams:{"consumer-id":String(t[`consumer-id`]??``),"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),o=t.local?f:await i(n);if(t.accountId=o,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}c(await u(`Deleting`,async()=>n.queues.consumers.delete({account_id:o,queue_id:t[`queue-id`],consumer_id:t[`consumer-id`]})),{successLabel:`Deleted`})}};function _(e){return e.positional(`consumer-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`get <consumer-id>`,describe:`Fetches the consumer for a queue by consumer id`,builder:_,handler:async t=>{if(t.dryRun){l({command:`cf queues consumers get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/consumers/${t[`consumer-id`]==null?`<consumer-id>`:encodeURIComponent(String(t[`consumer-id`]))}`,pathParams:{"consumer-id":String(t[`consumer-id`]??``),"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.consumers.get({account_id:r,queue_id:t[`queue-id`],consumer_id:t[`consumer-id`]})),{successLabel:`Loaded`})}};function y(e){return e.option(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`list`,describe:`Returns the consumers for a Queue`,builder:y,handler:async t=>{if(t.dryRun){l({command:`cf queues consumers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/consumers`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.consumers.list({account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Loaded`})}};function x(e){return e.positional(`consumer-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dead-letter-queue`,{type:`string`,description:`The dead_letter_queue field`}).option(`script-name`,{type:`string`,description:`Name of a Worker`}).option(`settings-batch-size`,{type:`number`,description:`The maximum number of messages to include in a batch.`}).option(`settings-max-concurrency`,{type:`number`,description:"Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended)."}).option(`settings-max-retries`,{type:`number`,description:`The maximum number of retries`}).option(`settings-max-wait-time-ms`,{type:`number`,description:`The number of milliseconds to wait for a batch to fill up before attempting to deliver it`}).option(`settings-retry-delay`,{type:`number`,description:`The number of seconds to delay before making the message available for another attempt.`}).option(`settings-visibility-timeout-ms`,{type:`number`,description:`The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt.`}).option(`type`,{type:`string`,description:`The type field`,choices:[`worker`,`http_pull`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Request body for creating or updating a consumer`}).conflicts(`script-name`,[`settings-visibility-timeout-ms`]).conflicts(`settings-max-concurrency`,[`settings-visibility-timeout-ms`]).conflicts(`settings-max-wait-time-ms`,[`settings-visibility-timeout-ms`]).conflicts(`settings-visibility-timeout-ms`,[`script-name`,`settings-max-concurrency`,`settings-max-wait-time-ms`])}const S={command:`update <consumer-id>`,describe:`Updates the consumer for a queue, or creates one if it does not exist.`,builder:x,handler:async r=>{if(r.dryRun){l({command:`cf queues consumers update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${r[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(r[`queue-id`]))}/consumers/${r[`consumer-id`]==null?`<consumer-id>`:encodeURIComponent(String(r[`consumer-id`]))}`,pathParams:{"consumer-id":String(r[`consumer-id`]??``),"queue-id":String(r[`queue-id`]??``)},bodyKind:`json`,body:r.body===void 0?s({dead_letter_queue:d(r[`dead-letter-queue`],`dead-letter-queue`,`text`),script_name:d(r[`script-name`],`script-name`,`text`),settings:{batch_size:r[`settings-batch-size`],max_concurrency:r[`settings-max-concurrency`],max_retries:r[`settings-max-retries`],max_wait_time_ms:r[`settings-max-wait-time-ms`],retry_delay:r[`settings-retry-delay`],visibility_timeout_ms:r[`settings-visibility-timeout-ms`]},type:d(r.type,`type`,`text`)}):o(r.body)});return}let p=await a(r),m=r.local?f:await i(p);if(r.accountId=m,r.body){let e=o(r.body);c(await u(`Updating`,async()=>p.queues.consumers.update({body:e,account_id:m,queue_id:r[`queue-id`],consumer_id:r[`consumer-id`]})),{successLabel:`Updated`});return}r.type===void 0&&(r.type=await n(`type`,`The type field`,[`worker`,`http_pull`])),r.type===`worker`&&r[`script-name`]===void 0&&(r[`script-name`]=await t(`script-name`,`Name of a Worker`,{question:`Enter value for --script-name`}));let h=s({dead_letter_queue:d(r[`dead-letter-queue`],`dead-letter-queue`,`text`),script_name:d(r[`script-name`],`script-name`,`text`),settings:{batch_size:r[`settings-batch-size`],max_concurrency:r[`settings-max-concurrency`],max_retries:r[`settings-max-retries`],max_wait_time_ms:r[`settings-max-wait-time-ms`],retry_delay:r[`settings-retry-delay`],visibility_timeout_ms:r[`settings-visibility-timeout-ms`]},type:d(r.type,`type`,`text`)});c(await u(`Updating`,async()=>p.queues.consumers.update({body:h,account_id:m,queue_id:r[`queue-id`],consumer_id:r[`consumer-id`]})),{successLabel:`Updated`})}},C={command:`consumers`,describe:`Operations for consumers`,builder:e=>e.command(h).command(g).command(v).command(b).command(S).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function w(e){return e.option(`queue-name`,{type:`string`,description:`The queue_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const T={command:`create`,describe:`Create a new queue`,builder:w,handler:async n=>{if(n.dryRun){l({command:`cf queues create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues`,pathParams:{},bodyKind:`json`,body:n.body===void 0?s({queue_name:d(n[`queue-name`],`queue-name`,`text`)}):o(n.body)});return}let r=await a(n),p=n.local?f:await i(r);if(n.accountId=p,n.body){let e=o(n.body);c(await u(`Creating`,async()=>r.queues.create({...e,account_id:p})),{successLabel:`Created`});return}n[`queue-name`]===void 0&&(n[`queue-name`]=await t(`queue-name`,`The queue_name field`));let m=s({queue_name:d(n[`queue-name`],`queue-name`,`text`)});c(await u(`Creating`,async()=>r.queues.create({...m,account_id:p})),{successLabel:`Created`})}};function E(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const D={command:`delete <queue-id>`,describe:`Deletes a queue`,builder:E,handler:async t=>{if(t.dryRun){l({command:`cf queues delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),o=t.local?f:await i(n);if(t.accountId=o,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
4
|
-
`);return}c(await u(`Deleting`,async()=>n.queues.delete({account_id:o,queue_id:t[`queue-id`]})),{successLabel:`Deleted`})}};function O(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`queue-name`,{type:`string`,description:`The queue_name field`}).option(`settings-delivery-delay`,{type:`number`,description:`Number of seconds to delay delivery of all messages to consumers.`}).option(`settings-delivery-paused`,{type:`boolean`,description:`Indicates if message delivery to consumers is currently paused.`}).option(`settings-message-retention-period`,{type:`number`,description:`Number of seconds after which an unconsumed message will be delayed.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const k={command:`edit <queue-id>`,describe:`Updates a Queue.`,builder:O,handler:async t=>{if(t.dryRun){l({command:`cf queues edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({queue_name:d(t[`queue-name`],`queue-name`,`text`),settings:{delivery_delay:t[`settings-delivery-delay`],delivery_paused:t[`settings-delivery-paused`],message_retention_period:t[`settings-message-retention-period`]}}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Updating`,async()=>n.queues.edit({body:e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Updated`});return}let p=s({queue_name:d(t[`queue-name`],`queue-name`,`text`),settings:{delivery_delay:t[`settings-delivery-delay`],delivery_paused:t[`settings-delivery-paused`],message_retention_period:t[`settings-message-retention-period`]}});c(await u(`Updating`,async()=>n.queues.edit({body:p,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Updated`})}};function A(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`get <queue-id>`,describe:`Get details about a specific queue.`,builder:A,handler:async t=>{if(t.dryRun){l({command:`cf queues get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.get({account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Loaded`})}};function M(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const N={command:`list`,describe:`Returns the queues owned by an account.`,builder:M,handler:async t=>{if(t.dryRun){l({command:`cf queues list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues`,pathParams:{},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.list({account_id:r})),{successLabel:`Loaded`})}};function P(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const F={command:`ack-preview <queue-id>`,describe:`Delete previewed messages from a Queue. Note that messages acknowledged this way aren't considered delivered, they are instantly deleted from this queue and do not affect metrics.`,builder:P,handler:async t=>{if(t.dryRun){l({command:`cf queues messages ack-preview`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages/preview/ack`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.messages.ackPreview({...e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`});return}c(await u(`Creating`,async()=>n.queues.messages.ackPreview({account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`})}};function I(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const L={command:`ack <queue-id>`,describe:`Acknowledge + Retry messages from a Queue`,builder:I,handler:async t=>{if(t.dryRun){l({command:`cf queues messages ack`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages/ack`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.messages.ack({...e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`});return}c(await u(`Creating`,async()=>n.queues.messages.ack({account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`})}};function R(e){return e.option(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`delay-seconds`,{type:`number`,description:`The number of seconds to wait for attempting to deliver this batch to consumers`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const z={command:`bulk-push`,describe:`Push a batch of message to a Queue`,builder:R,handler:async t=>{if(t.dryRun){l({command:`cf queues messages bulk-push`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages/batch`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({delay_seconds:t[`delay-seconds`]}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.messages.bulkPush({...e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`});return}let d=s({delay_seconds:t[`delay-seconds`]});c(await u(`Creating`,async()=>n.queues.messages.bulkPush({...d,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`})}};function te(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`batch-size`,{type:`number`,description:`The maximum number of messages to include in a batch.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const B={command:`preview <queue-id>`,describe:`Preview messages from a Queue without leasing them. Messages remain available for subsequent preview or pull operations.`,builder:te,handler:async t=>{if(t.dryRun){l({command:`cf queues messages preview`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages/preview`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({batch_size:t[`batch-size`]}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Loading`,async()=>n.queues.messages.preview({...e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Loaded`});return}let d=s({batch_size:t[`batch-size`]});c(await u(`Loading`,async()=>n.queues.messages.preview({...d,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Loaded`})}};function V(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`batch-size`,{type:`number`,description:`The maximum number of messages to include in a batch.`}).option(`visibility-timeout-ms`,{type:`number`,description:`The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const H={command:`pull <queue-id>`,describe:`Pull a batch of messages from a Queue`,builder:V,handler:async t=>{if(t.dryRun){l({command:`cf queues messages pull`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages/pull`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({batch_size:t[`batch-size`],visibility_timeout_ms:t[`visibility-timeout-ms`]}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.messages.pull({...e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`});return}let d=s({batch_size:t[`batch-size`],visibility_timeout_ms:t[`visibility-timeout-ms`]});c(await u(`Creating`,async()=>n.queues.messages.pull({...d,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`})}};function U(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`delay-seconds`,{type:`number`,description:`The number of seconds to wait for attempting to deliver this message to consumers`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const W={command:`push <queue-id>`,describe:`Push a message to a Queue`,builder:U,handler:async t=>{if(t.dryRun){l({command:`cf queues messages push`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/messages`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({delay_seconds:t[`delay-seconds`]}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.messages.push({body:e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`});return}let d=s({delay_seconds:t[`delay-seconds`]});c(await u(`Creating`,async()=>n.queues.messages.push({body:d,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Created`})}},G={command:`messages`,describe:`Operations for messages`,builder:e=>e.command(L).command(F).command(z).command(B).command(H).command(W).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function K(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`delete-messages-permanently`,{type:`boolean`,description:`Confimation that all messages will be deleted permanently.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const q={command:`start <queue-id>`,describe:`Deletes all messages from the Queue.`,builder:K,handler:async t=>{if(t.dryRun){l({command:`cf queues purge start`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/purge`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({delete_messages_permanently:t[`delete-messages-permanently`]}):o(t.body)});return}let n=await a(t),d=t.local?f:await i(n);if(t.accountId=d,!await r({force:!!t.force,message:`This operation drops every message in the queue.`})){process.stderr.write(`Aborted.
|
|
5
|
-
`);return}if(t.body){let e=o(t.body);c(await u(`Deleting`,async()=>n.queues.purge.start({...e,account_id:d,queue_id:t[`queue-id`]})),{successLabel:`Deleted`});return}let p=s({delete_messages_permanently:t[`delete-messages-permanently`]});c(await u(`Deleting`,async()=>n.queues.purge.start({...p,account_id:d,queue_id:t[`queue-id`]})),{successLabel:`Deleted`})}};function J(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Y={command:`status <queue-id>`,describe:`Get details about a Queue's purge status.`,builder:J,handler:async t=>{if(t.dryRun){l({command:`cf queues purge status`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}/purge`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.purge.status({account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Loaded`})}},X={command:`purge`,describe:`Operations for purge`,builder:e=>e.command(q).command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Z(e){return e.option(`destination-queue-id`,{type:`string`,description:`ID of the target queue`}).option(`destination-type`,{type:`string`,description:`Type of destination`,choices:[`queues.queue`]}).option(`enabled`,{type:`boolean`,description:`Whether the subscription is active`}).option(`events`,{type:`string`,array:!0,description:`List of event types this subscription handles`}).option(`name`,{type:`string`,description:`Name of the subscription`}).option(`source-type`,{type:`string`,description:`Type of source`,choices:[`images`,`kv`,`r2`,`superSlurper`,`vectorize`,`workersAi.model`,`workersBuilds.worker`,`workflows.workflow`]}).option(`source-model-name`,{type:`string`,description:`Name of the Workers AI model`}).option(`source-worker-name`,{type:`string`,description:`Name of the worker`}).option(`source-workflow-name`,{type:`string`,description:`Name of the workflow`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`source-model-name`,[`source-worker-name`,`source-workflow-name`]).conflicts(`source-worker-name`,[`source-model-name`,`source-workflow-name`]).conflicts(`source-workflow-name`,[`source-model-name`,`source-worker-name`]).check(e=>{if([`destination-queue-id`,`destination-type`].some(t=>e[t]!==void 0)){let t=[`destination-queue-id`,`destination-type`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --destination-* flag is set`)}return!0})}const Q={command:`create`,describe:`Create a new event subscription for a queue`,builder:Z,handler:async t=>{if(t.dryRun){l({command:`cf queues subscriptions create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/event_subscriptions/subscriptions`,pathParams:{},bodyKind:`json`,body:t.body===void 0?s({destination:{queue_id:d(t[`destination-queue-id`],`destination-queue-id`,`text`),type:d(t[`destination-type`],`destination-type`,`text`)},enabled:t.enabled,events:t.events,name:d(t.name,`name`,`text`),source:{type:d(t[`source-type`],`source-type`,`text`),model_name:d(t[`source-model-name`],`source-model-name`,`text`),worker_name:d(t[`source-worker-name`],`source-worker-name`,`text`),workflow_name:d(t[`source-workflow-name`],`source-workflow-name`,`text`)}}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Creating`,async()=>n.queues.subscriptions.create({...e,account_id:r})),{successLabel:`Created`});return}let p=s({destination:{queue_id:d(t[`destination-queue-id`],`destination-queue-id`,`text`),type:d(t[`destination-type`],`destination-type`,`text`)},enabled:t.enabled,events:t.events,name:d(t.name,`name`,`text`),source:{type:d(t[`source-type`],`source-type`,`text`),model_name:d(t[`source-model-name`],`source-model-name`,`text`),worker_name:d(t[`source-worker-name`],`source-worker-name`,`text`),workflow_name:d(t[`source-workflow-name`],`source-workflow-name`,`text`)}});c(await u(`Creating`,async()=>n.queues.subscriptions.create({...p,account_id:r})),{successLabel:`Created`})}};function ne(e){return e.positional(`subscription-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const re={command:`delete <subscription-id>`,describe:`Delete an existing event subscription`,builder:ne,handler:async t=>{if(t.dryRun){l({command:`cf queues subscriptions delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/event_subscriptions/subscriptions/${t[`subscription-id`]==null?`<subscription-id>`:encodeURIComponent(String(t[`subscription-id`]))}`,pathParams:{"subscription-id":String(t[`subscription-id`]??``)},bodyKind:`none`});return}let n=await a(t),o=t.local?f:await i(n);if(t.accountId=o,!await r({force:!!t.force})){process.stderr.write(`Aborted.
|
|
6
|
-
`);return}c(await u(`Deleting`,async()=>n.queues.subscriptions.delete({account_id:o,subscription_id:t[`subscription-id`]})),{successLabel:`Deleted`})}};function ie(e){return e.positional(`subscription-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ae={command:`get <subscription-id>`,describe:`Get details about an existing event subscription`,builder:ie,handler:async t=>{if(t.dryRun){l({command:`cf queues subscriptions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/event_subscriptions/subscriptions/${t[`subscription-id`]==null?`<subscription-id>`:encodeURIComponent(String(t[`subscription-id`]))}`,pathParams:{"subscription-id":String(t[`subscription-id`]??``)},bodyKind:`none`});return}let n=await a(t),r=t.local?f:await i(n);t.accountId=r,c(await u(`Loading`,async()=>n.queues.subscriptions.get({account_id:r,subscription_id:t[`subscription-id`]})),{successLabel:`Loaded`})}};function oe(e){return e.option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`order`,{type:`string`,description:`Field to sort by`,choices:[`created_at`,`name`,`enabled`,`source`]}).option(`direction`,{type:`string`,description:`Sort direction`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const $={command:`list`,describe:`Get a paginated list of event subscriptions with optional sorting and filtering`,builder:p(oe),handler:async t=>{let n={page:t.page,per_page:t[`per-page`],order:t.order,direction:t.direction};if(t.dryRun){l({command:`cf queues subscriptions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/event_subscriptions/subscriptions`,pathParams:{},query:n,bodyKind:`none`});return}let r=await a(t),o=t.local?f:await i(r);t.accountId=o,c(await u(`Loading`,async()=>r.queues.subscriptions.list({account_id:o,...n})),{successLabel:`Loaded`})}};function se(e){return e.positional(`subscription-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`destination-queue-id`,{type:`string`,description:`ID of the target queue`}).option(`destination-type`,{type:`string`,description:`Type of destination`,choices:[`queues.queue`]}).option(`enabled`,{type:`boolean`,description:`Whether the subscription is active`}).option(`events`,{type:`string`,array:!0,description:`List of event types this subscription handles`}).option(`name`,{type:`string`,description:`Name of the subscription`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).check(e=>{if([`destination-queue-id`,`destination-type`].some(t=>e[t]!==void 0)){let t=[`destination-queue-id`,`destination-type`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --destination-* flag is set`)}return!0})}const ce={command:`update <subscription-id>`,describe:`Update an existing event subscription`,builder:se,handler:async t=>{if(t.dryRun){l({command:`cf queues subscriptions update`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/event_subscriptions/subscriptions/${t[`subscription-id`]==null?`<subscription-id>`:encodeURIComponent(String(t[`subscription-id`]))}`,pathParams:{"subscription-id":String(t[`subscription-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({destination:{queue_id:d(t[`destination-queue-id`],`destination-queue-id`,`text`),type:d(t[`destination-type`],`destination-type`,`text`)},enabled:t.enabled,events:t.events,name:d(t.name,`name`,`text`)}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Updating`,async()=>n.queues.subscriptions.update({...e,account_id:r,subscription_id:t[`subscription-id`]})),{successLabel:`Updated`});return}let p=s({destination:{queue_id:d(t[`destination-queue-id`],`destination-queue-id`,`text`),type:d(t[`destination-type`],`destination-type`,`text`)},enabled:t.enabled,events:t.events,name:d(t.name,`name`,`text`)});c(await u(`Updating`,async()=>n.queues.subscriptions.update({...p,account_id:r,subscription_id:t[`subscription-id`]})),{successLabel:`Updated`})}},le={command:`subscriptions`,describe:`Operations for subscriptions`,builder:e=>e.command(Q).command(re).command(ae).command($).command(ce).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ue(e){return e.positional(`queue-id`,{type:`string`,description:`A Resource identifier.`,demandOption:!0}).option(`queue-name`,{type:`string`,description:`The queue_name field`}).option(`settings-delivery-delay`,{type:`number`,description:`Number of seconds to delay delivery of all messages to consumers.`}).option(`settings-delivery-paused`,{type:`boolean`,description:`Indicates if message delivery to consumers is currently paused.`}).option(`settings-message-retention-period`,{type:`number`,description:`Number of seconds after which an unconsumed message will be delayed.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const de={command:`update <queue-id>`,describe:`Updates a Queue. Note that this endpoint does not support partial updates. If successful, the Queue's configuration is overwritten with the supplied configuration.`,builder:ue,handler:async t=>{if(t.dryRun){l({command:`cf queues update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/queues/${t[`queue-id`]==null?`<queue-id>`:encodeURIComponent(String(t[`queue-id`]))}`,pathParams:{"queue-id":String(t[`queue-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({queue_name:d(t[`queue-name`],`queue-name`,`text`),settings:{delivery_delay:t[`settings-delivery-delay`],delivery_paused:t[`settings-delivery-paused`],message_retention_period:t[`settings-message-retention-period`]}}):o(t.body)});return}let n=await a(t),r=t.local?f:await i(n);if(t.accountId=r,t.body){let e=o(t.body);c(await u(`Updating`,async()=>n.queues.update({body:e,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Updated`});return}let p=s({queue_name:d(t[`queue-name`],`queue-name`,`text`),settings:{delivery_delay:t[`settings-delivery-delay`],delivery_paused:t[`settings-delivery-paused`],message_retention_period:t[`settings-message-retention-period`]}});c(await u(`Updating`,async()=>n.queues.update({body:p,account_id:r,queue_id:t[`queue-id`]})),{successLabel:`Updated`})}},fe={command:`queues`,describe:`Reliable message queuing between Workers — produce, consume, and batch-process messages at scale`,builder:e=>e.command(T).command(D).command(k).command(j).command(N).command(de).command(C).command(G).command(X).command(le).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{fe as default};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{C as e,D as t,T as n,_ as r,n as i}from"./auth-ffdf9yR0.mjs";import{n as a,t as o}from"./body-parser-DKa8Ipg1.mjs";import{t as s}from"./output-BJFNwj7b.mjs";import{n as c,t as l}from"./progress-CrCGTq7N.mjs";import{n as u}from"./input-validation-zEO81MWN.mjs";import{t as d}from"./local-VJaJ3BZ1.mjs";function f(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`token`,{type:`string`,description:`Provides the Cloudflare API token for accessing R2.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Contains request to store catalog credentials.`})}const p={command:`create <bucket-name>`,describe:`Store authentication credentials for a catalog. These credentials are used to authenticate with R2 storage when performing catalog operations.`,builder:f,handler:async n=>{if(n.dryRun){c({command:`cf r2-data-catalog credentials create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${n[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(n[`bucket-name`]))}/credential`,pathParams:{"bucket-name":String(n[`bucket-name`]??``)},bodyKind:`json`,body:n.body===void 0?o({token:u(n.token,`token`,`text`)}):a(n.body)});return}let f=await i(n),p=n.local?d:await r(f);if(n.accountId=p,n.body){let e=a(n.body);s(await l(`Creating`,async()=>f.r2DataCatalog.credentials.create({...e,account_id:p,bucket_name:n[`bucket-name`]})),{successLabel:`Created`});return}n.token===void 0&&(n.token=await t(`token`,`Provides the Cloudflare API token for accessing R2.`));let m=o({token:u(n.token,`token`,`text`)});s(await l(`Creating`,async()=>f.r2DataCatalog.credentials.create({...m,account_id:p,bucket_name:n[`bucket-name`]})),{successLabel:`Created`})}},m={command:`credentials`,describe:`Operations for credentials`,builder:e=>e.command(p).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function h(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name to disable as catalog.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const g={command:`disable <bucket-name>`,describe:`Disable an R2 bucket as a catalog. This operation deactivates the catalog but preserves existing metadata and data files. The catalog can be re-enabled later.`,builder:h,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog disable`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/disable`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},bodyKind:`none`});return}let a=await i(t),o=t.local?d:await r(a);if(t.accountId=o,!await n({force:!!t.force,message:`This operation turns off the data catalog for the bucket. Existing namespace or table state remains, but writes stop.`})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}s(await l(`Deleting`,async()=>a.r2DataCatalog.disable({account_id:o,bucket_name:t[`bucket-name`]})),{successLabel:`Deleted`})}};function _(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name to enable as catalog.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`enable <bucket-name>`,describe:`Enable an R2 bucket as an Apache Iceberg catalog. This operation creates the necessary catalog infrastructure and activates the bucket for storing Iceberg metadata and data files.`,builder:_,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog enable`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/enable`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Creating`,async()=>n.r2DataCatalog.enable({account_id:a,bucket_name:t[`bucket-name`]})),{successLabel:`Created`})}};function y(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get <bucket-name>`,describe:`Retrieve detailed information about a specific R2 catalog by bucket name. Returns catalog status, maintenance configuration, and credential status.`,builder:y,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.r2DataCatalog.get({account_id:a,bucket_name:t[`bucket-name`]})),{successLabel:`Loaded`})}};function x(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const S={command:`list`,describe:`Returns a list of R2 buckets that have been enabled as Apache Iceberg catalogs for the specified account. Each catalog represents an R2 bucket configured to store Iceberg metadata and data files.`,builder:x,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog`,pathParams:{},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.r2DataCatalog.list({account_id:a})),{successLabel:`Loaded`})}};function C(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const w={command:`get <bucket-name>`,describe:`Retrieve the maintenance configuration for a specific catalog, including compaction settings and credential status.`,builder:C,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog maintenance-configs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/maintenance-configs`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.r2DataCatalog.maintenanceConfigs.get({account_id:a,bucket_name:t[`bucket-name`]})),{successLabel:`Loaded`})}};function T(e){return e.positional(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`snapshot-expiration-max-snapshot-age`,{type:`string`,description:`Updates the maximum age for snapshots optionally.`}).option(`snapshot-expiration-min-snapshots-to-keep`,{type:`number`,description:`Updates the minimum number of snapshots to retain optionally.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Contains request to update catalog maintenance configuration.`})}const E={command:`update <bucket-name>`,describe:`Update the maintenance configuration for a catalog. This allows you to enable or disable compaction and adjust target file sizes for optimization.`,builder:T,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog maintenance-configs update`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/maintenance-configs`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},bodyKind:`json`,body:t.body===void 0?o({snapshot_expiration:{max_snapshot_age:u(t[`snapshot-expiration-max-snapshot-age`],`snapshot-expiration-max-snapshot-age`,`text`),min_snapshots_to_keep:t[`snapshot-expiration-min-snapshots-to-keep`]}}):a(t.body)});return}let n=await i(t),f=t.local?d:await r(n);if(t.accountId=f,t.body){let e=a(t.body);s(await l(`Creating`,async()=>n.r2DataCatalog.maintenanceConfigs.update({...e,account_id:f,bucket_name:t[`bucket-name`]})),{successLabel:`Created`});return}let p=o({snapshot_expiration:{max_snapshot_age:u(t[`snapshot-expiration-max-snapshot-age`],`snapshot-expiration-max-snapshot-age`,`text`),min_snapshots_to_keep:t[`snapshot-expiration-min-snapshots-to-keep`]}});s(await l(`Creating`,async()=>n.r2DataCatalog.maintenanceConfigs.update({...p,account_id:f,bucket_name:t[`bucket-name`]})),{successLabel:`Created`})}},D={command:`maintenance-configs`,describe:`Operations for maintenance-configs`,builder:e=>e.command(w).command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(e){return e.option(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`page-token`,{type:`string`,description:`Opaque pagination token from a previous response.
|
|
4
|
-
Use this to fetch the next page of results.`}).option(`page-size`,{type:`number`,description:`Maximum number of namespaces to return per page.
|
|
5
|
-
Defaults to 100, maximum 1000.`}).option(`parent`,{type:`string`,description:`Parent namespace to filter by. Only returns direct children of this namespace.
|
|
6
|
-
For nested namespaces, use %1F as separator (e.g., "bronze%1Fanalytics").
|
|
7
|
-
Omit this parameter to list top-level namespaces.`}).option(`return-uuids`,{type:`boolean`,description:`Whether to include namespace UUIDs in the response.
|
|
8
|
-
Set to true to receive the namespace_uuids array.`}).option(`return-details`,{type:`boolean`,description:`Whether to include additional metadata (timestamps).
|
|
9
|
-
When true, response includes created_at and updated_at arrays.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const k={command:`list`,describe:`Returns a list of namespaces in the specified R2 catalog. Supports hierarchical filtering and pagination for efficient traversal of large namespace hierarchies.`,builder:O,handler:async t=>{let n={page_token:t[`page-token`],page_size:t[`page-size`],parent:t.parent,return_uuids:t[`return-uuids`],return_details:t[`return-details`]};if(t.dryRun){c({command:`cf r2-data-catalog namespaces list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/namespaces`,pathParams:{"bucket-name":String(t[`bucket-name`]??``)},query:n,bodyKind:`none`});return}let a=await i(t),o=t.local?d:await r(a);t.accountId=o,s(await l(`Loading`,async()=>a.r2DataCatalog.namespaces.list({account_id:o,bucket_name:t[`bucket-name`],...n})),{successLabel:`Loaded`})}};function A(e){return e.option(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`The namespace identifier.
|
|
10
|
-
For nested namespaces, use %1F as separator (e.g., "bronze%1Fanalytics").`,demandOption:!0}).option(`page-token`,{type:`string`,description:`Opaque pagination token from a previous response.
|
|
11
|
-
Use this to fetch the next page of results.`}).option(`page-size`,{type:`number`,description:`Maximum number of tables to return per page.
|
|
12
|
-
Defaults to 100, maximum 1000.`}).option(`return-uuids`,{type:`boolean`,description:`Whether to include table UUIDs in the response.
|
|
13
|
-
Set to true to receive the table_uuids array.`}).option(`return-details`,{type:`boolean`,description:`Whether to include additional metadata (timestamps, locations).
|
|
14
|
-
When true, response includes created_at, updated_at, metadata_locations, and locations arrays.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`list`,describe:`Returns a list of tables in the specified namespace within an R2 catalog. Supports pagination for efficient traversal of large table collections.`,builder:A,handler:async t=>{let n={page_token:t[`page-token`],page_size:t[`page-size`],return_uuids:t[`return-uuids`],return_details:t[`return-details`]};if(t.dryRun){c({command:`cf r2-data-catalog namespaces tables list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/namespaces/${t.namespace==null?`<namespace>`:encodeURIComponent(String(t.namespace))}/tables`,pathParams:{"bucket-name":String(t[`bucket-name`]??``),namespace:String(t.namespace??``)},query:n,bodyKind:`none`});return}let a=await i(t),o=t.local?d:await r(a);t.accountId=o,s(await l(`Loading`,async()=>a.r2DataCatalog.namespaces.tables.list({account_id:o,bucket_name:t[`bucket-name`],namespace:t.namespace,...n})),{successLabel:`Loaded`})}};function M(e){return e.positional(`table-name`,{type:`string`,description:`The table name.`,demandOption:!0}).option(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`The namespace identifier (use %1F as separator for nested namespaces).`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const N={command:`get <table-name>`,describe:`Retrieve the maintenance configuration for a specific table, including compaction settings.`,builder:M,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog namespaces tables maintenance-configs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/namespaces/${t.namespace==null?`<namespace>`:encodeURIComponent(String(t.namespace))}/tables/${t[`table-name`]==null?`<table-name>`:encodeURIComponent(String(t[`table-name`]))}/maintenance-configs`,pathParams:{"bucket-name":String(t[`bucket-name`]??``),namespace:String(t.namespace??``),"table-name":String(t[`table-name`]??``)},bodyKind:`none`});return}let n=await i(t),a=t.local?d:await r(n);t.accountId=a,s(await l(`Loading`,async()=>n.r2DataCatalog.namespaces.tables.maintenanceConfigs.get({account_id:a,bucket_name:t[`bucket-name`],namespace:t.namespace,table_name:t[`table-name`]})),{successLabel:`Loaded`})}};function P(e){return e.positional(`table-name`,{type:`string`,description:`The table name.`,demandOption:!0}).option(`bucket-name`,{type:`string`,description:`Specifies the R2 bucket name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`The namespace identifier (use %1F as separator for nested namespaces).`,demandOption:!0}).option(`snapshot-expiration-max-snapshot-age`,{type:`string`,description:`Updates the maximum age for snapshots optionally.`}).option(`snapshot-expiration-min-snapshots-to-keep`,{type:`number`,description:`Updates the minimum number of snapshots to retain optionally.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Contains request to update table maintenance configuration.`})}const F={command:`update <table-name>`,describe:`Update the maintenance configuration for a specific table. This allows you to enable or disable compaction and adjust target file sizes for optimization.`,builder:P,handler:async t=>{if(t.dryRun){c({command:`cf r2-data-catalog namespaces tables maintenance-configs update`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/r2-catalog/${t[`bucket-name`]==null?`<bucket-name>`:encodeURIComponent(String(t[`bucket-name`]))}/namespaces/${t.namespace==null?`<namespace>`:encodeURIComponent(String(t.namespace))}/tables/${t[`table-name`]==null?`<table-name>`:encodeURIComponent(String(t[`table-name`]))}/maintenance-configs`,pathParams:{"bucket-name":String(t[`bucket-name`]??``),namespace:String(t.namespace??``),"table-name":String(t[`table-name`]??``)},bodyKind:`json`,body:t.body===void 0?o({snapshot_expiration:{max_snapshot_age:u(t[`snapshot-expiration-max-snapshot-age`],`snapshot-expiration-max-snapshot-age`,`text`),min_snapshots_to_keep:t[`snapshot-expiration-min-snapshots-to-keep`]}}):a(t.body)});return}let n=await i(t),f=t.local?d:await r(n);if(t.accountId=f,t.body){let e=a(t.body);s(await l(`Creating`,async()=>n.r2DataCatalog.namespaces.tables.maintenanceConfigs.update({...e,account_id:f,bucket_name:t[`bucket-name`],namespace:t.namespace,table_name:t[`table-name`]})),{successLabel:`Created`});return}let p=o({snapshot_expiration:{max_snapshot_age:u(t[`snapshot-expiration-max-snapshot-age`],`snapshot-expiration-max-snapshot-age`,`text`),min_snapshots_to_keep:t[`snapshot-expiration-min-snapshots-to-keep`]}});s(await l(`Creating`,async()=>n.r2DataCatalog.namespaces.tables.maintenanceConfigs.update({...p,account_id:f,bucket_name:t[`bucket-name`],namespace:t.namespace,table_name:t[`table-name`]})),{successLabel:`Created`})}},I={command:`maintenance-configs`,describe:`Operations for namespaces.tables.maintenance-configs`,builder:e=>e.command(N).command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},L={command:`tables`,describe:`Operations for namespaces.tables`,builder:e=>e.command(j).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},R={command:`namespaces`,describe:`Operations for namespaces`,builder:e=>e.command(k).command(L).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},z={command:`r2-data-catalog`,describe:`Iceberg-compatible data catalog for R2 — organize objects into tables and namespaces for SQL query engines`,builder:e=>e.command(g).command(v).command(b).command(S).command(m).command(D).command(R).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{z as default};
|