@microagi/alchemy-gcp 0.11.6 → 0.11.8

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 (164) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/ArtifactRegistry/Operations.d.ts +1 -1
  3. package/lib/ArtifactRegistry/Repository.d.ts +2 -2
  4. package/lib/ArtifactRegistry/Repository.d.ts.map +1 -1
  5. package/lib/ArtifactRegistry/Repository.js +5 -5
  6. package/lib/ArtifactRegistry/Repository.js.map +1 -1
  7. package/lib/ArtifactRegistry/RepositoryIamMember.d.ts +2 -1
  8. package/lib/ArtifactRegistry/RepositoryIamMember.d.ts.map +1 -1
  9. package/lib/ArtifactRegistry/RepositoryIamMember.js +1 -1
  10. package/lib/CloudResourceManager/Project.d.ts +2 -1
  11. package/lib/CloudResourceManager/Project.d.ts.map +1 -1
  12. package/lib/CloudResourceManager/Project.js +6 -6
  13. package/lib/CloudResourceManager/Project.js.map +1 -1
  14. package/lib/Compute/Address.d.ts +2 -1
  15. package/lib/Compute/Address.d.ts.map +1 -1
  16. package/lib/Compute/Address.js +4 -4
  17. package/lib/Compute/Address.js.map +1 -1
  18. package/lib/Compute/Firewall.d.ts +2 -1
  19. package/lib/Compute/Firewall.d.ts.map +1 -1
  20. package/lib/Compute/Firewall.js +1 -1
  21. package/lib/Compute/ForwardingRule.d.ts +2 -1
  22. package/lib/Compute/ForwardingRule.d.ts.map +1 -1
  23. package/lib/Compute/ForwardingRule.js +4 -4
  24. package/lib/Compute/ForwardingRule.js.map +1 -1
  25. package/lib/Compute/GlobalAddress.d.ts +2 -1
  26. package/lib/Compute/GlobalAddress.d.ts.map +1 -1
  27. package/lib/Compute/GlobalAddress.js +4 -4
  28. package/lib/Compute/GlobalAddress.js.map +1 -1
  29. package/lib/Compute/Network.d.ts +2 -1
  30. package/lib/Compute/Network.d.ts.map +1 -1
  31. package/lib/Compute/Network.js +1 -1
  32. package/lib/Compute/Operations.d.ts +1 -1
  33. package/lib/Compute/ProjectDefaultNetworkTier.d.ts +2 -1
  34. package/lib/Compute/ProjectDefaultNetworkTier.d.ts.map +1 -1
  35. package/lib/Compute/ProjectDefaultNetworkTier.js +1 -1
  36. package/lib/Compute/SharedVpcHost.d.ts +2 -1
  37. package/lib/Compute/SharedVpcHost.d.ts.map +1 -1
  38. package/lib/Compute/SharedVpcHost.js +1 -1
  39. package/lib/Compute/SharedVpcServiceProject.d.ts +2 -1
  40. package/lib/Compute/SharedVpcServiceProject.d.ts.map +1 -1
  41. package/lib/Compute/SharedVpcServiceProject.js +1 -1
  42. package/lib/Compute/Subnetwork.d.ts +2 -1
  43. package/lib/Compute/Subnetwork.d.ts.map +1 -1
  44. package/lib/Compute/Subnetwork.js +2 -2
  45. package/lib/Compute/Subnetwork.js.map +1 -1
  46. package/lib/Container/Cluster.d.ts +4 -2
  47. package/lib/Container/Cluster.d.ts.map +1 -1
  48. package/lib/Container/Cluster.js +28 -10
  49. package/lib/Container/Cluster.js.map +1 -1
  50. package/lib/Container/NodePool.d.ts +2 -2
  51. package/lib/Container/NodePool.d.ts.map +1 -1
  52. package/lib/Container/NodePool.js +22 -12
  53. package/lib/Container/NodePool.js.map +1 -1
  54. package/lib/Container/Operations.d.ts +1 -1
  55. package/lib/Iam/Operations.d.ts +42 -0
  56. package/lib/Iam/Operations.d.ts.map +1 -0
  57. package/lib/Iam/Operations.js +48 -0
  58. package/lib/Iam/Operations.js.map +1 -0
  59. package/lib/Iam/ServiceAccount.d.ts +2 -1
  60. package/lib/Iam/ServiceAccount.d.ts.map +1 -1
  61. package/lib/Iam/ServiceAccount.js +1 -1
  62. package/lib/Iam/ServiceAccountKey.d.ts +2 -1
  63. package/lib/Iam/ServiceAccountKey.d.ts.map +1 -1
  64. package/lib/Iam/ServiceAccountKey.js +1 -1
  65. package/lib/Iam/WorkloadIdentityPool.d.ts +101 -0
  66. package/lib/Iam/WorkloadIdentityPool.d.ts.map +1 -0
  67. package/lib/Iam/WorkloadIdentityPool.js +175 -0
  68. package/lib/Iam/WorkloadIdentityPool.js.map +1 -0
  69. package/lib/Iam/WorkloadIdentityPoolProvider.d.ts +125 -0
  70. package/lib/Iam/WorkloadIdentityPoolProvider.d.ts.map +1 -0
  71. package/lib/Iam/WorkloadIdentityPoolProvider.js +222 -0
  72. package/lib/Iam/WorkloadIdentityPoolProvider.js.map +1 -0
  73. package/lib/Iam/index.d.ts +4 -0
  74. package/lib/Iam/index.d.ts.map +1 -1
  75. package/lib/Iam/index.js +2 -0
  76. package/lib/Iam/index.js.map +1 -1
  77. package/lib/Kubernetes/Secret.d.ts.map +1 -1
  78. package/lib/Kubernetes/Secret.js.map +1 -1
  79. package/lib/ManagedLustre/Instance.d.ts +2 -1
  80. package/lib/ManagedLustre/Instance.d.ts.map +1 -1
  81. package/lib/ManagedLustre/Instance.js +6 -6
  82. package/lib/ManagedLustre/Instance.js.map +1 -1
  83. package/lib/Providers.d.ts.map +1 -1
  84. package/lib/Providers.js +5 -1
  85. package/lib/Providers.js.map +1 -1
  86. package/lib/Run/IamSync.d.ts +1 -1
  87. package/lib/Run/Job.d.ts +3 -3
  88. package/lib/Run/Job.d.ts.map +1 -1
  89. package/lib/Run/Job.js +5 -5
  90. package/lib/Run/Job.js.map +1 -1
  91. package/lib/Run/Operations.d.ts +1 -1
  92. package/lib/Run/Service.d.ts +2 -2
  93. package/lib/Run/Service.d.ts.map +1 -1
  94. package/lib/Run/Service.js +9 -7
  95. package/lib/Run/Service.js.map +1 -1
  96. package/lib/Run/index.d.ts +2 -2
  97. package/lib/ServiceNetworking/PsaConnection.d.ts +2 -1
  98. package/lib/ServiceNetworking/PsaConnection.d.ts.map +1 -1
  99. package/lib/ServiceNetworking/PsaConnection.js +1 -1
  100. package/lib/ServiceUsage/ApiEnable.d.ts +2 -1
  101. package/lib/ServiceUsage/ApiEnable.d.ts.map +1 -1
  102. package/lib/ServiceUsage/ApiEnable.js +1 -1
  103. package/lib/Sqladmin/Database.d.ts +2 -1
  104. package/lib/Sqladmin/Database.d.ts.map +1 -1
  105. package/lib/Sqladmin/Database.js +1 -1
  106. package/lib/Sqladmin/Instance.d.ts +2 -1
  107. package/lib/Sqladmin/Instance.d.ts.map +1 -1
  108. package/lib/Sqladmin/Instance.js +7 -7
  109. package/lib/Sqladmin/Instance.js.map +1 -1
  110. package/lib/Sqladmin/Operations.d.ts +1 -1
  111. package/lib/Sqladmin/User.d.ts +2 -1
  112. package/lib/Sqladmin/User.d.ts.map +1 -1
  113. package/lib/Sqladmin/User.js +1 -1
  114. package/lib/Storage/Bucket.d.ts +2 -2
  115. package/lib/Storage/Bucket.d.ts.map +1 -1
  116. package/lib/Storage/Bucket.js +1 -1
  117. package/lib/Storage/StorageBucketIamMember.d.ts +2 -1
  118. package/lib/Storage/StorageBucketIamMember.d.ts.map +1 -1
  119. package/lib/Storage/StorageBucketIamMember.js +1 -1
  120. package/lib/Tags.d.ts +3 -1
  121. package/lib/Tags.d.ts.map +1 -1
  122. package/lib/Tags.js +9 -1
  123. package/lib/Tags.js.map +1 -1
  124. package/package.json +9 -9
  125. package/src/ArtifactRegistry/Operations.ts +1 -1
  126. package/src/ArtifactRegistry/Repository.ts +5 -5
  127. package/src/ArtifactRegistry/RepositoryIamMember.ts +1 -1
  128. package/src/CloudResourceManager/Project.ts +6 -6
  129. package/src/Compute/Address.ts +4 -4
  130. package/src/Compute/Firewall.ts +1 -1
  131. package/src/Compute/ForwardingRule.ts +4 -4
  132. package/src/Compute/GlobalAddress.ts +4 -4
  133. package/src/Compute/Network.ts +1 -1
  134. package/src/Compute/Operations.ts +1 -1
  135. package/src/Compute/ProjectDefaultNetworkTier.ts +1 -1
  136. package/src/Compute/SharedVpcHost.ts +1 -1
  137. package/src/Compute/SharedVpcServiceProject.ts +1 -1
  138. package/src/Compute/Subnetwork.ts +2 -2
  139. package/src/Container/Cluster.ts +36 -11
  140. package/src/Container/NodePool.ts +30 -13
  141. package/src/Container/Operations.ts +1 -1
  142. package/src/Iam/Operations.ts +81 -0
  143. package/src/Iam/ServiceAccount.ts +1 -1
  144. package/src/Iam/ServiceAccountKey.ts +1 -1
  145. package/src/Iam/WorkloadIdentityPool.ts +309 -0
  146. package/src/Iam/WorkloadIdentityPoolProvider.ts +429 -0
  147. package/src/Iam/index.ts +10 -0
  148. package/src/Kubernetes/Secret.ts +4 -1
  149. package/src/ManagedLustre/Instance.ts +6 -6
  150. package/src/Providers.ts +12 -0
  151. package/src/Run/IamSync.ts +1 -1
  152. package/src/Run/Job.ts +6 -6
  153. package/src/Run/Operations.ts +1 -1
  154. package/src/Run/Service.ts +9 -7
  155. package/src/Run/index.ts +2 -2
  156. package/src/ServiceNetworking/PsaConnection.ts +1 -1
  157. package/src/ServiceUsage/ApiEnable.ts +1 -1
  158. package/src/Sqladmin/Database.ts +1 -1
  159. package/src/Sqladmin/Instance.ts +13 -7
  160. package/src/Sqladmin/Operations.ts +1 -1
  161. package/src/Sqladmin/User.ts +1 -1
  162. package/src/Storage/Bucket.ts +1 -1
  163. package/src/Storage/StorageBucketIamMember.ts +1 -1
  164. package/src/Tags.ts +16 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NodePool.js","sourceRoot":"","sources":["../../src/Container/NodePool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodePool.js","sourceRoot":"","sources":["../../src/Container/NodePool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigError } from "@distilled.cloud/gcp";
2
- import * as cont from "@distilled.cloud/gcp/container-v1";
2
+ import * as cont from "@distilled.cloud/gcp/container_v1";
3
3
  import type { ScopedPlanStatusSession } from "alchemy/Cli/Cli";
4
4
  import * as Effect from "effect/Effect";
5
5
  /**
@@ -0,0 +1,42 @@
1
+ import { ConfigError } from "@distilled.cloud/gcp";
2
+ import type * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
3
+ import type { ScopedPlanStatusSession } from "alchemy/Cli/Cli";
4
+ import * as Effect from "effect/Effect";
5
+ /**
6
+ * Resolved callable signature of an `iam-v1` operations getter.
7
+ *
8
+ * Workload Identity pools and providers each have their own operations
9
+ * collection (`…WorkloadIdentityPoolsOperations`,
10
+ * `…WorkloadIdentityPoolsProvidersOperations`) rather than one shared
11
+ * endpoint, so this is generic over the getter and each resource passes its
12
+ * own — the same factory shape `ArtifactRegistry/Operations.ts` uses.
13
+ */
14
+ type GetOperations = Effect.Success<typeof iam.getProjectsLocationsWorkloadIdentityPoolsOperations>;
15
+ /**
16
+ * Build the IAM long-running-operation polling helper.
17
+ *
18
+ * `iam-v1` operations use the standard `google.longrunning.Operation` shape —
19
+ * doneness is `.done === true` and failure is a populated `.error` (NOT
20
+ * Container's `.status === "DONE"`, and NOT Sqladmin's tri-state `.status`).
21
+ * Verified against the `Operation` interface in
22
+ * `vendor/distilled/packages/gcp/src/unstable-services/iam-v1.ts`.
23
+ *
24
+ * Operation names returned by pool/provider create and delete are already
25
+ * fully qualified (`projects/{p}/locations/global/workloadIdentityPools/{id}/operations/{op}`),
26
+ * so callers pass them straight through — no qualify dance.
27
+ *
28
+ * Schedule: exponential 1s → 1.5× growth, capped per-poll at 10s via
29
+ * `Schedule.min`, then a hard count cap of 60 retries via `Schedule.max`
30
+ * → ~10 min wall ceiling. Pool and provider CRUD normally settles in
31
+ * seconds; the ceiling exists so a stuck operation surfaces as an error
32
+ * rather than hanging a deploy indefinitely.
33
+ *
34
+ * The helper is a factory — the caller resolves the operations getter once at
35
+ * provider construction and passes the resulting callable here, so we never
36
+ * re-resolve services on each await.
37
+ */
38
+ export declare const makeAwaitOperation: (getOperations: GetOperations, label: string) => (operationName: string, session: ScopedPlanStatusSession) => Effect.Effect<iam.Operation, ConfigError | {
39
+ _tag: "OperationPending";
40
+ } | iam.GetProjectsLocationsWorkloadIdentityPoolsOperationsError, never>;
41
+ export {};
42
+ //# sourceMappingURL=Operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/Iam/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,KAAK,GAAG,MAAM,sCAAsC,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;GAQG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,OAAO,CACjC,OAAO,GAAG,CAAC,mDAAmD,CAC/D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kBAAkB,kBACd,aAAa,SACrB,MAAM;UAUiB,kBAAkB;wEAyB9C,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { ConfigError } from "@distilled.cloud/gcp";
2
+ import * as Duration from "effect/Duration";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Schedule from "effect/Schedule";
5
+ /**
6
+ * Build the IAM long-running-operation polling helper.
7
+ *
8
+ * `iam-v1` operations use the standard `google.longrunning.Operation` shape —
9
+ * doneness is `.done === true` and failure is a populated `.error` (NOT
10
+ * Container's `.status === "DONE"`, and NOT Sqladmin's tri-state `.status`).
11
+ * Verified against the `Operation` interface in
12
+ * `vendor/distilled/packages/gcp/src/unstable-services/iam-v1.ts`.
13
+ *
14
+ * Operation names returned by pool/provider create and delete are already
15
+ * fully qualified (`projects/{p}/locations/global/workloadIdentityPools/{id}/operations/{op}`),
16
+ * so callers pass them straight through — no qualify dance.
17
+ *
18
+ * Schedule: exponential 1s → 1.5× growth, capped per-poll at 10s via
19
+ * `Schedule.min`, then a hard count cap of 60 retries via `Schedule.max`
20
+ * → ~10 min wall ceiling. Pool and provider CRUD normally settles in
21
+ * seconds; the ceiling exists so a stuck operation surfaces as an error
22
+ * rather than hanging a deploy indefinitely.
23
+ *
24
+ * The helper is a factory — the caller resolves the operations getter once at
25
+ * provider construction and passes the resulting callable here, so we never
26
+ * re-resolve services on each await.
27
+ */
28
+ export const makeAwaitOperation = (getOperations, label) => Effect.fn(function* (operationName, session) {
29
+ const op = yield* getOperations({ name: operationName }).pipe(Effect.flatMap((current) => current.done === true
30
+ ? Effect.succeed(current)
31
+ : Effect.fail({ _tag: "OperationPending" })), Effect.retry({
32
+ while: (e) => e?._tag === "OperationPending",
33
+ schedule: Schedule.max([
34
+ Schedule.min([
35
+ Schedule.exponential(Duration.seconds(1), 1.5),
36
+ Schedule.spaced(Duration.seconds(10)),
37
+ ]),
38
+ Schedule.recurs(60),
39
+ ]).pipe(Schedule.tap(() => session.note(`Waiting for ${label} operation ${operationName}…`))),
40
+ }));
41
+ if (op.error) {
42
+ return yield* new ConfigError({
43
+ message: `${label} operation ${operationName} failed: ${op.error.message ?? JSON.stringify(op.error)}`,
44
+ });
45
+ }
46
+ return op;
47
+ });
48
+ //# sourceMappingURL=Operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../src/Iam/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAe5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAA4B,EAC5B,KAAa,EACb,EAAE,CACF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EACjB,aAAqB,EACrB,OAAgC;IAEhC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO,CAAC,IAAI,KAAK,IAAI;QACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAA2B,EAAE,CAAC,CACvD,EACD,MAAM,CAAC,KAAK,CAAC;QACX,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,kBAAkB;QAC/D,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;YACrB,QAAQ,CAAC,GAAG,CAAC;gBACX,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtC,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;SACpB,CAAC,CAAC,IAAI,CACL,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAChB,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,cAAc,aAAa,GAAG,CAAC,CACjE,CACF;KACF,CAAC,CACH,CAAC;IACF,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;YAC5B,OAAO,EAAE,GAAG,KAAK,cAAc,aAAa,YAC1C,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAC7C,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
1
2
  import { Resource } from "alchemy";
2
3
  import * as Provider from "alchemy/Provider";
3
4
  import type * as GCP from "../Providers.ts";
@@ -100,5 +101,5 @@ export type ServiceAccount = Resource<"GCP.ServiceAccount", ServiceAccountProps,
100
101
  disabled: boolean;
101
102
  }, ServiceAccountBindingContract, GCP.Providers>;
102
103
  export declare const ServiceAccount: import("alchemy").ResourceClass<ServiceAccount>;
103
- export declare const ServiceAccountProvider: () => import("effect/Layer").Layer<Provider.Provider<ServiceAccount>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
104
+ export declare const ServiceAccountProvider: () => import("effect/Layer").Layer<Provider.Provider<ServiceAccount>, never, import("alchemy").Stack | import("alchemy").Stage | iam.GcpOpContext>;
104
105
  //# sourceMappingURL=ServiceAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAccount.d.ts","sourceRoot":"","sources":["../../src/Iam/ServiceAccount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAU7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,oBAAoB,EACpB,mBAAmB,EACnB;IACE,gJAAgJ;IAChJ,IAAI,EAAE,MAAM,CAAC;IACb,wHAAwH;IACxH,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0FAA0F;IAC1F,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB,EACD,6BAA6B,EAC7B,GAAG,CAAC,SAAS,CACd,CAAC;AAEF,eAAO,MAAM,cAAc,iDAAiD,CAAC;AAgB7E,eAAO,MAAM,sBAAsB,qOA6UhC,CAAC"}
1
+ {"version":3,"file":"ServiceAccount.d.ts","sourceRoot":"","sources":["../../src/Iam/ServiceAccount.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAU7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,oBAAoB,EACpB,mBAAmB,EACnB;IACE,gJAAgJ;IAChJ,IAAI,EAAE,MAAM,CAAC;IACb,wHAAwH;IACxH,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0FAA0F;IAC1F,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB,EACD,6BAA6B,EAC7B,GAAG,CAAC,SAAS,CACd,CAAC;AAEF,eAAO,MAAM,cAAc,iDAAiD,CAAC;AAgB7E,eAAO,MAAM,sBAAsB,oJA6UhC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigError } from "@distilled.cloud/gcp";
2
- import * as iam from "@distilled.cloud/gcp/unstable/iam-v1";
2
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
3
3
  import { Resource } from "alchemy";
4
4
  import { Unowned } from "alchemy/AdoptPolicy";
5
5
  import { isResolved } from "alchemy/Diff";
@@ -1,3 +1,4 @@
1
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
1
2
  import { Resource } from "alchemy";
2
3
  import * as Provider from "alchemy/Provider";
3
4
  import type * as GCP from "../Providers.ts";
@@ -68,5 +69,5 @@ export type ServiceAccountKey = Resource<"GCP.ServiceAccountKey", ServiceAccount
68
69
  disabled: boolean | undefined;
69
70
  }, never, GCP.Providers>;
70
71
  export declare const ServiceAccountKey: import("alchemy").ResourceClass<ServiceAccountKey>;
71
- export declare const ServiceAccountKeyProvider: () => import("effect/Layer").Layer<Provider.Provider<ServiceAccountKey>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
72
+ export declare const ServiceAccountKeyProvider: () => import("effect/Layer").Layer<Provider.Provider<ServiceAccountKey>, never, iam.GcpOpContext>;
72
73
  //# sourceMappingURL=ServiceAccountKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAccountKey.d.ts","sourceRoot":"","sources":["../../src/Iam/ServiceAccountKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IACvD;;;;OAIG;IACH,cAAc,CAAC,EAAE,8BAA8B,GAAG,kBAAkB,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,uBAAuB,EACvB,sBAAsB,EACtB;IACE,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0BAA0B;IAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,wDAAwD;IACxD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,yDAAyD;IACzD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,EACD,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oDAE7B,CAAC;AAYF,eAAO,MAAM,yBAAyB,oLA6LnC,CAAC"}
1
+ {"version":3,"file":"ServiceAccountKey.d.ts","sourceRoot":"","sources":["../../src/Iam/ServiceAccountKey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IACvD;;;;OAIG;IACH,cAAc,CAAC,EAAE,8BAA8B,GAAG,kBAAkB,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,uBAAuB,EACvB,sBAAsB,EACtB;IACE,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0BAA0B;IAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,wDAAwD;IACxD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,yDAAyD;IACzD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,EACD,KAAK,EACL,GAAG,CAAC,SAAS,CACd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oDAE7B,CAAC;AAYF,eAAO,MAAM,yBAAyB,mGA6LnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigError } from "@distilled.cloud/gcp";
2
- import * as iam from "@distilled.cloud/gcp/unstable/iam-v1";
2
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
3
3
  import { Resource } from "alchemy";
4
4
  import { isResolved } from "alchemy/Diff";
5
5
  import * as Provider from "alchemy/Provider";
@@ -0,0 +1,101 @@
1
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
2
+ import { Resource } from "alchemy";
3
+ import * as Provider from "alchemy/Provider";
4
+ import type * as GCP from "../Providers.ts";
5
+ /**
6
+ * A Workload Identity **pool** — the trust boundary that lets identities from
7
+ * outside GCP (another cloud's OIDC issuer, a Kubernetes cluster, a CI system)
8
+ * impersonate a {@link import("./ServiceAccount.ts").ServiceAccount} without
9
+ * anyone ever creating a service-account key.
10
+ *
11
+ * A pool on its own trusts nothing; it is a namespace. The trust is declared
12
+ * by a {@link import("./WorkloadIdentityPoolProvider.ts").WorkloadIdentityPoolProvider}
13
+ * inside it, and the grant by an `iam.workloadIdentityUser` binding on the
14
+ * target GSA.
15
+ *
16
+ * ### Project number, not project ID
17
+ *
18
+ * The `principalSet://` member strings that reference this pool require the
19
+ * project **number**, not its ID:
20
+ *
21
+ * ```
22
+ * principalSet://iam.googleapis.com/projects/123456789/locations/global/workloadIdentityPools/POOL/*
23
+ * ```
24
+ *
25
+ * A member string built with the project ID is accepted by `setIamPolicy`
26
+ * and then silently never matches, which is a genuinely unpleasant thing to
27
+ * debug. Prefer passing the project number as `project` so `name` comes back
28
+ * in the form the bindings need.
29
+ *
30
+ * ### Deletion is soft
31
+ *
32
+ * `delete` puts the pool in state `DELETED` with an `expireTime` roughly 30
33
+ * days out; it is purged only after that. **The pool ID cannot be reused
34
+ * until it is purged.** Because of that, `reconcile` treats an existing
35
+ * soft-deleted pool as recoverable and undeletes it rather than failing —
36
+ * otherwise a destroy followed by a re-deploy inside the same month would be
37
+ * unrecoverable without renaming the pool.
38
+ *
39
+ * All mutating operations are long-running; the provider polls them to
40
+ * completion via {@link makeAwaitOperation}.
41
+ *
42
+ * @section Creating a WorkloadIdentityPool
43
+ * @example Trust an EKS cluster's OIDC issuer
44
+ * ```typescript
45
+ * const pool = yield* GCP.WorkloadIdentityPool("EksPool", {
46
+ * project: "123456789", // project NUMBER
47
+ * poolId: "eks-us-east-1",
48
+ * displayName: "EKS us-east-1",
49
+ * description: "Federates research-eks-us-east-1 service accounts.",
50
+ * });
51
+ * ```
52
+ */
53
+ export type WorkloadIdentityPoolProps = {
54
+ /**
55
+ * Project that owns the pool. Accepts the project ID or number; prefer the
56
+ * **number**, because `principalSet://` members require it (see above).
57
+ */
58
+ project: string;
59
+ /**
60
+ * Pool ID, 4–32 characters of `[a-z0-9-]`. Immutable — changing it
61
+ * replaces the pool. The `gcp-` prefix is reserved by Google.
62
+ */
63
+ poolId: string;
64
+ /** Display name, max 32 characters. */
65
+ displayName?: string;
66
+ /** Description, max 256 characters. */
67
+ description?: string;
68
+ /**
69
+ * Disable the pool. A disabled pool exchanges no tokens; existing tokens
70
+ * stop granting access and start working again if it is re-enabled.
71
+ */
72
+ disabled?: boolean;
73
+ };
74
+ export type WorkloadIdentityPoolAttributes = {
75
+ /** Full resource name, `projects/{p}/locations/global/workloadIdentityPools/{id}`. */
76
+ name: string;
77
+ project: string;
78
+ poolId: string;
79
+ displayName: string | undefined;
80
+ /** Description with the alchemy ownership marker stripped. */
81
+ description: string | undefined;
82
+ state: string | undefined;
83
+ disabled: boolean | undefined;
84
+ };
85
+ export interface WorkloadIdentityPool extends Resource<"GCP.WorkloadIdentityPool", WorkloadIdentityPoolProps, WorkloadIdentityPoolAttributes, never, GCP.Providers> {
86
+ }
87
+ export declare const WorkloadIdentityPool: import("alchemy").ResourceClass<WorkloadIdentityPool>;
88
+ /** `projects/{project}/locations/global` — the only supported location. */
89
+ export declare const poolParent: (project: string) => string;
90
+ export declare const poolResourceName: (project: string, poolId: string) => string;
91
+ /**
92
+ * Alchemy provider factory for {@link WorkloadIdentityPool}.
93
+ *
94
+ * Deliberately NOT named `WorkloadIdentityPoolProvider`, which the repo's
95
+ * `X` + `XProvider` convention would suggest: GCP already uses that exact
96
+ * term for a different, user-facing resource — the OIDC provider inside a
97
+ * pool ({@link import("./WorkloadIdentityPoolProvider.ts").WorkloadIdentityPoolProvider}).
98
+ * The resource keeps GCP's name; this internal factory takes the awkward one.
99
+ */
100
+ export declare const WorkloadIdentityPoolResourceProvider: () => import("effect/Layer").Layer<Provider.Provider<WorkloadIdentityPool>, never, import("alchemy").Stack | import("alchemy").Stage | iam.GcpOpContext>;
101
+ //# sourceMappingURL=WorkloadIdentityPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkloadIdentityPool.d.ts","sourceRoot":"","sources":["../../src/Iam/WorkloadIdentityPool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAO7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,oBACf,SAAQ,QAAQ,CACd,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,KAAK,EACL,GAAG,CAAC,SAAS,CACd;CAAG;AAEN,eAAO,MAAM,oBAAoB,uDAEhC,CAAC;AAcF,2EAA2E;AAC3E,eAAO,MAAM,UAAU,YAAa,MAAM,WACF,CAAC;AAEzC,eAAO,MAAM,gBAAgB,YAAa,MAAM,UAAU,MAAM,WACN,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,oCAAoC,0JA0K9C,CAAC"}
@@ -0,0 +1,175 @@
1
+ import { ConfigError } from "@distilled.cloud/gcp";
2
+ import * as iam from "@distilled.cloud/gcp/unstable/iam_v1";
3
+ import { Resource } from "alchemy";
4
+ import { Unowned } from "alchemy/AdoptPolicy";
5
+ import { isResolved } from "alchemy/Diff";
6
+ import * as Provider from "alchemy/Provider";
7
+ import * as Effect from "effect/Effect";
8
+ import { descriptionHasAlchemyMarker, gcpAlchemyDescription, stripAlchemyMarker, } from "../Tags.js";
9
+ import { makeAwaitOperation } from "./Operations.js";
10
+ export const WorkloadIdentityPool = Resource("GCP.WorkloadIdentityPool");
11
+ /**
12
+ * Treat absent and empty-string as the same value.
13
+ *
14
+ * The patch below uses a FIXED `updateMask` while the body omits unset
15
+ * optional fields — deliberately, since under a field mask an omitted field
16
+ * means "clear it". The hazard is the comparison: if GCP echoes a cleared
17
+ * field back as `""` rather than omitting it, a raw `!==` against `undefined`
18
+ * would report drift on every deploy and churn a patch LRO forever.
19
+ */
20
+ const sameText = (a, b) => (a ?? "") === (b ?? "");
21
+ /** `projects/{project}/locations/global` — the only supported location. */
22
+ export const poolParent = (project) => `projects/${project}/locations/global`;
23
+ export const poolResourceName = (project, poolId) => `${poolParent(project)}/workloadIdentityPools/${poolId}`;
24
+ /**
25
+ * Alchemy provider factory for {@link WorkloadIdentityPool}.
26
+ *
27
+ * Deliberately NOT named `WorkloadIdentityPoolProvider`, which the repo's
28
+ * `X` + `XProvider` convention would suggest: GCP already uses that exact
29
+ * term for a different, user-facing resource — the OIDC provider inside a
30
+ * pool ({@link import("./WorkloadIdentityPoolProvider.ts").WorkloadIdentityPoolProvider}).
31
+ * The resource keeps GCP's name; this internal factory takes the awkward one.
32
+ */
33
+ export const WorkloadIdentityPoolResourceProvider = () => Provider.effect(WorkloadIdentityPool, Effect.gen(function* () {
34
+ const getPool = yield* iam.getProjectsLocationsWorkloadIdentityPools;
35
+ const createPool = yield* iam.createProjectsLocationsWorkloadIdentityPools;
36
+ const patchPool = yield* iam.patchProjectsLocationsWorkloadIdentityPools;
37
+ const deletePool = yield* iam.deleteProjectsLocationsWorkloadIdentityPools;
38
+ const undeletePool = yield* iam.undeleteProjectsLocationsWorkloadIdentityPools;
39
+ const getOperations = yield* iam.getProjectsLocationsWorkloadIdentityPoolsOperations;
40
+ const awaitOperation = makeAwaitOperation(getOperations, "Workload Identity pool");
41
+ // Absent and invisible collapse to the same thing, matching the
42
+ // ServiceAccount observer: a 403 on a resource we are about to create
43
+ // is indistinguishable from a 404 without extra permissions we may not
44
+ // have.
45
+ const observePool = (project, poolId) => getPool({ name: poolResourceName(project, poolId) }).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)), Effect.catchTag("Forbidden", () => Effect.succeed(undefined)));
46
+ const toAttrs = (project, poolId, pool) => ({
47
+ name: pool.name ?? poolResourceName(project, poolId),
48
+ project,
49
+ poolId,
50
+ displayName: pool.displayName,
51
+ description: stripAlchemyMarker(pool.description),
52
+ state: pool.state,
53
+ disabled: pool.disabled,
54
+ });
55
+ return {
56
+ stables: ["name", "project", "poolId"],
57
+ diff: Effect.fn(function* ({ olds = {}, news, output }) {
58
+ if (!isResolved(news))
59
+ return undefined;
60
+ const oldProps = olds;
61
+ // Prefer live attributes over persisted props, and fall back to the
62
+ // DESIRED value when neither is known — mirroring Project.ts.
63
+ //
64
+ // Defaulting to `undefined` instead would make an adoption (output
65
+ // present, olds absent) compare `undefined !== news.project` and
66
+ // return `replace`, deleting and recreating a live pool that was
67
+ // already correct. Both fields are part of the resource name, so a
68
+ // genuine change here really is a replacement; the point is only to
69
+ // avoid inventing one.
70
+ const currentProject = output?.project || oldProps.project || news.project;
71
+ const currentPoolId = output?.poolId || oldProps.poolId || news.poolId;
72
+ if (currentProject !== news.project || currentPoolId !== news.poolId) {
73
+ return { action: "replace" };
74
+ }
75
+ }),
76
+ read: Effect.fn(function* ({ id, olds, output }) {
77
+ const project = output?.project || olds?.project;
78
+ const poolId = output?.poolId || olds?.poolId;
79
+ if (!project || !poolId)
80
+ return undefined;
81
+ const pool = yield* observePool(project, poolId);
82
+ if (!pool)
83
+ return undefined;
84
+ const attrs = toAttrs(project, poolId, pool);
85
+ return (yield* descriptionHasAlchemyMarker(id, pool.description))
86
+ ? attrs
87
+ : Unowned(attrs);
88
+ }),
89
+ reconcile: Effect.fn(function* ({ id, news, session }) {
90
+ const { project, poolId } = news;
91
+ const description = yield* gcpAlchemyDescription(id, news.description);
92
+ // Body is TOTAL over the patch's updateMask below: every masked
93
+ // field is always present, with an explicit empty/default value
94
+ // when the prop is unset. Behaviourally identical to omitting them
95
+ // (a masked-but-absent field is cleared), but it states the intent
96
+ // in code rather than relying on that field-mask subtlety, so
97
+ // "clear displayName" cannot be misread as "leave it alone".
98
+ const body = {
99
+ displayName: news.displayName ?? "",
100
+ description,
101
+ disabled: news.disabled ?? false,
102
+ };
103
+ let pool = yield* observePool(project, poolId);
104
+ // A soft-deleted pool holds its ID for ~30 days. Undelete rather
105
+ // than fail: otherwise destroy-then-redeploy is stuck until the
106
+ // purge, with no way out but renaming the pool.
107
+ if (pool?.state === "DELETED") {
108
+ yield* session.note(`Undeleting soft-deleted Workload Identity pool ${poolId}…`);
109
+ const op = yield* undeletePool({
110
+ name: poolResourceName(project, poolId),
111
+ body: {},
112
+ });
113
+ if (op.name)
114
+ yield* awaitOperation(op.name, session);
115
+ pool = yield* observePool(project, poolId);
116
+ }
117
+ if (!pool) {
118
+ const op = yield* createPool({
119
+ parent: poolParent(project),
120
+ workloadIdentityPoolId: poolId,
121
+ body,
122
+ });
123
+ if (op.name)
124
+ yield* awaitOperation(op.name, session);
125
+ pool = yield* observePool(project, poolId);
126
+ if (!pool) {
127
+ return yield* new ConfigError({
128
+ message: `Workload Identity pool ${poolId} in project ${project} was not readable after create.`,
129
+ });
130
+ }
131
+ }
132
+ else {
133
+ // Only the mutable fields, and only when they actually differ —
134
+ // an unconditional patch would churn an LRO on every deploy.
135
+ const needsPatch = !sameText(pool.displayName, news.displayName) ||
136
+ !sameText(pool.description, description) ||
137
+ (pool.disabled ?? false) !== (news.disabled ?? false);
138
+ if (needsPatch) {
139
+ const op = yield* patchPool({
140
+ name: poolResourceName(project, poolId),
141
+ updateMask: "displayName,description,disabled",
142
+ body,
143
+ });
144
+ if (op.name)
145
+ yield* awaitOperation(op.name, session);
146
+ pool = (yield* observePool(project, poolId)) ?? pool;
147
+ }
148
+ }
149
+ yield* session.note(poolResourceName(project, poolId));
150
+ return toAttrs(project, poolId, pool);
151
+ }),
152
+ delete: Effect.fn(function* ({ olds, output, session }) {
153
+ // Fall back to props when attributes are incomplete. A create whose
154
+ // LRO succeeded but whose follow-up read failed leaves state with
155
+ // props and no usable attributes; a no-op destroy would then LEAK
156
+ // the pool — and because deletion is soft, the leaked pool holds
157
+ // its ID for ~30 days, blocking a re-deploy under the same name.
158
+ // `||` not `??`: an empty string is never a valid identity here,
159
+ // and a persisted `""` must fall through to the next source rather
160
+ // than be taken as real. With `??` a corrupt/partial state entry
161
+ // would short-circuit the fallback and turn destroy into a silent
162
+ // no-op (or make diff replace a live resource).
163
+ const project = output?.project || olds?.project;
164
+ const poolId = output?.poolId || olds?.poolId;
165
+ if (!project || !poolId)
166
+ return;
167
+ const op = yield* deletePool({
168
+ name: poolResourceName(project, poolId),
169
+ }).pipe(Effect.catchTag("NotFound", () => Effect.succeed({ name: undefined })));
170
+ if (op.name)
171
+ yield* awaitOperation(op.name, session);
172
+ }),
173
+ };
174
+ }));
175
+ //# sourceMappingURL=WorkloadIdentityPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkloadIdentityPool.js","sourceRoot":"","sources":["../../src/Iam/WorkloadIdentityPool.ts"],"names":[],"mappings":"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"}