@microagi/alchemy-gcp 0.8.0 → 0.8.1

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 (88) hide show
  1. package/lib/ArtifactRegistry/Operations.d.ts +2 -2
  2. package/lib/ArtifactRegistry/Operations.d.ts.map +1 -1
  3. package/lib/ArtifactRegistry/Repository.d.ts +1 -1
  4. package/lib/ArtifactRegistry/Validation.d.ts.map +1 -1
  5. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  6. package/lib/Auth/AuthProvider.js.map +1 -1
  7. package/lib/Auth/Credentials.d.ts +1 -1
  8. package/lib/Auth/Credentials.d.ts.map +1 -1
  9. package/lib/CloudResourceManager/Project.d.ts +1 -1
  10. package/lib/CloudResourceManager/ProjectIamMember.d.ts.map +1 -1
  11. package/lib/Compute/Address.d.ts +1 -1
  12. package/lib/Compute/Firewall.d.ts +1 -1
  13. package/lib/Compute/ForwardingRule.d.ts +1 -1
  14. package/lib/Compute/GlobalAddress.d.ts +1 -1
  15. package/lib/Compute/Network.d.ts +1 -1
  16. package/lib/Compute/Network.d.ts.map +1 -1
  17. package/lib/Compute/Operations.d.ts +4 -4
  18. package/lib/Compute/Operations.d.ts.map +1 -1
  19. package/lib/Compute/Subnetwork.d.ts +1 -1
  20. package/lib/Compute/SubnetworkIamMember.d.ts.map +1 -1
  21. package/lib/Container/Cluster.d.ts +1 -1
  22. package/lib/Container/NodePool.d.ts +11 -1
  23. package/lib/Container/NodePool.d.ts.map +1 -1
  24. package/lib/Container/NodePool.js +4 -0
  25. package/lib/Container/NodePool.js.map +1 -1
  26. package/lib/Container/Operations.d.ts +2 -2
  27. package/lib/Container/Operations.d.ts.map +1 -1
  28. package/lib/Iam/ServiceAccount.d.ts +1 -1
  29. package/lib/Iam/ServiceAccount.d.ts.map +1 -1
  30. package/lib/Iam/ServiceAccount.js +21 -2
  31. package/lib/Iam/ServiceAccount.js.map +1 -1
  32. package/lib/Iam/ServiceAccountIamMember.d.ts.map +1 -1
  33. package/lib/Iam/ServiceAccountKey.d.ts +72 -0
  34. package/lib/Iam/ServiceAccountKey.d.ts.map +1 -0
  35. package/lib/Iam/ServiceAccountKey.js +164 -0
  36. package/lib/Iam/ServiceAccountKey.js.map +1 -0
  37. package/lib/Iam/index.d.ts +2 -0
  38. package/lib/Iam/index.d.ts.map +1 -1
  39. package/lib/Iam/index.js +1 -0
  40. package/lib/Iam/index.js.map +1 -1
  41. package/lib/Kubernetes/KubernetesManifest.d.ts +1 -1
  42. package/lib/Kubernetes/Secret.d.ts +1 -1
  43. package/lib/Kubernetes/client.d.ts.map +1 -1
  44. package/lib/Kubernetes/connection.d.ts.map +1 -1
  45. package/lib/ManagedLustre/Instance.d.ts +1 -1
  46. package/lib/Providers.d.ts +1 -1
  47. package/lib/Providers.d.ts.map +1 -1
  48. package/lib/Providers.js +5 -1
  49. package/lib/Providers.js.map +1 -1
  50. package/lib/Run/IamMember.d.ts.map +1 -1
  51. package/lib/Run/IamSync.d.ts.map +1 -1
  52. package/lib/Run/Job.d.ts +1 -1
  53. package/lib/Run/Operations.d.ts +2 -2
  54. package/lib/Run/Operations.d.ts.map +1 -1
  55. package/lib/Run/Service.d.ts +1 -1
  56. package/lib/Run/Validation.d.ts.map +1 -1
  57. package/lib/Sqladmin/Instance.d.ts +1 -1
  58. package/lib/Sqladmin/Operations.d.ts +2 -2
  59. package/lib/Sqladmin/Operations.d.ts.map +1 -1
  60. package/lib/Sqladmin/Types.d.ts.map +1 -1
  61. package/lib/Sqladmin/Validation.d.ts.map +1 -1
  62. package/lib/Storage/Bucket.d.ts +117 -0
  63. package/lib/Storage/Bucket.d.ts.map +1 -0
  64. package/lib/Storage/Bucket.js +239 -0
  65. package/lib/Storage/Bucket.js.map +1 -0
  66. package/lib/Storage/BucketIamMember.d.ts +29 -0
  67. package/lib/Storage/BucketIamMember.d.ts.map +1 -0
  68. package/lib/Storage/BucketIamMember.js +26 -0
  69. package/lib/Storage/BucketIamMember.js.map +1 -0
  70. package/lib/Storage/index.d.ts +4 -0
  71. package/lib/Storage/index.d.ts.map +1 -0
  72. package/lib/Storage/index.js +3 -0
  73. package/lib/Storage/index.js.map +1 -0
  74. package/lib/Tags.d.ts.map +1 -1
  75. package/lib/index.d.ts +1 -0
  76. package/lib/index.d.ts.map +1 -1
  77. package/lib/index.js +1 -0
  78. package/lib/index.js.map +1 -1
  79. package/package.json +2 -2
  80. package/src/Container/NodePool.ts +12 -0
  81. package/src/Iam/ServiceAccount.ts +21 -2
  82. package/src/Iam/ServiceAccountKey.ts +284 -0
  83. package/src/Iam/index.ts +5 -0
  84. package/src/Providers.ts +12 -0
  85. package/src/Storage/Bucket.ts +439 -0
  86. package/src/Storage/BucketIamMember.ts +33 -0
  87. package/src/Storage/index.ts +10 -0
  88. package/src/index.ts +1 -0
@@ -0,0 +1,164 @@
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 { isResolved } from "alchemy/Diff";
5
+ import * as Provider from "alchemy/Provider";
6
+ import * as Effect from "effect/Effect";
7
+ export const ServiceAccountKey = Resource("GCP.ServiceAccountKey");
8
+ const toAttributes = (k) => ({
9
+ name: k.name ?? "",
10
+ privateKeyData: k.privateKeyData,
11
+ keyAlgorithm: k.keyAlgorithm,
12
+ keyType: k.keyType,
13
+ keyOrigin: k.keyOrigin,
14
+ validAfterTime: k.validAfterTime,
15
+ disabled: k.disabled,
16
+ });
17
+ export const ServiceAccountKeyProvider = () => Provider.effect(ServiceAccountKey, Effect.gen(function* () {
18
+ const createProjectsServiceAccountsKeys = yield* iam.createProjectsServiceAccountsKeys;
19
+ const deleteProjectsServiceAccountsKeys = yield* iam.deleteProjectsServiceAccountsKeys;
20
+ const listProjectsServiceAccountsKeys = yield* iam.listProjectsServiceAccountsKeys;
21
+ const getProjectsServiceAccountsKeys = yield* iam.getProjectsServiceAccountsKeys;
22
+ // Find a user-managed key by name (direct probe).
23
+ // NotFound → undefined (key doesn't exist). Forbidden is NOT
24
+ // swallowed — if the caller lacks permission to read this key,
25
+ // propagating the error is safer than treating it as "missing"
26
+ // and potentially creating a duplicate on the SA.
27
+ const observeKey = (keyName) => getProjectsServiceAccountsKeys({
28
+ name: keyName,
29
+ publicKeyType: "TYPE_GOOGLE_CREDENTIALS_FILE",
30
+ }).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
31
+ // List all user-managed keys for the SA. Used for cold recovery
32
+ // when the key name is not in state. Returns the first
33
+ // user-managed key found (the SA is dedicated to this resource,
34
+ // so there should be at most one user-managed key).
35
+ const findUserManagedKey = Effect.fn(function* (serviceAccount) {
36
+ const page = yield* listProjectsServiceAccountsKeys({
37
+ name: serviceAccount,
38
+ keyTypes: "USER_MANAGED",
39
+ });
40
+ const keys = page.keys ?? [];
41
+ if (keys.length === 0)
42
+ return undefined;
43
+ if (keys.length === 1)
44
+ return keys[0];
45
+ // Multiple user-managed keys — GCP allows multiple keys per
46
+ // SA, so creating another would silently succeed (not
47
+ // Conflict as an earlier comment assumed). Surface an error
48
+ // so the user cleans up the extra keys and re-runs.
49
+ return yield* Effect.fail(new ConfigError({
50
+ message: `Service account ${serviceAccount} has ${keys.length} user-managed keys; ` +
51
+ `cannot determine which to adopt. Delete the extra keys and re-run.`,
52
+ }));
53
+ });
54
+ return {
55
+ // privateKeyData is stable: it's set on create and never
56
+ // changes. The engine preserves it across reconciles and
57
+ // does not use it for drift detection.
58
+ stables: ["name", "privateKeyData", "keyAlgorithm", "keyType"],
59
+ diff: Effect.fn(function* ({ news, olds = {} }) {
60
+ if (!isResolved(news))
61
+ return undefined;
62
+ const priorSa = olds.serviceAccount;
63
+ const priorKeyAlgorithm = olds.keyAlgorithm;
64
+ const priorPrivateKeyType = olds.privateKeyType;
65
+ if ((priorSa && news.serviceAccount !== priorSa) ||
66
+ (priorKeyAlgorithm && news.keyAlgorithm !== priorKeyAlgorithm) ||
67
+ (priorPrivateKeyType &&
68
+ news.privateKeyType !== priorPrivateKeyType)) {
69
+ return { action: "replace" };
70
+ }
71
+ return undefined;
72
+ }),
73
+ reconcile: Effect.fn(function* ({ id, news, output }) {
74
+ // 1. Observe — check if the key exists by name (from
75
+ // state output). Fall back to listing user-managed
76
+ // keys for cold recovery.
77
+ const keyName = output?.name;
78
+ let observed;
79
+ if (keyName) {
80
+ observed = yield* observeKey(keyName);
81
+ }
82
+ if (!observed) {
83
+ observed = yield* findUserManagedKey(news.serviceAccount);
84
+ }
85
+ // 2. Ensure — create if missing. If the key exists but
86
+ // privateKeyData is not in state (state loss), delete
87
+ // the old key and create a new one so privateKeyData is
88
+ // re-obtained.
89
+ if (!observed) {
90
+ const created = yield* createProjectsServiceAccountsKeys({
91
+ name: news.serviceAccount,
92
+ body: {
93
+ privateKeyType: news.privateKeyType ?? "TYPE_GOOGLE_CREDENTIALS_FILE",
94
+ keyAlgorithm: news.keyAlgorithm ?? "KEY_ALG_RSA_2048",
95
+ },
96
+ });
97
+ return toAttributes(created);
98
+ }
99
+ // Key exists. If it is the same key we created before, preserve
100
+ // privateKeyData from state. If the name differs, the key was
101
+ // swapped out-of-band — fall through to delete + recreate so
102
+ // privateKeyData matches the live key.
103
+ if (output?.privateKeyData && observed.name === output.name) {
104
+ return {
105
+ ...toAttributes(observed),
106
+ privateKeyData: output.privateKeyData,
107
+ };
108
+ }
109
+ // privateKeyData is missing from state. Only delete + recreate
110
+ // when we can PROVE the observed key is ours: output.name must
111
+ // be set and match. SA keys carry no labels, so on cold recovery
112
+ // (output undefined) a found key might be pre-existing or
113
+ // manually rotated — deleting it would destroy someone else's
114
+ // credentials. Fail instead and ask the user to clean up.
115
+ if (output?.name && observed.name === output.name) {
116
+ yield* deleteProjectsServiceAccountsKeys({
117
+ name: observed.name,
118
+ }).pipe(Effect.catchTag("NotFound", () => Effect.void));
119
+ const created = yield* createProjectsServiceAccountsKeys({
120
+ name: news.serviceAccount,
121
+ body: {
122
+ privateKeyType: news.privateKeyType ?? "TYPE_GOOGLE_CREDENTIALS_FILE",
123
+ keyAlgorithm: news.keyAlgorithm ?? "KEY_ALG_RSA_2048",
124
+ },
125
+ });
126
+ return toAttributes(created);
127
+ }
128
+ // Key exists but we can't prove ownership. Don't delete it.
129
+ return yield* Effect.fail(new ConfigError({
130
+ message: `Service account key ${observed.name} exists on ${news.serviceAccount} ` +
131
+ `but cannot be verified as ours (no matching state). ` +
132
+ `Delete it manually and re-run to create a fresh key.`,
133
+ }));
134
+ }),
135
+ delete: Effect.fn(function* ({ output }) {
136
+ yield* deleteProjectsServiceAccountsKeys({
137
+ name: output.name,
138
+ }).pipe(Effect.catchTag("NotFound", () => Effect.void), Effect.catchTag("Forbidden", () => Effect.void));
139
+ }),
140
+ read: Effect.fn(function* ({ id, output, olds }) {
141
+ const keyName = output?.name;
142
+ const serviceAccount = olds.serviceAccount;
143
+ let observed;
144
+ if (keyName) {
145
+ observed = yield* observeKey(keyName);
146
+ }
147
+ if (!observed && serviceAccount) {
148
+ observed = yield* findUserManagedKey(serviceAccount);
149
+ }
150
+ if (!observed)
151
+ return undefined;
152
+ // privateKeyData is not available from get/list — preserve it
153
+ // from state output only when it still describes this key.
154
+ const privateKeyData = output?.name && observed.name === output.name
155
+ ? output.privateKeyData
156
+ : undefined;
157
+ return {
158
+ ...toAttributes(observed),
159
+ privateKeyData,
160
+ };
161
+ }),
162
+ };
163
+ }));
164
+ //# sourceMappingURL=ServiceAccountKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceAccountKey.js","sourceRoot":"","sources":["../../src/Iam/ServiceAccountKey.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { ServiceAccount, ServiceAccountProvider } from "./ServiceAccount.ts";
2
2
  export type { ServiceAccountProps } from "./ServiceAccount.ts";
3
3
  export * from "./ServiceAccountIamMember.ts";
4
+ export { ServiceAccountKey, ServiceAccountKeyProvider, } from "./ServiceAccountKey.ts";
5
+ export type { ServiceAccountKeyProps } from "./ServiceAccountKey.ts";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
package/lib/Iam/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { ServiceAccount, ServiceAccountProvider } from "./ServiceAccount.js";
2
2
  export * from "./ServiceAccountIamMember.js";
3
+ export { ServiceAccountKey, ServiceAccountKeyProvider, } from "./ServiceAccountKey.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC"}
@@ -96,5 +96,5 @@ export type KubernetesManifestAttributes = {
96
96
  };
97
97
  export type KubernetesManifest = Resource<"GCP.KubernetesManifest", KubernetesManifestProps, KubernetesManifestAttributes, never, GCP.Providers>;
98
98
  export declare const KubernetesManifest: import("alchemy").ResourceClass<KubernetesManifest>;
99
- export declare const KubernetesManifestProvider: () => import("effect/Layer").Layer<Provider.Provider<KubernetesManifest>, never, import("alchemy").Stack | import("alchemy").Stage | Credentials>;
99
+ export declare const KubernetesManifestProvider: () => import("effect/Layer").Layer<Provider.Provider<KubernetesManifest>, never, Credentials | import("alchemy").Stack | import("alchemy").Stage>;
100
100
  //# sourceMappingURL=KubernetesManifest.d.ts.map
@@ -92,5 +92,5 @@ export type KubernetesSecretAttributes = {
92
92
  };
93
93
  export type KubernetesSecret = Resource<"GCP.KubernetesSecret", KubernetesSecretProps, KubernetesSecretAttributes, never, GCP.Providers>;
94
94
  export declare const KubernetesSecret: import("alchemy").ResourceClass<KubernetesSecret>;
95
- export declare const KubernetesSecretProvider: () => import("effect/Layer").Layer<Provider.Provider<KubernetesSecret>, never, import("alchemy").Stack | import("alchemy").Stage | Credentials>;
95
+ export declare const KubernetesSecretProvider: () => import("effect/Layer").Layer<Provider.Provider<KubernetesSecret>, never, Credentials | import("alchemy").Stack | import("alchemy").Stage>;
96
96
  //# sourceMappingURL=Secret.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAgExC,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;;;;AAED,wEAAwE;AACxE,qBAAa,kBAAmB,SAAQ,wBAEtC;IACA,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;AA0GL,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wEAAwE;AACxE,UAAU,YAAY;IACpB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;CACrB;AASD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,aAAa,EACzB,YAAY,MAAM,EAClB,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CA0BhD,CAAC;AAuCF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACtB,YAAY,aAAa,EACzB,QAAQ,UAAU,EAClB,qBAAwB,KACvB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,kBAAkB,CA+B1D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GACpB,YAAY,aAAa,EACzB,YAAY,MAAM,EAClB,MAAM,MAAM,EACZ,WAAW,MAAM,GAAG,SAAS,EAC7B,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAc5C,CAAC;AAEJ,2EAA2E;AAC3E,eAAO,MAAM,YAAY,GACvB,YAAY,aAAa,EACzB,YAAY,MAAM,EAClB,MAAM,MAAM,EACZ,WAAW,MAAM,GAAG,SAAS,EAC7B,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAkBtC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAgExC,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;;;;AAED,wEAAwE;AACxE,qBAAa,kBAAmB,SAAQ,wBAEtC;IACA,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;CAAG;AA0GL,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wEAAwE;AACxE,UAAU,YAAY;IACpB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;CACrB;AASD;;;;GAIG;AACH,eAAO,MAAM,eAAe,eACd,aAAa,cACb,MAAM,QACZ,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CA0BhD,CAAC;AAuCF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,UAAU,4BAEjB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,kBAAkB,CA+B1D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,SAAS,eACR,aAAa,cACb,MAAM,QACZ,MAAM,aACD,MAAM,GAAG,SAAS,QACvB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAc5C,CAAC;AAEJ,2EAA2E;AAC3E,eAAO,MAAM,YAAY,eACX,aAAa,cACb,MAAM,QACZ,MAAM,aACD,MAAM,GAAG,SAAS,QACvB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAkBtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3C;AA2HD;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,YAAY,iBAAiB,KAC5B,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAI/C,CAAC"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/Kubernetes/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3C;AA2HD;;;GAGG;AACH,eAAO,MAAM,YAAY,eACX,iBAAiB,KAC5B,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAI/C,CAAC"}
@@ -169,5 +169,5 @@ export type ManagedLustreInstanceAttributes = {
169
169
  };
170
170
  export type ManagedLustreInstance = Resource<"GCP.ManagedLustreInstance", ManagedLustreInstanceProps, ManagedLustreInstanceAttributes, never, GCP.Providers>;
171
171
  export declare const ManagedLustreInstance: import("alchemy").ResourceClass<ManagedLustreInstance>;
172
- export declare const ManagedLustreInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<ManagedLustreInstance>, never, import("alchemy").Stack | import("alchemy").Stage | import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
172
+ export declare const ManagedLustreInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<ManagedLustreInstance>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
173
173
  //# sourceMappingURL=Instance.d.ts.map
@@ -19,6 +19,6 @@ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
19
19
  * re-provide it here, mirroring `AWS/Providers.ts` and
20
20
  * `Cloudflare/Providers.ts`.
21
21
  */
22
- export declare const providers: () => Layer.Layer<import("@distilled.cloud/gcp").Credentials | Providers, never, import("alchemy").Stack | import("alchemy").Stage | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").AuthProviders | import("alchemy/Auth/Profile").AlchemyProfile>;
22
+ export declare const providers: () => Layer.Layer<import("@distilled.cloud/gcp").Credentials | Providers, never, import("alchemy/Auth/Profile").AlchemyProfile | import("alchemy").AuthProviders | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
23
23
  export {};
24
24
  //# sourceMappingURL=Providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;;AAmDtC,qBAAa,SAAU,SAAQ,cAA+C;CAAG;AAEjF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,8QA+DnB,CAAC"}
1
+ {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;;AA2DtC,qBAAa,SAAU,SAAQ,cAA+C;CAAG;AAEjF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,8QAmEnB,CAAC"}
package/lib/Providers.js CHANGED
@@ -15,12 +15,14 @@ import { Subnetwork, SubnetworkProvider } from "./Compute/Subnetwork.js";
15
15
  import { Cluster, ClusterProvider } from "./Container/Cluster.js";
16
16
  import { NodePool, NodePoolProvider } from "./Container/NodePool.js";
17
17
  import { ServiceAccount, ServiceAccountProvider, } from "./Iam/ServiceAccount.js";
18
+ import { ServiceAccountKey, ServiceAccountKeyProvider, } from "./Iam/ServiceAccountKey.js";
18
19
  import { KubernetesManifest, KubernetesManifestProvider, } from "./Kubernetes/KubernetesManifest.js";
19
20
  import { KubernetesSecret, KubernetesSecretProvider, } from "./Kubernetes/Secret.js";
20
21
  import { ManagedLustreInstance, ManagedLustreInstanceProvider, } from "./ManagedLustre/Instance.js";
21
22
  import { Job, JobProvider } from "./Run/Job.js";
22
23
  import { Service, ServiceProvider } from "./Run/Service.js";
23
24
  import { PsaConnection, PsaConnectionProvider, } from "./ServiceNetworking/PsaConnection.js";
25
+ import { StorageBucket, StorageBucketProvider, } from "./Storage/Bucket.js";
24
26
  import { ApiEnable, ApiEnableProvider } from "./ServiceUsage/ApiEnable.js";
25
27
  import { SqlDatabase, SqlDatabaseProvider } from "./Sqladmin/Database.js";
26
28
  import { SqlInstance, SqlInstanceProvider } from "./Sqladmin/Instance.js";
@@ -57,6 +59,7 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
57
59
  SharedVpcServiceProject,
58
60
  PsaConnection,
59
61
  ManagedLustreInstance,
62
+ StorageBucket,
60
63
  Service,
61
64
  Job,
62
65
  SqlInstance,
@@ -64,9 +67,10 @@ export const providers = () => Layer.effect(Providers, Provider.collection([
64
67
  SqlUser,
65
68
  ArtifactRegistryRepository,
66
69
  ServiceAccount,
70
+ ServiceAccountKey,
67
71
  KubernetesSecret,
68
72
  KubernetesManifest,
69
- ])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), FirewallProvider(), AddressProvider(), ForwardingRuleProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(), ManagedLustreInstanceProvider(), ServiceProvider(), JobProvider(), SqlInstanceProvider(), SqlDatabaseProvider(), SqlUserProvider(), ArtifactRegistryRepositoryProvider(), ServiceAccountProvider(), KubernetesSecretProvider(), KubernetesManifestProvider())), Layer.provideMerge(fromAuthProvider()), Layer.provideMerge(GCPAuth),
73
+ ])).pipe(Layer.provide(Layer.mergeAll(ProjectProvider(), ClusterProvider(), NodePoolProvider(), ApiEnableProvider(), NetworkProvider(), SubnetworkProvider(), FirewallProvider(), AddressProvider(), ForwardingRuleProvider(), GlobalAddressProvider(), SharedVpcHostProvider(), SharedVpcServiceProjectProvider(), PsaConnectionProvider(), ManagedLustreInstanceProvider(), StorageBucketProvider(), ServiceProvider(), JobProvider(), SqlInstanceProvider(), SqlDatabaseProvider(), SqlUserProvider(), ArtifactRegistryRepositoryProvider(), ServiceAccountProvider(), ServiceAccountKeyProvider(), KubernetesSecretProvider(), KubernetesManifestProvider())), Layer.provideMerge(fromAuthProvider()), Layer.provideMerge(GCPAuth),
70
74
  // Auth/config failures (missing ADC, malformed profile) become
71
75
  // unrecoverable defects rather than typed errors — mirrors
72
76
  // `AWS/Providers.ts` and `Cloudflare/Providers.ts`. Resource lifecycle
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,KAAK,CAAC;CAAG;AAIjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CACV,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC;IAClB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,aAAa;IACb,uBAAuB;IACvB,aAAa;IACb,qBAAqB;IACrB,OAAO;IACP,GAAG;IACH,WAAW;IACX,WAAW;IACX,OAAO;IACP,0BAA0B;IAC1B,cAAc;IACd,gBAAgB;IAChB,kBAAkB;CACnB,CAAC,CACH,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,QAAQ,CACZ,eAAe,EAAE,EACjB,eAAe,EAAE,EACjB,gBAAgB,EAAE,EAClB,iBAAiB,EAAE,EACnB,eAAe,EAAE,EACjB,kBAAkB,EAAE,EACpB,gBAAgB,EAAE,EAClB,eAAe,EAAE,EACjB,sBAAsB,EAAE,EACxB,qBAAqB,EAAE,EACvB,qBAAqB,EAAE,EACvB,+BAA+B,EAAE,EACjC,qBAAqB,EAAE,EACvB,6BAA6B,EAAE,EAC/B,eAAe,EAAE,EACjB,WAAW,EAAE,EACb,mBAAmB,EAAE,EACrB,mBAAmB,EAAE,EACrB,eAAe,EAAE,EACjB,kCAAkC,EAAE,EACpC,sBAAsB,EAAE,EACxB,wBAAwB,EAAE,EAC1B,0BAA0B,EAAE,CAC7B,CACF,EACD,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,EACtC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3B,+DAA+D;AAC/D,2DAA2D;AAC3D,uEAAuE;AACvE,0DAA0D;AAC1D,KAAK,CAAC,KAAK,CACZ,CAAC"}
1
+ {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EACL,cAAc,EACd,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,KAAK,CAAC;CAAG;AAIjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CACV,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC;IAClB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,cAAc;IACd,aAAa;IACb,aAAa;IACb,uBAAuB;IACvB,aAAa;IACb,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,GAAG;IACH,WAAW;IACX,WAAW;IACX,OAAO;IACP,0BAA0B;IAC1B,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;CACnB,CAAC,CACH,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,QAAQ,CACZ,eAAe,EAAE,EACjB,eAAe,EAAE,EACjB,gBAAgB,EAAE,EAClB,iBAAiB,EAAE,EACnB,eAAe,EAAE,EACjB,kBAAkB,EAAE,EACpB,gBAAgB,EAAE,EAClB,eAAe,EAAE,EACjB,sBAAsB,EAAE,EACxB,qBAAqB,EAAE,EACvB,qBAAqB,EAAE,EACvB,+BAA+B,EAAE,EACjC,qBAAqB,EAAE,EACvB,6BAA6B,EAAE,EAC/B,qBAAqB,EAAE,EACvB,eAAe,EAAE,EACjB,WAAW,EAAE,EACb,mBAAmB,EAAE,EACrB,mBAAmB,EAAE,EACrB,eAAe,EAAE,EACjB,kCAAkC,EAAE,EACpC,sBAAsB,EAAE,EACxB,yBAAyB,EAAE,EAC3B,wBAAwB,EAAE,EAC1B,0BAA0B,EAAE,CAC7B,CACF,EACD,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,EACtC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3B,+DAA+D;AAC/D,2DAA2D;AAC3D,uEAAuE;AACvE,0DAA0D;AAC1D,KAAK,CAAC,KAAK,CACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IamMember.d.ts","sourceRoot":"","sources":["../../src/Run/IamMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,KAAK,MAAM,EACX,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAGiB,CAAC;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,GAAG,EACR,KAAK,MAAM,EACX,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAGiB,CAAC"}
1
+ {"version":3,"file":"IamMember.d.ts","sourceRoot":"","sources":["../../src/Run/IamMember.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,gBAAgB,YAClB,OAAO,OACX,MAAM,QACL;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAGiB,CAAC;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,QAClB,GAAG,OACH,MAAM,QACL;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAGiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IamSync.d.ts","sourceRoot":"","sources":["../../src/Run/IamSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;GAQG;AACH,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3D,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC,8BAA8B,CAAC;CAC3C,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,GACrB,KAAK;IAAE,YAAY,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,cAAc,CAAA;CAAE,MACnE,MAAM;IACL,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACjE,wCAkDE,CAAC"}
1
+ {"version":3,"file":"IamSync.d.ts","sourceRoot":"","sources":["../../src/Run/IamSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;GAQG;AACH,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3D,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC,8BAA8B,CAAC;CAC3C,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,QAChB;IAAE,YAAY,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,cAAc,CAAA;CAAE,YAC7D;IACL,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACjE,wCAkDE,CAAC"}
package/lib/Run/Job.d.ts CHANGED
@@ -163,5 +163,5 @@ export type JobAttributes = {
163
163
  };
164
164
  export type Job = Resource<"GCP.Job", JobProps, JobAttributes, RunIamBindingContract, GCP.Providers>;
165
165
  export declare const Job: import("alchemy").ResourceClass<Job>;
166
- export declare const JobProvider: () => import("effect/Layer").Layer<Provider.Provider<Job>, never, import("alchemy").Stack | import("alchemy").Stage | import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
166
+ export declare const JobProvider: () => import("effect/Layer").Layer<Provider.Provider<Job>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
167
167
  //# sourceMappingURL=Job.d.ts.map
@@ -40,8 +40,8 @@ type GetOperations = Effect.Success<typeof run.getProjectsLocationsOperations>;
40
40
  * resulting callable here, so we never re-resolve services on each
41
41
  * await.
42
42
  */
43
- export declare const makeAwaitOperation: (getOperations: GetOperations) => (operationName: string, session: ScopedPlanStatusSession) => Effect.Effect<run.GoogleLongrunningOperation, ConfigError | run.GetProjectsLocationsOperationsError | {
43
+ export declare const makeAwaitOperation: (getOperations: GetOperations) => (operationName: string, session: ScopedPlanStatusSession) => Effect.Effect<run.GoogleLongrunningOperation, ConfigError | {
44
44
  _tag: "OperationPending";
45
- }, never>;
45
+ } | run.GetProjectsLocationsOperationsError, never>;
46
46
  export {};
47
47
  //# sourceMappingURL=Operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/Run/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;;GASG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,aAAa;;SA8B3D,CAAC"}
1
+ {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/Run/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;;GASG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,kBAAkB,kBAAmB,aAAa;UAS/B,kBAAkB;mDAqB9C,CAAC"}
@@ -189,5 +189,5 @@ export type ServiceAttributes = {
189
189
  };
190
190
  export type Service = Resource<"GCP.Service", ServiceProps, ServiceAttributes, RunIamBindingContract, GCP.Providers>;
191
191
  export declare const Service: import("alchemy").ResourceClass<Service>;
192
- export declare const ServiceProvider: () => import("effect/Layer").Layer<Provider.Provider<Service>, never, import("alchemy").Stack | import("alchemy").Stage | import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
192
+ export declare const ServiceProvider: () => import("effect/Layer").Layer<Provider.Provider<Service>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
193
193
  //# sourceMappingURL=Service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Run/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA0CxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,GAAG,KAAK,EACvB,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAajC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAgC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,GAAG,KAAK,EACvB,YAAY,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,QAAQ,GAAG,OAAO,MAC/C,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAkB1D,CAAC"}
1
+ {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Run/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AA0CxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,SACpB,SAAS,GAAG,KAAK,QACjB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAajC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,gBACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAgC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACvB,SAAS,GAAG,KAAK,cACX,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,SACrB,SAAS,GAAG,KAAK,MAAM,QAAQ,GAAG,OAAO,SAC5C;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAkB1D,CAAC"}
@@ -230,5 +230,5 @@ export type SqlInstanceAttributes = {
230
230
  };
231
231
  export type SqlInstance = Resource<"GCP.SqlInstance", SqlInstanceProps, SqlInstanceAttributes, never, GCP.Providers>;
232
232
  export declare const SqlInstance: import("alchemy").ResourceClass<SqlInstance>;
233
- export declare const SqlInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<SqlInstance>, never, import("alchemy").Stack | import("alchemy").Stage | import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient>;
233
+ export declare const SqlInstanceProvider: () => import("effect/Layer").Layer<Provider.Provider<SqlInstance>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
234
234
  //# sourceMappingURL=Instance.d.ts.map
@@ -34,8 +34,8 @@ type GetOperations = Effect.Success<typeof sql.getOperations>;
34
34
  *
35
35
  * @see https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1/operations
36
36
  */
37
- export declare const makeAwaitOperation: (getOperations: GetOperations) => (project: string, operationName: string, session: ScopedPlanStatusSession) => Effect.Effect<sql.Operation, ConfigError | sql.GetOperationsError | {
37
+ export declare const makeAwaitOperation: (getOperations: GetOperations) => (project: string, operationName: string, session: ScopedPlanStatusSession) => Effect.Effect<sql.Operation, ConfigError | {
38
38
  _tag: "OperationPending";
39
- }, never>;
39
+ } | sql.GetOperationsError, never>;
40
40
  export {};
41
41
  //# sourceMappingURL=Operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,kCAAkC,CAAC;AACxD,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,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,aAAa;;SAgC3D,CAAC"}
1
+ {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,kCAAkC,CAAC;AACxD,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,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,kBAAmB,aAAa;UAU/B,kBAAkB;kCAsB9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,gBAAgB,GAChB,2BAA2B,GAC3B,iBAAiB,GACjB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,WAAW,GAAG,SAAS,KAC5B,OAMsB,CAAC"}
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,gBAAgB,GAChB,2BAA2B,GAC3B,iBAAiB,GACjB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,SAClB,WAAW,GAAG,SAAS,KAC5B,OAMsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CASjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAiBlC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,GAC3B,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,EAAE,IAAI,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,MACpF,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAkB1D,CAAC"}
1
+ {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Sqladmin/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SACzB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CASjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SACzB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAOjC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,SAAU;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAiBlC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,SACrB,UAAU,GAAG,UAAU,GAAG,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,SACjF;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAkB1D,CAAC"}
@@ -0,0 +1,117 @@
1
+ import * as storage from "@distilled.cloud/gcp/storage-v1";
2
+ import { Resource } from "alchemy";
3
+ import * as Provider from "alchemy/Provider";
4
+ import type * as GCP from "../Providers.ts";
5
+ /**
6
+ * A GCS bucket. Lives under a
7
+ * {@link import("../CloudResourceManager/Project.ts").Project} and serves
8
+ * as the target for {@link storageBucketIamMember} bindings (bucket-level
9
+ * IAM grants merged into a single `setIamPolicy` call).
10
+ *
11
+ * Adoption is gated on alchemy internal labels (`alchemy_app` /
12
+ * `alchemy_stage` / `alchemy_id`) — GCS buckets support labels, so the
13
+ * same label-based adoption gate as `Project` applies. The labels are
14
+ * merged into the user-supplied label set on create and never cleared.
15
+ *
16
+ * All lifecycle operations (`insertBuckets`, `getBuckets`, `patchBuckets`,
17
+ * `deleteBuckets`) are synchronous — no LRO polling required.
18
+ *
19
+ * @section Creating a StorageBucket
20
+ * @example Bucket with a 48-hour object TTL
21
+ * ```typescript
22
+ * const bucket = yield* GCP.StorageBucket("TempBucket", {
23
+ * project: project.projectId,
24
+ * name: "microagi-shared-temp",
25
+ * location: "europe-west4",
26
+ * storageClass: "STANDARD",
27
+ * lifecycle: {
28
+ * rule: [{
29
+ * action: { type: "Delete" },
30
+ * condition: { age: 2 }, // 2 days = 48 hours
31
+ * }],
32
+ * },
33
+ * });
34
+ * ```
35
+ */
36
+ export type StorageBucketProps = {
37
+ /**
38
+ * GCP project id (e.g. `micro-research-shared`) the bucket lives
39
+ * under. Immutable — changing this orphans the bucket and its IAM
40
+ * bindings, so `diff` triggers a replacement.
41
+ */
42
+ project: string;
43
+ /**
44
+ * The bucket name. Must be globally unique, 3-222 chars, lowercase
45
+ * letters, digits, hyphens, underscores, and dots. Immutable —
46
+ * replaces.
47
+ */
48
+ name: string;
49
+ /**
50
+ * Bucket location, e.g. `europe-west4` (single region) or `EU`
51
+ * (multi-region). Immutable — replaces.
52
+ */
53
+ location: string;
54
+ /**
55
+ * Storage class, e.g. `STANDARD`, `NEARLINE`, `COLDLINE`,
56
+ * `ARCHIVE`. Defaults to `STANDARD` server-side. Mutable.
57
+ */
58
+ storageClass?: string;
59
+ /**
60
+ * Bucket lifecycle configuration. Used for object TTL (e.g.
61
+ * `{ rule: [{ action: { type: "Delete" }, condition: { age: 2 } }] }`
62
+ * deletes objects older than 2 days). Mutable.
63
+ */
64
+ lifecycle?: storage.Bucket["lifecycle"];
65
+ /**
66
+ * User-supplied labels. The alchemy internal labels are merged
67
+ * automatically (see `gcpInternalLabels`). Alchemy keys are reserved
68
+ * and overwrite user-supplied collisions.
69
+ */
70
+ labels?: Record<string, string>;
71
+ /**
72
+ * Whether uniform bucket-level access is enabled. Defaults to
73
+ * `true` (recommended — ACLs are disabled, IAM is the sole authz
74
+ * path). Mutable.
75
+ */
76
+ uniformBucketLevelAccess?: boolean;
77
+ };
78
+ /**
79
+ * Single (role, members) entry on a bucket's IAM policy. Targets
80
+ * declare this contract so {@link storageBucketIamMember} can `.bind`
81
+ * IAM grants onto the bucket — the provider's `reconcile` merges all
82
+ * bound entries by role into a single `setIamPolicy` call.
83
+ */
84
+ export type StorageBucketIamBinding = {
85
+ /** IAM role, e.g. `"roles/storage.objectUser"`. */
86
+ role: string;
87
+ /** Principals, e.g. `["serviceAccount:sa@project.iam.gserviceaccount.com"]`. */
88
+ members: ReadonlyArray<string>;
89
+ };
90
+ export type StorageBucketBindingContract = {
91
+ iamBindings: ReadonlyArray<StorageBucketIamBinding>;
92
+ };
93
+ export type StorageBucket = Resource<"GCP.StorageBucket", StorageBucketProps, {
94
+ /** Bucket name (same as the prop). */
95
+ name: string;
96
+ /** Bucket ID (server-assigned, same as name for buckets). */
97
+ id: string;
98
+ /** Self-link URL. */
99
+ selfLink: string;
100
+ /** Bucket location. */
101
+ location: string;
102
+ /** Storage class. */
103
+ storageClass: string | undefined;
104
+ /** Lifecycle configuration. */
105
+ lifecycle: storage.Bucket["lifecycle"];
106
+ /** Labels (including alchemy internal labels). */
107
+ labels: Record<string, string> | undefined;
108
+ /** Metageneration (changes on metadata updates). */
109
+ metageneration: string;
110
+ /** Creation time (RFC 3339). */
111
+ timeCreated: string;
112
+ /** Last update time (RFC 3339). */
113
+ updated: string;
114
+ }, StorageBucketBindingContract, GCP.Providers>;
115
+ export declare const StorageBucket: import("alchemy").ResourceClass<StorageBucket>;
116
+ export declare const StorageBucketProvider: () => import("effect/Layer").Layer<Provider.Provider<StorageBucket>, never, import("@distilled.cloud/gcp").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Stack | import("alchemy").Stage>;
117
+ //# sourceMappingURL=Bucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bucket.d.ts","sourceRoot":"","sources":["../../src/Storage/Bucket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAS7C,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,mBAAmB,EACnB,kBAAkB,EAClB;IACE,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3C,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB,EACD,4BAA4B,EAC5B,GAAG,CAAC,SAAS,CACd,CAAC;AAEF,eAAO,MAAM,aAAa,gDAA+C,CAAC;AAe1E,eAAO,MAAM,qBAAqB,oOA+R/B,CAAC"}