alchemy 0.80.1 → 0.81.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.
- package/bin/alchemy.js +1660 -1382
- package/bin/services/execute-alchemy.ts +18 -6
- package/lib/alchemy.js +1 -1
- package/lib/alchemy.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/hyperdrive.d.ts +23 -5
- package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
- package/lib/cloudflare/hyperdrive.js.map +1 -1
- package/lib/cloudflare/index.d.ts +3 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +3 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +7 -0
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
- package/lib/cloudflare/queue.d.ts +0 -3
- package/lib/cloudflare/queue.d.ts.map +1 -1
- package/lib/cloudflare/queue.js +53 -31
- package/lib/cloudflare/queue.js.map +1 -1
- package/lib/cloudflare/redirect-rule.d.ts +12 -2
- package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
- package/lib/cloudflare/redirect-rule.js +73 -98
- package/lib/cloudflare/redirect-rule.js.map +1 -1
- package/lib/cloudflare/tunnel-route.d.ts +172 -0
- package/lib/cloudflare/tunnel-route.d.ts.map +1 -0
- package/lib/cloudflare/tunnel-route.js +251 -0
- package/lib/cloudflare/tunnel-route.js.map +1 -0
- package/lib/cloudflare/warp-default-profile.d.ts +133 -0
- package/lib/cloudflare/warp-default-profile.d.ts.map +1 -0
- package/lib/cloudflare/warp-default-profile.js +138 -0
- package/lib/cloudflare/warp-default-profile.js.map +1 -0
- package/lib/cloudflare/warp-device-profile.d.ts +272 -0
- package/lib/cloudflare/warp-device-profile.d.ts.map +1 -0
- package/lib/cloudflare/warp-device-profile.js +291 -0
- package/lib/cloudflare/warp-device-profile.js.map +1 -0
- package/lib/scope.d.ts +1 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +1 -1
- package/lib/scope.js.map +1 -1
- package/package.json +1 -1
- package/src/alchemy.ts +1 -1
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/hyperdrive.ts +27 -5
- package/src/cloudflare/index.ts +3 -0
- package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +11 -0
- package/src/cloudflare/queue.ts +97 -56
- package/src/cloudflare/redirect-rule.ts +129 -150
- package/src/cloudflare/tunnel-route.ts +495 -0
- package/src/cloudflare/warp-default-profile.ts +320 -0
- package/src/cloudflare/warp-device-profile.ts +616 -0
- package/src/scope.ts +2 -2
- package/workers/tunnel-proxy.js +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Resource } from "../resource.js";
|
|
2
2
|
import { createCloudflareApi, } from "./api.js";
|
|
3
|
+
import { getZoneByDomain } from "./zone.js";
|
|
3
4
|
/**
|
|
4
5
|
* A Cloudflare Redirect Rule enables URL redirects and rewrites using Cloudflare's Rules engine.
|
|
5
6
|
* Supports wildcard redirects, static redirects, and dynamic redirects with expressions.
|
|
@@ -50,15 +51,27 @@ import { createCloudflareApi, } from "./api.js";
|
|
|
50
51
|
*
|
|
51
52
|
* @see https://developers.cloudflare.com/rules/url-forwarding/single-redirects/
|
|
52
53
|
*/
|
|
53
|
-
export const RedirectRule = Resource("cloudflare::RedirectRule", async function (
|
|
54
|
+
export const RedirectRule = Resource("cloudflare::RedirectRule", async function (id, props) {
|
|
54
55
|
// Create Cloudflare API client
|
|
55
56
|
const api = await createCloudflareApi(props);
|
|
57
|
+
const description = props.description ?? this.scope.createPhysicalName(id);
|
|
56
58
|
// Get zone ID
|
|
57
|
-
const zoneId = typeof props.zone === "string"
|
|
59
|
+
const zoneId = typeof props.zone === "string"
|
|
60
|
+
? props.zone.includes(".")
|
|
61
|
+
? (await getZoneByDomain(api, props.zone))?.id
|
|
62
|
+
: props.zone
|
|
63
|
+
: props.zone.id;
|
|
64
|
+
if (!zoneId) {
|
|
65
|
+
throw new Error(`Zone ${props.zone} not found`);
|
|
66
|
+
}
|
|
58
67
|
if (this.phase === "delete") {
|
|
59
68
|
if (this.output?.ruleId && this.output?.rulesetId) {
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
await deleteRule({
|
|
70
|
+
api,
|
|
71
|
+
zoneId,
|
|
72
|
+
rulesetId: this.output.rulesetId,
|
|
73
|
+
ruleId: this.output.ruleId,
|
|
74
|
+
});
|
|
62
75
|
}
|
|
63
76
|
return this.destroy();
|
|
64
77
|
}
|
|
@@ -84,8 +97,13 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
|
|
|
84
97
|
if (this.phase === "update" &&
|
|
85
98
|
this.output?.ruleId &&
|
|
86
99
|
this.output?.rulesetId) {
|
|
87
|
-
// Update existing rule
|
|
88
|
-
const updatedRule = await
|
|
100
|
+
// Update existing rule using PATCH API
|
|
101
|
+
const updatedRule = await updateRule({
|
|
102
|
+
api,
|
|
103
|
+
zoneId,
|
|
104
|
+
rulesetId: this.output.rulesetId,
|
|
105
|
+
ruleId: this.output.ruleId,
|
|
106
|
+
description,
|
|
89
107
|
expression: ruleExpression,
|
|
90
108
|
targetUrl: props.targetUrl,
|
|
91
109
|
statusCode,
|
|
@@ -95,6 +113,7 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
|
|
|
95
113
|
ruleId: updatedRule.id,
|
|
96
114
|
rulesetId: this.output.rulesetId,
|
|
97
115
|
zoneId,
|
|
116
|
+
description,
|
|
98
117
|
requestUrl: props.requestUrl,
|
|
99
118
|
expression: props.expression,
|
|
100
119
|
targetUrl: props.targetUrl,
|
|
@@ -106,8 +125,12 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
|
|
|
106
125
|
}
|
|
107
126
|
// Get or create the redirect ruleset for this zone
|
|
108
127
|
const rulesetId = await getOrCreateRedirectRuleset(api, zoneId);
|
|
109
|
-
// Create the rule
|
|
110
|
-
const createdRule = await
|
|
128
|
+
// Create the rule using POST API
|
|
129
|
+
const createdRule = await createRule({
|
|
130
|
+
api,
|
|
131
|
+
zoneId,
|
|
132
|
+
rulesetId,
|
|
133
|
+
description,
|
|
111
134
|
expression: ruleExpression,
|
|
112
135
|
targetUrl: props.targetUrl,
|
|
113
136
|
statusCode,
|
|
@@ -117,6 +140,7 @@ export const RedirectRule = Resource("cloudflare::RedirectRule", async function
|
|
|
117
140
|
ruleId: createdRule.id,
|
|
118
141
|
rulesetId,
|
|
119
142
|
zoneId,
|
|
143
|
+
description,
|
|
120
144
|
requestUrl: props.requestUrl,
|
|
121
145
|
expression: props.expression,
|
|
122
146
|
targetUrl: props.targetUrl,
|
|
@@ -165,86 +189,57 @@ async function getOrCreateRedirectRuleset(api, zoneId) {
|
|
|
165
189
|
return await createRedirectRuleset(api, zoneId);
|
|
166
190
|
}
|
|
167
191
|
/**
|
|
168
|
-
*
|
|
192
|
+
* Build the redirect rule body for API requests
|
|
169
193
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const ruleset = await getRuleset(api, zoneId, rulesetId);
|
|
173
|
-
if (!ruleset) {
|
|
174
|
-
throw new Error(`Ruleset ${rulesetId} not found`);
|
|
175
|
-
}
|
|
176
|
-
// Create new rule object
|
|
177
|
-
const newRule = {
|
|
194
|
+
function buildRuleBody(data) {
|
|
195
|
+
return {
|
|
178
196
|
action: "redirect",
|
|
179
|
-
|
|
197
|
+
description: data.description,
|
|
198
|
+
expression: data.expression,
|
|
199
|
+
enabled: true,
|
|
180
200
|
action_parameters: {
|
|
181
201
|
from_value: {
|
|
182
|
-
status_code:
|
|
202
|
+
status_code: data.statusCode,
|
|
183
203
|
target_url: {
|
|
184
|
-
value:
|
|
204
|
+
value: data.targetUrl,
|
|
185
205
|
},
|
|
186
|
-
preserve_query_string:
|
|
206
|
+
preserve_query_string: data.preserveQueryString,
|
|
187
207
|
},
|
|
188
208
|
},
|
|
189
|
-
enabled: true,
|
|
190
209
|
};
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
});
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Create a new redirect rule using the individual rule API
|
|
213
|
+
* @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/create/
|
|
214
|
+
*/
|
|
215
|
+
async function createRule(data) {
|
|
216
|
+
const { api, zoneId, rulesetId, ...ruleFields } = data;
|
|
217
|
+
const response = await api.post(`/zones/${zoneId}/rulesets/${rulesetId}/rules`, buildRuleBody(ruleFields));
|
|
199
218
|
if (!response.ok) {
|
|
200
219
|
const errorBody = await response.text();
|
|
201
|
-
throw new Error(`Failed to create redirect rule: ${response.statusText}\nResponse: ${errorBody}`);
|
|
220
|
+
throw new Error(`Failed to create redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
|
|
202
221
|
}
|
|
203
222
|
const result = (await response.json());
|
|
204
|
-
//
|
|
223
|
+
// The API returns the updated ruleset, find the newly created rule (last one)
|
|
205
224
|
const createdRule = result.result.rules[result.result.rules.length - 1];
|
|
225
|
+
if (!createdRule) {
|
|
226
|
+
throw new Error("Created rule not found in response");
|
|
227
|
+
}
|
|
206
228
|
return createdRule;
|
|
207
229
|
}
|
|
208
230
|
/**
|
|
209
|
-
* Update an existing redirect rule
|
|
231
|
+
* Update an existing redirect rule using the individual rule API
|
|
232
|
+
* @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/edit/
|
|
210
233
|
*/
|
|
211
|
-
async function
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
throw new Error(`Ruleset ${rulesetId} not found`);
|
|
234
|
+
async function updateRule(data) {
|
|
235
|
+
const { api, zoneId, rulesetId, ruleId, ...ruleFields } = data;
|
|
236
|
+
if (!ruleId) {
|
|
237
|
+
throw new Error("ruleId is required for update");
|
|
216
238
|
}
|
|
217
|
-
|
|
218
|
-
const updatedRules = ruleset.rules.map((rule) => {
|
|
219
|
-
if (rule.id === ruleId) {
|
|
220
|
-
return {
|
|
221
|
-
...rule,
|
|
222
|
-
action: "redirect",
|
|
223
|
-
expression: ruleData.expression,
|
|
224
|
-
action_parameters: {
|
|
225
|
-
from_value: {
|
|
226
|
-
status_code: ruleData.statusCode,
|
|
227
|
-
target_url: {
|
|
228
|
-
value: ruleData.targetUrl,
|
|
229
|
-
},
|
|
230
|
-
preserve_query_string: ruleData.preserveQueryString,
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
enabled: true,
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
return rule;
|
|
237
|
-
});
|
|
238
|
-
// Update ruleset with modified rules
|
|
239
|
-
const response = await api.put(`/zones/${zoneId}/rulesets/${rulesetId}`, {
|
|
240
|
-
name: ruleset.name,
|
|
241
|
-
description: ruleset.description,
|
|
242
|
-
kind: ruleset.kind,
|
|
243
|
-
phase: ruleset.phase,
|
|
244
|
-
rules: updatedRules,
|
|
245
|
-
});
|
|
239
|
+
const response = await api.patch(`/zones/${zoneId}/rulesets/${rulesetId}/rules/${ruleId}`, buildRuleBody(ruleFields));
|
|
246
240
|
if (!response.ok) {
|
|
247
|
-
|
|
241
|
+
const errorBody = await response.text();
|
|
242
|
+
throw new Error(`Failed to update redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
|
|
248
243
|
}
|
|
249
244
|
const result = (await response.json());
|
|
250
245
|
// Find and return the updated rule
|
|
@@ -255,15 +250,17 @@ async function updateRedirectRule(api, zoneId, rulesetId, ruleId, ruleData) {
|
|
|
255
250
|
return updatedRule;
|
|
256
251
|
}
|
|
257
252
|
/**
|
|
258
|
-
*
|
|
253
|
+
* Delete a redirect rule using the individual rule API
|
|
254
|
+
* @see https://developers.cloudflare.com/api/resources/rulesets/subresources/rules/methods/delete/
|
|
259
255
|
*/
|
|
260
|
-
async function
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
256
|
+
async function deleteRule(data) {
|
|
257
|
+
const { api, zoneId, rulesetId, ruleId } = data;
|
|
258
|
+
const response = await api.delete(`/zones/${zoneId}/rulesets/${rulesetId}/rules/${ruleId}`);
|
|
259
|
+
// 404 is acceptable - rule may already be deleted
|
|
260
|
+
if (!response.ok && response.status !== 404) {
|
|
261
|
+
const errorBody = await response.text();
|
|
262
|
+
throw new Error(`Failed to delete redirect rule: ${response.status} ${response.statusText}\nResponse: ${errorBody}`);
|
|
264
263
|
}
|
|
265
|
-
const result = (await response.json());
|
|
266
|
-
return result.result;
|
|
267
264
|
}
|
|
268
265
|
/**
|
|
269
266
|
* Find a specific rule in a ruleset
|
|
@@ -274,31 +271,9 @@ export async function findRuleInRuleset(api, zoneId, rulesetId, ruleId) {
|
|
|
274
271
|
throw new Error(`Failed to get ruleset: ${response.status} ${response.statusText}`);
|
|
275
272
|
}
|
|
276
273
|
const rulesetData = (await response.json());
|
|
277
|
-
const rule = rulesetData.result.rules
|
|
274
|
+
const rule = rulesetData.result.rules?.find((r) => r.id === ruleId);
|
|
278
275
|
return rule || null;
|
|
279
276
|
}
|
|
280
|
-
/**
|
|
281
|
-
* Delete a redirect rule by updating the ruleset to exclude it
|
|
282
|
-
*/
|
|
283
|
-
async function deleteRedirectRule(api, zoneId, rulesetId, ruleId) {
|
|
284
|
-
const ruleset = await getRuleset(api, zoneId, rulesetId);
|
|
285
|
-
if (!ruleset) {
|
|
286
|
-
throw new Error(`Ruleset ${rulesetId} not found for deletion`);
|
|
287
|
-
}
|
|
288
|
-
// Filter out the rule to delete
|
|
289
|
-
const updatedRules = ruleset.rules.filter((rule) => rule.id !== ruleId);
|
|
290
|
-
// Update the ruleset with the filtered rules
|
|
291
|
-
const response = await api.put(`/zones/${zoneId}/rulesets/${rulesetId}`, {
|
|
292
|
-
name: ruleset.name,
|
|
293
|
-
description: ruleset.description,
|
|
294
|
-
kind: ruleset.kind,
|
|
295
|
-
phase: ruleset.phase,
|
|
296
|
-
rules: updatedRules,
|
|
297
|
-
});
|
|
298
|
-
if (!response.ok) {
|
|
299
|
-
throw new Error(`Failed to delete redirect rule: ${response.statusText}`);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
277
|
/**
|
|
303
278
|
* Convert a wildcard URL pattern to a Cloudflare Rules expression
|
|
304
279
|
* Uses operators available on Free plans (no regex matching)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirect-rule.js","sourceRoot":"","sources":["../../src/cloudflare/redirect-rule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"redirect-rule.js","sourceRoot":"","sources":["../../src/cloudflare/redirect-rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { Context } from "../context.ts";
|
|
2
|
+
import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
|
|
3
|
+
import type { Tunnel } from "./tunnel.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Route data as returned by Cloudflare API
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
interface CloudflareRoute {
|
|
9
|
+
id: string;
|
|
10
|
+
network: string;
|
|
11
|
+
tunnel_id: string;
|
|
12
|
+
comment?: string;
|
|
13
|
+
virtual_network_id?: string;
|
|
14
|
+
created_at: string;
|
|
15
|
+
deleted_at: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Properties for creating or updating a Cloudflare Tunnel Route
|
|
19
|
+
*/
|
|
20
|
+
export interface TunnelRouteProps extends CloudflareApiOptions {
|
|
21
|
+
/**
|
|
22
|
+
* The private IPv4 or IPv6 range connected by the route, in CIDR notation
|
|
23
|
+
* (e.g., "172.16.0.0/16" or "2001:db8::/32")
|
|
24
|
+
*
|
|
25
|
+
* Note: The network CIDR is immutable and cannot be changed after creation.
|
|
26
|
+
* When updating a route, any network change will trigger a replacement.
|
|
27
|
+
*/
|
|
28
|
+
network: string;
|
|
29
|
+
/**
|
|
30
|
+
* The tunnel to route traffic through
|
|
31
|
+
* Can be a Tunnel resource or a tunnel ID (UUID)
|
|
32
|
+
*/
|
|
33
|
+
tunnel: string | Tunnel;
|
|
34
|
+
/**
|
|
35
|
+
* Optional remark describing the route
|
|
36
|
+
* @maxLength 100
|
|
37
|
+
*/
|
|
38
|
+
comment?: string;
|
|
39
|
+
/**
|
|
40
|
+
* UUID of the virtual network
|
|
41
|
+
* If not provided, the route will be added to the default virtual network
|
|
42
|
+
*/
|
|
43
|
+
virtualNetworkId?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to adopt an existing route with the same network and tunnel if it exists
|
|
46
|
+
* If true and a route with the same network and tunnel exists, it will be adopted rather than creating a new one
|
|
47
|
+
*
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
adopt?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to delete the route when removed from Alchemy
|
|
53
|
+
* If set to false, the route will remain but the resource will be removed from state
|
|
54
|
+
*
|
|
55
|
+
* @default true
|
|
56
|
+
*/
|
|
57
|
+
delete?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Internal route ID for lifecycle management
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
routeId?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare function isTunnelRoute(resource: any): resource is TunnelRoute;
|
|
65
|
+
/**
|
|
66
|
+
* Output returned after TunnelRoute creation/update
|
|
67
|
+
*/
|
|
68
|
+
export interface TunnelRoute extends Omit<TunnelRouteProps, "delete" | "tunnel" | "routeId"> {
|
|
69
|
+
/**
|
|
70
|
+
* The ID of the route
|
|
71
|
+
*/
|
|
72
|
+
id: string;
|
|
73
|
+
/**
|
|
74
|
+
* The private IPv4 or IPv6 range connected by the route, in CIDR notation
|
|
75
|
+
*/
|
|
76
|
+
network: string;
|
|
77
|
+
/**
|
|
78
|
+
* The UUID of the tunnel this route uses
|
|
79
|
+
*/
|
|
80
|
+
tunnelId: string;
|
|
81
|
+
/**
|
|
82
|
+
* Optional remark describing the route
|
|
83
|
+
*/
|
|
84
|
+
comment?: string;
|
|
85
|
+
/**
|
|
86
|
+
* UUID of the virtual network
|
|
87
|
+
*/
|
|
88
|
+
virtualNetworkId?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Time at which the route was created
|
|
91
|
+
*/
|
|
92
|
+
createdAt: string;
|
|
93
|
+
/**
|
|
94
|
+
* Time at which the route was deleted (null if active)
|
|
95
|
+
*/
|
|
96
|
+
deletedAt: string | null;
|
|
97
|
+
/**
|
|
98
|
+
* Resource type identifier for binding
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
type: "cloudflare::TunnelRoute";
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Creates and manages a Cloudflare Tunnel Route, which routes private network traffic
|
|
105
|
+
* through a Cloudflare Tunnel. This resource handles the route lifecycle (create, update, delete).
|
|
106
|
+
*
|
|
107
|
+
* @remarks
|
|
108
|
+
* Tunnel Routes enable private network access by routing CIDR ranges through Cloudflare Tunnels.
|
|
109
|
+
* This is commonly used for Zero Trust network access scenarios where you need to connect
|
|
110
|
+
* private networks to Cloudflare's edge.
|
|
111
|
+
*
|
|
112
|
+
* @see https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/private-net/
|
|
113
|
+
* @see https://developers.cloudflare.com/api/operations/zero-trust-networks-routes-create-a-tunnel-route
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* // Create a basic tunnel route for a private network
|
|
117
|
+
* const tunnel = await Tunnel("my-tunnel", {
|
|
118
|
+
* name: "my-tunnel"
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* const route = await TunnelRoute("private-network", {
|
|
122
|
+
* network: "172.16.0.0/16",
|
|
123
|
+
* tunnel: tunnel
|
|
124
|
+
* });
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* // Create a route with a comment and virtual network
|
|
128
|
+
* const route = await TunnelRoute("vpc-route", {
|
|
129
|
+
* network: "10.0.0.0/8",
|
|
130
|
+
* tunnel: "f70ff985-a4ef-4643-bbbc-4a0ed4fc8415",
|
|
131
|
+
* comment: "Main VPC network route",
|
|
132
|
+
* virtualNetworkId: "f70ff985-a4ef-4643-bbbc-4a0ed4fc8415"
|
|
133
|
+
* });
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* // Adopt an existing route if it already exists
|
|
137
|
+
* const route = await TunnelRoute("existing-route", {
|
|
138
|
+
* network: "192.168.1.0/24",
|
|
139
|
+
* tunnel: tunnel,
|
|
140
|
+
* adopt: true,
|
|
141
|
+
* comment: "Updated comment"
|
|
142
|
+
* });
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* // Create a route without deleting it when removed from Alchemy
|
|
146
|
+
* const route = await TunnelRoute("persistent-route", {
|
|
147
|
+
* network: "10.1.0.0/16",
|
|
148
|
+
* tunnel: tunnel,
|
|
149
|
+
* delete: false
|
|
150
|
+
* });
|
|
151
|
+
*/
|
|
152
|
+
export declare const TunnelRoute: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<TunnelRoute>, id: string, props: TunnelRouteProps) => Promise<TunnelRoute>);
|
|
153
|
+
/**
|
|
154
|
+
* Get tunnel route details
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
export declare function getTunnelRoute(api: CloudflareApi, routeId: string): Promise<CloudflareRoute>;
|
|
158
|
+
/**
|
|
159
|
+
* List all tunnel routes with pagination support
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
export declare function listTunnelRoutes(api: CloudflareApi, options?: {
|
|
163
|
+
/** Maximum number of routes to return */
|
|
164
|
+
limit?: number;
|
|
165
|
+
}): Promise<CloudflareRoute[]>;
|
|
166
|
+
/**
|
|
167
|
+
* Find a route by network and tunnel ID
|
|
168
|
+
* @internal
|
|
169
|
+
*/
|
|
170
|
+
export declare function findRouteByNetworkAndTunnel(api: CloudflareApi, network: string, tunnelId: string): Promise<CloudflareRoute | null>;
|
|
171
|
+
export {};
|
|
172
|
+
//# sourceMappingURL=tunnel-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel-route.d.ts","sourceRoot":"","sources":["../../src/cloudflare/tunnel-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,WAAW,CAEpE;AAED;;GAEG;AACH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/D;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,WAAW,yFAGd,OAAO,CAAC,WAAW,CAAC,MACtB,MAAM,SACH,gBAAgB,KACtB,OAAO,CAAC,WAAW,CAAC,CAuHxB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAY1B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE;IACR,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CASjC"}
|