@go-to-k/cdkd 0.248.0 → 0.249.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.
@@ -1,435 +0,0 @@
1
- import { t as __exportAll } from "./rolldown-runtime-CjeV3_4I.js";
2
- import { S3Client } from "@aws-sdk/client-s3";
3
- import { CloudControlClient } from "@aws-sdk/client-cloudcontrol";
4
- import { IAMClient } from "@aws-sdk/client-iam";
5
- import { SQSClient } from "@aws-sdk/client-sqs";
6
- import { SNSClient } from "@aws-sdk/client-sns";
7
- import { LambdaClient } from "@aws-sdk/client-lambda";
8
- import { STSClient } from "@aws-sdk/client-sts";
9
- import { EC2Client } from "@aws-sdk/client-ec2";
10
- import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
11
- import { CloudFormationClient } from "@aws-sdk/client-cloudformation";
12
- import { APIGatewayClient } from "@aws-sdk/client-api-gateway";
13
- import { EventBridgeClient } from "@aws-sdk/client-eventbridge";
14
- import { SecretsManagerClient } from "@aws-sdk/client-secrets-manager";
15
- import { SSMClient } from "@aws-sdk/client-ssm";
16
- import { CloudFrontClient } from "@aws-sdk/client-cloudfront";
17
- import { CloudWatchClient } from "@aws-sdk/client-cloudwatch";
18
- import { CloudWatchLogsClient } from "@aws-sdk/client-cloudwatch-logs";
19
- import { BedrockAgentCoreControlClient } from "@aws-sdk/client-bedrock-agentcore-control";
20
- import { ACMClient } from "@aws-sdk/client-acm";
21
-
22
- //#region src/utils/aws-clients.ts
23
- var aws_clients_exports = /* @__PURE__ */ __exportAll({
24
- AwsClients: () => AwsClients,
25
- getAwsClients: () => getAwsClients,
26
- resetAwsClients: () => resetAwsClients,
27
- setAwsClients: () => setAwsClients
28
- });
29
- /**
30
- * AWS clients manager
31
- */
32
- var AwsClients = class {
33
- s3Client;
34
- cloudControlClient;
35
- iamClient;
36
- sqsClient;
37
- snsClient;
38
- lambdaClient;
39
- stsClient;
40
- ec2Client;
41
- dynamoDBClient;
42
- cloudFormationClient;
43
- apiGatewayClient;
44
- eventBridgeClient;
45
- secretsManagerClient;
46
- ssmClient;
47
- cloudFrontClient;
48
- cloudWatchClient;
49
- cloudWatchLogsClient;
50
- bedrockAgentCoreControlClient;
51
- acmClient;
52
- config;
53
- constructor(config = {}) {
54
- this.config = config;
55
- }
56
- /**
57
- * Get S3 client
58
- *
59
- * Note: If region and credentials are not provided, AWS SDK will use:
60
- * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)
61
- * 2. AWS credentials file (~/.aws/credentials)
62
- * 3. IAM role (if running on EC2/ECS/Lambda)
63
- */
64
- getS3Client() {
65
- if (!this.s3Client) this.s3Client = new S3Client({
66
- ...this.config.region && { region: this.config.region },
67
- ...this.config.credentials && { credentials: this.config.credentials },
68
- logger: {
69
- debug: () => {},
70
- info: () => {},
71
- warn: () => {},
72
- error: () => {}
73
- }
74
- });
75
- return this.s3Client;
76
- }
77
- /**
78
- * Get Cloud Control API client
79
- *
80
- * Note: If region and credentials are not provided, AWS SDK will use:
81
- * 1. Environment variables (AWS_REGION, AWS_ACCESS_KEY_ID, etc.)
82
- * 2. AWS credentials file (~/.aws/credentials)
83
- * 3. IAM role (if running on EC2/ECS/Lambda)
84
- */
85
- getCloudControlClient() {
86
- if (!this.cloudControlClient) this.cloudControlClient = new CloudControlClient({
87
- ...this.config.region && { region: this.config.region },
88
- ...this.config.credentials && { credentials: this.config.credentials }
89
- });
90
- return this.cloudControlClient;
91
- }
92
- /**
93
- * Get IAM client
94
- *
95
- * Note: IAM is a global service, but we accept region for consistency.
96
- * If not specified, defaults to us-east-1.
97
- */
98
- getIAMClient() {
99
- if (!this.iamClient) this.iamClient = new IAMClient({
100
- region: this.config.region || "us-east-1",
101
- ...this.config.credentials && { credentials: this.config.credentials }
102
- });
103
- return this.iamClient;
104
- }
105
- /**
106
- * Convenience getter for S3 client
107
- */
108
- get s3() {
109
- return this.getS3Client();
110
- }
111
- /**
112
- * Convenience getter for Cloud Control client
113
- */
114
- get cloudControl() {
115
- return this.getCloudControlClient();
116
- }
117
- /**
118
- * Convenience getter for IAM client
119
- */
120
- get iam() {
121
- return this.getIAMClient();
122
- }
123
- /**
124
- * Get SQS client
125
- */
126
- getSQSClient() {
127
- if (!this.sqsClient) this.sqsClient = new SQSClient({
128
- ...this.config.region && { region: this.config.region },
129
- ...this.config.credentials && { credentials: this.config.credentials }
130
- });
131
- return this.sqsClient;
132
- }
133
- /**
134
- * Convenience getter for SQS client
135
- */
136
- get sqs() {
137
- return this.getSQSClient();
138
- }
139
- /**
140
- * Get SNS client
141
- */
142
- getSNSClient() {
143
- if (!this.snsClient) this.snsClient = new SNSClient({
144
- ...this.config.region && { region: this.config.region },
145
- ...this.config.credentials && { credentials: this.config.credentials }
146
- });
147
- return this.snsClient;
148
- }
149
- /**
150
- * Convenience getter for SNS client
151
- */
152
- get sns() {
153
- return this.getSNSClient();
154
- }
155
- /**
156
- * Get Lambda client
157
- */
158
- getLambdaClient() {
159
- if (!this.lambdaClient) this.lambdaClient = new LambdaClient({
160
- ...this.config.region && { region: this.config.region },
161
- ...this.config.credentials && { credentials: this.config.credentials }
162
- });
163
- return this.lambdaClient;
164
- }
165
- /**
166
- * Convenience getter for Lambda client
167
- */
168
- get lambda() {
169
- return this.getLambdaClient();
170
- }
171
- /**
172
- * Get EC2 client
173
- */
174
- getEC2Client() {
175
- if (!this.ec2Client) this.ec2Client = new EC2Client({
176
- ...this.config.region && { region: this.config.region },
177
- ...this.config.credentials && { credentials: this.config.credentials }
178
- });
179
- return this.ec2Client;
180
- }
181
- /**
182
- * Convenience getter for EC2 client
183
- */
184
- get ec2() {
185
- return this.getEC2Client();
186
- }
187
- /**
188
- * Get STS client
189
- */
190
- getSTSClient() {
191
- if (!this.stsClient) this.stsClient = new STSClient({
192
- ...this.config.region && { region: this.config.region },
193
- ...this.config.credentials && { credentials: this.config.credentials }
194
- });
195
- return this.stsClient;
196
- }
197
- /**
198
- * Convenience getter for STS client
199
- */
200
- get sts() {
201
- return this.getSTSClient();
202
- }
203
- /**
204
- * Get DynamoDB client
205
- */
206
- getDynamoDBClient() {
207
- if (!this.dynamoDBClient) this.dynamoDBClient = new DynamoDBClient({
208
- ...this.config.region && { region: this.config.region },
209
- ...this.config.credentials && { credentials: this.config.credentials }
210
- });
211
- return this.dynamoDBClient;
212
- }
213
- /**
214
- * Convenience getter for DynamoDB client
215
- */
216
- get dynamoDB() {
217
- return this.getDynamoDBClient();
218
- }
219
- /**
220
- * Get CloudFormation client
221
- */
222
- getCloudFormationClient() {
223
- if (!this.cloudFormationClient) this.cloudFormationClient = new CloudFormationClient({
224
- ...this.config.region && { region: this.config.region },
225
- ...this.config.credentials && { credentials: this.config.credentials }
226
- });
227
- return this.cloudFormationClient;
228
- }
229
- /**
230
- * Convenience getter for CloudFormation client
231
- */
232
- get cloudFormation() {
233
- return this.getCloudFormationClient();
234
- }
235
- /**
236
- * Get API Gateway client
237
- */
238
- getAPIGatewayClient() {
239
- if (!this.apiGatewayClient) this.apiGatewayClient = new APIGatewayClient({
240
- ...this.config.region && { region: this.config.region },
241
- ...this.config.credentials && { credentials: this.config.credentials }
242
- });
243
- return this.apiGatewayClient;
244
- }
245
- /**
246
- * Convenience getter for API Gateway client
247
- */
248
- get apiGateway() {
249
- return this.getAPIGatewayClient();
250
- }
251
- /**
252
- * Get EventBridge client
253
- */
254
- getEventBridgeClient() {
255
- if (!this.eventBridgeClient) this.eventBridgeClient = new EventBridgeClient({
256
- ...this.config.region && { region: this.config.region },
257
- ...this.config.credentials && { credentials: this.config.credentials }
258
- });
259
- return this.eventBridgeClient;
260
- }
261
- /**
262
- * Convenience getter for EventBridge client
263
- */
264
- get eventBridge() {
265
- return this.getEventBridgeClient();
266
- }
267
- /**
268
- * Get Secrets Manager client
269
- */
270
- getSecretsManagerClient() {
271
- if (!this.secretsManagerClient) this.secretsManagerClient = new SecretsManagerClient({
272
- ...this.config.region && { region: this.config.region },
273
- ...this.config.credentials && { credentials: this.config.credentials }
274
- });
275
- return this.secretsManagerClient;
276
- }
277
- /**
278
- * Convenience getter for Secrets Manager client
279
- */
280
- get secretsManager() {
281
- return this.getSecretsManagerClient();
282
- }
283
- /**
284
- * Get SSM client
285
- */
286
- getSSMClient() {
287
- if (!this.ssmClient) this.ssmClient = new SSMClient({
288
- ...this.config.region && { region: this.config.region },
289
- ...this.config.credentials && { credentials: this.config.credentials }
290
- });
291
- return this.ssmClient;
292
- }
293
- /**
294
- * Convenience getter for SSM client
295
- */
296
- get ssm() {
297
- return this.getSSMClient();
298
- }
299
- /**
300
- * Get CloudFront client
301
- */
302
- getCloudFrontClient() {
303
- if (!this.cloudFrontClient) this.cloudFrontClient = new CloudFrontClient({
304
- ...this.config.region && { region: this.config.region },
305
- ...this.config.credentials && { credentials: this.config.credentials }
306
- });
307
- return this.cloudFrontClient;
308
- }
309
- /**
310
- * Convenience getter for CloudFront client
311
- */
312
- get cloudFront() {
313
- return this.getCloudFrontClient();
314
- }
315
- /**
316
- * Get ACM client
317
- *
318
- * ACM is region-scoped. The client uses the configured AWS region so the
319
- * deploy engine's per-stack region resolution carries through. CloudFront
320
- * users must place their certificate stack in `us-east-1`.
321
- */
322
- getACMClient() {
323
- if (!this.acmClient) this.acmClient = new ACMClient({
324
- ...this.config.region && { region: this.config.region },
325
- ...this.config.credentials && { credentials: this.config.credentials }
326
- });
327
- return this.acmClient;
328
- }
329
- /**
330
- * Convenience getter for ACM client
331
- */
332
- get acm() {
333
- return this.getACMClient();
334
- }
335
- /**
336
- * Get CloudWatch client
337
- */
338
- getCloudWatchClient() {
339
- if (!this.cloudWatchClient) this.cloudWatchClient = new CloudWatchClient({
340
- ...this.config.region && { region: this.config.region },
341
- ...this.config.credentials && { credentials: this.config.credentials }
342
- });
343
- return this.cloudWatchClient;
344
- }
345
- /**
346
- * Convenience getter for CloudWatch client
347
- */
348
- get cloudWatch() {
349
- return this.getCloudWatchClient();
350
- }
351
- /**
352
- * Get CloudWatch Logs client
353
- */
354
- getCloudWatchLogsClient() {
355
- if (!this.cloudWatchLogsClient) this.cloudWatchLogsClient = new CloudWatchLogsClient({
356
- ...this.config.region && { region: this.config.region },
357
- ...this.config.credentials && { credentials: this.config.credentials }
358
- });
359
- return this.cloudWatchLogsClient;
360
- }
361
- /**
362
- * Convenience getter for CloudWatch Logs client
363
- */
364
- get cloudWatchLogs() {
365
- return this.getCloudWatchLogsClient();
366
- }
367
- /**
368
- * Get BedrockAgentCoreControl client
369
- */
370
- getBedrockAgentCoreControlClient() {
371
- if (!this.bedrockAgentCoreControlClient) this.bedrockAgentCoreControlClient = new BedrockAgentCoreControlClient({
372
- ...this.config.region && { region: this.config.region },
373
- ...this.config.credentials && { credentials: this.config.credentials }
374
- });
375
- return this.bedrockAgentCoreControlClient;
376
- }
377
- /**
378
- * Convenience getter for BedrockAgentCoreControl client
379
- */
380
- get bedrockAgentCoreControl() {
381
- return this.getBedrockAgentCoreControlClient();
382
- }
383
- /**
384
- * Destroy all clients
385
- */
386
- destroy() {
387
- this.s3Client?.destroy();
388
- this.cloudControlClient?.destroy();
389
- this.iamClient?.destroy();
390
- this.sqsClient?.destroy();
391
- this.snsClient?.destroy();
392
- this.lambdaClient?.destroy();
393
- this.stsClient?.destroy();
394
- this.ec2Client?.destroy();
395
- this.dynamoDBClient?.destroy();
396
- this.cloudFormationClient?.destroy();
397
- this.apiGatewayClient?.destroy();
398
- this.eventBridgeClient?.destroy();
399
- this.secretsManagerClient?.destroy();
400
- this.ssmClient?.destroy();
401
- this.cloudFrontClient?.destroy();
402
- this.cloudWatchClient?.destroy();
403
- this.cloudWatchLogsClient?.destroy();
404
- this.bedrockAgentCoreControlClient?.destroy();
405
- this.acmClient?.destroy();
406
- }
407
- };
408
- /**
409
- * Global AWS clients instance
410
- */
411
- let globalClients = null;
412
- /**
413
- * Get or create global AWS clients
414
- */
415
- function getAwsClients(config) {
416
- if (!globalClients) globalClients = new AwsClients(config);
417
- return globalClients;
418
- }
419
- /**
420
- * Set global AWS clients instance
421
- */
422
- function setAwsClients(clients) {
423
- globalClients = clients;
424
- }
425
- /**
426
- * Reset global AWS clients (useful for testing)
427
- */
428
- function resetAwsClients() {
429
- globalClients?.destroy();
430
- globalClients = null;
431
- }
432
-
433
- //#endregion
434
- export { setAwsClients as a, resetAwsClients as i, aws_clients_exports as n, getAwsClients as r, AwsClients as t };
435
- //# sourceMappingURL=aws-clients-B15NAPbL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aws-clients-B15NAPbL.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';\nimport { ACMClient } from '@aws-sdk/client-acm';\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 acmClient?: ACMClient;\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 ACM client\n *\n * ACM is region-scoped. The client uses the configured AWS region so the\n * deploy engine's per-stack region resolution carries through. CloudFront\n * users must place their certificate stack in `us-east-1`.\n */\n getACMClient(): ACMClient {\n if (!this.acmClient) {\n this.acmClient = new ACMClient({\n ...(this.config.region && { region: this.config.region }),\n ...(this.config.credentials && { credentials: this.config.credentials }),\n });\n }\n return this.acmClient;\n }\n\n /**\n * Convenience getter for ACM client\n */\n get acm(): ACMClient {\n return this.getACMClient();\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 this.acmClient?.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":"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"}