alchemy 0.17.2 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ai/document.d.ts +11 -0
- package/lib/ai/document.d.ts.map +1 -1
- package/lib/ai/document.js +1 -1
- package/lib/ai/document.js.map +1 -1
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +1 -2
- package/lib/alchemy.js.map +1 -1
- package/lib/aws/control/client.d.ts +134 -0
- package/lib/aws/control/client.d.ts.map +1 -0
- package/lib/aws/control/client.js +232 -0
- package/lib/aws/control/client.js.map +1 -0
- package/lib/aws/control/error.d.ts +63 -0
- package/lib/aws/control/error.d.ts.map +1 -0
- package/lib/aws/control/error.js +93 -0
- package/lib/aws/control/error.js.map +1 -0
- package/lib/aws/control/index.d.ts +6 -0
- package/lib/aws/control/index.d.ts.map +1 -0
- package/lib/aws/control/index.js +6 -0
- package/lib/aws/control/index.js.map +1 -0
- package/lib/aws/control/properties.d.ts +1874 -0
- package/lib/aws/control/properties.d.ts.map +1 -0
- package/lib/aws/control/properties.js +6945 -0
- package/lib/aws/control/properties.js.map +1 -0
- package/lib/aws/control/proxy.d.ts +7 -0
- package/lib/aws/control/proxy.d.ts.map +1 -0
- package/lib/aws/control/proxy.js +29 -0
- package/lib/aws/control/proxy.js.map +1 -0
- package/lib/aws/control/resource.d.ts +110 -0
- package/lib/aws/control/resource.d.ts.map +1 -0
- package/lib/aws/control/resource.js +192 -0
- package/lib/aws/control/resource.js.map +1 -0
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +2 -2
- package/lib/destroy.js.map +1 -1
- package/lib/resource.d.ts +7 -1
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +20 -0
- package/lib/resource.js.map +1 -1
- package/lib/test/bun.d.ts.map +1 -1
- package/lib/test/bun.js +1 -2
- package/lib/test/bun.js.map +1 -1
- package/package.json +5 -1
- package/src/ai/document.ts +1 -1
- package/src/alchemy.ts +2 -3
- package/src/aws/control/client.ts +450 -0
- package/src/aws/control/error.ts +84 -0
- package/src/aws/control/index.ts +6 -0
- package/src/aws/control/properties.ts +6946 -0
- package/src/aws/control/proxy.ts +40 -0
- package/src/aws/control/resource.ts +346 -0
- package/src/aws/control/types.d.ts +85129 -0
- package/src/destroy.ts +4 -7
- package/src/resource.ts +32 -1
- package/src/test/bun.ts +1 -2
package/lib/destroy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"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"}
|
package/lib/resource.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { Context } from "./context.js";
|
|
2
2
|
import { type Scope } from "./scope.js";
|
|
3
|
-
export declare const PROVIDERS: Map<string, any
|
|
3
|
+
export declare const PROVIDERS: Map<ResourceKind, Provider<string, any>>;
|
|
4
|
+
export type DynamicResourceResolver = (typeName: string) => Provider | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Register a function that will be called if a Resource Type cannot be found during deletion.
|
|
7
|
+
*/
|
|
8
|
+
export declare function registerDynamicResource(handler: DynamicResourceResolver): void;
|
|
9
|
+
export declare function resolveDeletionHandler(typeName: string): Provider | undefined;
|
|
4
10
|
export type ResourceID = string;
|
|
5
11
|
export declare const ResourceID: unique symbol;
|
|
6
12
|
export type ResourceFQN = string;
|
package/lib/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEzD,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
package/lib/resource.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { apply } from "./apply.js";
|
|
2
2
|
import { Scope as _Scope } from "./scope.js";
|
|
3
3
|
export const PROVIDERS = new Map();
|
|
4
|
+
const DYNAMIC_RESOURCE_RESOLVERS = [];
|
|
5
|
+
/**
|
|
6
|
+
* Register a function that will be called if a Resource Type cannot be found during deletion.
|
|
7
|
+
*/
|
|
8
|
+
export function registerDynamicResource(handler) {
|
|
9
|
+
DYNAMIC_RESOURCE_RESOLVERS.push(handler);
|
|
10
|
+
}
|
|
11
|
+
export function resolveDeletionHandler(typeName) {
|
|
12
|
+
const provider = PROVIDERS.get(typeName);
|
|
13
|
+
if (provider) {
|
|
14
|
+
return provider;
|
|
15
|
+
}
|
|
16
|
+
for (const handler of DYNAMIC_RESOURCE_RESOLVERS) {
|
|
17
|
+
const result = handler(typeName);
|
|
18
|
+
if (result) {
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
4
24
|
export const ResourceID = Symbol.for("alchemy::ResourceID");
|
|
5
25
|
export const ResourceFQN = Symbol.for("alchemy::ResourceFQN");
|
|
6
26
|
export const ResourceKind = Symbol.for("alchemy::ResourceKind");
|
package/lib/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,IAAI,MAAM,EAAc,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
package/lib/test/bun.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/test/bun.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,OAAO;QACf,IAAI,EAAE,OAAO,IAAI,CAAC;KACnB;CACF;AAOD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,KAAK,IAAI,GAAG;IACV;;;;;OAKG;IACH,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3E;;;;;;OAMG;IACH,CACE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,EAClC,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IAER;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAErD,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/test/bun.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,OAAO;QACf,IAAI,EAAE,OAAO,IAAI,CAAC;KACnB;CACF;AAOD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,KAAK,IAAI,GAAG;IACV;;;;;OAKG;IACH,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3E;;;;;;OAMG;IACH,CACE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,EAClC,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IAER;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAErD,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CA4FzE"}
|
package/lib/test/bun.js
CHANGED
|
@@ -81,11 +81,10 @@ export function test(meta, defaultOptions) {
|
|
|
81
81
|
...spread(_options),
|
|
82
82
|
};
|
|
83
83
|
const fn = typeof args[1] === "function" ? args[1] : args[2];
|
|
84
|
-
return it(testName,
|
|
84
|
+
return it(testName, () => alchemy.run(testName, {
|
|
85
85
|
...options,
|
|
86
86
|
parent: scope,
|
|
87
87
|
}, async (scope) => {
|
|
88
|
-
// Enter test scope since bun calls from different scope
|
|
89
88
|
await scope.run(() => fn(scope));
|
|
90
89
|
}), timeout);
|
|
91
90
|
}
|
package/lib/test/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/test/bun.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/test/bun.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
".": "./lib/index.js",
|
|
16
16
|
"./ai": "./lib/ai/index.js",
|
|
17
17
|
"./aws": "./lib/aws/index.js",
|
|
18
|
+
"./aws/control": "./lib/aws/control/index.js",
|
|
18
19
|
"./aws/oidc": "./lib/aws/oidc/index.js",
|
|
19
20
|
"./cloudflare": "./lib/cloudflare/index.js",
|
|
20
21
|
"./dns": "./lib/dns/index.js",
|
|
@@ -49,6 +50,8 @@
|
|
|
49
50
|
"@aws-sdk/client-sesv2": "^3.0.0",
|
|
50
51
|
"@aws-sdk/client-sqs": "^3.0.0",
|
|
51
52
|
"@aws-sdk/client-sts": "^3.0.0",
|
|
53
|
+
"@aws-sdk/credential-providers": "^3.0.0",
|
|
54
|
+
"@aws-sdk/node-config-provider": "^3.374.0",
|
|
52
55
|
"@cloudflare/unenv-preset": "^2.3.1",
|
|
53
56
|
"@cloudflare/workers-shared": "^0.17.5",
|
|
54
57
|
"@iarna/toml": "^2.2.5",
|
|
@@ -60,6 +63,7 @@
|
|
|
60
63
|
"cloudflare": "^4.0.0",
|
|
61
64
|
"diff": "^7.0.0",
|
|
62
65
|
"esbuild": "^0.25.1",
|
|
66
|
+
"fast-json-patch": "^3.1.1",
|
|
63
67
|
"glob": "^10.0.0",
|
|
64
68
|
"hono": "^4.0.0",
|
|
65
69
|
"jszip": "^3.0.0",
|
package/src/ai/document.ts
CHANGED
|
@@ -329,7 +329,7 @@ export const Document = Resource(
|
|
|
329
329
|
* @param text The text to extract markdown content from
|
|
330
330
|
* @returns The extracted markdown content or error message
|
|
331
331
|
*/
|
|
332
|
-
function extractMarkdownContent(text: string): {
|
|
332
|
+
export function extractMarkdownContent(text: string): {
|
|
333
333
|
content: string;
|
|
334
334
|
error?: string;
|
|
335
335
|
} {
|
package/src/alchemy.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { DestroyedSignal, destroy } from "./destroy.js";
|
|
5
5
|
import { env } from "./env.js";
|
|
6
6
|
import {
|
|
7
|
+
type PendingResource,
|
|
7
8
|
ResourceFQN,
|
|
8
9
|
ResourceID,
|
|
9
10
|
ResourceKind,
|
|
10
11
|
ResourceScope,
|
|
11
12
|
ResourceSeq,
|
|
12
|
-
type PendingResource,
|
|
13
13
|
} from "./resource.js";
|
|
14
14
|
import { isRuntime } from "./runtime/global.js";
|
|
15
15
|
import { Scope } from "./scope.js";
|
|
@@ -378,7 +378,6 @@ async function run<T>(
|
|
|
378
378
|
return await _scope.run(async () => fn.bind(_scope)(_scope));
|
|
379
379
|
} catch (error) {
|
|
380
380
|
if (!(error instanceof DestroyedSignal)) {
|
|
381
|
-
// console.log(error);
|
|
382
381
|
_scope.fail();
|
|
383
382
|
}
|
|
384
383
|
throw error;
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
import { fromNodeProviderChain } from "@aws-sdk/credential-providers";
|
|
2
|
+
import { loadConfig } from "@aws-sdk/node-config-provider";
|
|
3
|
+
import { AwsClient } from "aws4fetch";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
AlreadyExistsError,
|
|
7
|
+
CloudControlError,
|
|
8
|
+
ConcurrentOperationError,
|
|
9
|
+
NetworkError,
|
|
10
|
+
NotFoundError,
|
|
11
|
+
RequestError,
|
|
12
|
+
ResourceNotFoundException,
|
|
13
|
+
ThrottlingException,
|
|
14
|
+
UpdateFailedError,
|
|
15
|
+
ValidationException,
|
|
16
|
+
} from "./error.js";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Status of a Cloud Control API operation
|
|
20
|
+
*/
|
|
21
|
+
export type OperationStatus =
|
|
22
|
+
| "PENDING"
|
|
23
|
+
| "IN_PROGRESS"
|
|
24
|
+
| "SUCCESS"
|
|
25
|
+
| "FAILED"
|
|
26
|
+
| "CANCEL_IN_PROGRESS"
|
|
27
|
+
| "CANCEL_COMPLETE";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Progress event from a Cloud Control API operation
|
|
31
|
+
*/
|
|
32
|
+
export interface ProgressEvent {
|
|
33
|
+
/**
|
|
34
|
+
* Error code if the operation failed
|
|
35
|
+
*/
|
|
36
|
+
ErrorCode?: string;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Time when the event occurred
|
|
40
|
+
*/
|
|
41
|
+
EventTime?: number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Token for hooks associated with the request
|
|
45
|
+
*/
|
|
46
|
+
HooksRequestToken?: string;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Resource identifier
|
|
50
|
+
*/
|
|
51
|
+
Identifier: string;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Operation being performed (CREATE, READ, UPDATE, DELETE)
|
|
55
|
+
*/
|
|
56
|
+
Operation?: string;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Current status of the operation
|
|
60
|
+
*/
|
|
61
|
+
OperationStatus: OperationStatus;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Token that identifies the request
|
|
65
|
+
*/
|
|
66
|
+
RequestToken: string;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* JSON string representation of the resource model
|
|
70
|
+
*/
|
|
71
|
+
ResourceModel?: string;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Number of seconds to wait before retrying
|
|
75
|
+
*/
|
|
76
|
+
RetryAfter?: number;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Status message providing details about the operation
|
|
80
|
+
*/
|
|
81
|
+
StatusMessage: string;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Type name of the resource
|
|
85
|
+
*/
|
|
86
|
+
TypeName?: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Options for Cloud Control API requests
|
|
91
|
+
*/
|
|
92
|
+
export interface CloudControlOptions {
|
|
93
|
+
/**
|
|
94
|
+
* AWS region to use (defaults to us-east-1)
|
|
95
|
+
*/
|
|
96
|
+
region?: string;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* AWS access key ID (overrides environment variable)
|
|
100
|
+
*/
|
|
101
|
+
accessKeyId?: string;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* AWS secret access key (overrides environment variable)
|
|
105
|
+
*/
|
|
106
|
+
secretAccessKey?: string;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* AWS session token for temporary credentials
|
|
110
|
+
*/
|
|
111
|
+
sessionToken?: string;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Initial delay in milliseconds between polling attempts
|
|
115
|
+
*/
|
|
116
|
+
initialPollingDelay?: number;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Maximum delay in milliseconds between polling attempts
|
|
120
|
+
*/
|
|
121
|
+
maxPollingDelay?: number;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Maximum number of retries for retryable errors
|
|
125
|
+
*/
|
|
126
|
+
maxRetries?: number;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const getRegion = loadConfig({
|
|
130
|
+
environmentVariableSelector: (env) =>
|
|
131
|
+
env.AWS_REGION || env.AWS_DEFAULT_REGION,
|
|
132
|
+
configFileSelector: (profile) => profile.region,
|
|
133
|
+
default: undefined,
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Create a Cloud Control API client
|
|
138
|
+
*/
|
|
139
|
+
export async function createCloudControlClient(
|
|
140
|
+
options: CloudControlOptions = {},
|
|
141
|
+
) {
|
|
142
|
+
const credentials = await fromNodeProviderChain()();
|
|
143
|
+
|
|
144
|
+
const region =
|
|
145
|
+
options.region ?? // 1. favor explicit region passed in
|
|
146
|
+
(await getRegion()) ?? // 2-4. resolve from AWS profile, loadConfig, and environment
|
|
147
|
+
process.env.AWS_REGION ??
|
|
148
|
+
process.env.AWS_DEFAULT_REGION;
|
|
149
|
+
|
|
150
|
+
if (!region) {
|
|
151
|
+
throw new Error(
|
|
152
|
+
"No region found. Please set AWS_REGION or AWS_DEFAULT_REGION in the environment or in your AWS profile.",
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const client = new AwsClient({
|
|
157
|
+
...credentials,
|
|
158
|
+
service: "cloudcontrolapi",
|
|
159
|
+
region,
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
return new CloudControlClient(client, {
|
|
163
|
+
...options,
|
|
164
|
+
region,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export class CloudControlClient {
|
|
169
|
+
private region: string;
|
|
170
|
+
private initialPollingDelay: number;
|
|
171
|
+
private maxPollingDelay: number;
|
|
172
|
+
private maxRetries: number;
|
|
173
|
+
|
|
174
|
+
constructor(
|
|
175
|
+
private readonly client: AwsClient,
|
|
176
|
+
options: CloudControlOptions,
|
|
177
|
+
) {
|
|
178
|
+
this.region = options.region || "us-east-1";
|
|
179
|
+
this.initialPollingDelay = options.initialPollingDelay || 1000;
|
|
180
|
+
this.maxPollingDelay = options.maxPollingDelay || 10000;
|
|
181
|
+
this.maxRetries = options.maxRetries || 3;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Create a new resource
|
|
186
|
+
*/
|
|
187
|
+
public async createResource(
|
|
188
|
+
typeName: string,
|
|
189
|
+
desiredState: Record<string, any>,
|
|
190
|
+
): Promise<ProgressEvent> {
|
|
191
|
+
return this.sync("CreateResource", {
|
|
192
|
+
TypeName: typeName,
|
|
193
|
+
DesiredState: JSON.stringify(desiredState),
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Get a resource's current state
|
|
199
|
+
*/
|
|
200
|
+
public async getResource(
|
|
201
|
+
typeName: string,
|
|
202
|
+
identifier: string,
|
|
203
|
+
): Promise<Record<string, any> | undefined> {
|
|
204
|
+
try {
|
|
205
|
+
return JSON.parse(
|
|
206
|
+
(
|
|
207
|
+
await this.fetch<{
|
|
208
|
+
ResourceDescription: {
|
|
209
|
+
Properties: string;
|
|
210
|
+
};
|
|
211
|
+
}>("GetResource", {
|
|
212
|
+
TypeName: typeName,
|
|
213
|
+
Identifier: identifier,
|
|
214
|
+
})
|
|
215
|
+
).ResourceDescription.Properties,
|
|
216
|
+
);
|
|
217
|
+
} catch (error: any) {
|
|
218
|
+
if (error instanceof ResourceNotFoundException) {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Update a resource
|
|
227
|
+
*/
|
|
228
|
+
public async updateResource(
|
|
229
|
+
typeName: string,
|
|
230
|
+
identifier: string,
|
|
231
|
+
patchDocument: Record<string, any>,
|
|
232
|
+
): Promise<ProgressEvent> {
|
|
233
|
+
return this.sync("UpdateResource", {
|
|
234
|
+
TypeName: typeName,
|
|
235
|
+
Identifier: identifier,
|
|
236
|
+
PatchDocument: JSON.stringify(patchDocument),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Delete a resource
|
|
242
|
+
*/
|
|
243
|
+
public async deleteResource(
|
|
244
|
+
typeName: string,
|
|
245
|
+
identifier: string,
|
|
246
|
+
): Promise<ProgressEvent> {
|
|
247
|
+
return this.sync("DeleteResource", {
|
|
248
|
+
TypeName: typeName,
|
|
249
|
+
Identifier: identifier,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* List resources of a given type
|
|
255
|
+
*/
|
|
256
|
+
public listResources(typeName: string, nextToken?: string) {
|
|
257
|
+
return this.fetch<{
|
|
258
|
+
ResourceDescriptions: Array<{
|
|
259
|
+
Identifier: string;
|
|
260
|
+
Properties: Record<string, any>;
|
|
261
|
+
}>;
|
|
262
|
+
NextToken?: string;
|
|
263
|
+
}>("ListResources", {
|
|
264
|
+
TypeName: typeName,
|
|
265
|
+
NextToken: nextToken,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Poll an operation until it completes
|
|
271
|
+
*/
|
|
272
|
+
public async poll(
|
|
273
|
+
requestToken: string,
|
|
274
|
+
action?: "CreateResource" | "UpdateResource" | "DeleteResource",
|
|
275
|
+
): Promise<ProgressEvent> {
|
|
276
|
+
let delay = this.initialPollingDelay;
|
|
277
|
+
let logged = false;
|
|
278
|
+
|
|
279
|
+
while (true) {
|
|
280
|
+
try {
|
|
281
|
+
const response = await this.fetch<{
|
|
282
|
+
ProgressEvent: ProgressEvent;
|
|
283
|
+
}>("GetResourceRequestStatus", {
|
|
284
|
+
RequestToken: requestToken,
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
if (response.ProgressEvent.OperationStatus === "SUCCESS") {
|
|
288
|
+
return response.ProgressEvent;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if (response.ProgressEvent.OperationStatus === "FAILED") {
|
|
292
|
+
const errorCode = response.ProgressEvent.ErrorCode;
|
|
293
|
+
const progressEvent = response.ProgressEvent;
|
|
294
|
+
if (errorCode === "AlreadyExists") {
|
|
295
|
+
throw new AlreadyExistsError(progressEvent);
|
|
296
|
+
} else if (errorCode === "NotFound") {
|
|
297
|
+
throw new NotFoundError(progressEvent);
|
|
298
|
+
}
|
|
299
|
+
throw new UpdateFailedError(progressEvent);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// Use the suggested retry delay if provided
|
|
303
|
+
const waitTime = response.ProgressEvent.RetryAfter
|
|
304
|
+
? Math.max(100, response.ProgressEvent.RetryAfter * 1000 - Date.now())
|
|
305
|
+
: delay;
|
|
306
|
+
|
|
307
|
+
if (!logged) {
|
|
308
|
+
logged = true;
|
|
309
|
+
console.log(
|
|
310
|
+
`Polling for ${response.ProgressEvent.Identifier} (${response.ProgressEvent.TypeName}) to stabilize`,
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
await new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
315
|
+
delay = Math.min(delay * 2, this.maxPollingDelay);
|
|
316
|
+
} catch (error: any) {
|
|
317
|
+
if (error instanceof NotFoundError && action === "DeleteResource") {
|
|
318
|
+
return error.progressEvent;
|
|
319
|
+
} else if (error instanceof CloudControlError) {
|
|
320
|
+
throw error;
|
|
321
|
+
} else if (error instanceof ValidationException) {
|
|
322
|
+
throw error;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
// For retryable errors, continue polling
|
|
326
|
+
await new Promise((resolve) =>
|
|
327
|
+
setTimeout(resolve, Math.min(delay * 2, this.maxPollingDelay)),
|
|
328
|
+
);
|
|
329
|
+
delay = Math.min(delay * 2, this.maxPollingDelay);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
public async sync(
|
|
335
|
+
action: "CreateResource" | "UpdateResource" | "DeleteResource",
|
|
336
|
+
props?: any,
|
|
337
|
+
): Promise<ProgressEvent> {
|
|
338
|
+
const { ProgressEvent } = await this.fetch<{
|
|
339
|
+
ProgressEvent: ProgressEvent;
|
|
340
|
+
}>(action, props);
|
|
341
|
+
|
|
342
|
+
return this.poll(ProgressEvent.RequestToken, action);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
public async fetch<T>(
|
|
346
|
+
action: string,
|
|
347
|
+
params?: any,
|
|
348
|
+
options?: {
|
|
349
|
+
maxRetries?: number;
|
|
350
|
+
},
|
|
351
|
+
): Promise<T> {
|
|
352
|
+
let attempt = 0;
|
|
353
|
+
const maxRetries = options?.maxRetries || this.maxRetries;
|
|
354
|
+
|
|
355
|
+
while (true) {
|
|
356
|
+
try {
|
|
357
|
+
const args = [
|
|
358
|
+
`https://cloudcontrolapi.${this.region}.amazonaws.com/?Action=${action}&Version=2021-09-30`,
|
|
359
|
+
{
|
|
360
|
+
method: "POST",
|
|
361
|
+
headers: {
|
|
362
|
+
"content-type": "application/x-amz-json-1.0",
|
|
363
|
+
"x-amz-target": `CloudApiService.${action}`,
|
|
364
|
+
},
|
|
365
|
+
body: JSON.stringify(params),
|
|
366
|
+
},
|
|
367
|
+
] as const;
|
|
368
|
+
const signedRequest = await this.client.sign(...args);
|
|
369
|
+
const response = await fetch(signedRequest);
|
|
370
|
+
|
|
371
|
+
if (!response.ok) {
|
|
372
|
+
const data: any = await response.json();
|
|
373
|
+
if (
|
|
374
|
+
data.__type ===
|
|
375
|
+
"com.amazon.cloudapiservice#ResourceNotFoundException"
|
|
376
|
+
) {
|
|
377
|
+
throw new ResourceNotFoundException(response);
|
|
378
|
+
}
|
|
379
|
+
if (
|
|
380
|
+
data.__type ===
|
|
381
|
+
"com.amazon.cloudapiservice#ConcurrentOperationException"
|
|
382
|
+
) {
|
|
383
|
+
// Extract request token from message
|
|
384
|
+
const message = data.Message || "";
|
|
385
|
+
const requestTokenMatch = message.match(
|
|
386
|
+
/RequestToken\s+([a-fA-F0-9-]+)/,
|
|
387
|
+
);
|
|
388
|
+
if (!requestTokenMatch) {
|
|
389
|
+
throw new RequestError(response, {
|
|
390
|
+
...data,
|
|
391
|
+
message: `ConcurrentOperationException without request token: ${message}`,
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
throw new ConcurrentOperationError(message, requestTokenMatch[1]);
|
|
395
|
+
}
|
|
396
|
+
if (
|
|
397
|
+
data.__type === "com.amazon.coral.availability#ThrottlingException"
|
|
398
|
+
) {
|
|
399
|
+
throw new ThrottlingException(response, data);
|
|
400
|
+
}
|
|
401
|
+
if (data.__type === "com.amazon.coral.validate#ValidationException") {
|
|
402
|
+
throw new ValidationException(response, data);
|
|
403
|
+
}
|
|
404
|
+
throw new RequestError(response, data);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
return (await response.json()) as T;
|
|
408
|
+
} catch (error: any) {
|
|
409
|
+
// Handle other CloudControl errors (don't retry, except ThrottlingException)
|
|
410
|
+
if (
|
|
411
|
+
error instanceof CloudControlError &&
|
|
412
|
+
!(error instanceof ThrottlingException)
|
|
413
|
+
) {
|
|
414
|
+
throw error;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// Handle retryable errors (throttling and network errors)
|
|
418
|
+
if (attempt < maxRetries) {
|
|
419
|
+
// Use exponential backoff with jitter, capped at 3 seconds
|
|
420
|
+
const baseDelay = Math.min(2 ** attempt * 1000, 3000);
|
|
421
|
+
const jitter = Math.random() * 0.1 * baseDelay;
|
|
422
|
+
const retryDelay = baseDelay + jitter;
|
|
423
|
+
|
|
424
|
+
const errorType =
|
|
425
|
+
error instanceof ThrottlingException
|
|
426
|
+
? "Throttling"
|
|
427
|
+
: "Network error";
|
|
428
|
+
console.log(
|
|
429
|
+
`${errorType} detected, retrying in ${Math.round(retryDelay)}ms (attempt ${attempt + 1}/${maxRetries + 1})`,
|
|
430
|
+
);
|
|
431
|
+
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
432
|
+
attempt++;
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
// Max retries exceeded
|
|
437
|
+
if (error instanceof ThrottlingException) {
|
|
438
|
+
console.error(
|
|
439
|
+
`Max retries (${maxRetries}) exceeded for throttling exception`,
|
|
440
|
+
);
|
|
441
|
+
throw error;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
throw new NetworkError(
|
|
445
|
+
error.message || "Network error during Cloud Control API request",
|
|
446
|
+
);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|