alchemy 0.85.2 → 0.86.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/bin/alchemy.js +1 -1
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/vpc-service-ref.d.ts +38 -0
- package/lib/cloudflare/vpc-service-ref.d.ts.map +1 -0
- package/lib/cloudflare/vpc-service-ref.js +33 -0
- package/lib/cloudflare/vpc-service-ref.js.map +1 -0
- package/lib/cloudflare/vpc-service.d.ts +4 -4
- package/lib/cloudflare/vpc-service.d.ts.map +1 -1
- package/lib/cloudflare/vpc-service.js +44 -38
- package/lib/cloudflare/vpc-service.js.map +1 -1
- package/package.json +1 -1
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/vpc-service-ref.ts +60 -0
- package/src/cloudflare/vpc-service.ts +53 -46
- package/workers/tunnel-proxy.js +1 -1
package/bin/alchemy.js
CHANGED
|
@@ -37097,7 +37097,7 @@ function envPaths(name$1, { suffix = "nodejs" } = {}) {
|
|
|
37097
37097
|
//#endregion
|
|
37098
37098
|
//#region package.json
|
|
37099
37099
|
var name = "alchemy";
|
|
37100
|
-
var version = "0.
|
|
37100
|
+
var version = "0.86.0";
|
|
37101
37101
|
var license = "Apache-2.0";
|
|
37102
37102
|
var author = "Sam Goodwin <sam@alchemy.run>";
|
|
37103
37103
|
var homepage = "https://alchemy.run";
|
|
@@ -71,6 +71,7 @@ export * from "./vectorize-index.ts";
|
|
|
71
71
|
export * from "./vectorize-metadata-index.ts";
|
|
72
72
|
export * from "./version-metadata.ts";
|
|
73
73
|
export * from "./vite/vite.ts";
|
|
74
|
+
export * from "./vpc-service-ref.ts";
|
|
74
75
|
export * from "./vpc-service.ts";
|
|
75
76
|
export * from "./warp-default-profile.ts";
|
|
76
77
|
export * from "./warp-device-profile.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
package/lib/cloudflare/index.js
CHANGED
|
@@ -72,6 +72,7 @@ export * from "./vectorize-index.js";
|
|
|
72
72
|
export * from "./vectorize-metadata-index.js";
|
|
73
73
|
export * from "./version-metadata.js";
|
|
74
74
|
export * from "./vite/vite.js";
|
|
75
|
+
export * from "./vpc-service-ref.js";
|
|
75
76
|
export * from "./vpc-service.js";
|
|
76
77
|
export * from "./warp-default-profile.js";
|
|
77
78
|
export * from "./warp-device-profile.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type CloudflareApiOptions } from "./api.ts";
|
|
2
|
+
import { type VpcService } from "./vpc-service.ts";
|
|
3
|
+
export type VpcServiceRefProps = CloudflareApiOptions & ({
|
|
4
|
+
/**
|
|
5
|
+
* The Cloudflare-assigned ID for the VPC service.
|
|
6
|
+
*/
|
|
7
|
+
serviceId: string;
|
|
8
|
+
} | {
|
|
9
|
+
/**
|
|
10
|
+
* The name of the VPC service.
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* A reference to a VPC service.
|
|
16
|
+
*/
|
|
17
|
+
export type VpcServiceRef = VpcService;
|
|
18
|
+
/**
|
|
19
|
+
* Reference an existing [VPC Service](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/) without managing its lifecycle.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* // Reference by ID
|
|
24
|
+
* const vpcService = await VpcServiceRef({
|
|
25
|
+
* serviceId: "123e4567-e89b-12d3-a456-426614174000",
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* // Reference by name
|
|
32
|
+
* const vpcService = await VpcServiceRef({
|
|
33
|
+
* name: "my-vpc-service",
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function VpcServiceRef(props: VpcServiceRefProps): Promise<VpcServiceRef>;
|
|
38
|
+
//# sourceMappingURL=vpc-service-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpc-service-ref.d.ts","sourceRoot":"","sources":["../../src/cloudflare/vpc-service-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GACnD,CACI;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CACJ,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,aAAa,CAAC,CAUxB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createCloudflareApi } from "./api.js";
|
|
2
|
+
import { findVpcServiceByName, getService, } from "./vpc-service.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reference an existing [VPC Service](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/) without managing its lifecycle.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Reference by ID
|
|
9
|
+
* const vpcService = await VpcServiceRef({
|
|
10
|
+
* serviceId: "123e4567-e89b-12d3-a456-426614174000",
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* // Reference by name
|
|
17
|
+
* const vpcService = await VpcServiceRef({
|
|
18
|
+
* name: "my-vpc-service",
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export async function VpcServiceRef(props) {
|
|
23
|
+
const api = await createCloudflareApi(props);
|
|
24
|
+
if ("name" in props) {
|
|
25
|
+
const service = await findVpcServiceByName(api, props.name);
|
|
26
|
+
if (!service) {
|
|
27
|
+
throw new Error(`VPC service "${props.name}" not found`);
|
|
28
|
+
}
|
|
29
|
+
return service;
|
|
30
|
+
}
|
|
31
|
+
return await getService(api, props.serviceId);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=vpc-service-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpc-service-ref.js","sourceRoot":"","sources":["../../src/cloudflare/vpc-service-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA6B,MAAM,UAAU,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAuB1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAyB;IAEzB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -223,7 +223,7 @@ export declare const VpcService: (((this: any, id: string, props?: {}) => never)
|
|
|
223
223
|
* Create a connectivity (VPC) service via the Cloudflare API.
|
|
224
224
|
* @internal
|
|
225
225
|
*/
|
|
226
|
-
export declare function createService(api: CloudflareApi, body: ConnectivityService.Input): Promise<
|
|
226
|
+
export declare function createService(api: CloudflareApi, body: ConnectivityService.Input): Promise<VpcService>;
|
|
227
227
|
/**
|
|
228
228
|
* Delete a connectivity (VPC) service. No-op if the service is already gone (404).
|
|
229
229
|
* @internal
|
|
@@ -233,17 +233,17 @@ export declare function deleteService(api: CloudflareApi, serviceId: string): Pr
|
|
|
233
233
|
* Fetch a single connectivity (VPC) service by ID.
|
|
234
234
|
* @internal
|
|
235
235
|
*/
|
|
236
|
-
export declare function getService(api: CloudflareApi, serviceId: string): Promise<
|
|
236
|
+
export declare function getService(api: CloudflareApi, serviceId: string): Promise<VpcService>;
|
|
237
237
|
/**
|
|
238
238
|
* List connectivity (VPC) services for the account.
|
|
239
239
|
* @internal
|
|
240
240
|
*/
|
|
241
|
-
export declare function
|
|
241
|
+
export declare function findVpcServiceByName(api: CloudflareApi, name: string): Promise<VpcService | undefined>;
|
|
242
242
|
/**
|
|
243
243
|
* Update an existing connectivity (VPC) service.
|
|
244
244
|
* @internal
|
|
245
245
|
*/
|
|
246
|
-
export declare function updateService(api: CloudflareApi, serviceId: string, body: ConnectivityService.Input): Promise<
|
|
246
|
+
export declare function updateService(api: CloudflareApi, serviceId: string, body: ConnectivityService.Input): Promise<VpcService>;
|
|
247
247
|
interface ConnectivityService extends ConnectivityService.Input {
|
|
248
248
|
service_id: string;
|
|
249
249
|
created_at: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpc-service.d.ts","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EACA,UAAU,CAAC,QAAQ,GACnB,UAAU,CAAC,QAAQ,GACnB,UAAU,CAAC,aAAa,GACxB,UAAU,CAAC,YAAY,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,8FAA8F;IAC9F,KAAY,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC;IAEtE;;OAEG;IACH,UAAiB,QAAQ;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;KAClB;IAED;;OAEG;IACH,UAAiB,QAAQ;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;KAClB;IAED;;OAEG;IACH,UAAiB,aAAa;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;KAClB;IAED;;OAEG;IACH,KAAY,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAEhE;;;OAGG;IACH,UAAiB,YAAY;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,OAAO,GAAG;YAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACvD;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IACjE,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AACH,eAAO,MAAM,UAAU,yFAGb,OAAO,CAAC,UAAU,CAAC,MACrB,MAAM,SACH,eAAe,KACrB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"vpc-service.d.ts","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,21 +132,18 @@ export const VpcService = Resource("cloudflare::VpcService", async function (id,
|
|
|
132
132
|
switch (this.phase) {
|
|
133
133
|
case "create": {
|
|
134
134
|
const adopt = props.adopt ?? this.scope.adopt;
|
|
135
|
-
|
|
135
|
+
return await createService(api, input).catch(async (err) => {
|
|
136
136
|
if (isCloudflareApiError(err, { code: 5101 }) && adopt) {
|
|
137
|
-
const
|
|
138
|
-
const service = services.find((s) => s.name === input.name);
|
|
137
|
+
const service = await findVpcServiceByName(api, input.name);
|
|
139
138
|
if (service) {
|
|
140
|
-
return await updateService(api, service.
|
|
139
|
+
return await updateService(api, service.serviceId, input);
|
|
141
140
|
}
|
|
142
141
|
}
|
|
143
142
|
throw err;
|
|
144
143
|
});
|
|
145
|
-
return formatOutput(service);
|
|
146
144
|
}
|
|
147
145
|
case "update": {
|
|
148
|
-
|
|
149
|
-
return formatOutput(service);
|
|
146
|
+
return await updateService(api, this.output.serviceId, input);
|
|
150
147
|
}
|
|
151
148
|
}
|
|
152
149
|
function normalizeHost(host) {
|
|
@@ -169,39 +166,14 @@ export const VpcService = Resource("cloudflare::VpcService", async function (id,
|
|
|
169
166
|
const { tunnel, ...rest } = network;
|
|
170
167
|
return { tunnel_id: tunnel.tunnelId, ...rest };
|
|
171
168
|
}
|
|
172
|
-
function formatOutput(service) {
|
|
173
|
-
return {
|
|
174
|
-
name: service.name,
|
|
175
|
-
serviceId: service.service_id,
|
|
176
|
-
serviceType: service.type,
|
|
177
|
-
tcpPort: service.tcp_port,
|
|
178
|
-
appProtocol: service.app_protocol,
|
|
179
|
-
httpPort: service.http_port,
|
|
180
|
-
httpsPort: service.https_port,
|
|
181
|
-
host: "hostname" in service.host
|
|
182
|
-
? {
|
|
183
|
-
hostname: service.host.hostname,
|
|
184
|
-
resolverNetwork: {
|
|
185
|
-
tunnelId: service.host.resolver_network.tunnel_id,
|
|
186
|
-
resolverIps: service.host.resolver_network.resolver_ips,
|
|
187
|
-
},
|
|
188
|
-
}
|
|
189
|
-
: {
|
|
190
|
-
...service.host,
|
|
191
|
-
network: { tunnelId: service.host.network.tunnel_id },
|
|
192
|
-
},
|
|
193
|
-
createdAt: new Date(service.created_at).getTime(),
|
|
194
|
-
updatedAt: new Date(service.updated_at).getTime(),
|
|
195
|
-
type: "vpc_service",
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
169
|
});
|
|
199
170
|
/**
|
|
200
171
|
* Create a connectivity (VPC) service via the Cloudflare API.
|
|
201
172
|
* @internal
|
|
202
173
|
*/
|
|
203
174
|
export async function createService(api, body) {
|
|
204
|
-
|
|
175
|
+
const service = await extractCloudflareResult("create connectivity service", api.post(`/accounts/${api.accountId}/connectivity/directory/services`, body));
|
|
176
|
+
return formatVpcService(service);
|
|
205
177
|
}
|
|
206
178
|
/**
|
|
207
179
|
* Delete a connectivity (VPC) service. No-op if the service is already gone (404).
|
|
@@ -219,20 +191,54 @@ export async function deleteService(api, serviceId) {
|
|
|
219
191
|
* @internal
|
|
220
192
|
*/
|
|
221
193
|
export async function getService(api, serviceId) {
|
|
222
|
-
|
|
194
|
+
const service = await extractCloudflareResult(`get connectivity service "${serviceId}"`, api.get(`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`));
|
|
195
|
+
return formatVpcService(service);
|
|
223
196
|
}
|
|
224
197
|
/**
|
|
225
198
|
* List connectivity (VPC) services for the account.
|
|
226
199
|
* @internal
|
|
227
200
|
*/
|
|
228
|
-
export async function
|
|
229
|
-
|
|
201
|
+
export async function findVpcServiceByName(api, name) {
|
|
202
|
+
const services = await extractCloudflareResult("list connectivity services", api.get(`/accounts/${api.accountId}/connectivity/directory/services?per_page=1000`));
|
|
203
|
+
const service = services.find((s) => s.name === name);
|
|
204
|
+
return service ? formatVpcService(service) : undefined;
|
|
230
205
|
}
|
|
231
206
|
/**
|
|
232
207
|
* Update an existing connectivity (VPC) service.
|
|
233
208
|
* @internal
|
|
234
209
|
*/
|
|
235
210
|
export async function updateService(api, serviceId, body) {
|
|
236
|
-
|
|
211
|
+
const service = await extractCloudflareResult(`update connectivity service "${serviceId}"`, api.put(`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`, body));
|
|
212
|
+
return formatVpcService(service);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Format an API response into a VpcService resource.
|
|
216
|
+
* @internal
|
|
217
|
+
*/
|
|
218
|
+
function formatVpcService(service) {
|
|
219
|
+
return {
|
|
220
|
+
name: service.name,
|
|
221
|
+
serviceId: service.service_id,
|
|
222
|
+
serviceType: service.type,
|
|
223
|
+
tcpPort: service.tcp_port,
|
|
224
|
+
appProtocol: service.app_protocol,
|
|
225
|
+
httpPort: service.http_port,
|
|
226
|
+
httpsPort: service.https_port,
|
|
227
|
+
host: "hostname" in service.host
|
|
228
|
+
? {
|
|
229
|
+
hostname: service.host.hostname,
|
|
230
|
+
resolverNetwork: {
|
|
231
|
+
tunnelId: service.host.resolver_network.tunnel_id,
|
|
232
|
+
resolverIps: service.host.resolver_network.resolver_ips,
|
|
233
|
+
},
|
|
234
|
+
}
|
|
235
|
+
: {
|
|
236
|
+
...service.host,
|
|
237
|
+
network: { tunnelId: service.host.network.tunnel_id },
|
|
238
|
+
},
|
|
239
|
+
createdAt: new Date(service.created_at).getTime(),
|
|
240
|
+
updatedAt: new Date(service.updated_at).getTime(),
|
|
241
|
+
type: "vpc_service",
|
|
242
|
+
};
|
|
237
243
|
}
|
|
238
244
|
//# sourceMappingURL=vpc-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpc-service.js","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,mBAAmB,GAGpB,MAAM,UAAU,CAAC;AAoHlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAChC,wBAAwB,EACxB,KAAK,WAEH,EAAU,EACV,KAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3B,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAA8B;QACvC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM;QACjC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9C,
|
|
1
|
+
{"version":3,"file":"vpc-service.js","sourceRoot":"","sources":["../../src/cloudflare/vpc-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cloudflare/index.ts
CHANGED
|
@@ -73,6 +73,7 @@ export * from "./vectorize-index.ts";
|
|
|
73
73
|
export * from "./vectorize-metadata-index.ts";
|
|
74
74
|
export * from "./version-metadata.ts";
|
|
75
75
|
export * from "./vite/vite.ts";
|
|
76
|
+
export * from "./vpc-service-ref.ts";
|
|
76
77
|
export * from "./vpc-service.ts";
|
|
77
78
|
export * from "./warp-default-profile.ts";
|
|
78
79
|
export * from "./warp-device-profile.ts";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { createCloudflareApi, type CloudflareApiOptions } from "./api.ts";
|
|
2
|
+
import {
|
|
3
|
+
findVpcServiceByName,
|
|
4
|
+
getService,
|
|
5
|
+
type VpcService,
|
|
6
|
+
} from "./vpc-service.ts";
|
|
7
|
+
|
|
8
|
+
export type VpcServiceRefProps = CloudflareApiOptions &
|
|
9
|
+
(
|
|
10
|
+
| {
|
|
11
|
+
/**
|
|
12
|
+
* The Cloudflare-assigned ID for the VPC service.
|
|
13
|
+
*/
|
|
14
|
+
serviceId: string;
|
|
15
|
+
}
|
|
16
|
+
| {
|
|
17
|
+
/**
|
|
18
|
+
* The name of the VPC service.
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A reference to a VPC service.
|
|
26
|
+
*/
|
|
27
|
+
export type VpcServiceRef = VpcService;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Reference an existing [VPC Service](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/) without managing its lifecycle.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* // Reference by ID
|
|
35
|
+
* const vpcService = await VpcServiceRef({
|
|
36
|
+
* serviceId: "123e4567-e89b-12d3-a456-426614174000",
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* // Reference by name
|
|
43
|
+
* const vpcService = await VpcServiceRef({
|
|
44
|
+
* name: "my-vpc-service",
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export async function VpcServiceRef(
|
|
49
|
+
props: VpcServiceRefProps,
|
|
50
|
+
): Promise<VpcServiceRef> {
|
|
51
|
+
const api = await createCloudflareApi(props);
|
|
52
|
+
if ("name" in props) {
|
|
53
|
+
const service = await findVpcServiceByName(api, props.name);
|
|
54
|
+
if (!service) {
|
|
55
|
+
throw new Error(`VPC service "${props.name}" not found`);
|
|
56
|
+
}
|
|
57
|
+
return service;
|
|
58
|
+
}
|
|
59
|
+
return await getService(api, props.serviceId);
|
|
60
|
+
}
|
|
@@ -258,21 +258,18 @@ export const VpcService = Resource(
|
|
|
258
258
|
switch (this.phase) {
|
|
259
259
|
case "create": {
|
|
260
260
|
const adopt = props.adopt ?? this.scope.adopt;
|
|
261
|
-
|
|
261
|
+
return await createService(api, input).catch(async (err) => {
|
|
262
262
|
if (isCloudflareApiError(err, { code: 5101 }) && adopt) {
|
|
263
|
-
const
|
|
264
|
-
const service = services.find((s) => s.name === input.name);
|
|
263
|
+
const service = await findVpcServiceByName(api, input.name);
|
|
265
264
|
if (service) {
|
|
266
|
-
return await updateService(api, service.
|
|
265
|
+
return await updateService(api, service.serviceId, input);
|
|
267
266
|
}
|
|
268
267
|
}
|
|
269
268
|
throw err;
|
|
270
269
|
});
|
|
271
|
-
return formatOutput(service);
|
|
272
270
|
}
|
|
273
271
|
case "update": {
|
|
274
|
-
|
|
275
|
-
return formatOutput(service);
|
|
272
|
+
return await updateService(api, this.output.serviceId, input);
|
|
276
273
|
}
|
|
277
274
|
}
|
|
278
275
|
|
|
@@ -299,34 +296,6 @@ export const VpcService = Resource(
|
|
|
299
296
|
const { tunnel, ...rest } = network;
|
|
300
297
|
return { tunnel_id: tunnel.tunnelId, ...rest };
|
|
301
298
|
}
|
|
302
|
-
|
|
303
|
-
function formatOutput(service: ConnectivityService): VpcService {
|
|
304
|
-
return {
|
|
305
|
-
name: service.name,
|
|
306
|
-
serviceId: service.service_id,
|
|
307
|
-
serviceType: service.type,
|
|
308
|
-
tcpPort: service.tcp_port,
|
|
309
|
-
appProtocol: service.app_protocol,
|
|
310
|
-
httpPort: service.http_port,
|
|
311
|
-
httpsPort: service.https_port,
|
|
312
|
-
host:
|
|
313
|
-
"hostname" in service.host
|
|
314
|
-
? {
|
|
315
|
-
hostname: service.host.hostname,
|
|
316
|
-
resolverNetwork: {
|
|
317
|
-
tunnelId: service.host.resolver_network.tunnel_id,
|
|
318
|
-
resolverIps: service.host.resolver_network.resolver_ips,
|
|
319
|
-
},
|
|
320
|
-
}
|
|
321
|
-
: {
|
|
322
|
-
...service.host,
|
|
323
|
-
network: { tunnelId: service.host.network.tunnel_id },
|
|
324
|
-
},
|
|
325
|
-
createdAt: new Date(service.created_at).getTime(),
|
|
326
|
-
updatedAt: new Date(service.updated_at).getTime(),
|
|
327
|
-
type: "vpc_service",
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
299
|
},
|
|
331
300
|
);
|
|
332
301
|
|
|
@@ -337,14 +306,15 @@ export const VpcService = Resource(
|
|
|
337
306
|
export async function createService(
|
|
338
307
|
api: CloudflareApi,
|
|
339
308
|
body: ConnectivityService.Input,
|
|
340
|
-
): Promise<
|
|
341
|
-
|
|
342
|
-
|
|
309
|
+
): Promise<VpcService> {
|
|
310
|
+
const service = await extractCloudflareResult<ConnectivityService>(
|
|
311
|
+
"create connectivity service",
|
|
343
312
|
api.post(
|
|
344
313
|
`/accounts/${api.accountId}/connectivity/directory/services`,
|
|
345
314
|
body,
|
|
346
315
|
),
|
|
347
316
|
);
|
|
317
|
+
return formatVpcService(service);
|
|
348
318
|
}
|
|
349
319
|
|
|
350
320
|
/**
|
|
@@ -374,28 +344,32 @@ export async function deleteService(
|
|
|
374
344
|
export async function getService(
|
|
375
345
|
api: CloudflareApi,
|
|
376
346
|
serviceId: string,
|
|
377
|
-
): Promise<
|
|
378
|
-
|
|
347
|
+
): Promise<VpcService> {
|
|
348
|
+
const service = await extractCloudflareResult<ConnectivityService>(
|
|
379
349
|
`get connectivity service "${serviceId}"`,
|
|
380
350
|
api.get(
|
|
381
351
|
`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`,
|
|
382
352
|
),
|
|
383
353
|
);
|
|
354
|
+
return formatVpcService(service);
|
|
384
355
|
}
|
|
385
356
|
|
|
386
357
|
/**
|
|
387
358
|
* List connectivity (VPC) services for the account.
|
|
388
359
|
* @internal
|
|
389
360
|
*/
|
|
390
|
-
export async function
|
|
361
|
+
export async function findVpcServiceByName(
|
|
391
362
|
api: CloudflareApi,
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
363
|
+
name: string,
|
|
364
|
+
): Promise<VpcService | undefined> {
|
|
365
|
+
const services = await extractCloudflareResult<ConnectivityService[]>(
|
|
366
|
+
"list connectivity services",
|
|
395
367
|
api.get(
|
|
396
368
|
`/accounts/${api.accountId}/connectivity/directory/services?per_page=1000`,
|
|
397
369
|
),
|
|
398
370
|
);
|
|
371
|
+
const service = services.find((s) => s.name === name);
|
|
372
|
+
return service ? formatVpcService(service) : undefined;
|
|
399
373
|
}
|
|
400
374
|
|
|
401
375
|
/**
|
|
@@ -406,14 +380,47 @@ export async function updateService(
|
|
|
406
380
|
api: CloudflareApi,
|
|
407
381
|
serviceId: string,
|
|
408
382
|
body: ConnectivityService.Input,
|
|
409
|
-
): Promise<
|
|
410
|
-
|
|
383
|
+
): Promise<VpcService> {
|
|
384
|
+
const service = await extractCloudflareResult<ConnectivityService>(
|
|
411
385
|
`update connectivity service "${serviceId}"`,
|
|
412
386
|
api.put(
|
|
413
387
|
`/accounts/${api.accountId}/connectivity/directory/services/${serviceId}`,
|
|
414
388
|
body,
|
|
415
389
|
),
|
|
416
390
|
);
|
|
391
|
+
return formatVpcService(service);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Format an API response into a VpcService resource.
|
|
396
|
+
* @internal
|
|
397
|
+
*/
|
|
398
|
+
function formatVpcService(service: ConnectivityService): VpcService {
|
|
399
|
+
return {
|
|
400
|
+
name: service.name,
|
|
401
|
+
serviceId: service.service_id,
|
|
402
|
+
serviceType: service.type,
|
|
403
|
+
tcpPort: service.tcp_port,
|
|
404
|
+
appProtocol: service.app_protocol,
|
|
405
|
+
httpPort: service.http_port,
|
|
406
|
+
httpsPort: service.https_port,
|
|
407
|
+
host:
|
|
408
|
+
"hostname" in service.host
|
|
409
|
+
? {
|
|
410
|
+
hostname: service.host.hostname,
|
|
411
|
+
resolverNetwork: {
|
|
412
|
+
tunnelId: service.host.resolver_network.tunnel_id,
|
|
413
|
+
resolverIps: service.host.resolver_network.resolver_ips,
|
|
414
|
+
},
|
|
415
|
+
}
|
|
416
|
+
: {
|
|
417
|
+
...service.host,
|
|
418
|
+
network: { tunnelId: service.host.network.tunnel_id },
|
|
419
|
+
},
|
|
420
|
+
createdAt: new Date(service.created_at).getTime(),
|
|
421
|
+
updatedAt: new Date(service.updated_at).getTime(),
|
|
422
|
+
type: "vpc_service",
|
|
423
|
+
};
|
|
417
424
|
}
|
|
418
425
|
|
|
419
426
|
interface ConnectivityService extends ConnectivityService.Input {
|
package/workers/tunnel-proxy.js
CHANGED
|
@@ -83,7 +83,7 @@ const renderErrorHtml = (props) => `
|
|
|
83
83
|
Alchemy</a>.</p>
|
|
84
84
|
</div>
|
|
85
85
|
<div class="bg-slate-200 px-5 py-3 flex flex-col w-full max-w-lg">
|
|
86
|
-
<p class="text-sm text-slate-500">Alchemy 0.
|
|
86
|
+
<p class="text-sm text-slate-500">Alchemy 0.86.0</p>
|
|
87
87
|
</div>
|
|
88
88
|
</div>
|
|
89
89
|
</body>
|