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.
Files changed (143) hide show
  1. package/README.md +1 -2
  2. package/bin/alchemy.js +1406 -1464
  3. package/bin/commands/init.ts +29 -2
  4. package/bin/services/execute-alchemy.ts +1 -2
  5. package/lib/alchemy.d.ts +2 -2
  6. package/lib/alchemy.d.ts.map +1 -1
  7. package/lib/alchemy.js.map +1 -1
  8. package/lib/aws/client-props.d.ts +149 -0
  9. package/lib/aws/client-props.d.ts.map +1 -0
  10. package/lib/aws/client-props.js +1 -0
  11. package/lib/aws/client-props.js.map +1 -0
  12. package/lib/aws/credentials.d.ts +68 -5
  13. package/lib/aws/credentials.d.ts.map +1 -1
  14. package/lib/aws/credentials.js +148 -0
  15. package/lib/aws/credentials.js.map +1 -1
  16. package/lib/aws/ec2/internet-gateway-attachment.d.ts +57 -3
  17. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
  18. package/lib/aws/ec2/internet-gateway-attachment.js +57 -3
  19. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
  20. package/lib/aws/ec2/internet-gateway.d.ts +68 -40
  21. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
  22. package/lib/aws/ec2/internet-gateway.js +68 -40
  23. package/lib/aws/ec2/internet-gateway.js.map +1 -1
  24. package/lib/aws/ec2/nat-gateway.d.ts +99 -18
  25. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
  26. package/lib/aws/ec2/nat-gateway.js +113 -37
  27. package/lib/aws/ec2/nat-gateway.js.map +1 -1
  28. package/lib/aws/ec2/route-table-association.d.ts +1 -1
  29. package/lib/aws/ec2/route-table-association.js +1 -1
  30. package/lib/aws/ec2/route-table.d.ts +64 -1
  31. package/lib/aws/ec2/route-table.d.ts.map +1 -1
  32. package/lib/aws/ec2/route-table.js +64 -1
  33. package/lib/aws/ec2/route-table.js.map +1 -1
  34. package/lib/aws/ec2/route.d.ts +60 -1
  35. package/lib/aws/ec2/route.d.ts.map +1 -1
  36. package/lib/aws/ec2/route.js +60 -1
  37. package/lib/aws/ec2/route.js.map +1 -1
  38. package/lib/aws/ec2/security-group.d.ts +96 -3
  39. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  40. package/lib/aws/ec2/security-group.js +96 -3
  41. package/lib/aws/ec2/security-group.js.map +1 -1
  42. package/lib/aws/ec2/subnet.d.ts +61 -3
  43. package/lib/aws/ec2/subnet.d.ts.map +1 -1
  44. package/lib/aws/ec2/subnet.js +61 -3
  45. package/lib/aws/ec2/subnet.js.map +1 -1
  46. package/lib/aws/ec2/utils.d.ts +10 -2
  47. package/lib/aws/ec2/utils.d.ts.map +1 -1
  48. package/lib/aws/ec2/utils.js +68 -7
  49. package/lib/aws/ec2/utils.js.map +1 -1
  50. package/lib/aws/ec2/vpc.d.ts +50 -2
  51. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  52. package/lib/aws/ec2/vpc.js +50 -2
  53. package/lib/aws/ec2/vpc.js.map +1 -1
  54. package/lib/aws/index.d.ts +2 -0
  55. package/lib/aws/index.d.ts.map +1 -1
  56. package/lib/aws/index.js +2 -0
  57. package/lib/aws/index.js.map +1 -1
  58. package/lib/cloudflare/api-response.js +2 -2
  59. package/lib/cloudflare/api-response.js.map +1 -1
  60. package/lib/cloudflare/api.d.ts +19 -0
  61. package/lib/cloudflare/api.d.ts.map +1 -1
  62. package/lib/cloudflare/api.js +4 -0
  63. package/lib/cloudflare/api.js.map +1 -1
  64. package/lib/cloudflare/assets.d.ts.map +1 -1
  65. package/lib/cloudflare/assets.js +3 -4
  66. package/lib/cloudflare/assets.js.map +1 -1
  67. package/lib/cloudflare/bucket.d.ts +5 -3
  68. package/lib/cloudflare/bucket.d.ts.map +1 -1
  69. package/lib/cloudflare/bucket.js +22 -18
  70. package/lib/cloudflare/bucket.js.map +1 -1
  71. package/lib/cloudflare/bundle/plugin-compat-warning.js +7 -7
  72. package/lib/cloudflare/bundle/plugin-compat-warning.js.map +1 -1
  73. package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -1
  74. package/lib/cloudflare/kv-namespace.d.ts +2 -2
  75. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  76. package/lib/cloudflare/kv-namespace.js.map +1 -1
  77. package/lib/cloudflare/oauth.js +3 -3
  78. package/lib/cloudflare/oauth.js.map +1 -1
  79. package/lib/cloudflare/quick-tunnel.d.ts +1 -1
  80. package/lib/cloudflare/website.d.ts.map +1 -1
  81. package/lib/cloudflare/website.js +26 -97
  82. package/lib/cloudflare/website.js.map +1 -1
  83. package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
  84. package/lib/cloudflare/worker-bundle.js +9 -8
  85. package/lib/cloudflare/worker-bundle.js.map +1 -1
  86. package/lib/cloudflare/worker-tail.d.ts.map +1 -1
  87. package/lib/cloudflare/worker-tail.js +6 -6
  88. package/lib/cloudflare/worker-tail.js.map +1 -1
  89. package/lib/resource.d.ts +1 -0
  90. package/lib/resource.d.ts.map +1 -1
  91. package/lib/resource.js +13 -2
  92. package/lib/resource.js.map +1 -1
  93. package/lib/scope.d.ts +24 -23
  94. package/lib/scope.d.ts.map +1 -1
  95. package/lib/scope.js +25 -20
  96. package/lib/scope.js.map +1 -1
  97. package/lib/state/cloudflare-state-store.d.ts.map +1 -1
  98. package/lib/state/cloudflare-state-store.js +2 -1
  99. package/lib/state/cloudflare-state-store.js.map +1 -1
  100. package/lib/util/idempotent-spawn.d.ts +10 -8
  101. package/lib/util/idempotent-spawn.d.ts.map +1 -1
  102. package/lib/util/idempotent-spawn.js +97 -78
  103. package/lib/util/idempotent-spawn.js.map +1 -1
  104. package/lib/util/index.d.ts +2 -0
  105. package/lib/util/index.d.ts.map +1 -0
  106. package/lib/util/index.js +2 -0
  107. package/lib/util/index.js.map +1 -0
  108. package/lib/util/safe-fetch.d.ts +24 -0
  109. package/lib/util/safe-fetch.d.ts.map +1 -1
  110. package/lib/util/safe-fetch.js +72 -0
  111. package/lib/util/safe-fetch.js.map +1 -1
  112. package/package.json +8 -5
  113. package/src/alchemy.ts +2 -2
  114. package/src/aws/client-props.ts +156 -0
  115. package/src/aws/credentials.ts +165 -4
  116. package/src/aws/ec2/internet-gateway-attachment.ts +59 -4
  117. package/src/aws/ec2/internet-gateway.ts +70 -41
  118. package/src/aws/ec2/nat-gateway.ts +123 -33
  119. package/src/aws/ec2/route-table-association.ts +1 -1
  120. package/src/aws/ec2/route-table.ts +66 -2
  121. package/src/aws/ec2/route.ts +62 -2
  122. package/src/aws/ec2/security-group.ts +98 -4
  123. package/src/aws/ec2/subnet.ts +63 -4
  124. package/src/aws/ec2/utils.ts +73 -7
  125. package/src/aws/ec2/vpc.ts +52 -3
  126. package/src/aws/index.ts +2 -0
  127. package/src/cloudflare/api-response.ts +2 -2
  128. package/src/cloudflare/api.ts +23 -0
  129. package/src/cloudflare/assets.ts +3 -4
  130. package/src/cloudflare/bucket.ts +27 -25
  131. package/src/cloudflare/bundle/plugin-compat-warning.ts +7 -7
  132. package/src/cloudflare/cloudflare-env-proxy.ts +2 -2
  133. package/src/cloudflare/kv-namespace.ts +26 -27
  134. package/src/cloudflare/oauth.ts +3 -3
  135. package/src/cloudflare/website.ts +30 -111
  136. package/src/cloudflare/worker-bundle.ts +9 -8
  137. package/src/cloudflare/worker-tail.ts +6 -8
  138. package/src/resource.ts +19 -2
  139. package/src/scope.ts +73 -43
  140. package/src/state/cloudflare-state-store.ts +2 -1
  141. package/src/util/idempotent-spawn.ts +117 -100
  142. package/src/util/index.ts +1 -0
  143. package/src/util/safe-fetch.ts +114 -0
@@ -1,13 +1,14 @@
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 { InternetGateway } from "./internet-gateway.ts";
5
6
  import type { NatGateway } from "./nat-gateway.ts";
6
7
  import type { RouteTable } from "./route-table.ts";
7
8
  /**
8
9
  * Properties for creating or updating a Route
9
10
  */
10
- export interface RouteProps {
11
+ export interface RouteProps extends AwsClientProps {
11
12
  /**
12
13
  * The route table to add the route to
13
14
  */
@@ -62,6 +63,9 @@ export interface Route extends Resource<"aws::Route">, RouteProps {
62
63
  * Creates and manages individual routes within route tables, directing traffic
63
64
  * to various targets like Internet Gateways, NAT Gateways, or instances.
64
65
  *
66
+ * Supports AWS credential overrides at the resource level, allowing you to deploy Routes
67
+ * to different AWS accounts or regions than the default scope configuration.
68
+ *
65
69
  * @example
66
70
  * // Create a default route to Internet Gateway
67
71
  * const publicRoute = await Route("public-default-route", {
@@ -79,6 +83,39 @@ export interface Route extends Resource<"aws::Route">, RouteProps {
79
83
  * });
80
84
  *
81
85
  * @example
86
+ * // Create Route with AWS credential overrides
87
+ * const crossAccountRoute = await Route("cross-account-route", {
88
+ * routeTable: mainRouteTable,
89
+ * destinationCidrBlock: "0.0.0.0/0",
90
+ * target: { internetGateway: mainIgw },
91
+ * // Override AWS credentials for this specific resource
92
+ * region: "us-east-1",
93
+ * profile: "production-account",
94
+ * });
95
+ *
96
+ * @example
97
+ * // Create Route in different region with role assumption
98
+ * const multiRegionRoute = await Route("multi-region-route", {
99
+ * routeTable: euRouteTable,
100
+ * destinationCidrBlock: "0.0.0.0/0",
101
+ * target: { internetGateway: euIgw },
102
+ * region: "eu-west-1",
103
+ * roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
104
+ * roleSessionName: "route-deployment",
105
+ * });
106
+ *
107
+ * @example
108
+ * // Create Route with explicit credentials
109
+ * const explicitCredsRoute = await Route("explicit-creds-route", {
110
+ * routeTable: testRouteTable,
111
+ * destinationCidrBlock: "0.0.0.0/0",
112
+ * target: { internetGateway: testIgw },
113
+ * accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
114
+ * secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
115
+ * region: "us-west-2",
116
+ * });
117
+ *
118
+ * @example
82
119
  * // Create a route to a specific instance
83
120
  * const instanceRoute = await Route("instance-route", {
84
121
  * routeTable: "rtb-12345678",
@@ -121,6 +158,28 @@ export interface Route extends Resource<"aws::Route">, RouteProps {
121
158
  * delayMs: 2000
122
159
  * }
123
160
  * });
161
+ *
162
+ * @example
163
+ * // Multi-account deployment with scope-level and resource-level overrides
164
+ * await alchemy.run("production", {
165
+ * aws: { region: "us-west-2", profile: "main-account" }
166
+ * }, async () => {
167
+ * // This Route uses scope credentials (main-account, us-west-2)
168
+ * const mainRoute = await Route("main-route", {
169
+ * routeTable: mainRouteTable,
170
+ * destinationCidrBlock: "0.0.0.0/0",
171
+ * target: { internetGateway: mainIgw }
172
+ * });
173
+ *
174
+ * // This Route overrides to use different account
175
+ * const crossAccountRoute = await Route("cross-account-route", {
176
+ * routeTable: crossRouteTable,
177
+ * destinationCidrBlock: "0.0.0.0/0",
178
+ * target: { internetGateway: crossIgw },
179
+ * profile: "secondary-account",
180
+ * region: "us-east-1", // Also override region
181
+ * });
182
+ * });
124
183
  */
125
184
  export declare const Route: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<Route>, _id: string, props: RouteProps) => Promise<Route>);
126
185
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/route.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;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;IAEhC;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,MAAM,EACF;QAAE,eAAe,EAAE,eAAe,GAAG,MAAM,CAAA;KAAE,GAC7C;QAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;KAAE,GACnC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GACtB;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,sBAAsB,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU;IAC/D;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;IAE9B;;OAEG;IACH,MAAM,EAAE,kBAAkB,GAAG,aAAa,GAAG,2BAA2B,CAAC;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,eAAO,MAAM,KAAK,yFAGR,OAAO,CAAC,KAAK,CAAC,OACf,MAAM,SACJ,UAAU,KAChB,OAAO,CAAC,KAAK,CAAC,CAgJlB,CAAC;AAuDF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/aws/ec2/route.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,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;OAEG;IACH,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;IAEhC;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,MAAM,EACF;QAAE,eAAe,EAAE,eAAe,GAAG,MAAM,CAAA;KAAE,GAC7C;QAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;KAAE,GACnC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GACtB;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,sBAAsB,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU;IAC/D;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;IAE9B;;OAEG;IACH,MAAM,EAAE,kBAAkB,GAAG,aAAa,GAAG,2BAA2B,CAAC;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AACH,eAAO,MAAM,KAAK,yFAGR,OAAO,CAAC,KAAK,CAAC,OACf,MAAM,SACJ,UAAU,KAChB,OAAO,CAAC,KAAK,CAAC,CAiJlB,CAAC;AAuDF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
@@ -11,6 +11,9 @@ import { callEC2Api, createEC2Client } from "./utils.js";
11
11
  * Creates and manages individual routes within route tables, directing traffic
12
12
  * to various targets like Internet Gateways, NAT Gateways, or instances.
13
13
  *
14
+ * Supports AWS credential overrides at the resource level, allowing you to deploy Routes
15
+ * to different AWS accounts or regions than the default scope configuration.
16
+ *
14
17
  * @example
15
18
  * // Create a default route to Internet Gateway
16
19
  * const publicRoute = await Route("public-default-route", {
@@ -28,6 +31,39 @@ import { callEC2Api, createEC2Client } from "./utils.js";
28
31
  * });
29
32
  *
30
33
  * @example
34
+ * // Create Route with AWS credential overrides
35
+ * const crossAccountRoute = await Route("cross-account-route", {
36
+ * routeTable: mainRouteTable,
37
+ * destinationCidrBlock: "0.0.0.0/0",
38
+ * target: { internetGateway: mainIgw },
39
+ * // Override AWS credentials for this specific resource
40
+ * region: "us-east-1",
41
+ * profile: "production-account",
42
+ * });
43
+ *
44
+ * @example
45
+ * // Create Route in different region with role assumption
46
+ * const multiRegionRoute = await Route("multi-region-route", {
47
+ * routeTable: euRouteTable,
48
+ * destinationCidrBlock: "0.0.0.0/0",
49
+ * target: { internetGateway: euIgw },
50
+ * region: "eu-west-1",
51
+ * roleArn: "arn:aws:iam::123456789012:role/CrossRegionRole",
52
+ * roleSessionName: "route-deployment",
53
+ * });
54
+ *
55
+ * @example
56
+ * // Create Route with explicit credentials
57
+ * const explicitCredsRoute = await Route("explicit-creds-route", {
58
+ * routeTable: testRouteTable,
59
+ * destinationCidrBlock: "0.0.0.0/0",
60
+ * target: { internetGateway: testIgw },
61
+ * accessKeyId: alchemy.secret("AKIAIOSFODNN7EXAMPLE"),
62
+ * secretAccessKey: alchemy.secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
63
+ * region: "us-west-2",
64
+ * });
65
+ *
66
+ * @example
31
67
  * // Create a route to a specific instance
32
68
  * const instanceRoute = await Route("instance-route", {
33
69
  * routeTable: "rtb-12345678",
@@ -70,9 +106,32 @@ import { callEC2Api, createEC2Client } from "./utils.js";
70
106
  * delayMs: 2000
71
107
  * }
72
108
  * });
109
+ *
110
+ * @example
111
+ * // Multi-account deployment with scope-level and resource-level overrides
112
+ * await alchemy.run("production", {
113
+ * aws: { region: "us-west-2", profile: "main-account" }
114
+ * }, async () => {
115
+ * // This Route uses scope credentials (main-account, us-west-2)
116
+ * const mainRoute = await Route("main-route", {
117
+ * routeTable: mainRouteTable,
118
+ * destinationCidrBlock: "0.0.0.0/0",
119
+ * target: { internetGateway: mainIgw }
120
+ * });
121
+ *
122
+ * // This Route overrides to use different account
123
+ * const crossAccountRoute = await Route("cross-account-route", {
124
+ * routeTable: crossRouteTable,
125
+ * destinationCidrBlock: "0.0.0.0/0",
126
+ * target: { internetGateway: crossIgw },
127
+ * profile: "secondary-account",
128
+ * region: "us-east-1", // Also override region
129
+ * });
130
+ * });
73
131
  */
74
132
  export const Route = Resource("aws::Route", async function (_id, props) {
75
- const client = await createEC2Client();
133
+ // Create EC2 client with credential resolution handled internally
134
+ const client = await createEC2Client(props);
76
135
  const _timeoutConfig = mergeTimeoutConfig(ROUTE_TIMEOUT, props.timeout);
77
136
  const routeTableId = typeof props.routeTable === "string"
78
137
  ? props.routeTable
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/aws/ec2/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/aws/ec2/route.ts"],"names":[],"mappings":"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"}
@@ -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"}