@microagi/alchemy-gcp 0.1.3 → 0.2.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.
Files changed (61) hide show
  1. package/README.md +0 -2
  2. package/lib/CloudResourceManager/Project.d.ts +16 -1
  3. package/lib/CloudResourceManager/Project.d.ts.map +1 -1
  4. package/lib/CloudResourceManager/Project.js +59 -1
  5. package/lib/CloudResourceManager/Project.js.map +1 -1
  6. package/lib/CloudResourceManager/ProjectIamMember.d.ts +25 -0
  7. package/lib/CloudResourceManager/ProjectIamMember.d.ts.map +1 -0
  8. package/lib/CloudResourceManager/ProjectIamMember.js +22 -0
  9. package/lib/CloudResourceManager/ProjectIamMember.js.map +1 -0
  10. package/lib/CloudResourceManager/index.d.ts +1 -0
  11. package/lib/CloudResourceManager/index.d.ts.map +1 -1
  12. package/lib/CloudResourceManager/index.js +1 -0
  13. package/lib/CloudResourceManager/index.js.map +1 -1
  14. package/lib/Compute/Network.d.ts +39 -2
  15. package/lib/Compute/Network.d.ts.map +1 -1
  16. package/lib/Compute/Network.js +12 -0
  17. package/lib/Compute/Network.js.map +1 -1
  18. package/lib/Compute/SharedVpcServiceProject.d.ts.map +1 -1
  19. package/lib/Compute/SharedVpcServiceProject.js +7 -1
  20. package/lib/Compute/SharedVpcServiceProject.js.map +1 -1
  21. package/lib/Compute/Subnetwork.d.ts +16 -1
  22. package/lib/Compute/Subnetwork.d.ts.map +1 -1
  23. package/lib/Compute/Subnetwork.js +74 -1
  24. package/lib/Compute/Subnetwork.js.map +1 -1
  25. package/lib/Compute/SubnetworkIamMember.d.ts +45 -0
  26. package/lib/Compute/SubnetworkIamMember.d.ts.map +1 -0
  27. package/lib/Compute/SubnetworkIamMember.js +46 -0
  28. package/lib/Compute/SubnetworkIamMember.js.map +1 -0
  29. package/lib/Compute/index.d.ts +1 -0
  30. package/lib/Compute/index.d.ts.map +1 -1
  31. package/lib/Compute/index.js +1 -0
  32. package/lib/Compute/index.js.map +1 -1
  33. package/lib/ManagedLustre/Instance.d.ts +173 -0
  34. package/lib/ManagedLustre/Instance.d.ts.map +1 -0
  35. package/lib/{Parallelstore → ManagedLustre}/Instance.js +39 -35
  36. package/lib/ManagedLustre/Instance.js.map +1 -0
  37. package/lib/ManagedLustre/index.d.ts.map +1 -0
  38. package/lib/ManagedLustre/index.js.map +1 -0
  39. package/lib/Providers.js +3 -3
  40. package/lib/index.d.ts +1 -1
  41. package/lib/index.js +1 -1
  42. package/package.json +4 -4
  43. package/src/CloudResourceManager/Project.ts +90 -2
  44. package/src/CloudResourceManager/ProjectIamMember.ts +29 -0
  45. package/src/CloudResourceManager/index.ts +1 -0
  46. package/src/Compute/Network.ts +58 -5
  47. package/src/Compute/SharedVpcServiceProject.ts +6 -1
  48. package/src/Compute/Subnetwork.ts +105 -2
  49. package/src/Compute/SubnetworkIamMember.ts +52 -0
  50. package/src/Compute/index.ts +1 -0
  51. package/src/{Parallelstore → ManagedLustre}/Instance.ts +163 -110
  52. package/src/Providers.ts +5 -5
  53. package/src/index.ts +1 -1
  54. package/lib/Parallelstore/Instance.d.ts +0 -119
  55. package/lib/Parallelstore/Instance.d.ts.map +0 -1
  56. package/lib/Parallelstore/Instance.js.map +0 -1
  57. package/lib/Parallelstore/index.d.ts.map +0 -1
  58. package/lib/Parallelstore/index.js.map +0 -1
  59. /package/lib/{Parallelstore → ManagedLustre}/index.d.ts +0 -0
  60. /package/lib/{Parallelstore → ManagedLustre}/index.js +0 -0
  61. /package/src/{Parallelstore → ManagedLustre}/index.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Subnetwork.js","sourceRoot":"","sources":["../../src/Compute/Subnetwork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subnetwork.js","sourceRoot":"","sources":["../../src/Compute/Subnetwork.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { Subnetwork } from "./Subnetwork.ts";
3
+ /**
4
+ * Bind a single `(role, member)` IAM grant onto a {@link Subnetwork}.
5
+ *
6
+ * This is a **target-side binding** — it records the grant onto the
7
+ * subnet's binding bag (`stack.bindings[subnet]`); the Subnetwork
8
+ * provider's `reconcile` later merges all such bindings (across all
9
+ * callers, including parallel ones from different cluster projects)
10
+ * into a single `setIamPolicy` call on the subnet.
11
+ *
12
+ * Identity for dedup: the rendered SID is `IamMember(<subnet>, <key>)`.
13
+ * The engine collapses binds by SID, so callers MUST supply a
14
+ * stack-unique `key` per (subnet, role, member) triple — otherwise a
15
+ * later bind silently overwrites an earlier one with the same key.
16
+ *
17
+ * The reason `key` exists: `member` is usually an `Output<string>`
18
+ * (e.g. `Output.interpolate\`...${proj.projectNumber}...\``), and
19
+ * `Output` expressions stringify by their AST shape, not by the
20
+ * eventual value. Two interpolations of the same shape but different
21
+ * literal templates render the same SID. `key` sidesteps that by
22
+ * forcing a static, caller-supplied label into the SID.
23
+ *
24
+ * Use this for the "Pulumi `gcp.compute.SubnetworkIAMMember`" pattern:
25
+ * authoritative-for-(role, member)-tuple, additive (does not displace
26
+ * other members on the same role).
27
+ *
28
+ * @example Granting GKE Standard cluster networkUser on a Shared VPC subnet
29
+ * ```typescript
30
+ * yield* GCP.subnetworkIamMember(subnet, "ClusterA-GkeAgent", {
31
+ * role: "roles/compute.networkUser",
32
+ * member: gkeAgentMember,
33
+ * });
34
+ * yield* GCP.subnetworkIamMember(subnet, "ClusterA-CloudSvc", {
35
+ * role: "roles/compute.networkUser",
36
+ * member: cloudServicesMember,
37
+ * });
38
+ * // → one setIamPolicy on `subnet` with both members under networkUser.
39
+ * ```
40
+ */
41
+ export declare const subnetworkIamMember: (subnet: Subnetwork, key: string, args: {
42
+ role: string;
43
+ member: string;
44
+ }) => Effect.Effect<void>;
45
+ //# sourceMappingURL=SubnetworkIamMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubnetworkIamMember.d.ts","sourceRoot":"","sources":["../../src/Compute/SubnetworkIamMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,UAAU,EAClB,KAAK,MAAM,EACX,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAMiB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Bind a single `(role, member)` IAM grant onto a {@link Subnetwork}.
3
+ *
4
+ * This is a **target-side binding** — it records the grant onto the
5
+ * subnet's binding bag (`stack.bindings[subnet]`); the Subnetwork
6
+ * provider's `reconcile` later merges all such bindings (across all
7
+ * callers, including parallel ones from different cluster projects)
8
+ * into a single `setIamPolicy` call on the subnet.
9
+ *
10
+ * Identity for dedup: the rendered SID is `IamMember(<subnet>, <key>)`.
11
+ * The engine collapses binds by SID, so callers MUST supply a
12
+ * stack-unique `key` per (subnet, role, member) triple — otherwise a
13
+ * later bind silently overwrites an earlier one with the same key.
14
+ *
15
+ * The reason `key` exists: `member` is usually an `Output<string>`
16
+ * (e.g. `Output.interpolate\`...${proj.projectNumber}...\``), and
17
+ * `Output` expressions stringify by their AST shape, not by the
18
+ * eventual value. Two interpolations of the same shape but different
19
+ * literal templates render the same SID. `key` sidesteps that by
20
+ * forcing a static, caller-supplied label into the SID.
21
+ *
22
+ * Use this for the "Pulumi `gcp.compute.SubnetworkIAMMember`" pattern:
23
+ * authoritative-for-(role, member)-tuple, additive (does not displace
24
+ * other members on the same role).
25
+ *
26
+ * @example Granting GKE Standard cluster networkUser on a Shared VPC subnet
27
+ * ```typescript
28
+ * yield* GCP.subnetworkIamMember(subnet, "ClusterA-GkeAgent", {
29
+ * role: "roles/compute.networkUser",
30
+ * member: gkeAgentMember,
31
+ * });
32
+ * yield* GCP.subnetworkIamMember(subnet, "ClusterA-CloudSvc", {
33
+ * role: "roles/compute.networkUser",
34
+ * member: cloudServicesMember,
35
+ * });
36
+ * // → one setIamPolicy on `subnet` with both members under networkUser.
37
+ * ```
38
+ */
39
+ export const subnetworkIamMember = (subnet, key, args) =>
40
+ // Tagged-template `.bind` records into the target's binding bag.
41
+ // Subnetwork's reconcile sees `bindings: ResourceBinding<…>[]` and
42
+ // merges all entries by role into one setIamPolicy call.
43
+ subnet.bind `IamMember(${subnet}, ${key})`({
44
+ iamBindings: [{ role: args.role, members: [args.member] }],
45
+ });
46
+ //# sourceMappingURL=SubnetworkIamMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubnetworkIamMember.js","sourceRoot":"","sources":["../../src/Compute/SubnetworkIamMember.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAkB,EAClB,GAAW,EACX,IAAsC,EACjB,EAAE;AACvB,iEAAiE;AACjE,mEAAmE;AACnE,yDAAyD;AACzD,MAAM,CAAC,IAAI,CAAA,aAAa,MAAM,KAAK,GAAG,GAAG,CAAC;IACxC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAmC,CAAC"}
@@ -3,4 +3,5 @@ export * from "./Network.ts";
3
3
  export * from "./SharedVpcHost.ts";
4
4
  export * from "./SharedVpcServiceProject.ts";
5
5
  export * from "./Subnetwork.ts";
6
+ export * from "./SubnetworkIamMember.ts";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
@@ -3,4 +3,5 @@ export * from "./Network.js";
3
3
  export * from "./SharedVpcHost.js";
4
4
  export * from "./SharedVpcServiceProject.js";
5
5
  export * from "./Subnetwork.js";
6
+ export * from "./SubnetworkIamMember.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,173 @@
1
+ import { Resource } from "alchemy";
2
+ import * as Provider from "alchemy/Provider";
3
+ import type { NetworkRefById } from "../Compute/Network.ts";
4
+ import type * as GCP from "../Providers.ts";
5
+ /**
6
+ * A Google Cloud Managed Lustre instance — a managed parallel POSIX
7
+ * filesystem (DDN EXAScaler under the hood) for AI training and HPC
8
+ * shared storage. Mounted in GKE clusters via the Managed Lustre CSI
9
+ * driver. The Google-blessed successor to Parallelstore (deprecated,
10
+ * EOS 2026-10-31).
11
+ *
12
+ * **Network preconditions.** The instance attaches to a VPC over PSA
13
+ * (Private Services Access) consumed via `servicenetworking`. The
14
+ * consumer VPC must already have:
15
+ * 1. A `GCP.GlobalAddress` reservation (`purpose=VPC_PEERING`,
16
+ * `addressType=INTERNAL`, ≥/24 prefix length).
17
+ * 2. A `GCP.PsaConnection` to `servicenetworking.googleapis.com`.
18
+ * Lustre does NOT take a `reservedIpRange` field — it auto-allocates
19
+ * from whichever PSA peering the network already has.
20
+ *
21
+ * **Capacity & tier.** Two tiering shapes:
22
+ * - **Dynamic tier** (`dynamicTierMode: "DEFAULT_CACHE"`) — pay-per-GiB
23
+ * elastic capacity. `perUnitStorageThroughput` MUST be unset.
24
+ * - **Performance tier** — `perUnitStorageThroughput` ∈ {125, 250,
25
+ * 500, 1000} MBps/TiB; `dynamicTierMode` left unset (or "DISABLED").
26
+ *
27
+ * `capacityGib` floors and increments are tier-specific and **much
28
+ * higher than the Google docs imply**. Empirical limits (probed
29
+ * `europe-west4-a`, May 2026):
30
+ *
31
+ * | Tier | Min capacity | Increment |
32
+ * |----------------------------------------------|---------------------|-----------------|
33
+ * | `dynamicTierMode: "DEFAULT_CACHE"` | 472000 GiB (~461T) | unknown |
34
+ * | `perUnitStorageThroughput: "125"` | 72000 GiB (~70T) | unknown |
35
+ * | `perUnitStorageThroughput: "250"` | 36000 GiB (~35T) | unknown |
36
+ * | `perUnitStorageThroughput: "500"` | (≤18000 ok) | 18000 GiB |
37
+ * | `perUnitStorageThroughput: "1000"` | (≤18000 ok) | 9000 GiB |
38
+ *
39
+ * Each tier has its own quota metric
40
+ * (`StorageFor{125,250,500,1000}MBpThroughputPerTiB` for Performance);
41
+ * default is **zero** in `europe-west4-a` for new projects, so a
42
+ * quota request through the GCP console is required before any
43
+ * Performance-tier instance creates. Dynamic-tier quota was not
44
+ * probed but is likely the same.
45
+ *
46
+ * See <https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers>
47
+ * for the (incomplete) public documentation.
48
+ *
49
+ * Lustre operations use a CRM-style `Operation.done: boolean` (verified
50
+ * at `lustre-v1.ts`).
51
+ *
52
+ * @section Creating a Managed Lustre instance
53
+ * @example 20 TiB Performance-tier instance (125 MBps/TiB)
54
+ * ```typescript
55
+ * const fs = yield* GCP.ManagedLustreInstance("ModelsFs", {
56
+ * project: hostProject.projectId,
57
+ * location: "europe-west4-a",
58
+ * filesystem: "models",
59
+ * capacityGib: "20480",
60
+ * network: GCP.networkRefById(hostProject.projectId, vpc.name),
61
+ * perUnitStorageThroughput: "125",
62
+ * gkeSupportEnabled: true,
63
+ * });
64
+ * ```
65
+ */
66
+ export type ManagedLustreInstanceProps = {
67
+ /** GCP project ID hosting the instance. Immutable — replace if changed. */
68
+ project: string;
69
+ /**
70
+ * Managed Lustre location. **Zone, not region** — Lustre is a zonal
71
+ * product (e.g. `europe-west4-a`). Immutable — replace.
72
+ */
73
+ location: string;
74
+ /**
75
+ * Instance ID. Defaults to `createPhysicalName({ id, lowercase: true,
76
+ * maxLength: 63 })`. Lowercase letters/numbers/hyphens, must start
77
+ * with a letter, end with a letter or number. Immutable — replace.
78
+ */
79
+ instanceId?: string;
80
+ /**
81
+ * Lustre filesystem name — what clients use when mounting. **Eight
82
+ * characters or less, letters and numbers only** (no hyphens). This
83
+ * is distinct from `instanceId`; clients see the filesystem name in
84
+ * the mount point string. Immutable — replace.
85
+ */
86
+ filesystem: string;
87
+ /** User-visible description. Mutable via `patch`. */
88
+ description?: string;
89
+ /**
90
+ * Capacity in **GiB** (1024-based). Sent to the API as a string per
91
+ * Lustre's int64-encoded-as-string convention. Replace-only — Lustre
92
+ * doesn't currently support online resize.
93
+ */
94
+ capacityGib: string;
95
+ /**
96
+ * Fully-qualified consumer VPC in **project-ID** form. Build with
97
+ * `networkRefById(project.projectId, vpc.name)` — Lustre's
98
+ * `instances.create` rejects the project-number form with a
99
+ * `BadRequest` error, so this prop is intentionally typed as
100
+ * `NetworkRefById` (a nominally branded sibling of `NetworkRef`) to
101
+ * surface the constraint at compile time. Immutable — replace.
102
+ */
103
+ network: NetworkRefById;
104
+ /**
105
+ * Dynamic tier mode. Set to `"DEFAULT_CACHE"` to opt into the elastic
106
+ * Dynamic tier; `"DISABLED"` (or omit) for the fixed-throughput tier.
107
+ * If `"DEFAULT_CACHE"`, leave `perUnitStorageThroughput` unset.
108
+ * Immutable — replace.
109
+ */
110
+ dynamicTierMode?: "DEFAULT_CACHE" | "DISABLED";
111
+ /**
112
+ * Throughput in MBps per TiB for the fixed-throughput tier. Mutually
113
+ * exclusive with `dynamicTierMode === "DEFAULT_CACHE"`. Immutable —
114
+ * replace.
115
+ */
116
+ perUnitStorageThroughput?: "125" | "250" | "500" | "1000";
117
+ /**
118
+ * Enable GKE-client support. Recommended `true` for instances mounted
119
+ * by GKE pods via the Managed Lustre CSI driver. Immutable — replace.
120
+ */
121
+ gkeSupportEnabled?: boolean;
122
+ /**
123
+ * Cloud KMS key for at-rest encryption. Format
124
+ * `projects/{p}/locations/{l}/keyRings/{r}/cryptoKeys/{k}`. Immutable
125
+ * — replace.
126
+ */
127
+ kmsKey?: string;
128
+ /**
129
+ * Resource labels. Alchemy internal labels (`alchemy_app`,
130
+ * `alchemy_stage`, `alchemy_id`) are merged on top automatically.
131
+ * Mutable via `patch`.
132
+ */
133
+ labels?: Record<string, string>;
134
+ };
135
+ export type ManagedLustreInstanceAttributes = {
136
+ /** Bare instance id. */
137
+ instanceId: string;
138
+ /** Project ID. */
139
+ project: string;
140
+ /** Zone. */
141
+ location: string;
142
+ /** Resource name `projects/{p}/locations/{l}/instances/{id}`. */
143
+ name: string;
144
+ /** Lustre filesystem name (mirrors props). */
145
+ filesystem: string;
146
+ /** Description, mirroring props. */
147
+ description: string | undefined;
148
+ /** Capacity in GiB. */
149
+ capacityGib: string;
150
+ /** Consumer VPC URL (project-ID form). */
151
+ network: NetworkRefById;
152
+ /** Lifecycle state — `ACTIVE` once ready. */
153
+ state: string | undefined;
154
+ /**
155
+ * Mount point string clients pass to `mount -t lustre`, of the form
156
+ * `IP_ADDRESS@tcp:/FILESYSTEM`. Output-only.
157
+ */
158
+ mountPoint: string | undefined;
159
+ /** Dynamic tier mode currently configured. */
160
+ dynamicTierMode: string | undefined;
161
+ /** Per-TiB throughput (string, MBps/TiB). */
162
+ perUnitStorageThroughput: string | undefined;
163
+ /** GKE-client support flag. */
164
+ gkeSupportEnabled: boolean | undefined;
165
+ /** KMS key, if set. */
166
+ kmsKey: string | undefined;
167
+ /** Labels currently set, including internals. */
168
+ labels: Record<string, string>;
169
+ };
170
+ export type ManagedLustreInstance = Resource<"GCP.ManagedLustreInstance", ManagedLustreInstanceProps, ManagedLustreInstanceAttributes, never, GCP.Providers>;
171
+ export declare const ManagedLustreInstance: import("alchemy").ResourceClass<ManagedLustreInstance>;
172
+ export declare const ManagedLustreInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<ManagedLustreInstance>, never, import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stage | import("alchemy").Stack | import("@distilled.cloud/gcp").Credentials>;
173
+ //# sourceMappingURL=Instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/ManagedLustre/Instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAK7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC;IAC/C;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6CAA6C;IAC7C,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,+BAA+B;IAC/B,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AACF,eAAO,MAAM,qBAAqB,wDAEjC,CAAC;AAkCF,eAAO,MAAM,6BAA6B,4OAqMvC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigError } from "@distilled.cloud/gcp";
2
- import * as ps from "@distilled.cloud/gcp/parallelstore-v1";
2
+ import * as lustre from "@distilled.cloud/gcp/lustre-v1";
3
3
  import { Resource } from "alchemy";
4
4
  import { Unowned } from "alchemy/AdoptPolicy";
5
5
  import { isResolved, somePropsAreDifferent } from "alchemy/Diff";
@@ -10,46 +10,48 @@ import * as Duration from "effect/Duration";
10
10
  import * as Effect from "effect/Effect";
11
11
  import * as Schedule from "effect/Schedule";
12
12
  import { gcpInternalLabels, hasAlchemyLabels } from "../Tags.js";
13
- export const ParallelstoreInstance = Resource("GCP.ParallelstoreInstance");
13
+ export const ManagedLustreInstance = Resource("GCP.ManagedLustreInstance");
14
14
  const toAttributes = (i, parent) => ({
15
15
  instanceId: parent.instanceId,
16
16
  project: parent.project,
17
17
  location: parent.location,
18
- name: i.name ?? `projects/${parent.project}/locations/${parent.location}/instances/${parent.instanceId}`,
18
+ name: i.name ??
19
+ `projects/${parent.project}/locations/${parent.location}/instances/${parent.instanceId}`,
20
+ filesystem: i.filesystem ?? "",
19
21
  description: i.description,
20
22
  capacityGib: i.capacityGib ?? "",
21
- // The server-echoed `i.network` matches what we sent up at create
22
- // time, but we thread `parent.network` through to preserve the
23
- // `NetworkRef` type without a cast — same pattern as project /
24
- // location, both of which would otherwise lose their typing through
25
- // the SDK's `string | undefined` fields.
23
+ // Server-echoed `i.network` matches what we sent at create time, but
24
+ // we thread `parent.network` through to preserve the
25
+ // `NetworkRefById` brand without a cast — same pattern as project /
26
+ // location.
26
27
  network: parent.network,
27
- reservedIpRange: i.reservedIpRange,
28
- effectiveReservedIpRange: i.effectiveReservedIpRange,
29
28
  state: i.state,
30
- deploymentType: i.deploymentType,
31
- accessPoints: i.accessPoints ?? [],
29
+ mountPoint: i.mountPoint,
30
+ dynamicTierMode: i.dynamicTierOptions?.mode,
31
+ perUnitStorageThroughput: i.perUnitStorageThroughput,
32
+ gkeSupportEnabled: i.gkeSupportEnabled,
33
+ kmsKey: i.kmsKey,
32
34
  labels: { ...(i.labels ?? {}) },
33
35
  });
34
- export const ParallelstoreInstanceProvider = () => Provider.effect(ParallelstoreInstance, Effect.gen(function* () {
35
- const getInstance = yield* ps.getProjectsLocationsInstances;
36
- const createInstance = yield* ps.createProjectsLocationsInstances;
37
- const patchInstance = yield* ps.patchProjectsLocationsInstances;
38
- const deleteInstance = yield* ps.deleteProjectsLocationsInstances;
39
- const getOperation = yield* ps.getProjectsLocationsOperations;
36
+ export const ManagedLustreInstanceProvider = () => Provider.effect(ManagedLustreInstance, Effect.gen(function* () {
37
+ const getInstance = yield* lustre.getProjectsLocationsInstances;
38
+ const createInstance = yield* lustre.createProjectsLocationsInstances;
39
+ const patchInstance = yield* lustre.patchProjectsLocationsInstances;
40
+ const deleteInstance = yield* lustre.deleteProjectsLocationsInstances;
41
+ const getOperation = yield* lustre.getProjectsLocationsOperations;
40
42
  const awaitOperation = Effect.fn(function* (operationName, session) {
41
43
  const op = yield* getOperation({ name: operationName }).pipe(Effect.flatMap((current) => current.done === true
42
44
  ? Effect.succeed(current)
43
45
  : Effect.fail({ _tag: "OperationPending" })), Effect.retry({
44
46
  while: (e) => e?._tag === "OperationPending",
45
47
  schedule: Schedule.exponential(Duration.seconds(5), 1.5).pipe(Schedule.either(Schedule.spaced(Duration.seconds(30))),
46
- // Parallelstore creates routinely run 10–25 min for
47
- // multi-TiB instances. 200 × 30s ≈ 100 min wall ceiling.
48
- Schedule.both(Schedule.recurs(200)), Schedule.tapOutput(() => session.note(`Waiting for Parallelstore operation ${operationName}…`))),
48
+ // Lustre creates run 10–25 min for multi-TiB instances.
49
+ // 200 × 30s ≈ 100 min wall ceiling.
50
+ Schedule.both(Schedule.recurs(200)), Schedule.tapOutput(() => session.note(`Waiting for Managed Lustre operation ${operationName}…`))),
49
51
  }));
50
52
  if (op.error) {
51
53
  return yield* new ConfigError({
52
- message: `Parallelstore operation ${operationName} failed: ${op.error.message ?? JSON.stringify(op.error)}`,
54
+ message: `Managed Lustre operation ${operationName} failed: ${op.error.message ?? JSON.stringify(op.error)}`,
53
55
  });
54
56
  }
55
57
  return op;
@@ -88,12 +90,13 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
88
90
  "project",
89
91
  "location",
90
92
  "instanceId",
93
+ "filesystem",
91
94
  "network",
92
- "reservedIpRange",
93
- "deploymentType",
94
- "fileStripeLevel",
95
- "directoryStripeLevel",
96
95
  "capacityGib",
96
+ "dynamicTierMode",
97
+ "perUnitStorageThroughput",
98
+ "gkeSupportEnabled",
99
+ "kmsKey",
97
100
  ])) {
98
101
  return { action: "replace" };
99
102
  }
@@ -112,15 +115,20 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
112
115
  let observed = yield* observe(news.project, news.location, desiredId);
113
116
  if (!observed) {
114
117
  const body = {
118
+ filesystem: news.filesystem,
115
119
  capacityGib: news.capacityGib,
116
120
  network: news.network,
117
121
  ...(news.description ? { description: news.description } : {}),
118
- ...(news.reservedIpRange ? { reservedIpRange: news.reservedIpRange } : {}),
119
- ...(news.deploymentType ? { deploymentType: news.deploymentType } : {}),
120
- ...(news.fileStripeLevel ? { fileStripeLevel: news.fileStripeLevel } : {}),
121
- ...(news.directoryStripeLevel
122
- ? { directoryStripeLevel: news.directoryStripeLevel }
122
+ ...(news.dynamicTierMode
123
+ ? { dynamicTierOptions: { mode: news.dynamicTierMode } }
123
124
  : {}),
125
+ ...(news.perUnitStorageThroughput
126
+ ? { perUnitStorageThroughput: news.perUnitStorageThroughput }
127
+ : {}),
128
+ ...(news.gkeSupportEnabled !== undefined
129
+ ? { gkeSupportEnabled: news.gkeSupportEnabled }
130
+ : {}),
131
+ ...(news.kmsKey ? { kmsKey: news.kmsKey } : {}),
124
132
  labels: desiredLabels,
125
133
  };
126
134
  const op = yield* createInstance({
@@ -152,10 +160,6 @@ export const ParallelstoreInstanceProvider = () => Provider.effect(Parallelstore
152
160
  read: Effect.fn(function* ({ id, output, olds }) {
153
161
  const project = output?.project ?? olds?.project;
154
162
  const location = output?.location ?? olds?.location;
155
- // `network` only narrows to NetworkRef when it comes from
156
- // post-create `output`. `olds` is the snapshot of *props*
157
- // including a NetworkRef, so both feed into the same typed
158
- // pipeline.
159
163
  const network = output?.network ?? olds?.network;
160
164
  if (!project || !location || !network)
161
165
  return undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../src/ManagedLustre/Instance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ManagedLustre/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ManagedLustre/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
package/lib/Providers.js CHANGED
@@ -10,7 +10,7 @@ import { SharedVpcServiceProject, SharedVpcServiceProjectProvider, } from "./Com
10
10
  import { Subnetwork, SubnetworkProvider } from "./Compute/Subnetwork.js";
11
11
  import { Cluster, ClusterProvider } from "./Container/Cluster.js";
12
12
  import { NodePool, NodePoolProvider } from "./Container/NodePool.js";
13
- import { ParallelstoreInstance, ParallelstoreInstanceProvider, } from "./Parallelstore/Instance.js";
13
+ import { ManagedLustreInstance, ManagedLustreInstanceProvider, } from "./ManagedLustre/Instance.js";
14
14
  import { PsaConnection, PsaConnectionProvider, } from "./ServiceNetworking/PsaConnection.js";
15
15
  import { ApiEnable, ApiEnableProvider } from "./ServiceUsage/ApiEnable.js";
16
16
  export class Providers extends Provider.ProviderCollection()("GCP") {
@@ -41,8 +41,8 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
41
41
  SharedVpcHost,
42
42
  SharedVpcServiceProject,
43
43
  PsaConnection,
44
- ParallelstoreInstance,
45
- ])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(), ParallelstoreInstanceProvider())), Layer.provideMerge(fromAuthProvider()), Layer.provideMerge(GCPAuth),
44
+ ManagedLustreInstance,
45
+ ])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(), ManagedLustreInstanceProvider())), Layer.provideMerge(fromAuthProvider()), Layer.provideMerge(GCPAuth),
46
46
  // Auth/config failures (missing ADC, malformed profile) become
47
47
  // unrecoverable defects rather than typed errors — mirrors
48
48
  // `AWS/Providers.ts` and `Cloudflare/Providers.ts`. Resource lifecycle
package/lib/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export type { GCPAuthConfig, GCPResolvedCredentials, } from "./Auth/AuthProvider
4
4
  export * from "./CloudResourceManager/index.ts";
5
5
  export * from "./Compute/index.ts";
6
6
  export * from "./Container/index.ts";
7
- export * from "./Parallelstore/index.ts";
7
+ export * from "./ManagedLustre/index.ts";
8
8
  export * from "./ServiceNetworking/index.ts";
9
9
  export * from "./ServiceUsage/index.ts";
10
10
  export * from "./Providers.ts";
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ export { GCP_AUTH_PROVIDER_NAME, GCPAuth, } from "./Auth/AuthProvider.js";
3
3
  export * from "./CloudResourceManager/index.js";
4
4
  export * from "./Compute/index.js";
5
5
  export * from "./Container/index.js";
6
- export * from "./Parallelstore/index.js";
6
+ export * from "./ManagedLustre/index.js";
7
7
  export * from "./ServiceNetworking/index.js";
8
8
  export * from "./ServiceUsage/index.js";
9
9
  export * from "./Providers.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@microagi/alchemy-gcp",
3
- "version": "0.1.3",
4
- "description": "GCP provider for Alchemy v2 (Effect-based IaC). Resources for Project, Cluster, NodePool, Parallelstore, Compute, ServiceUsage, ServiceNetworking, with ADC-backed credentials.",
3
+ "version": "0.2.0",
4
+ "description": "GCP provider for Alchemy v2 (Effect-based IaC). Resources for Project, Cluster, NodePool, Compute, ManagedLustre, ServiceUsage, ServiceNetworking, with ADC-backed credentials and target-side IAM bindings.",
5
5
  "keywords": [
6
6
  "alchemy",
7
7
  "alchemy-effect",
@@ -57,10 +57,10 @@
57
57
  "effect": ">=4.0.0-beta.60 || >=4.0.0"
58
58
  },
59
59
  "devDependencies": {
60
- "@distilled.cloud/gcp": "workspace:*",
60
+ "@distilled.cloud/gcp": "0.19.0",
61
61
  "@types/bun": "latest",
62
62
  "@types/node": "latest",
63
- "alchemy": "workspace:*",
63
+ "alchemy": "2.0.0-beta.34",
64
64
  "effect": ">=4.0.0-beta.60 || >=4.0.0",
65
65
  "typescript": "^6.0.3"
66
66
  },