alchemy 0.61.0 → 0.62.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/README.md +1 -2
- package/bin/alchemy.js +1406 -1464
- package/bin/commands/init.ts +29 -2
- package/bin/services/execute-alchemy.ts +1 -2
- package/lib/alchemy.d.ts +2 -2
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js.map +1 -1
- package/lib/aws/client-props.d.ts +149 -0
- package/lib/aws/client-props.d.ts.map +1 -0
- package/lib/aws/client-props.js +1 -0
- package/lib/aws/client-props.js.map +1 -0
- package/lib/aws/credentials.d.ts +68 -5
- package/lib/aws/credentials.d.ts.map +1 -1
- package/lib/aws/credentials.js +148 -0
- package/lib/aws/credentials.js.map +1 -1
- package/lib/aws/ec2/internet-gateway-attachment.d.ts +57 -3
- package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
- package/lib/aws/ec2/internet-gateway-attachment.js +57 -3
- package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
- package/lib/aws/ec2/internet-gateway.d.ts +68 -40
- package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
- package/lib/aws/ec2/internet-gateway.js +68 -40
- package/lib/aws/ec2/internet-gateway.js.map +1 -1
- package/lib/aws/ec2/nat-gateway.d.ts +99 -18
- package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
- package/lib/aws/ec2/nat-gateway.js +113 -37
- package/lib/aws/ec2/nat-gateway.js.map +1 -1
- package/lib/aws/ec2/route-table-association.d.ts +1 -1
- package/lib/aws/ec2/route-table-association.js +1 -1
- package/lib/aws/ec2/route-table.d.ts +64 -1
- package/lib/aws/ec2/route-table.d.ts.map +1 -1
- package/lib/aws/ec2/route-table.js +64 -1
- package/lib/aws/ec2/route-table.js.map +1 -1
- package/lib/aws/ec2/route.d.ts +60 -1
- package/lib/aws/ec2/route.d.ts.map +1 -1
- package/lib/aws/ec2/route.js +60 -1
- package/lib/aws/ec2/route.js.map +1 -1
- package/lib/aws/ec2/security-group.d.ts +96 -3
- package/lib/aws/ec2/security-group.d.ts.map +1 -1
- package/lib/aws/ec2/security-group.js +96 -3
- package/lib/aws/ec2/security-group.js.map +1 -1
- package/lib/aws/ec2/subnet.d.ts +61 -3
- package/lib/aws/ec2/subnet.d.ts.map +1 -1
- package/lib/aws/ec2/subnet.js +61 -3
- package/lib/aws/ec2/subnet.js.map +1 -1
- package/lib/aws/ec2/utils.d.ts +10 -2
- package/lib/aws/ec2/utils.d.ts.map +1 -1
- package/lib/aws/ec2/utils.js +68 -7
- package/lib/aws/ec2/utils.js.map +1 -1
- package/lib/aws/ec2/vpc.d.ts +50 -2
- package/lib/aws/ec2/vpc.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.js +50 -2
- package/lib/aws/ec2/vpc.js.map +1 -1
- package/lib/aws/index.d.ts +2 -0
- package/lib/aws/index.d.ts.map +1 -1
- package/lib/aws/index.js +2 -0
- package/lib/aws/index.js.map +1 -1
- package/lib/cloudflare/api-response.js +2 -2
- package/lib/cloudflare/api-response.js.map +1 -1
- package/lib/cloudflare/api.d.ts +19 -0
- package/lib/cloudflare/api.d.ts.map +1 -1
- package/lib/cloudflare/api.js +4 -0
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/assets.d.ts.map +1 -1
- package/lib/cloudflare/assets.js +3 -4
- package/lib/cloudflare/assets.js.map +1 -1
- package/lib/cloudflare/bucket.d.ts +5 -3
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +22 -18
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/bundle/plugin-compat-warning.js +7 -7
- package/lib/cloudflare/bundle/plugin-compat-warning.js.map +1 -1
- package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
- package/lib/cloudflare/kv-namespace.d.ts +2 -2
- package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv-namespace.js.map +1 -1
- package/lib/cloudflare/oauth.js +3 -3
- package/lib/cloudflare/oauth.js.map +1 -1
- package/lib/cloudflare/quick-tunnel.d.ts +1 -1
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +26 -97
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/worker-bundle.js +9 -8
- package/lib/cloudflare/worker-bundle.js.map +1 -1
- package/lib/cloudflare/worker-tail.d.ts.map +1 -1
- package/lib/cloudflare/worker-tail.js +6 -6
- package/lib/cloudflare/worker-tail.js.map +1 -1
- package/lib/resource.d.ts +1 -0
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +13 -2
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +24 -23
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +25 -20
- package/lib/scope.js.map +1 -1
- package/lib/state/cloudflare-state-store.d.ts.map +1 -1
- package/lib/state/cloudflare-state-store.js +2 -1
- package/lib/state/cloudflare-state-store.js.map +1 -1
- package/lib/util/idempotent-spawn.d.ts +10 -8
- package/lib/util/idempotent-spawn.d.ts.map +1 -1
- package/lib/util/idempotent-spawn.js +97 -78
- package/lib/util/idempotent-spawn.js.map +1 -1
- package/lib/util/index.d.ts +2 -0
- package/lib/util/index.d.ts.map +1 -0
- package/lib/util/index.js +2 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/safe-fetch.d.ts +24 -0
- package/lib/util/safe-fetch.d.ts.map +1 -1
- package/lib/util/safe-fetch.js +72 -0
- package/lib/util/safe-fetch.js.map +1 -1
- package/package.json +8 -5
- package/src/alchemy.ts +2 -2
- package/src/aws/client-props.ts +156 -0
- package/src/aws/credentials.ts +165 -4
- package/src/aws/ec2/internet-gateway-attachment.ts +59 -4
- package/src/aws/ec2/internet-gateway.ts +70 -41
- package/src/aws/ec2/nat-gateway.ts +123 -33
- package/src/aws/ec2/route-table-association.ts +1 -1
- package/src/aws/ec2/route-table.ts +66 -2
- package/src/aws/ec2/route.ts +62 -2
- package/src/aws/ec2/security-group.ts +98 -4
- package/src/aws/ec2/subnet.ts +63 -4
- package/src/aws/ec2/utils.ts +73 -7
- package/src/aws/ec2/vpc.ts +52 -3
- package/src/aws/index.ts +2 -0
- package/src/cloudflare/api-response.ts +2 -2
- package/src/cloudflare/api.ts +23 -0
- package/src/cloudflare/assets.ts +3 -4
- package/src/cloudflare/bucket.ts +27 -25
- package/src/cloudflare/bundle/plugin-compat-warning.ts +7 -7
- package/src/cloudflare/cloudflare-env-proxy.ts +2 -2
- package/src/cloudflare/kv-namespace.ts +26 -27
- package/src/cloudflare/oauth.ts +3 -3
- package/src/cloudflare/website.ts +30 -111
- package/src/cloudflare/worker-bundle.ts +9 -8
- package/src/cloudflare/worker-tail.ts +6 -8
- package/src/resource.ts +19 -2
- package/src/scope.ts +73 -43
- package/src/state/cloudflare-state-store.ts +2 -1
- package/src/util/idempotent-spawn.ts +117 -100
- package/src/util/index.ts +1 -0
- package/src/util/safe-fetch.ts +114 -0
|
@@ -12,39 +12,94 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
12
12
|
* if one is not provided. NAT Gateways are slow resources that can take
|
|
13
13
|
* up to 10 minutes to become available.
|
|
14
14
|
*
|
|
15
|
+
* Supports AWS credential overrides at the resource level, allowing you to deploy NAT Gateways
|
|
16
|
+
* to different AWS accounts or regions than the default scope configuration.
|
|
17
|
+
*
|
|
15
18
|
* @example
|
|
19
|
+
* ```typescript
|
|
16
20
|
* // Create a NAT Gateway with automatic Elastic IP allocation
|
|
17
21
|
* const natGateway = await NatGateway("main-nat", {
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
22
|
+
* subnet: publicSubnet,
|
|
23
|
+
* tags: {
|
|
24
|
+
* Name: "main-nat-gateway",
|
|
25
|
+
* Environment: "production"
|
|
26
|
+
* }
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Create NAT Gateway with AWS credential overrides
|
|
33
|
+
* const crossAccountNat = await NatGateway("cross-account-nat", {
|
|
34
|
+
* subnet: publicSubnet,
|
|
35
|
+
* // Override AWS credentials for this specific resource
|
|
36
|
+
* region: "us-east-1",
|
|
37
|
+
* profile: "production-account",
|
|
38
|
+
* tags: {
|
|
39
|
+
* Name: "cross-account-nat-gateway",
|
|
40
|
+
* Environment: "production"
|
|
41
|
+
* }
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Create NAT Gateway in different region with role assumption
|
|
48
|
+
* const multiRegionNat = await NatGateway("multi-region-nat", {
|
|
49
|
+
* subnet: euPublicSubnet,
|
|
50
|
+
* region: "eu-west-1",
|
|
51
|
+
* roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
|
|
52
|
+
* roleSessionName: "nat-gateway-deployment",
|
|
53
|
+
* tags: {
|
|
54
|
+
* Name: "eu-nat-gateway",
|
|
55
|
+
* Region: "europe"
|
|
56
|
+
* }
|
|
23
57
|
* });
|
|
58
|
+
* ```
|
|
24
59
|
*
|
|
25
60
|
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Create NAT Gateway with explicit credentials
|
|
63
|
+
* const explicitCredsNat = await NatGateway("explicit-creds-nat", {
|
|
64
|
+
* subnet: testPublicSubnet,
|
|
65
|
+
* accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
|
|
66
|
+
* secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
|
|
67
|
+
* region: "us-west-2",
|
|
68
|
+
* tags: {
|
|
69
|
+
* Name: "explicit-credentials-nat",
|
|
70
|
+
* Purpose: "testing"
|
|
71
|
+
* }
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
26
77
|
* // Create a NAT Gateway with existing Elastic IP
|
|
27
78
|
* const natGateway = await NatGateway("custom-nat", {
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
79
|
+
* subnet: "subnet-12345678",
|
|
80
|
+
* allocationId: "eipalloc-12345678",
|
|
81
|
+
* connectivityType: "public",
|
|
82
|
+
* tags: {
|
|
83
|
+
* Name: "custom-nat-gateway"
|
|
84
|
+
* }
|
|
34
85
|
* });
|
|
86
|
+
* ```
|
|
35
87
|
*
|
|
36
88
|
* @example
|
|
89
|
+
* ```typescript
|
|
37
90
|
* // Create a private NAT Gateway (for VPC-to-VPC communication)
|
|
38
91
|
* const privateNat = await NatGateway("private-nat", {
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
92
|
+
* subnet: privateSubnet,
|
|
93
|
+
* connectivityType: "private",
|
|
94
|
+
* tags: {
|
|
95
|
+
* Name: "private-nat-gateway",
|
|
96
|
+
* Type: "internal"
|
|
97
|
+
* }
|
|
45
98
|
* });
|
|
99
|
+
* ```
|
|
46
100
|
*
|
|
47
101
|
* @example
|
|
102
|
+
* ```typescript
|
|
48
103
|
* // Create a NAT Gateway with custom timeout configuration
|
|
49
104
|
* const slowNat = await NatGateway("slow-nat", {
|
|
50
105
|
* subnet: publicSubnet,
|
|
@@ -56,8 +111,32 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
56
111
|
* Name: "slow-nat-gateway"
|
|
57
112
|
* }
|
|
58
113
|
* });
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Multi-account deployment with scope-level and resource-level overrides
|
|
119
|
+
* await alchemy.run("production", {
|
|
120
|
+
* aws: { region: "us-west-2", profile: "main-account" }
|
|
121
|
+
* }, async () => {
|
|
122
|
+
* // This NAT Gateway uses scope credentials (main-account, us-west-2)
|
|
123
|
+
* const mainNat = await NatGateway("main-nat", {
|
|
124
|
+
* subnet: mainPublicSubnet,
|
|
125
|
+
* tags: { Name: "main-account-nat" }
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* // This NAT Gateway overrides to use different account
|
|
129
|
+
* const crossAccountNat = await NatGateway("cross-account-nat", {
|
|
130
|
+
* subnet: crossPublicSubnet,
|
|
131
|
+
* profile: "secondary-account",
|
|
132
|
+
* region: "us-east-1", // Also override region
|
|
133
|
+
* tags: { Name: "secondary-account-nat" }
|
|
134
|
+
* });
|
|
135
|
+
* });
|
|
136
|
+
* ```
|
|
59
137
|
*
|
|
60
138
|
* @example
|
|
139
|
+
* ```typescript
|
|
61
140
|
* // Use NAT Gateway in route table for private subnet internet access
|
|
62
141
|
* const privateRoute = await Route("private-internet", {
|
|
63
142
|
* routeTable: privateRouteTable,
|
|
@@ -67,8 +146,11 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
67
146
|
* Name: "private-to-internet"
|
|
68
147
|
* }
|
|
69
148
|
* });
|
|
149
|
+
* ```
|
|
70
150
|
*/
|
|
71
151
|
export const NatGateway = Resource("aws::NatGateway", async function (_id, props) {
|
|
152
|
+
// Create EC2 client with credential resolution handled internally
|
|
153
|
+
const client = await createEC2Client(props);
|
|
72
154
|
const subnetId = typeof props.subnet === "string" ? props.subnet : props.subnet.subnetId;
|
|
73
155
|
const timeoutConfig = mergeTimeoutConfig(NAT_GATEWAY_TIMEOUT, props.timeout);
|
|
74
156
|
if (this.phase === "delete") {
|
|
@@ -76,26 +158,24 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
76
158
|
logger.log(`🗑️ Deleting NAT Gateway: ${this.output.natGatewayId}`);
|
|
77
159
|
// Delete NAT Gateway if it exists
|
|
78
160
|
await ignore("InvalidNatGatewayID.NotFound", async () => {
|
|
79
|
-
const client = await createEC2Client();
|
|
80
161
|
await callEC2Api(client, "DeleteNatGateway", parseNatGatewayXmlResponse, convertDeleteNatGatewayParamsToAwsFormat({
|
|
81
162
|
NatGatewayId: this.output.natGatewayId,
|
|
82
163
|
}));
|
|
83
164
|
});
|
|
84
165
|
// Wait for NAT Gateway to be deleted AND network interfaces to be cleaned up
|
|
85
166
|
logger.log(` Waiting for NAT Gateway ${this.output.natGatewayId} to be fully deleted...`);
|
|
86
|
-
await waitForNatGatewayFullyDeleted(this.output.natGatewayId, timeoutConfig);
|
|
167
|
+
await waitForNatGatewayFullyDeleted(this.output.natGatewayId, timeoutConfig, props);
|
|
87
168
|
logger.log(` ✅ NAT Gateway ${this.output.natGatewayId} deletion completed`);
|
|
88
169
|
// Release Elastic IP if we created it and it exists
|
|
89
170
|
if (this.output.createdElasticIp && this.output.allocationId) {
|
|
90
171
|
logger.log(` Releasing Elastic IP: ${this.output.allocationId}`);
|
|
91
172
|
await ignore(["InvalidAllocationID.NotFound", "InvalidAddress.NotFound"], async () => {
|
|
92
|
-
|
|
93
|
-
await callEC2Api(eipClient, "ReleaseAddress", parseNatGatewayXmlResponse, convertReleaseAddressParamsToAwsFormat({
|
|
173
|
+
await callEC2Api(client, "ReleaseAddress", parseNatGatewayXmlResponse, convertReleaseAddressParamsToAwsFormat({
|
|
94
174
|
AllocationId: this.output.allocationId,
|
|
95
175
|
}));
|
|
96
176
|
});
|
|
97
177
|
// Wait for the EIP to be fully released
|
|
98
|
-
await waitForEipReleased(this.output.allocationId, timeoutConfig);
|
|
178
|
+
await waitForEipReleased(this.output.allocationId, timeoutConfig, props);
|
|
99
179
|
logger.log(` ✅ Elastic IP ${this.output.allocationId} released successfully`);
|
|
100
180
|
}
|
|
101
181
|
}
|
|
@@ -107,7 +187,6 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
107
187
|
let publicIp;
|
|
108
188
|
if (this.phase === "update" && this.output?.natGatewayId) {
|
|
109
189
|
// Get existing NAT Gateway
|
|
110
|
-
const client = await createEC2Client();
|
|
111
190
|
const response = await callEC2Api(client, "DescribeNatGateways", parseNatGatewayXmlResponse, convertDescribeNatGatewaysParamsToAwsFormat({
|
|
112
191
|
NatGatewayIds: [this.output.natGatewayId],
|
|
113
192
|
}));
|
|
@@ -137,7 +216,6 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
137
216
|
},
|
|
138
217
|
];
|
|
139
218
|
}
|
|
140
|
-
const client = await createEC2Client();
|
|
141
219
|
const eipResponse = await callEC2Api(client, "AllocateAddress", parseNatGatewayXmlResponse, convertAllocateAddressParamsToAwsFormat(eipParams));
|
|
142
220
|
if (!eipResponse.AllocationId) {
|
|
143
221
|
throw new Error("Failed to allocate Elastic IP");
|
|
@@ -148,7 +226,6 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
148
226
|
}
|
|
149
227
|
else {
|
|
150
228
|
// Get public IP of existing allocation
|
|
151
|
-
const client = await createEC2Client();
|
|
152
229
|
const addressResponse = await callEC2Api(client, "DescribeAddresses", parseNatGatewayXmlResponse, convertDescribeAddressesParamsToAwsFormat({
|
|
153
230
|
AllocationIds: [allocationId],
|
|
154
231
|
}));
|
|
@@ -172,14 +249,13 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
172
249
|
},
|
|
173
250
|
];
|
|
174
251
|
}
|
|
175
|
-
const
|
|
176
|
-
const response = await callEC2Api(natClient, "CreateNatGateway", parseNatGatewayXmlResponse, convertCreateNatGatewayParamsToAwsFormat(createParams));
|
|
252
|
+
const response = await callEC2Api(client, "CreateNatGateway", parseNatGatewayXmlResponse, convertCreateNatGatewayParamsToAwsFormat(createParams));
|
|
177
253
|
if (!response.NatGateway) {
|
|
178
254
|
throw new Error("Failed to create NAT Gateway");
|
|
179
255
|
}
|
|
180
256
|
natGateway = response.NatGateway;
|
|
181
257
|
// Wait for NAT Gateway to be available
|
|
182
|
-
await waitForNatGatewayAvailable(natGateway.NatGatewayId, timeoutConfig);
|
|
258
|
+
await waitForNatGatewayAvailable(natGateway.NatGatewayId, timeoutConfig, props);
|
|
183
259
|
}
|
|
184
260
|
const result = this({
|
|
185
261
|
natGatewayId: natGateway.NatGatewayId,
|
|
@@ -198,9 +274,9 @@ export const NatGateway = Resource("aws::NatGateway", async function (_id, props
|
|
|
198
274
|
/**
|
|
199
275
|
* Wait for NAT Gateway to be in available state
|
|
200
276
|
*/
|
|
201
|
-
async function waitForNatGatewayAvailable(natGatewayId, timeoutConfig) {
|
|
277
|
+
async function waitForNatGatewayAvailable(natGatewayId, timeoutConfig, credentials) {
|
|
202
278
|
const checkFunction = async () => {
|
|
203
|
-
const client = await createEC2Client();
|
|
279
|
+
const client = await createEC2Client(credentials);
|
|
204
280
|
const response = await callEC2Api(client, "DescribeNatGateways", parseNatGatewayXmlResponse, convertDescribeNatGatewaysParamsToAwsFormat({
|
|
205
281
|
NatGatewayIds: [natGatewayId],
|
|
206
282
|
}));
|
|
@@ -218,10 +294,10 @@ async function waitForNatGatewayAvailable(natGatewayId, timeoutConfig) {
|
|
|
218
294
|
/**
|
|
219
295
|
* Wait for NAT Gateway to be deleted
|
|
220
296
|
*/
|
|
221
|
-
async function waitForNatGatewayDeleted(natGatewayId, timeoutConfig) {
|
|
297
|
+
async function waitForNatGatewayDeleted(natGatewayId, timeoutConfig, credentials) {
|
|
222
298
|
const checkFunction = async () => {
|
|
223
299
|
try {
|
|
224
|
-
const client = await createEC2Client();
|
|
300
|
+
const client = await createEC2Client(credentials);
|
|
225
301
|
const response = await callEC2Api(client, "DescribeNatGateways", parseNatGatewayXmlResponse, convertDescribeNatGatewaysParamsToAwsFormat({
|
|
226
302
|
NatGatewayIds: [natGatewayId],
|
|
227
303
|
}));
|
|
@@ -273,10 +349,10 @@ function parseDescribeNetworkInterfacesResponse(xmlText) {
|
|
|
273
349
|
/**
|
|
274
350
|
* Wait for an Elastic IP to be released.
|
|
275
351
|
*/
|
|
276
|
-
async function waitForEipReleased(allocationId, timeoutConfig) {
|
|
352
|
+
async function waitForEipReleased(allocationId, timeoutConfig, credentials) {
|
|
277
353
|
const checkFunction = async () => {
|
|
278
354
|
try {
|
|
279
|
-
const eipClient = await createEC2Client();
|
|
355
|
+
const eipClient = await createEC2Client(credentials);
|
|
280
356
|
const addressResponse = await callEC2Api(eipClient, "DescribeAddresses", parseNatGatewayXmlResponse, convertDescribeAddressesParamsToAwsFormat({
|
|
281
357
|
AllocationIds: [allocationId],
|
|
282
358
|
}));
|
|
@@ -298,13 +374,13 @@ async function waitForEipReleased(allocationId, timeoutConfig) {
|
|
|
298
374
|
/**
|
|
299
375
|
* Wait for NAT Gateway to be fully deleted including network interface cleanup
|
|
300
376
|
*/
|
|
301
|
-
async function waitForNatGatewayFullyDeleted(natGatewayId, timeoutConfig) {
|
|
377
|
+
async function waitForNatGatewayFullyDeleted(natGatewayId, timeoutConfig, credentials) {
|
|
302
378
|
// First wait for the NAT Gateway itself to be deleted
|
|
303
|
-
await waitForNatGatewayDeleted(natGatewayId, timeoutConfig);
|
|
379
|
+
await waitForNatGatewayDeleted(natGatewayId, timeoutConfig, credentials);
|
|
304
380
|
// Then wait for network interfaces to be cleaned up
|
|
305
381
|
const checkNetworkInterfaces = async () => {
|
|
306
382
|
try {
|
|
307
|
-
const client = await createEC2Client();
|
|
383
|
+
const client = await createEC2Client(credentials);
|
|
308
384
|
const response = await callEC2Api(client, "DescribeNetworkInterfaces", parseDescribeNetworkInterfacesResponse, {
|
|
309
385
|
"Filter.1.Name": "description",
|
|
310
386
|
"Filter.1.Value.1": `Interface for NAT Gateway ${natGatewayId}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nat-gateway.js","sourceRoot":"","sources":["../../../src/aws/ec2/nat-gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nat-gateway.js","sourceRoot":"","sources":["../../../src/aws/ec2/nat-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,7 +102,7 @@ export interface RouteTableAssociation extends Resource<"aws::RouteTableAssociat
|
|
|
102
102
|
* publicSubnets.map((subnet, index) =>
|
|
103
103
|
* RouteTableAssociation(`public-association-${index}`, {
|
|
104
104
|
* routeTable: publicRouteTable,
|
|
105
|
-
* subnet
|
|
105
|
+
* subnet: subnet
|
|
106
106
|
* })
|
|
107
107
|
* )
|
|
108
108
|
* );
|
|
@@ -102,7 +102,7 @@ async function waitForRouteTableAssociationDeleted(client, routeTableId, associa
|
|
|
102
102
|
* publicSubnets.map((subnet, index) =>
|
|
103
103
|
* RouteTableAssociation(`public-association-${index}`, {
|
|
104
104
|
* routeTable: publicRouteTable,
|
|
105
|
-
* subnet
|
|
105
|
+
* subnet: subnet
|
|
106
106
|
* })
|
|
107
107
|
* )
|
|
108
108
|
* );
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Context } from "../../context.ts";
|
|
2
2
|
import { Resource } from "../../resource.ts";
|
|
3
3
|
import { type TimeoutConfig } from "../../util/timeout.ts";
|
|
4
|
+
import type { AwsClientProps } from "../client-props.ts";
|
|
4
5
|
import type { Vpc } from "./vpc.ts";
|
|
5
6
|
/**
|
|
6
7
|
* Properties for creating or updating a Route Table
|
|
7
8
|
*/
|
|
8
|
-
export interface RouteTableProps {
|
|
9
|
+
export interface RouteTableProps extends AwsClientProps {
|
|
9
10
|
/**
|
|
10
11
|
* The VPC to create the route table in
|
|
11
12
|
*/
|
|
@@ -41,6 +42,9 @@ export interface RouteTable extends Resource<"aws::RouteTable">, RouteTableProps
|
|
|
41
42
|
* traffic is directed. Subnet associations are managed separately using the
|
|
42
43
|
* RouteTableAssociation resource.
|
|
43
44
|
*
|
|
45
|
+
* Supports AWS credential overrides at the resource level, allowing you to deploy Route Tables
|
|
46
|
+
* to different AWS accounts or regions than the default scope configuration.
|
|
47
|
+
*
|
|
44
48
|
* @example
|
|
45
49
|
* // Create a basic route table
|
|
46
50
|
* const routeTable = await RouteTable("main-route-table", {
|
|
@@ -63,6 +67,45 @@ export interface RouteTable extends Resource<"aws::RouteTable">, RouteTableProps
|
|
|
63
67
|
* });
|
|
64
68
|
*
|
|
65
69
|
* @example
|
|
70
|
+
* // Create Route Table with AWS credential overrides
|
|
71
|
+
* const crossAccountRouteTable = await RouteTable("cross-account-rt", {
|
|
72
|
+
* vpc: mainVpc,
|
|
73
|
+
* // Override AWS credentials for this specific resource
|
|
74
|
+
* region: "us-east-1",
|
|
75
|
+
* profile: "production-account",
|
|
76
|
+
* tags: {
|
|
77
|
+
* Name: "cross-account-route-table",
|
|
78
|
+
* Environment: "production"
|
|
79
|
+
* }
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* // Create Route Table in different region with role assumption
|
|
84
|
+
* const multiRegionRouteTable = await RouteTable("multi-region-rt", {
|
|
85
|
+
* vpc: euVpc,
|
|
86
|
+
* region: "eu-west-1",
|
|
87
|
+
* roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
|
|
88
|
+
* roleSessionName: "route-table-deployment",
|
|
89
|
+
* tags: {
|
|
90
|
+
* Name: "eu-route-table",
|
|
91
|
+
* Region: "europe"
|
|
92
|
+
* }
|
|
93
|
+
* });
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* // Create Route Table with explicit credentials
|
|
97
|
+
* const explicitCredsRouteTable = await RouteTable("explicit-creds-rt", {
|
|
98
|
+
* vpc: testVpc,
|
|
99
|
+
* accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
|
|
100
|
+
* secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
|
|
101
|
+
* region: "us-west-2",
|
|
102
|
+
* tags: {
|
|
103
|
+
* Name: "explicit-credentials-rt",
|
|
104
|
+
* Purpose: "testing"
|
|
105
|
+
* }
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
66
109
|
* // Create a private route table for internal traffic
|
|
67
110
|
* const privateRouteTable = await RouteTable("private-routes", {
|
|
68
111
|
* vpc: myVpc,
|
|
@@ -85,6 +128,26 @@ export interface RouteTable extends Resource<"aws::RouteTable">, RouteTableProps
|
|
|
85
128
|
* Name: "custom-timeout-route-table"
|
|
86
129
|
* }
|
|
87
130
|
* });
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* // Multi-account deployment with scope-level and resource-level overrides
|
|
134
|
+
* await alchemy.run("production", {
|
|
135
|
+
* aws: { region: "us-west-2", profile: "main-account" }
|
|
136
|
+
* }, async () => {
|
|
137
|
+
* // This Route Table uses scope credentials (main-account, us-west-2)
|
|
138
|
+
* const mainRouteTable = await RouteTable("main-rt", {
|
|
139
|
+
* vpc: mainVpc,
|
|
140
|
+
* tags: { Name: "main-account-rt" }
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* // This Route Table overrides to use different account
|
|
144
|
+
* const crossAccountRouteTable = await RouteTable("cross-account-rt", {
|
|
145
|
+
* vpc: crossVpc,
|
|
146
|
+
* profile: "secondary-account",
|
|
147
|
+
* region: "us-east-1", // Also override region
|
|
148
|
+
* tags: { Name: "secondary-account-rt" }
|
|
149
|
+
* });
|
|
150
|
+
* });
|
|
88
151
|
*/
|
|
89
152
|
export declare const RouteTable: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<RouteTable>, _id: string, props: RouteTableProps) => Promise<RouteTable>);
|
|
90
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-table.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/route-table.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"route-table.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/route-table.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD;;OAEG;IACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,UACf,SAAQ,QAAQ,CAAC,iBAAiB,CAAC,EACjC,eAAe;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,eAAO,MAAM,UAAU,yFAGb,OAAO,CAAC,UAAU,CAAC,OACpB,MAAM,SACJ,eAAe,KACrB,OAAO,CAAC,UAAU,CAAC,CA2GvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAGjC,CAAC"}
|
|
@@ -12,6 +12,9 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
12
12
|
* traffic is directed. Subnet associations are managed separately using the
|
|
13
13
|
* RouteTableAssociation resource.
|
|
14
14
|
*
|
|
15
|
+
* Supports AWS credential overrides at the resource level, allowing you to deploy Route Tables
|
|
16
|
+
* to different AWS accounts or regions than the default scope configuration.
|
|
17
|
+
*
|
|
15
18
|
* @example
|
|
16
19
|
* // Create a basic route table
|
|
17
20
|
* const routeTable = await RouteTable("main-route-table", {
|
|
@@ -34,6 +37,45 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
34
37
|
* });
|
|
35
38
|
*
|
|
36
39
|
* @example
|
|
40
|
+
* // Create Route Table with AWS credential overrides
|
|
41
|
+
* const crossAccountRouteTable = await RouteTable("cross-account-rt", {
|
|
42
|
+
* vpc: mainVpc,
|
|
43
|
+
* // Override AWS credentials for this specific resource
|
|
44
|
+
* region: "us-east-1",
|
|
45
|
+
* profile: "production-account",
|
|
46
|
+
* tags: {
|
|
47
|
+
* Name: "cross-account-route-table",
|
|
48
|
+
* Environment: "production"
|
|
49
|
+
* }
|
|
50
|
+
* });
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* // Create Route Table in different region with role assumption
|
|
54
|
+
* const multiRegionRouteTable = await RouteTable("multi-region-rt", {
|
|
55
|
+
* vpc: euVpc,
|
|
56
|
+
* region: "eu-west-1",
|
|
57
|
+
* roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
|
|
58
|
+
* roleSessionName: "route-table-deployment",
|
|
59
|
+
* tags: {
|
|
60
|
+
* Name: "eu-route-table",
|
|
61
|
+
* Region: "europe"
|
|
62
|
+
* }
|
|
63
|
+
* });
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* // Create Route Table with explicit credentials
|
|
67
|
+
* const explicitCredsRouteTable = await RouteTable("explicit-creds-rt", {
|
|
68
|
+
* vpc: testVpc,
|
|
69
|
+
* accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
|
|
70
|
+
* secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
|
|
71
|
+
* region: "us-west-2",
|
|
72
|
+
* tags: {
|
|
73
|
+
* Name: "explicit-credentials-rt",
|
|
74
|
+
* Purpose: "testing"
|
|
75
|
+
* }
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
37
79
|
* // Create a private route table for internal traffic
|
|
38
80
|
* const privateRouteTable = await RouteTable("private-routes", {
|
|
39
81
|
* vpc: myVpc,
|
|
@@ -56,9 +98,30 @@ import { callEC2Api, createEC2Client } from "./utils.js";
|
|
|
56
98
|
* Name: "custom-timeout-route-table"
|
|
57
99
|
* }
|
|
58
100
|
* });
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* // Multi-account deployment with scope-level and resource-level overrides
|
|
104
|
+
* await alchemy.run("production", {
|
|
105
|
+
* aws: { region: "us-west-2", profile: "main-account" }
|
|
106
|
+
* }, async () => {
|
|
107
|
+
* // This Route Table uses scope credentials (main-account, us-west-2)
|
|
108
|
+
* const mainRouteTable = await RouteTable("main-rt", {
|
|
109
|
+
* vpc: mainVpc,
|
|
110
|
+
* tags: { Name: "main-account-rt" }
|
|
111
|
+
* });
|
|
112
|
+
*
|
|
113
|
+
* // This Route Table overrides to use different account
|
|
114
|
+
* const crossAccountRouteTable = await RouteTable("cross-account-rt", {
|
|
115
|
+
* vpc: crossVpc,
|
|
116
|
+
* profile: "secondary-account",
|
|
117
|
+
* region: "us-east-1", // Also override region
|
|
118
|
+
* tags: { Name: "secondary-account-rt" }
|
|
119
|
+
* });
|
|
120
|
+
* });
|
|
59
121
|
*/
|
|
60
122
|
export const RouteTable = Resource("aws::RouteTable", async function (_id, props) {
|
|
61
|
-
|
|
123
|
+
// Create EC2 client with credential resolution handled internally
|
|
124
|
+
const client = await createEC2Client(props);
|
|
62
125
|
const timeoutConfig = mergeTimeoutConfig(ROUTE_TABLE_TIMEOUT, props.timeout);
|
|
63
126
|
const vpcId = typeof props.vpc === "string" ? props.vpc : props.vpc.vpcId;
|
|
64
127
|
if (this.phase === "delete") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-table.js","sourceRoot":"","sources":["../../../src/aws/ec2/route-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAElB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"route-table.js","sourceRoot":"","sources":["../../../src/aws/ec2/route-table.ts"],"names":[],"mappings":"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"}
|