1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Cloudflare catalog resources via Stripe Projects.
//!
//! Each resource (R2, KV, D1, Queues, Hyperdrive, Workers, Workers AI, Browser
//! Run) is a generic [`crate::resource::CatalogResource`] with
//! `PROVIDER_PREFIX = "CLOUDFLARE"`: a distinct `provider = "cloudflare-<svc>"`,
//! its own `CatalogService` reference (`cloudflare/<service_id>`), and declared
//! `OUTPUT_FIELDS`. The provision/observe/destroy lifecycle and credential
//! resolution are shared in `crate::resource`. Output envelopes are pinned by
//! live discovery (`xtask discover cloudflare/<svc>`) + the smoke.
//!
//! Excluded: `containers` (paid, "pricing unavailable" — unknown cost),
//! `registrar:domain` (a one-time non-refundable domain purchase), and the
//! `workers:free`/`workers:paid` plans. Cloudflare Workers as a *deploy*
//! substrate (`--on cloudflare`) is a separate build.
// Backwards-compatible names for the resource files (the lifecycle is generic).
pub use crate;
/// The Workers family (Workers, Workers AI, Browser Run) provisions the same
/// account-level Workers enablement and so shares one output envelope, confirmed
/// by live discovery 2026-06-16. The three stay distinct types (each has its own
/// `provider` / `RESOURCE_KIND` / catalog reference) but reference these.
pub const WORKERS_FAMILY_OUTPUT_FIELDS: & = &;
pub const WORKERS_FAMILY_OUTPUTS: & = &;