@go-to-k/cdkd 0.94.7 → 0.94.9

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 CHANGED
@@ -176,7 +176,7 @@ cdkd bootstrap \
176
176
  --region us-east-1
177
177
 
178
178
  # Synthesize only
179
- cdkd synth --app "npx ts-node app.ts"
179
+ cdkd synth --app "node app.ts"
180
180
 
181
181
  # List all stacks in the CDK app (alias: ls)
182
182
  cdkd list
@@ -213,7 +213,7 @@ cdkd deploy -c env=staging -c featureFlag=true
213
213
 
214
214
  # Deploy with explicit options
215
215
  cdkd deploy MyStack \
216
- --app "npx ts-node app.ts" \
216
+ --app "node app.ts" \
217
217
  --state-bucket my-cdkd-state \
218
218
  --verbose
219
219
 
@@ -0,0 +1,428 @@
1
+ import { S3Client } from "@aws-sdk/client-s3";
2
+ import { CloudControlClient } from "@aws-sdk/client-cloudcontrol";
3
+ import { IAMClient } from "@aws-sdk/client-iam";
4
+ import { SQSClient } from "@aws-sdk/client-sqs";
5
+ import { SNSClient } from "@aws-sdk/client-sns";
6
+ import { LambdaClient } from "@aws-sdk/client-lambda";
7
+ import { STSClient } from "@aws-sdk/client-sts";
8
+ import { EC2Client } from "@aws-sdk/client-ec2";
9
+ import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
10
+ import { CloudFormationClient } from "@aws-sdk/client-cloudformation";
11
+ import { APIGatewayClient } from "@aws-sdk/client-api-gateway";
12
+ import { EventBridgeClient } from "@aws-sdk/client-eventbridge";
13
+ import { SecretsManagerClient } from "@aws-sdk/client-secrets-manager";
14
+ import { SSMClient } from "@aws-sdk/client-ssm";
15
+ import { CloudFrontClient } from "@aws-sdk/client-cloudfront";
16
+ import { CloudWatchClient } from "@aws-sdk/client-cloudwatch";
17
+ import { CloudWatchLogsClient } from "@aws-sdk/client-cloudwatch-logs";
18
+ import { BedrockAgentCoreControlClient } from "@aws-sdk/client-bedrock-agentcore-control";
19
+
20
+ //#region \0rolldown/runtime.js
21
+ var __defProp = Object.defineProperty;
22
+ var __exportAll = (all, no_symbols) => {
23
+ let target = {};
24
+ for (var name in all) {
25
+ __defProp(target, name, {
26
+ get: all[name],
27
+ enumerable: true
28
+ });
29
+ }
30
+ if (!no_symbols) {
31
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
32
+ }
33
+ return target;
34
+ };
35
+
36
+ //#endregion
37
+ //#region src/utils/aws-clients.ts
38
+ var aws_clients_exports = /* @__PURE__ */ __exportAll({
39
+ AwsClients: () => AwsClients,
40
+ getAwsClients: () => getAwsClients,
41
+ resetAwsClients: () => resetAwsClients,
42
+ setAwsClients: () => setAwsClients
43
+ });
44
+ /**
45
+ * AWS clients manager
46
+ */
47
+ var AwsClients = class {
48
+ s3Client;
49
+ cloudControlClient;
50
+ iamClient;
51
+ sqsClient;
52
+ snsClient;
53
+ lambdaClient;
54
+ stsClient;
55
+ ec2Client;
56
+ dynamoDBClient;
57
+ cloudFormationClient;
58
+ apiGatewayClient;
59
+ eventBridgeClient;
60
+ secretsManagerClient;
61
+ ssmClient;
62
+ cloudFrontClient;
63
+ cloudWatchClient;
64
+ cloudWatchLogsClient;
65
+ bedrockAgentCoreControlClient;
66
+ config;
67
+ constructor(config = {}) {
68
+ this.config = config;
69
+ }
70
+ /**
71
+ * Get S3 client
72
+ *
73
+ * Note: If region and credentials are not provided, AWS SDK will use:
74
+ * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)
75
+ * 2. AWS credentials file (~/.aws/credentials)
76
+ * 3. IAM role (if running on EC2/ECS/Lambda)
77
+ */
78
+ getS3Client() {
79
+ if (!this.s3Client) this.s3Client = new S3Client({
80
+ ...this.config.region && { region: this.config.region },
81
+ ...this.config.credentials && { credentials: this.config.credentials },
82
+ logger: {
83
+ debug: () => {},
84
+ info: () => {},
85
+ warn: () => {},
86
+ error: () => {}
87
+ }
88
+ });
89
+ return this.s3Client;
90
+ }
91
+ /**
92
+ * Get Cloud Control API client
93
+ *
94
+ * Note: If region and credentials are not provided, AWS SDK will use:
95
+ * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)
96
+ * 2. AWS credentials file (~/.aws/credentials)
97
+ * 3. IAM role (if running on EC2/ECS/Lambda)
98
+ */
99
+ getCloudControlClient() {
100
+ if (!this.cloudControlClient) this.cloudControlClient = new CloudControlClient({
101
+ ...this.config.region && { region: this.config.region },
102
+ ...this.config.credentials && { credentials: this.config.credentials }
103
+ });
104
+ return this.cloudControlClient;
105
+ }
106
+ /**
107
+ * Get IAM client
108
+ *
109
+ * Note: IAM is a global service, but we accept region for consistency.
110
+ * If not specified, defaults to us-east-1.
111
+ */
112
+ getIAMClient() {
113
+ if (!this.iamClient) this.iamClient = new IAMClient({
114
+ region: this.config.region || "us-east-1",
115
+ ...this.config.credentials && { credentials: this.config.credentials }
116
+ });
117
+ return this.iamClient;
118
+ }
119
+ /**
120
+ * Convenience getter for S3 client
121
+ */
122
+ get s3() {
123
+ return this.getS3Client();
124
+ }
125
+ /**
126
+ * Convenience getter for Cloud Control client
127
+ */
128
+ get cloudControl() {
129
+ return this.getCloudControlClient();
130
+ }
131
+ /**
132
+ * Convenience getter for IAM client
133
+ */
134
+ get iam() {
135
+ return this.getIAMClient();
136
+ }
137
+ /**
138
+ * Get SQS client
139
+ */
140
+ getSQSClient() {
141
+ if (!this.sqsClient) this.sqsClient = new SQSClient({
142
+ ...this.config.region && { region: this.config.region },
143
+ ...this.config.credentials && { credentials: this.config.credentials }
144
+ });
145
+ return this.sqsClient;
146
+ }
147
+ /**
148
+ * Convenience getter for SQS client
149
+ */
150
+ get sqs() {
151
+ return this.getSQSClient();
152
+ }
153
+ /**
154
+ * Get SNS client
155
+ */
156
+ getSNSClient() {
157
+ if (!this.snsClient) this.snsClient = new SNSClient({
158
+ ...this.config.region && { region: this.config.region },
159
+ ...this.config.credentials && { credentials: this.config.credentials }
160
+ });
161
+ return this.snsClient;
162
+ }
163
+ /**
164
+ * Convenience getter for SNS client
165
+ */
166
+ get sns() {
167
+ return this.getSNSClient();
168
+ }
169
+ /**
170
+ * Get Lambda client
171
+ */
172
+ getLambdaClient() {
173
+ if (!this.lambdaClient) this.lambdaClient = new LambdaClient({
174
+ ...this.config.region && { region: this.config.region },
175
+ ...this.config.credentials && { credentials: this.config.credentials }
176
+ });
177
+ return this.lambdaClient;
178
+ }
179
+ /**
180
+ * Convenience getter for Lambda client
181
+ */
182
+ get lambda() {
183
+ return this.getLambdaClient();
184
+ }
185
+ /**
186
+ * Get EC2 client
187
+ */
188
+ getEC2Client() {
189
+ if (!this.ec2Client) this.ec2Client = new EC2Client({
190
+ ...this.config.region && { region: this.config.region },
191
+ ...this.config.credentials && { credentials: this.config.credentials }
192
+ });
193
+ return this.ec2Client;
194
+ }
195
+ /**
196
+ * Convenience getter for EC2 client
197
+ */
198
+ get ec2() {
199
+ return this.getEC2Client();
200
+ }
201
+ /**
202
+ * Get STS client
203
+ */
204
+ getSTSClient() {
205
+ if (!this.stsClient) this.stsClient = new STSClient({
206
+ ...this.config.region && { region: this.config.region },
207
+ ...this.config.credentials && { credentials: this.config.credentials }
208
+ });
209
+ return this.stsClient;
210
+ }
211
+ /**
212
+ * Convenience getter for STS client
213
+ */
214
+ get sts() {
215
+ return this.getSTSClient();
216
+ }
217
+ /**
218
+ * Get DynamoDB client
219
+ */
220
+ getDynamoDBClient() {
221
+ if (!this.dynamoDBClient) this.dynamoDBClient = new DynamoDBClient({
222
+ ...this.config.region && { region: this.config.region },
223
+ ...this.config.credentials && { credentials: this.config.credentials }
224
+ });
225
+ return this.dynamoDBClient;
226
+ }
227
+ /**
228
+ * Convenience getter for DynamoDB client
229
+ */
230
+ get dynamoDB() {
231
+ return this.getDynamoDBClient();
232
+ }
233
+ /**
234
+ * Get CloudFormation client
235
+ */
236
+ getCloudFormationClient() {
237
+ if (!this.cloudFormationClient) this.cloudFormationClient = new CloudFormationClient({
238
+ ...this.config.region && { region: this.config.region },
239
+ ...this.config.credentials && { credentials: this.config.credentials }
240
+ });
241
+ return this.cloudFormationClient;
242
+ }
243
+ /**
244
+ * Convenience getter for CloudFormation client
245
+ */
246
+ get cloudFormation() {
247
+ return this.getCloudFormationClient();
248
+ }
249
+ /**
250
+ * Get API Gateway client
251
+ */
252
+ getAPIGatewayClient() {
253
+ if (!this.apiGatewayClient) this.apiGatewayClient = new APIGatewayClient({
254
+ ...this.config.region && { region: this.config.region },
255
+ ...this.config.credentials && { credentials: this.config.credentials }
256
+ });
257
+ return this.apiGatewayClient;
258
+ }
259
+ /**
260
+ * Convenience getter for API Gateway client
261
+ */
262
+ get apiGateway() {
263
+ return this.getAPIGatewayClient();
264
+ }
265
+ /**
266
+ * Get EventBridge client
267
+ */
268
+ getEventBridgeClient() {
269
+ if (!this.eventBridgeClient) this.eventBridgeClient = new EventBridgeClient({
270
+ ...this.config.region && { region: this.config.region },
271
+ ...this.config.credentials && { credentials: this.config.credentials }
272
+ });
273
+ return this.eventBridgeClient;
274
+ }
275
+ /**
276
+ * Convenience getter for EventBridge client
277
+ */
278
+ get eventBridge() {
279
+ return this.getEventBridgeClient();
280
+ }
281
+ /**
282
+ * Get Secrets Manager client
283
+ */
284
+ getSecretsManagerClient() {
285
+ if (!this.secretsManagerClient) this.secretsManagerClient = new SecretsManagerClient({
286
+ ...this.config.region && { region: this.config.region },
287
+ ...this.config.credentials && { credentials: this.config.credentials }
288
+ });
289
+ return this.secretsManagerClient;
290
+ }
291
+ /**
292
+ * Convenience getter for Secrets Manager client
293
+ */
294
+ get secretsManager() {
295
+ return this.getSecretsManagerClient();
296
+ }
297
+ /**
298
+ * Get SSM client
299
+ */
300
+ getSSMClient() {
301
+ if (!this.ssmClient) this.ssmClient = new SSMClient({
302
+ ...this.config.region && { region: this.config.region },
303
+ ...this.config.credentials && { credentials: this.config.credentials }
304
+ });
305
+ return this.ssmClient;
306
+ }
307
+ /**
308
+ * Convenience getter for SSM client
309
+ */
310
+ get ssm() {
311
+ return this.getSSMClient();
312
+ }
313
+ /**
314
+ * Get CloudFront client
315
+ */
316
+ getCloudFrontClient() {
317
+ if (!this.cloudFrontClient) this.cloudFrontClient = new CloudFrontClient({
318
+ ...this.config.region && { region: this.config.region },
319
+ ...this.config.credentials && { credentials: this.config.credentials }
320
+ });
321
+ return this.cloudFrontClient;
322
+ }
323
+ /**
324
+ * Convenience getter for CloudFront client
325
+ */
326
+ get cloudFront() {
327
+ return this.getCloudFrontClient();
328
+ }
329
+ /**
330
+ * Get CloudWatch client
331
+ */
332
+ getCloudWatchClient() {
333
+ if (!this.cloudWatchClient) this.cloudWatchClient = new CloudWatchClient({
334
+ ...this.config.region && { region: this.config.region },
335
+ ...this.config.credentials && { credentials: this.config.credentials }
336
+ });
337
+ return this.cloudWatchClient;
338
+ }
339
+ /**
340
+ * Convenience getter for CloudWatch client
341
+ */
342
+ get cloudWatch() {
343
+ return this.getCloudWatchClient();
344
+ }
345
+ /**
346
+ * Get CloudWatch Logs client
347
+ */
348
+ getCloudWatchLogsClient() {
349
+ if (!this.cloudWatchLogsClient) this.cloudWatchLogsClient = new CloudWatchLogsClient({
350
+ ...this.config.region && { region: this.config.region },
351
+ ...this.config.credentials && { credentials: this.config.credentials }
352
+ });
353
+ return this.cloudWatchLogsClient;
354
+ }
355
+ /**
356
+ * Convenience getter for CloudWatch Logs client
357
+ */
358
+ get cloudWatchLogs() {
359
+ return this.getCloudWatchLogsClient();
360
+ }
361
+ /**
362
+ * Get BedrockAgentCoreControl client
363
+ */
364
+ getBedrockAgentCoreControlClient() {
365
+ if (!this.bedrockAgentCoreControlClient) this.bedrockAgentCoreControlClient = new BedrockAgentCoreControlClient({
366
+ ...this.config.region && { region: this.config.region },
367
+ ...this.config.credentials && { credentials: this.config.credentials }
368
+ });
369
+ return this.bedrockAgentCoreControlClient;
370
+ }
371
+ /**
372
+ * Convenience getter for BedrockAgentCoreControl client
373
+ */
374
+ get bedrockAgentCoreControl() {
375
+ return this.getBedrockAgentCoreControlClient();
376
+ }
377
+ /**
378
+ * Destroy all clients
379
+ */
380
+ destroy() {
381
+ this.s3Client?.destroy();
382
+ this.cloudControlClient?.destroy();
383
+ this.iamClient?.destroy();
384
+ this.sqsClient?.destroy();
385
+ this.snsClient?.destroy();
386
+ this.lambdaClient?.destroy();
387
+ this.stsClient?.destroy();
388
+ this.ec2Client?.destroy();
389
+ this.dynamoDBClient?.destroy();
390
+ this.cloudFormationClient?.destroy();
391
+ this.apiGatewayClient?.destroy();
392
+ this.eventBridgeClient?.destroy();
393
+ this.secretsManagerClient?.destroy();
394
+ this.ssmClient?.destroy();
395
+ this.cloudFrontClient?.destroy();
396
+ this.cloudWatchClient?.destroy();
397
+ this.cloudWatchLogsClient?.destroy();
398
+ this.bedrockAgentCoreControlClient?.destroy();
399
+ }
400
+ };
401
+ /**
402
+ * Global AWS clients instance
403
+ */
404
+ let globalClients = null;
405
+ /**
406
+ * Get or create global AWS clients
407
+ */
408
+ function getAwsClients(config) {
409
+ if (!globalClients) globalClients = new AwsClients(config);
410
+ return globalClients;
411
+ }
412
+ /**
413
+ * Set global AWS clients instance
414
+ */
415
+ function setAwsClients(clients) {
416
+ globalClients = clients;
417
+ }
418
+ /**
419
+ * Reset global AWS clients (useful for testing)
420
+ */
421
+ function resetAwsClients() {
422
+ globalClients?.destroy();
423
+ globalClients = null;
424
+ }
425
+
426
+ //#endregion
427
+ export { setAwsClients as a, resetAwsClients as i, aws_clients_exports as n, getAwsClients as r, AwsClients as t };
428
+ //# sourceMappingURL=aws-clients-CuHRHcyW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-clients-CuHRHcyW.js","names":[],"sources":["../src/utils/aws-clients.ts"],"sourcesContent":["import { S3Client } from '@aws-sdk/client-s3';\nimport { CloudControlClient } from '@aws-sdk/client-cloudcontrol';\nimport { IAMClient } from '@aws-sdk/client-iam';\nimport { SQSClient } from '@aws-sdk/client-sqs';\nimport { SNSClient } from '@aws-sdk/client-sns';\nimport { LambdaClient } from '@aws-sdk/client-lambda';\nimport { STSClient } from '@aws-sdk/client-sts';\nimport { EC2Client } from '@aws-sdk/client-ec2';\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb';\nimport { CloudFormationClient } from '@aws-sdk/client-cloudformation';\nimport { APIGatewayClient } from '@aws-sdk/client-api-gateway';\nimport { EventBridgeClient } from '@aws-sdk/client-eventbridge';\nimport { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';\nimport { SSMClient } from '@aws-sdk/client-ssm';\nimport { CloudFrontClient } from '@aws-sdk/client-cloudfront';\nimport { CloudWatchClient } from '@aws-sdk/client-cloudwatch';\nimport { CloudWatchLogsClient } from '@aws-sdk/client-cloudwatch-logs';\nimport { BedrockAgentCoreControlClient } from '@aws-sdk/client-bedrock-agentcore-control';\n\n/**\n * AWS client configuration\n */\nexport interface AwsClientConfig {\n region?: string;\n profile?: string;\n credentials?: {\n accessKeyId: string;\n secretAccessKey: string;\n sessionToken?: string;\n };\n}\n\n/**\n * AWS clients manager\n */\nexport class AwsClients {\n private s3Client?: S3Client;\n private cloudControlClient?: CloudControlClient;\n private iamClient?: IAMClient;\n private sqsClient?: SQSClient;\n private snsClient?: SNSClient;\n private lambdaClient?: LambdaClient;\n private stsClient?: STSClient;\n private ec2Client?: EC2Client;\n private dynamoDBClient?: DynamoDBClient;\n private cloudFormationClient?: CloudFormationClient;\n private apiGatewayClient?: APIGatewayClient;\n private eventBridgeClient?: EventBridgeClient;\n private secretsManagerClient?: SecretsManagerClient;\n private ssmClient?: SSMClient;\n private cloudFrontClient?: CloudFrontClient;\n private cloudWatchClient?: CloudWatchClient;\n private cloudWatchLogsClient?: CloudWatchLogsClient;\n private bedrockAgentCoreControlClient?: BedrockAgentCoreControlClient;\n private config: AwsClientConfig;\n\n constructor(config: AwsClientConfig = {}) {\n this.config = config;\n }\n\n /**\n * Get S3 client\n *\n * Note: If region and credentials are not provided, AWS SDK will use:\n * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)\n * 2. AWS credentials file (~/.aws/credentials)\n * 3. IAM role (if running on EC2/ECS/Lambda)\n */\n getS3Client(): S3Client {\n if (!this.s3Client) {\n this.s3Client = new S3Client({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n // Suppress \"Are you using a Stream of unknown length\" warning\n logger: { debug: () => {}, info: () => {}, warn: () => {}, error: () => {} },\n });\n }\n return this.s3Client;\n }\n\n /**\n * Get Cloud Control API client\n *\n * Note: If region and credentials are not provided, AWS SDK will use:\n * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)\n * 2. AWS credentials file (~/.aws/credentials)\n * 3. IAM role (if running on EC2/ECS/Lambda)\n */\n getCloudControlClient(): CloudControlClient {\n if (!this.cloudControlClient) {\n this.cloudControlClient = new CloudControlClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.cloudControlClient;\n }\n\n /**\n * Get IAM client\n *\n * Note: IAM is a global service, but we accept region for consistency.\n * If not specified, defaults to us-east-1.\n */\n getIAMClient(): IAMClient {\n if (!this.iamClient) {\n this.iamClient = new IAMClient({\n region: this.config.region || 'us-east-1',\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.iamClient;\n }\n\n /**\n * Convenience getter for S3 client\n */\n get s3(): S3Client {\n return this.getS3Client();\n }\n\n /**\n * Convenience getter for Cloud Control client\n */\n get cloudControl(): CloudControlClient {\n return this.getCloudControlClient();\n }\n\n /**\n * Convenience getter for IAM client\n */\n get iam(): IAMClient {\n return this.getIAMClient();\n }\n\n /**\n * Get SQS client\n */\n getSQSClient(): SQSClient {\n if (!this.sqsClient) {\n this.sqsClient = new SQSClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.sqsClient;\n }\n\n /**\n * Convenience getter for SQS client\n */\n get sqs(): SQSClient {\n return this.getSQSClient();\n }\n\n /**\n * Get SNS client\n */\n getSNSClient(): SNSClient {\n if (!this.snsClient) {\n this.snsClient = new SNSClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.snsClient;\n }\n\n /**\n * Convenience getter for SNS client\n */\n get sns(): SNSClient {\n return this.getSNSClient();\n }\n\n /**\n * Get Lambda client\n */\n getLambdaClient(): LambdaClient {\n if (!this.lambdaClient) {\n this.lambdaClient = new LambdaClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.lambdaClient;\n }\n\n /**\n * Convenience getter for Lambda client\n */\n get lambda(): LambdaClient {\n return this.getLambdaClient();\n }\n\n /**\n * Get EC2 client\n */\n getEC2Client(): EC2Client {\n if (!this.ec2Client) {\n this.ec2Client = new EC2Client({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.ec2Client;\n }\n\n /**\n * Convenience getter for EC2 client\n */\n get ec2(): EC2Client {\n return this.getEC2Client();\n }\n\n /**\n * Get STS client\n */\n getSTSClient(): STSClient {\n if (!this.stsClient) {\n this.stsClient = new STSClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.stsClient;\n }\n\n /**\n * Convenience getter for STS client\n */\n get sts(): STSClient {\n return this.getSTSClient();\n }\n\n /**\n * Get DynamoDB client\n */\n getDynamoDBClient(): DynamoDBClient {\n if (!this.dynamoDBClient) {\n this.dynamoDBClient = new DynamoDBClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.dynamoDBClient;\n }\n\n /**\n * Convenience getter for DynamoDB client\n */\n get dynamoDB(): DynamoDBClient {\n return this.getDynamoDBClient();\n }\n\n /**\n * Get CloudFormation client\n */\n getCloudFormationClient(): CloudFormationClient {\n if (!this.cloudFormationClient) {\n this.cloudFormationClient = new CloudFormationClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.cloudFormationClient;\n }\n\n /**\n * Convenience getter for CloudFormation client\n */\n get cloudFormation(): CloudFormationClient {\n return this.getCloudFormationClient();\n }\n\n /**\n * Get API Gateway client\n */\n getAPIGatewayClient(): APIGatewayClient {\n if (!this.apiGatewayClient) {\n this.apiGatewayClient = new APIGatewayClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.apiGatewayClient;\n }\n\n /**\n * Convenience getter for API Gateway client\n */\n get apiGateway(): APIGatewayClient {\n return this.getAPIGatewayClient();\n }\n\n /**\n * Get EventBridge client\n */\n getEventBridgeClient(): EventBridgeClient {\n if (!this.eventBridgeClient) {\n this.eventBridgeClient = new EventBridgeClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.eventBridgeClient;\n }\n\n /**\n * Convenience getter for EventBridge client\n */\n get eventBridge(): EventBridgeClient {\n return this.getEventBridgeClient();\n }\n\n /**\n * Get Secrets Manager client\n */\n getSecretsManagerClient(): SecretsManagerClient {\n if (!this.secretsManagerClient) {\n this.secretsManagerClient = new SecretsManagerClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.secretsManagerClient;\n }\n\n /**\n * Convenience getter for Secrets Manager client\n */\n get secretsManager(): SecretsManagerClient {\n return this.getSecretsManagerClient();\n }\n\n /**\n * Get SSM client\n */\n getSSMClient(): SSMClient {\n if (!this.ssmClient) {\n this.ssmClient = new SSMClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.ssmClient;\n }\n\n /**\n * Convenience getter for SSM client\n */\n get ssm(): SSMClient {\n return this.getSSMClient();\n }\n\n /**\n * Get CloudFront client\n */\n getCloudFrontClient(): CloudFrontClient {\n if (!this.cloudFrontClient) {\n this.cloudFrontClient = new CloudFrontClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.cloudFrontClient;\n }\n\n /**\n * Convenience getter for CloudFront client\n */\n get cloudFront(): CloudFrontClient {\n return this.getCloudFrontClient();\n }\n\n /**\n * Get CloudWatch client\n */\n getCloudWatchClient(): CloudWatchClient {\n if (!this.cloudWatchClient) {\n this.cloudWatchClient = new CloudWatchClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.cloudWatchClient;\n }\n\n /**\n * Convenience getter for CloudWatch client\n */\n get cloudWatch(): CloudWatchClient {\n return this.getCloudWatchClient();\n }\n\n /**\n * Get CloudWatch Logs client\n */\n getCloudWatchLogsClient(): CloudWatchLogsClient {\n if (!this.cloudWatchLogsClient) {\n this.cloudWatchLogsClient = new CloudWatchLogsClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.cloudWatchLogsClient;\n }\n\n /**\n * Convenience getter for CloudWatch Logs client\n */\n get cloudWatchLogs(): CloudWatchLogsClient {\n return this.getCloudWatchLogsClient();\n }\n\n /**\n * Get BedrockAgentCoreControl client\n */\n getBedrockAgentCoreControlClient(): BedrockAgentCoreControlClient {\n if (!this.bedrockAgentCoreControlClient) {\n this.bedrockAgentCoreControlClient = new BedrockAgentCoreControlClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.bedrockAgentCoreControlClient;\n }\n\n /**\n * Convenience getter for BedrockAgentCoreControl client\n */\n get bedrockAgentCoreControl(): BedrockAgentCoreControlClient {\n return this.getBedrockAgentCoreControlClient();\n }\n\n /**\n * Destroy all clients\n */\n destroy(): void {\n this.s3Client?.destroy();\n this.cloudControlClient?.destroy();\n this.iamClient?.destroy();\n this.sqsClient?.destroy();\n this.snsClient?.destroy();\n this.lambdaClient?.destroy();\n this.stsClient?.destroy();\n this.ec2Client?.destroy();\n this.dynamoDBClient?.destroy();\n this.cloudFormationClient?.destroy();\n this.apiGatewayClient?.destroy();\n this.eventBridgeClient?.destroy();\n this.secretsManagerClient?.destroy();\n this.ssmClient?.destroy();\n this.cloudFrontClient?.destroy();\n this.cloudWatchClient?.destroy();\n this.cloudWatchLogsClient?.destroy();\n this.bedrockAgentCoreControlClient?.destroy();\n }\n}\n\n/**\n * Global AWS clients instance\n */\nlet globalClients: AwsClients | null = null;\n\n/**\n * Get or create global AWS clients\n */\nexport function getAwsClients(config?: AwsClientConfig): AwsClients {\n if (!globalClients) {\n globalClients = new AwsClients(config);\n }\n return globalClients;\n}\n\n/**\n * Set global AWS clients instance\n */\nexport function setAwsClients(clients: AwsClients): void {\n globalClients = clients;\n}\n\n/**\n * Reset global AWS clients (useful for testing)\n */\nexport function resetAwsClients(): void {\n globalClients?.destroy();\n globalClients = null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAa,aAAb,MAAwB;CACtB,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YAAY,SAA0B,EAAE,EAAE;AACxC,OAAK,SAAS;;;;;;;;;;CAWhB,cAAwB;AACtB,MAAI,CAAC,KAAK,SACR,MAAK,WAAW,IAAI,SAAS;GAC3B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GAEvE,QAAQ;IAAE,aAAa;IAAI,YAAY;IAAI,YAAY;IAAI,aAAa;IAAI;GAC7E,CAAC;AAEJ,SAAO,KAAK;;;;;;;;;;CAWd,wBAA4C;AAC1C,MAAI,CAAC,KAAK,mBACR,MAAK,qBAAqB,IAAI,mBAAmB;GAC/C,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;;;;CASd,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,QAAQ,KAAK,OAAO,UAAU;GAC9B,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,KAAe;AACjB,SAAO,KAAK,aAAa;;;;;CAM3B,IAAI,eAAmC;AACrC,SAAO,KAAK,uBAAuB;;;;;CAMrC,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,kBAAgC;AAC9B,MAAI,CAAC,KAAK,aACR,MAAK,eAAe,IAAI,aAAa;GACnC,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,SAAuB;AACzB,SAAO,KAAK,iBAAiB;;;;;CAM/B,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,oBAAoC;AAClC,MAAI,CAAC,KAAK,eACR,MAAK,iBAAiB,IAAI,eAAe;GACvC,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,WAA2B;AAC7B,SAAO,KAAK,mBAAmB;;;;;CAMjC,0BAAgD;AAC9C,MAAI,CAAC,KAAK,qBACR,MAAK,uBAAuB,IAAI,qBAAqB;GACnD,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,iBAAuC;AACzC,SAAO,KAAK,yBAAyB;;;;;CAMvC,sBAAwC;AACtC,MAAI,CAAC,KAAK,iBACR,MAAK,mBAAmB,IAAI,iBAAiB;GAC3C,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,aAA+B;AACjC,SAAO,KAAK,qBAAqB;;;;;CAMnC,uBAA0C;AACxC,MAAI,CAAC,KAAK,kBACR,MAAK,oBAAoB,IAAI,kBAAkB;GAC7C,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,cAAiC;AACnC,SAAO,KAAK,sBAAsB;;;;;CAMpC,0BAAgD;AAC9C,MAAI,CAAC,KAAK,qBACR,MAAK,uBAAuB,IAAI,qBAAqB;GACnD,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,iBAAuC;AACzC,SAAO,KAAK,yBAAyB;;;;;CAMvC,eAA0B;AACxB,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,IAAI,UAAU;GAC7B,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,MAAiB;AACnB,SAAO,KAAK,cAAc;;;;;CAM5B,sBAAwC;AACtC,MAAI,CAAC,KAAK,iBACR,MAAK,mBAAmB,IAAI,iBAAiB;GAC3C,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,aAA+B;AACjC,SAAO,KAAK,qBAAqB;;;;;CAMnC,sBAAwC;AACtC,MAAI,CAAC,KAAK,iBACR,MAAK,mBAAmB,IAAI,iBAAiB;GAC3C,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,aAA+B;AACjC,SAAO,KAAK,qBAAqB;;;;;CAMnC,0BAAgD;AAC9C,MAAI,CAAC,KAAK,qBACR,MAAK,uBAAuB,IAAI,qBAAqB;GACnD,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,iBAAuC;AACzC,SAAO,KAAK,yBAAyB;;;;;CAMvC,mCAAkE;AAChE,MAAI,CAAC,KAAK,8BACR,MAAK,gCAAgC,IAAI,8BAA8B;GACrE,GAAI,KAAK,OAAO,UAAU,EAAE,QAAQ,KAAK,OAAO,QAAQ;GACxD,GAAI,KAAK,OAAO,eAAe,EAAE,aAAa,KAAK,OAAO,aAAa;GACxE,CAAC;AAEJ,SAAO,KAAK;;;;;CAMd,IAAI,0BAAyD;AAC3D,SAAO,KAAK,kCAAkC;;;;;CAMhD,UAAgB;AACd,OAAK,UAAU,SAAS;AACxB,OAAK,oBAAoB,SAAS;AAClC,OAAK,WAAW,SAAS;AACzB,OAAK,WAAW,SAAS;AACzB,OAAK,WAAW,SAAS;AACzB,OAAK,cAAc,SAAS;AAC5B,OAAK,WAAW,SAAS;AACzB,OAAK,WAAW,SAAS;AACzB,OAAK,gBAAgB,SAAS;AAC9B,OAAK,sBAAsB,SAAS;AACpC,OAAK,kBAAkB,SAAS;AAChC,OAAK,mBAAmB,SAAS;AACjC,OAAK,sBAAsB,SAAS;AACpC,OAAK,WAAW,SAAS;AACzB,OAAK,kBAAkB,SAAS;AAChC,OAAK,kBAAkB,SAAS;AAChC,OAAK,sBAAsB,SAAS;AACpC,OAAK,+BAA+B,SAAS;;;;;;AAOjD,IAAI,gBAAmC;;;;AAKvC,SAAgB,cAAc,QAAsC;AAClE,KAAI,CAAC,cACH,iBAAgB,IAAI,WAAW,OAAO;AAExC,QAAO;;;;;AAMT,SAAgB,cAAc,SAA2B;AACvD,iBAAgB;;;;;AAMlB,SAAgB,kBAAwB;AACtC,gBAAe,SAAS;AACxB,iBAAgB"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { };