alchemy 0.60.2 → 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.
Files changed (174) hide show
  1. package/README.md +1 -2
  2. package/bin/alchemy.js +1480 -1498
  3. package/bin/commands/init.ts +94 -25
  4. package/bin/services/execute-alchemy.ts +32 -23
  5. package/lib/alchemy.d.ts +2 -2
  6. package/lib/alchemy.d.ts.map +1 -1
  7. package/lib/alchemy.js +1 -0
  8. package/lib/alchemy.js.map +1 -1
  9. package/lib/aws/client-props.d.ts +149 -0
  10. package/lib/aws/client-props.d.ts.map +1 -0
  11. package/lib/aws/client-props.js +1 -0
  12. package/lib/aws/client-props.js.map +1 -0
  13. package/lib/aws/credentials.d.ts +68 -5
  14. package/lib/aws/credentials.d.ts.map +1 -1
  15. package/lib/aws/credentials.js +148 -0
  16. package/lib/aws/credentials.js.map +1 -1
  17. package/lib/aws/ec2/internet-gateway-attachment.d.ts +57 -3
  18. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  19. package/lib/aws/ec2/internet-gateway-attachment.js +57 -3
  20. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  21. package/lib/aws/ec2/internet-gateway.d.ts +68 -40
  22. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  23. package/lib/aws/ec2/internet-gateway.js +68 -40
  24. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  25. package/lib/aws/ec2/nat-gateway.d.ts +99 -18
  26. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  27. package/lib/aws/ec2/nat-gateway.js +113 -37
  28. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  29. package/lib/aws/ec2/route-table-association.d.ts +1 -1
  30. package/lib/aws/ec2/route-table-association.js +1 -1
  31. package/lib/aws/ec2/route-table.d.ts +64 -1
  32. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  33. package/lib/aws/ec2/route-table.js +64 -1
  34. package/lib/aws/ec2/route-table.js.map +1 -1
  35. package/lib/aws/ec2/route.d.ts +60 -1
  36. package/lib/aws/ec2/route.d.ts.map +1 -1
  37. package/lib/aws/ec2/route.js +60 -1
  38. package/lib/aws/ec2/route.js.map +1 -1
  39. package/lib/aws/ec2/security-group.d.ts +96 -3
  40. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  41. package/lib/aws/ec2/security-group.js +96 -3
  42. package/lib/aws/ec2/security-group.js.map +1 -1
  43. package/lib/aws/ec2/subnet.d.ts +61 -3
  44. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  45. package/lib/aws/ec2/subnet.js +61 -3
  46. package/lib/aws/ec2/subnet.js.map +1 -1
  47. package/lib/aws/ec2/utils.d.ts +10 -2
  48. package/lib/aws/ec2/utils.d.ts.map +1 -1
  49. package/lib/aws/ec2/utils.js +68 -7
  50. package/lib/aws/ec2/utils.js.map +1 -1
  51. package/lib/aws/ec2/vpc.d.ts +50 -2
  52. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  53. package/lib/aws/ec2/vpc.js +50 -2
  54. package/lib/aws/ec2/vpc.js.map +1 -1
  55. package/lib/aws/index.d.ts +2 -0
  56. package/lib/aws/index.d.ts.map +1 -1
  57. package/lib/aws/index.js +2 -0
  58. package/lib/aws/index.js.map +1 -1
  59. package/lib/cloudflare/api-response.js +2 -2
  60. package/lib/cloudflare/api-response.js.map +1 -1
  61. package/lib/cloudflare/api.d.ts +19 -0
  62. package/lib/cloudflare/api.d.ts.map +1 -1
  63. package/lib/cloudflare/api.js +4 -0
  64. package/lib/cloudflare/api.js.map +1 -1
  65. package/lib/cloudflare/assets.d.ts.map +1 -1
  66. package/lib/cloudflare/assets.js +3 -4
  67. package/lib/cloudflare/assets.js.map +1 -1
  68. package/lib/cloudflare/bucket.d.ts +5 -3
  69. package/lib/cloudflare/bucket.d.ts.map +1 -1
  70. package/lib/cloudflare/bucket.js +28 -20
  71. package/lib/cloudflare/bucket.js.map +1 -1
  72. package/lib/cloudflare/bundle/plugin-compat-warning.js +7 -7
  73. package/lib/cloudflare/bundle/plugin-compat-warning.js.map +1 -1
  74. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
  75. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  76. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  77. package/lib/cloudflare/d1-migrations.d.ts.map +1 -1
  78. package/lib/cloudflare/d1-migrations.js +3 -2
  79. package/lib/cloudflare/d1-migrations.js.map +1 -1
  80. package/lib/cloudflare/index.d.ts +2 -1
  81. package/lib/cloudflare/index.d.ts.map +1 -1
  82. package/lib/cloudflare/index.js +2 -1
  83. package/lib/cloudflare/index.js.map +1 -1
  84. package/lib/cloudflare/kv-namespace.d.ts +2 -2
  85. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  86. package/lib/cloudflare/kv-namespace.js.map +1 -1
  87. package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
  88. package/lib/cloudflare/miniflare/build-worker-options.js +16 -3
  89. package/lib/cloudflare/miniflare/build-worker-options.js.map +1 -1
  90. package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
  91. package/lib/cloudflare/miniflare/miniflare-controller.js +3 -0
  92. package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
  93. package/lib/cloudflare/oauth.js +3 -3
  94. package/lib/cloudflare/oauth.js.map +1 -1
  95. package/lib/cloudflare/quick-tunnel.d.ts +17 -0
  96. package/lib/cloudflare/quick-tunnel.d.ts.map +1 -0
  97. package/lib/cloudflare/quick-tunnel.js +26 -0
  98. package/lib/cloudflare/quick-tunnel.js.map +1 -0
  99. package/lib/cloudflare/sveltekit/plugin.d.ts +2 -2
  100. package/lib/cloudflare/sveltekit/plugin.d.ts.map +1 -1
  101. package/lib/cloudflare/sveltekit/plugin.js +5 -4
  102. package/lib/cloudflare/sveltekit/plugin.js.map +1 -1
  103. package/lib/cloudflare/website.d.ts.map +1 -1
  104. package/lib/cloudflare/website.js +26 -97
  105. package/lib/cloudflare/website.js.map +1 -1
  106. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  107. package/lib/cloudflare/worker-bundle.js +11 -9
  108. package/lib/cloudflare/worker-bundle.js.map +1 -1
  109. package/lib/cloudflare/worker-tail.d.ts.map +1 -1
  110. package/lib/cloudflare/worker-tail.js +6 -6
  111. package/lib/cloudflare/worker-tail.js.map +1 -1
  112. package/lib/resource.d.ts +1 -0
  113. package/lib/resource.d.ts.map +1 -1
  114. package/lib/resource.js +13 -2
  115. package/lib/resource.js.map +1 -1
  116. package/lib/scope.d.ts +38 -1
  117. package/lib/scope.d.ts.map +1 -1
  118. package/lib/scope.js +44 -19
  119. package/lib/scope.js.map +1 -1
  120. package/lib/state/cloudflare-state-store.d.ts.map +1 -1
  121. package/lib/state/cloudflare-state-store.js +2 -1
  122. package/lib/state/cloudflare-state-store.js.map +1 -1
  123. package/lib/util/idempotent-spawn.d.ts +24 -0
  124. package/lib/util/idempotent-spawn.d.ts.map +1 -0
  125. package/lib/util/idempotent-spawn.js +237 -0
  126. package/lib/util/idempotent-spawn.js.map +1 -0
  127. package/lib/util/index.d.ts +2 -0
  128. package/lib/util/index.d.ts.map +1 -0
  129. package/lib/util/index.js +2 -0
  130. package/lib/util/index.js.map +1 -0
  131. package/lib/util/safe-fetch.d.ts +24 -0
  132. package/lib/util/safe-fetch.d.ts.map +1 -1
  133. package/lib/util/safe-fetch.js +72 -0
  134. package/lib/util/safe-fetch.js.map +1 -1
  135. package/package.json +9 -5
  136. package/src/alchemy.ts +3 -2
  137. package/src/aws/client-props.ts +156 -0
  138. package/src/aws/credentials.ts +165 -4
  139. package/src/aws/ec2/internet-gateway-attachment.ts +59 -4
  140. package/src/aws/ec2/internet-gateway.ts +70 -41
  141. package/src/aws/ec2/nat-gateway.ts +123 -33
  142. package/src/aws/ec2/route-table-association.ts +1 -1
  143. package/src/aws/ec2/route-table.ts +66 -2
  144. package/src/aws/ec2/route.ts +62 -2
  145. package/src/aws/ec2/security-group.ts +98 -4
  146. package/src/aws/ec2/subnet.ts +63 -4
  147. package/src/aws/ec2/utils.ts +73 -7
  148. package/src/aws/ec2/vpc.ts +52 -3
  149. package/src/aws/index.ts +2 -0
  150. package/src/cloudflare/api-response.ts +2 -2
  151. package/src/cloudflare/api.ts +23 -0
  152. package/src/cloudflare/assets.ts +3 -4
  153. package/src/cloudflare/bucket.ts +39 -29
  154. package/src/cloudflare/bundle/plugin-compat-warning.ts +7 -7
  155. package/src/cloudflare/cloudflare-env-proxy.ts +2 -2
  156. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  157. package/src/cloudflare/d1-migrations.ts +4 -5
  158. package/src/cloudflare/index.ts +2 -1
  159. package/src/cloudflare/kv-namespace.ts +26 -27
  160. package/src/cloudflare/miniflare/build-worker-options.ts +16 -3
  161. package/src/cloudflare/miniflare/miniflare-controller.ts +4 -0
  162. package/src/cloudflare/oauth.ts +3 -3
  163. package/src/cloudflare/quick-tunnel.ts +30 -0
  164. package/src/cloudflare/sveltekit/plugin.ts +5 -5
  165. package/src/cloudflare/website.ts +30 -111
  166. package/src/cloudflare/worker-bundle.ts +11 -9
  167. package/src/cloudflare/worker-tail.ts +6 -8
  168. package/src/resource.ts +19 -2
  169. package/src/scope.ts +111 -20
  170. package/src/state/cloudflare-state-store.ts +2 -1
  171. package/src/util/idempotent-spawn.ts +303 -0
  172. package/src/util/index.ts +1 -0
  173. package/src/util/safe-fetch.ts +114 -0
  174. package/templates/rwsdk/package.json +1 -1
@@ -1,6 +1,7 @@
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
  * Security Group timeout constants
@@ -9,7 +10,7 @@ export declare const SECURITY_GROUP_TIMEOUT: TimeoutConfig;
9
10
  /**
10
11
  * Properties for creating or updating a Security Group
11
12
  */
12
- export interface SecurityGroupProps {
13
+ export interface SecurityGroupProps extends AwsClientProps {
13
14
  /**
14
15
  * The VPC to create the security group in.
15
16
  */
@@ -56,8 +57,12 @@ export interface SecurityGroup extends Resource<"aws::SecurityGroup">, SecurityG
56
57
  * instances and other AWS resources. Rules are managed separately using the
57
58
  * `SecurityGroupRule` resource.
58
59
  *
60
+ * Supports AWS credential overrides at the resource level, allowing you to deploy Security Groups
61
+ * to different AWS accounts or regions than the default scope configuration.
62
+ *
59
63
  * @example
60
- * // Create a web server security group
64
+ * ```typescript
65
+ * // Create a basic web server security group
61
66
  * const webSecurityGroup = await SecurityGroup("web-sg", {
62
67
  * vpc: mainVpc,
63
68
  * groupName: "web-server-sg",
@@ -67,11 +72,72 @@ export interface SecurityGroup extends Resource<"aws::SecurityGroup">, SecurityG
67
72
  * Environment: "production"
68
73
  * }
69
74
  * });
75
+ * ```
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * // Create Security Group with AWS credential overrides
80
+ * const crossAccountSg = await SecurityGroup("cross-account-sg", {
81
+ * vpc: mainVpc,
82
+ * groupName: "cross-account-security-group",
83
+ * description: "Security group in different account",
84
+ * // Override AWS credentials for this specific resource
85
+ * region: "us-east-1",
86
+ * profile: "production-account",
87
+ * tags: {
88
+ * Name: "cross-account-sg",
89
+ * Environment: "production"
90
+ * }
91
+ * });
92
+ * ```
70
93
  *
71
94
  * @example
95
+ * ```typescript
96
+ * // Create Security Group in different region with role assumption
97
+ * const multiRegionSg = await SecurityGroup("multi-region-sg", {
98
+ * vpc: euVpc,
99
+ * groupName: "eu-security-group",
100
+ * description: "Security group in EU region",
101
+ * region: "eu-west-1",
102
+ * roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
103
+ * roleSessionName: "security-group-deployment",
104
+ * tags: {
105
+ * Name: "eu-security-group",
106
+ * Region: "europe"
107
+ * }
108
+ * });
109
+ * ```
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * // Create Security Group with explicit credentials
114
+ * const explicitCredsSg = await SecurityGroup("explicit-creds-sg", {
115
+ * vpc: testVpc,
116
+ * groupName: "test-security-group",
117
+ * description: "Security group with explicit credentials",
118
+ * accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
119
+ * secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
120
+ * region: "us-west-2",
121
+ * tags: {
122
+ * Name: "explicit-credentials-sg",
123
+ * Purpose: "testing"
124
+ * }
125
+ * });
126
+ * ```
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * // Create Security Group with rules (rules managed separately)
131
+ * const webSg = await SecurityGroup("web-sg", {
132
+ * vpc: mainVpc,
133
+ * groupName: "web-server-sg",
134
+ * description: "Security group for web servers",
135
+ * tags: { Name: "web-server-security-group" }
136
+ * });
137
+ *
72
138
  * // Separately, define a rule to allow HTTP traffic
73
139
  * const httpRule = await SecurityGroupRule("web-sg-http-rule", {
74
- * securityGroup: webSecurityGroup,
140
+ * securityGroup: webSg,
75
141
  * type: "ingress",
76
142
  * protocol: "tcp",
77
143
  * fromPort: 80,
@@ -79,6 +145,33 @@ export interface SecurityGroup extends Resource<"aws::SecurityGroup">, SecurityG
79
145
  * cidrBlocks: ["0.0.0.0/0"],
80
146
  * description: "Allow HTTP access from anywhere"
81
147
  * });
148
+ * ```
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Multi-account deployment with scope-level and resource-level overrides
153
+ * await alchemy.run("production", {
154
+ * aws: { region: "us-west-2", profile: "main-account" }
155
+ * }, async () => {
156
+ * // This SG uses scope credentials (main-account, us-west-2)
157
+ * const mainSg = await SecurityGroup("main-sg", {
158
+ * vpc: mainVpc,
159
+ * groupName: "main-account-sg",
160
+ * description: "Security group in main account",
161
+ * tags: { Name: "main-account-sg" }
162
+ * });
163
+ *
164
+ * // This SG overrides to use different account
165
+ * const crossAccountSg = await SecurityGroup("cross-account-sg", {
166
+ * vpc: crossVpc,
167
+ * groupName: "secondary-account-sg",
168
+ * description: "Security group in secondary account",
169
+ * profile: "secondary-account",
170
+ * region: "us-east-1", // Also override region
171
+ * tags: { Name: "secondary-account-sg" }
172
+ * });
173
+ * });
174
+ * ```
82
175
  */
83
176
  export declare const SecurityGroup: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<SecurityGroup>, _id: string, props: SecurityGroupProps) => Promise<SecurityGroup>);
84
177
  //# sourceMappingURL=security-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-group.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/security-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;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,aACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EACpC,kBAAkB;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,yFAGhB,OAAO,CAAC,aAAa,CAAC,OACvB,MAAM,SACJ,kBAAkB,KACxB,OAAO,CAAC,aAAa,CAAC,CAoH1B,CAAC"}
1
+ {"version":3,"file":"security-group.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/security-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,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,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;OAEG;IACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;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,aACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EACpC,kBAAkB;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0HG;AACH,eAAO,MAAM,aAAa,yFAGhB,OAAO,CAAC,aAAa,CAAC,OACvB,MAAM,SACJ,kBAAkB,KACxB,OAAO,CAAC,aAAa,CAAC,CAqH1B,CAAC"}
@@ -17,8 +17,12 @@ export const SECURITY_GROUP_TIMEOUT = {
17
17
  * instances and other AWS resources. Rules are managed separately using the
18
18
  * `SecurityGroupRule` resource.
19
19
  *
20
+ * Supports AWS credential overrides at the resource level, allowing you to deploy Security Groups
21
+ * to different AWS accounts or regions than the default scope configuration.
22
+ *
20
23
  * @example
21
- * // Create a web server security group
24
+ * ```typescript
25
+ * // Create a basic web server security group
22
26
  * const webSecurityGroup = await SecurityGroup("web-sg", {
23
27
  * vpc: mainVpc,
24
28
  * groupName: "web-server-sg",
@@ -28,11 +32,72 @@ export const SECURITY_GROUP_TIMEOUT = {
28
32
  * Environment: "production"
29
33
  * }
30
34
  * });
35
+ * ```
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Create Security Group with AWS credential overrides
40
+ * const crossAccountSg = await SecurityGroup("cross-account-sg", {
41
+ * vpc: mainVpc,
42
+ * groupName: "cross-account-security-group",
43
+ * description: "Security group in different account",
44
+ * // Override AWS credentials for this specific resource
45
+ * region: "us-east-1",
46
+ * profile: "production-account",
47
+ * tags: {
48
+ * Name: "cross-account-sg",
49
+ * Environment: "production"
50
+ * }
51
+ * });
52
+ * ```
31
53
  *
32
54
  * @example
55
+ * ```typescript
56
+ * // Create Security Group in different region with role assumption
57
+ * const multiRegionSg = await SecurityGroup("multi-region-sg", {
58
+ * vpc: euVpc,
59
+ * groupName: "eu-security-group",
60
+ * description: "Security group in EU region",
61
+ * region: "eu-west-1",
62
+ * roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
63
+ * roleSessionName: "security-group-deployment",
64
+ * tags: {
65
+ * Name: "eu-security-group",
66
+ * Region: "europe"
67
+ * }
68
+ * });
69
+ * ```
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * // Create Security Group with explicit credentials
74
+ * const explicitCredsSg = await SecurityGroup("explicit-creds-sg", {
75
+ * vpc: testVpc,
76
+ * groupName: "test-security-group",
77
+ * description: "Security group with explicit credentials",
78
+ * accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
79
+ * secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
80
+ * region: "us-west-2",
81
+ * tags: {
82
+ * Name: "explicit-credentials-sg",
83
+ * Purpose: "testing"
84
+ * }
85
+ * });
86
+ * ```
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Create Security Group with rules (rules managed separately)
91
+ * const webSg = await SecurityGroup("web-sg", {
92
+ * vpc: mainVpc,
93
+ * groupName: "web-server-sg",
94
+ * description: "Security group for web servers",
95
+ * tags: { Name: "web-server-security-group" }
96
+ * });
97
+ *
33
98
  * // Separately, define a rule to allow HTTP traffic
34
99
  * const httpRule = await SecurityGroupRule("web-sg-http-rule", {
35
- * securityGroup: webSecurityGroup,
100
+ * securityGroup: webSg,
36
101
  * type: "ingress",
37
102
  * protocol: "tcp",
38
103
  * fromPort: 80,
@@ -40,9 +105,37 @@ export const SECURITY_GROUP_TIMEOUT = {
40
105
  * cidrBlocks: ["0.0.0.0/0"],
41
106
  * description: "Allow HTTP access from anywhere"
42
107
  * });
108
+ * ```
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // Multi-account deployment with scope-level and resource-level overrides
113
+ * await alchemy.run("production", {
114
+ * aws: { region: "us-west-2", profile: "main-account" }
115
+ * }, async () => {
116
+ * // This SG uses scope credentials (main-account, us-west-2)
117
+ * const mainSg = await SecurityGroup("main-sg", {
118
+ * vpc: mainVpc,
119
+ * groupName: "main-account-sg",
120
+ * description: "Security group in main account",
121
+ * tags: { Name: "main-account-sg" }
122
+ * });
123
+ *
124
+ * // This SG overrides to use different account
125
+ * const crossAccountSg = await SecurityGroup("cross-account-sg", {
126
+ * vpc: crossVpc,
127
+ * groupName: "secondary-account-sg",
128
+ * description: "Security group in secondary account",
129
+ * profile: "secondary-account",
130
+ * region: "us-east-1", // Also override region
131
+ * tags: { Name: "secondary-account-sg" }
132
+ * });
133
+ * });
134
+ * ```
43
135
  */
44
136
  export const SecurityGroup = Resource("aws::SecurityGroup", async function (_id, props) {
45
- const client = await createEC2Client();
137
+ // Create EC2 client with credential resolution handled internally
138
+ const client = await createEC2Client(props);
46
139
  const vpcId = typeof props.vpc === "string" ? props.vpc : props.vpc.vpcId;
47
140
  const timeoutConfig = mergeTimeoutConfig(SECURITY_GROUP_TIMEOUT, props.timeout);
48
141
  if (this.phase === "delete") {
@@ -1 +1 @@
1
- {"version":3,"file":"security-group.js","sourceRoot":"","sources":["../../../src/aws/ec2/security-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-group.js","sourceRoot":"","sources":["../../../src/aws/ec2/security-group.ts"],"names":[],"mappings":"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"}
@@ -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 Subnet
7
8
  */
8
- export interface SubnetProps {
9
+ export interface SubnetProps extends AwsClientProps {
9
10
  /**
10
11
  * The VPC to create the subnet in
11
12
  */
@@ -62,14 +63,15 @@ export interface Subnet extends Resource<"aws::Subnet">, SubnetProps {
62
63
  * AWS Subnet Resource
63
64
  *
64
65
  * Creates and manages subnets within a VPC. Subnets are used to segment
65
- * your VPC into smaller networks for organizing resources.
66
+ * your VPC into smaller networks for organizing resources. Supports AWS
67
+ * credential overrides for multi-account and cross-region deployments.
66
68
  *
67
69
  * @example
68
70
  * // Create a public subnet for web servers
69
71
  * const publicSubnet = await Subnet("public-subnet", {
70
72
  * vpc: myVpc,
71
73
  * cidrBlock: "10.0.1.0/24",
72
- * availabilityZone: process.env.AWS_REGION ? `${process.env.AWS_REGION}a` : "us-east-1a",
74
+ * availabilityZone: `${process.env.AWS_REGION}a` || "us-east-1a",
73
75
  * mapPublicIpOnLaunch: true,
74
76
  * tags: {
75
77
  * Name: "public-subnet",
@@ -101,6 +103,62 @@ export interface Subnet extends Resource<"aws::Subnet">, SubnetProps {
101
103
  * delayMs: 500
102
104
  * }
103
105
  * });
106
+ *
107
+ * @example
108
+ * // Create a subnet with AWS credential overrides for cross-account deployment
109
+ * const crossAccountSubnet = await Subnet("cross-account-subnet", {
110
+ * vpc: myVpc,
111
+ * cidrBlock: "10.1.1.0/24",
112
+ * availabilityZone: "us-east-1a",
113
+ * region: "us-east-1",
114
+ * profile: "production-account",
115
+ * mapPublicIpOnLaunch: true,
116
+ * tags: {
117
+ * Name: "cross-account-subnet",
118
+ * Account: "production"
119
+ * }
120
+ * });
121
+ *
122
+ * @example
123
+ * // Create a subnet in a different region with explicit credentials
124
+ * const multiRegionSubnet = await Subnet("multi-region-subnet", {
125
+ * vpc: "vpc-12345678", // VPC ID from different region
126
+ * cidrBlock: "10.2.1.0/24",
127
+ * availabilityZone: "eu-west-1a",
128
+ * region: "eu-west-1",
129
+ * accessKeyId: alchemy.secret("AKIA..."),
130
+ * secretAccessKey: alchemy.secret("..."),
131
+ * mapPublicIpOnLaunch: false,
132
+ * tags: {
133
+ * Name: "eu-subnet",
134
+ * Region: "europe"
135
+ * }
136
+ * });
137
+ *
138
+ * @example
139
+ * // Using scope-level credentials with resource-level overrides
140
+ * await alchemy.run("multi-account", {
141
+ * aws: {
142
+ * region: "us-west-2",
143
+ * profile: "staging"
144
+ * }
145
+ * }, async () => {
146
+ * // This subnet uses staging credentials from scope
147
+ * const stagingSubnet = await Subnet("staging-subnet", {
148
+ * vpc: stagingVpc,
149
+ * cidrBlock: "10.0.1.0/24",
150
+ * availabilityZone: "us-west-2a"
151
+ * });
152
+ *
153
+ * // This subnet overrides to use production credentials
154
+ * const prodSubnet = await Subnet("prod-subnet", {
155
+ * vpc: prodVpc,
156
+ * cidrBlock: "10.1.1.0/24",
157
+ * availabilityZone: "us-east-1a",
158
+ * profile: "production",
159
+ * region: "us-east-1"
160
+ * });
161
+ * });
104
162
  */
105
163
  export declare const Subnet: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<Subnet>, _id: string, props: SubnetProps) => Promise<Subnet>);
106
164
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"subnet.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/subnet.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;AAG/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;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,MAAO,SAAQ,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW;IAClE;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;IAE/B;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAkFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,MAAM,yFAGT,OAAO,CAAC,MAAM,CAAC,OAChB,MAAM,SACJ,WAAW,KACjB,OAAO,CAAC,MAAM,CAAC,CAoJnB,CAAC;AA4EF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAG5B,CAAC"}
1
+ {"version":3,"file":"subnet.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/subnet.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;AAGzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD;;OAEG;IACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;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,MAAO,SAAQ,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW;IAClE;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;IAE/B;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAkFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,eAAO,MAAM,MAAM,yFAGT,OAAO,CAAC,MAAM,CAAC,OAChB,MAAM,SACJ,WAAW,KACjB,OAAO,CAAC,MAAM,CAAC,CAqJnB,CAAC;AA4EF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAG5B,CAAC"}
@@ -50,14 +50,15 @@ async function waitForSubnetDeleted(client, subnetId, timeoutConfig) {
50
50
  * AWS Subnet Resource
51
51
  *
52
52
  * Creates and manages subnets within a VPC. Subnets are used to segment
53
- * your VPC into smaller networks for organizing resources.
53
+ * your VPC into smaller networks for organizing resources. Supports AWS
54
+ * credential overrides for multi-account and cross-region deployments.
54
55
  *
55
56
  * @example
56
57
  * // Create a public subnet for web servers
57
58
  * const publicSubnet = await Subnet("public-subnet", {
58
59
  * vpc: myVpc,
59
60
  * cidrBlock: "10.0.1.0/24",
60
- * availabilityZone: process.env.AWS_REGION ? `${process.env.AWS_REGION}a` : "us-east-1a",
61
+ * availabilityZone: `${process.env.AWS_REGION}a` || "us-east-1a",
61
62
  * mapPublicIpOnLaunch: true,
62
63
  * tags: {
63
64
  * Name: "public-subnet",
@@ -89,9 +90,66 @@ async function waitForSubnetDeleted(client, subnetId, timeoutConfig) {
89
90
  * delayMs: 500
90
91
  * }
91
92
  * });
93
+ *
94
+ * @example
95
+ * // Create a subnet with AWS credential overrides for cross-account deployment
96
+ * const crossAccountSubnet = await Subnet("cross-account-subnet", {
97
+ * vpc: myVpc,
98
+ * cidrBlock: "10.1.1.0/24",
99
+ * availabilityZone: "us-east-1a",
100
+ * region: "us-east-1",
101
+ * profile: "production-account",
102
+ * mapPublicIpOnLaunch: true,
103
+ * tags: {
104
+ * Name: "cross-account-subnet",
105
+ * Account: "production"
106
+ * }
107
+ * });
108
+ *
109
+ * @example
110
+ * // Create a subnet in a different region with explicit credentials
111
+ * const multiRegionSubnet = await Subnet("multi-region-subnet", {
112
+ * vpc: "vpc-12345678", // VPC ID from different region
113
+ * cidrBlock: "10.2.1.0/24",
114
+ * availabilityZone: "eu-west-1a",
115
+ * region: "eu-west-1",
116
+ * accessKeyId: alchemy.secret("AKIA..."),
117
+ * secretAccessKey: alchemy.secret("..."),
118
+ * mapPublicIpOnLaunch: false,
119
+ * tags: {
120
+ * Name: "eu-subnet",
121
+ * Region: "europe"
122
+ * }
123
+ * });
124
+ *
125
+ * @example
126
+ * // Using scope-level credentials with resource-level overrides
127
+ * await alchemy.run("multi-account", {
128
+ * aws: {
129
+ * region: "us-west-2",
130
+ * profile: "staging"
131
+ * }
132
+ * }, async () => {
133
+ * // This subnet uses staging credentials from scope
134
+ * const stagingSubnet = await Subnet("staging-subnet", {
135
+ * vpc: stagingVpc,
136
+ * cidrBlock: "10.0.1.0/24",
137
+ * availabilityZone: "us-west-2a"
138
+ * });
139
+ *
140
+ * // This subnet overrides to use production credentials
141
+ * const prodSubnet = await Subnet("prod-subnet", {
142
+ * vpc: prodVpc,
143
+ * cidrBlock: "10.1.1.0/24",
144
+ * availabilityZone: "us-east-1a",
145
+ * profile: "production",
146
+ * region: "us-east-1"
147
+ * });
148
+ * });
92
149
  */
93
150
  export const Subnet = Resource("aws::Subnet", async function (_id, props) {
94
- const client = await createEC2Client();
151
+ // Create EC2 client with credential resolution handled internally
152
+ const client = await createEC2Client(props);
95
153
  const vpcId = typeof props.vpc === "string" ? props.vpc : props.vpc.vpcId;
96
154
  // Validate timeout config early, but use default for deletion if invalid
97
155
  let timeoutConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"subnet.js","sourceRoot":"","sources":["../../../src/aws/ec2/subnet.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;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsEzD;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,MAAiB,EACjB,QAAgB,EAChB,aAA4B;IAE5B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB;YACE,YAAY,EAAE,QAAQ;SACvB,CACF,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAA6B,EAAE,EAAE;QAChD,OAAO,MAAM,EAAE,KAAK,KAAK,WAAW,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,oBAAoB,CACxB,aAAa,EACb,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAiB,EACjB,QAAgB,EAChB,aAA4B;IAE5B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB;gBACE,YAAY,EAAE,QAAQ;aACvB,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,+DAA+D;YAC/D,IACE,KAAK,CAAC,IAAI,KAAK,0BAA0B;gBACzC,KAAK,CAAC,IAAI,KAAK,wBAAwB,EACvC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAA6B,EAAE,EAAE;QAChD,wCAAwC;QACxC,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,oBAAoB,CACxB,aAAa,EACb,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAC5B,aAAa,EACb,KAAK,WAEH,GAAW,EACX,KAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IAE1E,yEAAyE;IACzE,IAAI,aAA4B,CAAC;IACjC,IAAI,CAAC;QACH,aAAa,GAAG,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,6DAA6D;YAC7D,aAAa,GAAG,cAAc,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;gBACrB,MAAM,MAAM,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;oBAClD,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE;wBAC/D,QAAQ,EAAE,IAAI,CAAC,MAAO,CAAC,QAAQ;qBAChC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,qEAAqE;YACrE,MAAM,CAAC,GAAG,CACR,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,yBAAyB,CACtE,CAAC;YACF,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,QAAQ,qBAAqB,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,MAAiB,CAAC;IAEtB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB;YACE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SACnC,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7B,gDAAgD;QAChD,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,UAAU,CACd,MAAM,EACN,uBAAuB,EACvB,sBAAsB,EACtB;gBACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,2BAA2B,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;aAClE,CACF,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,SAAS,GAA2B,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;gBACzD,SAAS,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;gBACxC,SAAS,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE;gBAC7D,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,GAAG,SAAS;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oBAAoB;QACpB,MAAM,kBAAkB,GAAuB;YAC7C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC;QAEF,wBAAwB;QACxB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,kBAAkB,CAAC,iBAAiB,GAAG;gBACrC;oBACE,YAAY,EAAE,QAAQ;oBACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;wBACtD,GAAG,EAAE,GAAG;wBACR,KAAK,EAAE,KAAK;qBACb,CAAC,CAAC;iBACJ;aACF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAChB,oCAAoC,CAAC,kBAAkB,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEzB,wCAAwC;QACxC,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,UAAU,CACd,MAAM,EACN,uBAAuB,EACvB,sBAAsB,EACtB;gBACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,2BAA2B,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;aAClE,CACF,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAgC;QAC9C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG,KAAK;QACR,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,SAAS,sBAAsB,CAK7B,OAAe;IACf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,6BAA6B;IAC7B,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAyB,CAAC;QACrE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG;gBACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC;QAC3D,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC,IAAI;gBAChB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,CAAC;gBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;aAChD,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG;QACvB,+BAA+B;QAC/B,sBAAsB;KACvB,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,IAAI,EAAE,+BAA+B;CAC/C,CAAC;AA+EF;;GAEG;AACH,SAAS,oCAAoC,CAC3C,MAA0B;IAE1B,MAAM,SAAS,GAA2B;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,SAAS,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjC,SAAS,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7C,SAAS,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;QACpD,SAAS,CAAC,0BAA0B;YAClC,MAAM,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;YAC9B,SAAS,CAAC,oBAAoB,OAAO,eAAe,CAAC;gBACnD,OAAO,CAAC,YAAY,CAAC;YAEvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAC5B,SAAS,CAAC,oBAAoB,OAAO,QAAQ,MAAM,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;gBACrE,SAAS,CAAC,oBAAoB,OAAO,QAAQ,MAAM,QAAQ,CAAC;oBAC1D,GAAG,CAAC,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"subnet.js","sourceRoot":"","sources":["../../../src/aws/ec2/subnet.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,20 @@
1
1
  import { AwsClient } from "aws4fetch";
2
+ import type { AwsClientProps } from "../client-props.ts";
2
3
  import { getRegion } from "../utils.ts";
3
4
  /**
4
5
  * Shared EC2 utilities for all EC2 resources
5
6
  */
6
7
  /**
7
- * Create an AWS EC2 client
8
+ * Create an AWS EC2 client with credential resolution from props
9
+ *
10
+ * This function handles the complete credential resolution process internally,
11
+ * merging global, scope, and resource-level credentials according to the
12
+ * established precedence hierarchy.
13
+ *
14
+ * @param props - AWS client properties that may include credential overrides
15
+ * @returns Promise<AwsClient> - Configured AWS client for EC2 operations
8
16
  */
9
- export declare function createEC2Client(): Promise<AwsClient>;
17
+ export declare function createEC2Client(props?: AwsClientProps): Promise<AwsClient>;
10
18
  /**
11
19
  * Make an EC2 API call with custom response parser
12
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AAEH;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC,CAS1D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,EACtC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAC/B,OAAO,CAAC,CAAC,CAAC,CAkEZ;AAGD,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,SAAS,CAAC,CAoDpB;AAYD;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,EACtC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAC/B,OAAO,CAAC,CAAC,CAAC,CAkEZ;AAGD,OAAO,EAAE,SAAS,EAAE,CAAC"}