diff --git a/package.json b/package.json index a4f3ab5..11c7089 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "@aws-sdk/client-cognito-identity": "^3.533.0", "@aws-sdk/client-iam": "^3.533.0", "@aws-sdk/client-sts": "^3.533.0", + "@aws-sdk/client-lambda": "^3.533.0", "@aws-sdk/credential-provider-cognito-identity": "^3.533.0", "@boilingdata/node-boilingdata": "^1.0.20", "amazon-cognito-identity-js": "^6.3.4", diff --git a/src/bdcli/commands/account/bdcli-account-register.ts b/src/bdcli/commands/account/bdcli-account-register.ts index 8995455..1f66a67 100644 --- a/src/bdcli/commands/account/bdcli-account-register.ts +++ b/src/bdcli/commands/account/bdcli-account-register.ts @@ -27,6 +27,7 @@ async function show(options: any, _command: cmd.Command): Promise { await registerToBoilingData(region, environment, email, password, logger); } if (!(await hasValidConfig())) return spinnerError("No valid config, was registration successful?"); + updateSpinnerText("Registering to BoilingData. Check your email for confirmation code and use --confirm ."); spinnerSuccess(); } catch (err: any) { spinnerError(err?.message); diff --git a/src/bdcli/commands/api/bdcli-api-query.ts b/src/bdcli/commands/api/bdcli-api-query.ts index 4481c5e..9a627ca 100644 --- a/src/bdcli/commands/api/bdcli-api-query.ts +++ b/src/bdcli/commands/api/bdcli-api-query.ts @@ -20,7 +20,8 @@ async function query(options: any, _command: cmd.Command): Promise { spinnerSuccess(); updateSpinnerText("Sending Query to Boiling API"); - const results = await runBoilingQuery(options.sql, token, region, logger); + const spinnerText = "Query run through Boiling API"; + const results = await runBoilingQuery(options.sql, token, region, logger, spinnerText); spinnerSuccess(); await outputResults(results, options.disableSpinner); } catch (err: any) { diff --git a/src/bdcli/commands/aws/bdcli-aws-lambda-layers.ts b/src/bdcli/commands/aws/bdcli-aws-lambda-layers.ts new file mode 100644 index 0000000..daea1ba --- /dev/null +++ b/src/bdcli/commands/aws/bdcli-aws-lambda-layers.ts @@ -0,0 +1,71 @@ +import * as cmd from "commander"; +import * as sts from "@aws-sdk/client-sts"; +import { ELogLevel, getLogger } from "../../utils/logger_util.js"; +import { spinnerError, spinnerSuccess, spinnerWarn, updateSpinnerText } from "../../utils/spinner_util.js"; +import { addGlobalOptions } from "../../utils/options_util.js"; +import { getIdToken } from "../../utils/auth_util.js"; +import { combineOptsWithSettings } from "../../utils/config_util.js"; +import { BDAccount } from "../../../integration/boilingdata/account.js"; +import { BoilingLambdaFunctions, ILambdaLayerOpts } from "../../../integration/bdLambdas.js"; +import { LambdaClient } from "@aws-sdk/client-lambda"; + +const logger = getLogger("bdcli-aws-lambda-layers"); +logger.setLogLevel(ELogLevel.WARN); + +async function lambdalayers(options: any, _command: cmd.Command): Promise { + try { + options = await combineOptsWithSettings(options, logger); + + if (!options.remove && !options.upgrade) { + spinnerWarn("Please specify either --remove or --upgrade"); + return; + } + if (options.remove && (options.denyCwLogs || options.removeCwLogs)) { + spinnerWarn("Can not use --deny-cw-logs or --remove-cw-logs when removing layer"); + return; + } + + updateSpinnerText("Authenticating"); + const { idToken: token, cached, region } = await getIdToken(logger); + updateSpinnerText(cached ? "Authenticating: cached" : "Authenticating: success"); + spinnerSuccess(); + + updateSpinnerText(`NOT_IMPLEMENTED_YET: ${options.remove ? "Removing" : "Upgrading"} BoilingData AWS Lambda Layer`); + if (!region) throw new Error("Pass --region parameter or set AWS_REGION env"); + const bdAccount = new BDAccount({ logger, authToken: token }); + const stsClient = new sts.STSClient({ region }); + const lambdaClient = new LambdaClient({ region }); + const bdLambdas = new BoilingLambdaFunctions({ logger, bdAccount, stsClient, lambdaClient }); + const opts: ILambdaLayerOpts = { prefix: options.functionPrefix }; + if (options.remove) await bdLambdas.removeLambdaLayers(opts); + else if (options.upgrade) await bdLambdas.upgradeLambdaLayers(opts); + spinnerSuccess(); + + if (options.upgrade && options.denyCwLogs) { + updateSpinnerText("NOT_IMPLEMENTED_YET: Denying AWS Lambda CW logging."); + await bdLambdas.denyCWLogging(opts); + spinnerSuccess(); + } + if (options.upgrade && options.removeCwLogs) { + updateSpinnerText("NOT_IMPLEMENTED_YET: Removing respective AWS Lambda CW log groups."); + await bdLambdas.removeCWLogs(opts); + spinnerSuccess(); + } + } catch (err: any) { + spinnerError(err?.message); + } +} + +const program = new cmd.Command("bdcli aws taps-iam") + .addOption(new cmd.Option("-r, --region ", "AWS region")) + .addOption(new cmd.Option("-p, --function-prefix ", "AWS Lambda function name prefix").makeOptionMandatory()) + .addOption(new cmd.Option("--upgrade", "Add/Upgrade the layer if not latest")) + .addOption(new cmd.Option("--remove", "Remove the layer")) + .addOption(new cmd.Option("--deny-cw-logs", "Update the AWS Lambda IAM Role default policy to deny CW Logs")) + .addOption(new cmd.Option("--remove-cw-logs", "After succesull layer setup, remove AWS Lambda CW Logs")) + .action(async (options, command) => await lambdalayers(options, command)); + +(async () => { + await addGlobalOptions(program, logger); + await program.parseAsync(process.argv); +})(); diff --git a/src/bdcli/commands/aws/bdcli-aws-s3-iam.ts b/src/bdcli/commands/aws/bdcli-aws-s3-iam.ts index 52f9629..0e77fa5 100644 --- a/src/bdcli/commands/aws/bdcli-aws-s3-iam.ts +++ b/src/bdcli/commands/aws/bdcli-aws-s3-iam.ts @@ -45,7 +45,7 @@ async function iamrole(options: any, _command: cmd.Command): Promise { assumeAwsAccount: await bdAccount.getAssumeAwsAccount(), assumeCondExternalId: await bdAccount.getExtId(), }); - const bdIntegration = new BDIntegration({ logger, bdAccount, bdRole, bdDataSources, stsClient }); + const bdIntegration = new BDIntegration({ logger, bdAccount, bdDataSources, stsClient }); const policyDocument = await bdIntegration.getS3PolicyDocument(); const iamRoleArn = await bdRole.upsertRole(JSON.stringify(policyDocument)); updateSpinnerText(`Creating S3 IAM Role: ${iamRoleArn}`); diff --git a/src/bdcli/commands/aws/bdcli-aws-taps-iam.ts b/src/bdcli/commands/aws/bdcli-aws-taps-iam.ts index 5988d25..4f24e27 100644 --- a/src/bdcli/commands/aws/bdcli-aws-taps-iam.ts +++ b/src/bdcli/commands/aws/bdcli-aws-taps-iam.ts @@ -42,7 +42,7 @@ async function iamrole(options: any, _command: cmd.Command): Promise { assumeAwsAccount: await bdAccount.getAssumeAwsAccount(), assumeCondExternalId: await bdAccount.getExtId(), }); - const bdIntegration = new BDIntegration({ logger, bdAccount, bdRole, stsClient }); + const bdIntegration = new BDIntegration({ logger, bdAccount, stsClient }); const policyDocument = await bdIntegration.getTapsPolicyDocument(); const iamRoleArn = await bdRole.upsertRole(JSON.stringify(policyDocument)); updateSpinnerText(`Creating TAPS IAM Role: ${iamRoleArn}`); diff --git a/src/bdcli/commands/bdcli-aws.ts b/src/bdcli/commands/bdcli-aws.ts index 1edef2a..7b036a2 100644 --- a/src/bdcli/commands/bdcli-aws.ts +++ b/src/bdcli/commands/bdcli-aws.ts @@ -3,6 +3,7 @@ import { Command } from "commander"; const program = new Command("bdcli aws") .executableDir("aws") .command("s3-iam", "Setup IAM Role into your AWS account for accessing S3") - .command("taps-iam", "Setup deployer and service IAM Roles into your AWS account for creating and running Data Taps"); + .command("taps-iam", "Setup deployer and service IAM Roles into your AWS account for creating and running Data Taps") + .command("lambda-layers", "Maintain BoilingData AWS Lambda Layer for your Lambda functions"); program.parse(process.argv); diff --git a/src/bdcli/commands/domain/bdcli-domain-setup.ts b/src/bdcli/commands/domain/bdcli-domain-setup.ts index 78386fa..83a9d54 100644 --- a/src/bdcli/commands/domain/bdcli-domain-setup.ts +++ b/src/bdcli/commands/domain/bdcli-domain-setup.ts @@ -1,14 +1,8 @@ -import * as iam from "@aws-sdk/client-iam"; -import * as sts from "@aws-sdk/client-sts"; import * as cmd from "commander"; import { ELogLevel, getLogger } from "../../utils/logger_util.js"; import { spinnerError, spinnerSuccess, spinnerWarn, updateSpinnerText } from "../../utils/spinner_util.js"; import { addGlobalOptions } from "../../utils/options_util.js"; import { authSpinnerWithConfigCheck, getIdToken } from "../../utils/auth_util.js"; -import { BDIamRole } from "../../../integration/aws/iam_role.js"; -import { BDAccount } from "../../../integration/boilingdata/account.js"; -import { BDDataSourceConfig } from "../../../integration/boilingdata/dataset.js"; -import { BDIntegration } from "../../../integration/bdIntegration.js"; import { combineOptsWithSettings } from "../../utils/config_util.js"; const logger = getLogger("bdcli-domain"); @@ -25,36 +19,13 @@ async function iamrole(options: any, _command: cmd.Command): Promise { } if (!authSpinnerWithConfigCheck()) return; - const { idToken: token, cached, region } = await getIdToken(logger); + const { cached, region } = await getIdToken(logger); + if (!region) throw new Error("Pass --region parameter or set AWS_REGION env"); updateSpinnerText(cached ? "Authenticating: cached" : "Authenticating: success"); spinnerSuccess(); - updateSpinnerText("Creating IAM Role"); - if (!region) throw new Error("Pass --region parameter or set AWS_REGION env"); - const bdAccount = new BDAccount({ logger, authToken: token }); - const bdDataSources = new BDDataSourceConfig({ logger }); - await bdDataSources.readConfig(options.config); - const stsClient = new sts.STSClient({ region }); - const bdRole = new BDIamRole({ - ...options, - logger, - iamClient: new iam.IAMClient({ region }), - stsClient: new sts.STSClient({ region }), - assumeAwsAccount: await bdAccount.getAssumeAwsAccount(), - assumeCondExternalId: await bdAccount.getExtId(), - }); - const bdIntegration = new BDIntegration({ logger, bdAccount, bdRole, bdDataSources, stsClient }); - const policyDocument = await bdIntegration.getS3PolicyDocument(); - const iamRoleArn = await bdRole.upsertRole(JSON.stringify(policyDocument)); - updateSpinnerText(`Creating IAM Role: ${iamRoleArn}`); + updateSpinnerText("TODO: Manage domain"); spinnerSuccess(); - - if (!options.createRoleOnly) { - updateSpinnerText(`Registering IAM Role: ${iamRoleArn}`); - const datasourcesConfig = bdDataSources.getDatasourcesConfig(); - await bdAccount.setS3IamRoleWithPayload(iamRoleArn, { datasourcesConfig }); - spinnerSuccess(); - } } catch (err: any) { spinnerError(err?.message); } diff --git a/src/bdcli/commands/sandbox/bdcli-sandbox-create-role.ts b/src/bdcli/commands/sandbox/bdcli-sandbox-create-role.ts index 62cd301..96582eb 100644 --- a/src/bdcli/commands/sandbox/bdcli-sandbox-create-role.ts +++ b/src/bdcli/commands/sandbox/bdcli-sandbox-create-role.ts @@ -46,7 +46,7 @@ async function show(options: any, _command: cmd.Command): Promise { assumeAwsAccount: await bdAccount.getAssumeAwsAccount(), assumeCondExternalId: await bdAccount.getExtId(), }); - const bdIntegration = new BDIntegration({ logger, bdAccount, bdRole, bdDataSources, stsClient }); + const bdIntegration = new BDIntegration({ logger, bdAccount, bdDataSources, stsClient }); const policyDocument = await bdIntegration.getS3PolicyDocument(options.listBucketsPermission); if (options.dryRun) { updateSpinnerText(`Creating IAM Role (dry-run)`); diff --git a/src/integration/aws/lambda.ts b/src/integration/aws/lambda.ts new file mode 100644 index 0000000..54cba98 --- /dev/null +++ b/src/integration/aws/lambda.ts @@ -0,0 +1,23 @@ +import { + FunctionConfiguration, + LambdaClient, + ListFunctionsCommand, + ListFunctionsCommandOutput, +} from "@aws-sdk/client-lambda"; +import { ILogger } from "../../bdcli/utils/logger_util.js"; + +export async function getAllLambdaFunctions( + lambdaClient: LambdaClient, + logger?: ILogger, +): Promise { + let Marker; + const funcs: FunctionConfiguration[] = []; + do { + const res: ListFunctionsCommandOutput = await lambdaClient.send(new ListFunctionsCommand({ Marker })); + logger?.debug(res?.NextMarker); + logger?.debug(res?.Functions?.length); + Marker = res?.NextMarker; + if (Array.isArray(res.Functions)) funcs.push(...res.Functions); + } while (Marker); + return funcs; +} diff --git a/src/integration/bdIntegration.test.ts b/src/integration/bdIntegration.test.ts index acf00f8..6e88b36 100644 --- a/src/integration/bdIntegration.test.ts +++ b/src/integration/bdIntegration.test.ts @@ -1,6 +1,5 @@ import { getIdToken } from "../bdcli/utils/auth_util.js"; import { ELogLevel, getLogger } from "../bdcli/utils/logger_util.js"; -import { BDIamRole, ERoleType } from "./aws/iam_role.js"; import { BDIntegration } from "./bdIntegration.js"; import { BDAccount } from "./boilingdata/account.js"; import { BDDataSourceConfig } from "./boilingdata/dataset.js"; @@ -14,15 +13,12 @@ iamMock.resolves({}); const accountLogger = getLogger("bd-account"); const dssLogger = getLogger("bd-datasets"); -const roleLogger = getLogger("bd-role"); const accessLogger = getLogger("bd-access"); accountLogger.setLogLevel(ELogLevel.DEBUG); // dssLogger.setLogLevel(ELogLevel.DEBUG); -// roleLogger.setLogLevel(ELogLevel.DEBUG); accessLogger.setLogLevel(ELogLevel.DEBUG); const region = "eu-west-1"; -const iamClient = new IAMClient({ region }); const stsClient = new STSClient({ region }); const bdDataSets = new BDDataSourceConfig({ logger: dssLogger }); let bdAccount: BDAccount; @@ -35,24 +31,10 @@ describe("BDIntegration", () => { it.skip("getGroupedBuckets", async () => { bdDataSets.readConfig("./example_datasource_config.yaml"); - const assumeCondExternalId = await bdAccount.getExtId(); // FIXME: This calls real API - const assumeAwsAccount = await bdAccount.getAssumeAwsAccount(); - const username = await bdAccount.getUsername(); - const bdRole = new BDIamRole({ - logger: roleLogger, - region, - roleType: ERoleType.S3, - iamClient, - stsClient, - username, - assumeAwsAccount, - assumeCondExternalId, - }); const bdIntegration = new BDIntegration({ logger: accessLogger, bdAccount, bdDataSources: bdDataSets, - bdRole, stsClient, }); stsMock.on(GetCallerIdentityCommand).resolves({ Account: "123123123123" }); @@ -88,24 +70,10 @@ describe("BDIntegration", () => { it.skip("PolicyDocument", async () => { bdDataSets.readConfig("./example_datasource_config.yaml"); - const assumeCondExternalId = await bdAccount.getExtId(); // FIXME: This calls real API - const assumeAwsAccount = await bdAccount.getAssumeAwsAccount(); - const username = await bdAccount.getUsername(); - const bdRole = new BDIamRole({ - logger: roleLogger, - region, - roleType: ERoleType.S3, - iamClient, - stsClient, - username, - assumeAwsAccount, - assumeCondExternalId, - }); const bdIntegration = new BDIntegration({ logger: accessLogger, bdAccount, bdDataSources: bdDataSets, - bdRole, stsClient, }); stsMock.on(GetCallerIdentityCommand).resolves({ Account: "123123123123" }); diff --git a/src/integration/bdIntegration.ts b/src/integration/bdIntegration.ts index e244cff..404f953 100644 --- a/src/integration/bdIntegration.ts +++ b/src/integration/bdIntegration.ts @@ -1,6 +1,5 @@ import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts"; import { ILogger } from "../bdcli/utils/logger_util.js"; -import { BDIamRole } from "./aws/iam_role.js"; import { BDAccount } from "./boilingdata/account.js"; import { GRANT_PERMISSION, IStatement, IStatementExt } from "./boilingdata/dataset.interface.js"; import { BDDataSourceConfig } from "./boilingdata/dataset.js"; @@ -19,7 +18,6 @@ export interface IBDIntegration { logger: ILogger; stsClient: STSClient; bdAccount: BDAccount; - bdRole: BDIamRole; bdDataSources?: BDDataSourceConfig; } diff --git a/src/integration/bdLambdas.ts b/src/integration/bdLambdas.ts new file mode 100644 index 0000000..bc3b38a --- /dev/null +++ b/src/integration/bdLambdas.ts @@ -0,0 +1,67 @@ +import { FunctionConfiguration, LambdaClient } from "@aws-sdk/client-lambda"; +import { ILogger } from "../bdcli/utils/logger_util.js"; +import { BDAccount } from "./boilingdata/account.js"; +import { STSClient } from "@aws-sdk/client-sts"; +import { getAllLambdaFunctions } from "./aws/lambda.js"; + +export interface ILambdaLayerOpts { + prefix: string; // Lambda Function name prefix +} + +export interface IBoilingLambdaFunctions { + logger: ILogger; + lambdaClient: LambdaClient; + bdAccount?: BDAccount; + stsClient?: STSClient; +} + +export class BoilingLambdaFunctions { + private logger: ILogger; + private lambda: LambdaClient; + // private bdAccount: BDAccount; + // private stsClient: STSClient; + private allLambdas: FunctionConfiguration[] = []; + private boilingLambdas: string[] = []; + private boilingLambdasCachedPrefix = ""; + + constructor(private params: IBoilingLambdaFunctions) { + this.logger = this.params.logger; + this.logger.debug(params); + this.lambda = this.params.lambdaClient; + // this.bdAccount = this.params.bdAccount; + // this.stsClient = this.params.stsClient; + } + + private async populateLambdaFunctionsCache(prefix: string): Promise { + this.logger.debug(prefix); + if ( + (this.boilingLambdasCachedPrefix === "" || this.boilingLambdasCachedPrefix != prefix) && + Array.isArray(this.allLambdas) && + this.allLambdas.length <= 0 + ) { + this.allLambdas = await getAllLambdaFunctions(this.lambda, this.logger); + } + this.boilingLambdas = this.allLambdas + .filter(f => f.FunctionName?.startsWith(prefix)) + .map(f => f.FunctionName) + .filter(f => !!f); + this.boilingLambdasCachedPrefix = prefix; + this.logger.debug(this.boilingLambdas); + } + + public async removeLambdaLayers(opts: ILambdaLayerOpts): Promise { + await this.populateLambdaFunctionsCache(opts.prefix); + } + + public async upgradeLambdaLayers(opts: ILambdaLayerOpts): Promise { + await this.populateLambdaFunctionsCache(opts.prefix); + } + + public async denyCWLogging(opts: ILambdaLayerOpts): Promise { + this.logger.debug(opts); + } + + public async removeCWLogs(opts: ILambdaLayerOpts): Promise { + await this.populateLambdaFunctionsCache(opts.prefix); + } +} diff --git a/src/integration/boilingdata/query.ts b/src/integration/boilingdata/query.ts index a18127c..bd0d4b8 100644 --- a/src/integration/boilingdata/query.ts +++ b/src/integration/boilingdata/query.ts @@ -1,8 +1,15 @@ import { BoilingData } from "@boilingdata/node-boilingdata"; import { ILogger } from "../../bdcli/utils/logger_util.js"; import { BDAWSRegion } from "@boilingdata/node-boilingdata/dist/cjs/boilingdata/boilingdata.js"; +import { updateSpinnerText } from "../../bdcli/utils/spinner_util.js"; -export async function runBoilingQuery(sql: string, idToken: string, region: string, logger: ILogger): Promise { +export async function runBoilingQuery( + sql: string, + idToken: string, + region: string, + logger: ILogger, + spinnerText?: string, +): Promise { try { logger.debug({ sql, idToken, region }); const bdInstance = new BoilingData({ @@ -17,7 +24,8 @@ export async function runBoilingQuery(sql: string, idToken: string, region: stri const stop = Date.now(); const parsedRows = JSON.parse(JSON.stringify(rows)); logger.debug(JSON.parse(JSON.stringify(rows))); - logger.debug("Query time measured e2e (ms):", stop - start); + logger.debug(`Query time measured e2e: ${stop - start}ms`); + if (spinnerText) updateSpinnerText(`${spinnerText}: ${stop - start}ms`); await bdInstance.close(); return parsedRows; } catch (err) { diff --git a/yarn.lock b/yarn.lock index faa37d5..7ff508f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -359,6 +359,58 @@ "@smithy/util-waiter" "^2.1.4" tslib "^2.5.0" +"@aws-sdk/client-lambda@^3.533.0": + version "3.574.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.574.0.tgz#3cdd2be87fdb415f3793d371884c481cc1a6da0b" + integrity sha512-l0+v9FxV9RAtN6vGfCRV6uq2dw46DN8hYudg/9sffPw5wPawfwGfg3iwxCp18lYn6Hddn5HEzaBVZW+fvDBcuw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sso-oidc" "3.574.0" + "@aws-sdk/client-sts" "3.574.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/eventstream-serde-browser" "^2.2.0" + "@smithy/eventstream-serde-config-resolver" "^2.2.0" + "@smithy/eventstream-serde-node" "^2.2.0" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-stream" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + "@smithy/util-waiter" "^2.2.0" + tslib "^2.6.2" + "@aws-sdk/client-sso-oidc@3.533.0": version "3.533.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.533.0.tgz#a4a3ad2c50a8852119c28b7dc5aa43b6aac9570f" @@ -449,6 +501,52 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" +"@aws-sdk/client-sso-oidc@3.574.0": + version "3.574.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.574.0.tgz#f4bc74ab213cf461e56d60b19d80829396f36083" + integrity sha512-WcR8AnFhx7bqhYwfSl3OrF0Pu0LfHGgSOnmmORHqRF7ykguE09M/WUlCCjTGmZjJZ1we3uF5Xg8Jg12eiD+bmw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.574.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/client-sso@3.533.0": version "3.533.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.533.0.tgz#ff0fd1631ed26d577e4ba28601699131d3c285e0" @@ -537,6 +635,50 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" +"@aws-sdk/client-sso@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.572.0.tgz#d686db985b4c430dbfa6854c8fa1c17de2c3d7ac" + integrity sha512-S+xhScao5MD79AkrcHmFpEDk+CgoiuB/31WFcTcnrTio5TOUONAaT0QyscOIwRp7BZ7Aez7TBM+loTteJ+TQvg== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/client-sts@3.533.0", "@aws-sdk/client-sts@^3.533.0": version "3.533.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.533.0.tgz#a792fc321509dee0b104a3470653663315068bce" @@ -625,6 +767,52 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" +"@aws-sdk/client-sts@3.574.0": + version "3.574.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.574.0.tgz#3f1d52886e9f9f7cf5a2a0faeff558a64d95c0f3" + integrity sha512-WNDSG9nipap/L1gGDkCQvU2u413HmVxMJKr41lBCibioz42Z4i6XkCr1etYwIjuVfGF6QPrsEsYLqRwlAC/BQg== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sso-oidc" "3.574.0" + "@aws-sdk/core" "3.572.0" + "@aws-sdk/credential-provider-node" "3.572.0" + "@aws-sdk/middleware-host-header" "3.567.0" + "@aws-sdk/middleware-logger" "3.568.0" + "@aws-sdk/middleware-recursion-detection" "3.567.0" + "@aws-sdk/middleware-user-agent" "3.572.0" + "@aws-sdk/region-config-resolver" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@aws-sdk/util-user-agent-browser" "3.567.0" + "@aws-sdk/util-user-agent-node" "3.568.0" + "@smithy/config-resolver" "^2.2.0" + "@smithy/core" "^1.4.2" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/hash-node" "^2.2.0" + "@smithy/invalid-dependency" "^2.2.0" + "@smithy/middleware-content-length" "^2.2.0" + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-base64" "^2.3.0" + "@smithy/util-body-length-browser" "^2.2.0" + "@smithy/util-body-length-node" "^2.3.0" + "@smithy/util-defaults-mode-browser" "^2.2.1" + "@smithy/util-defaults-mode-node" "^2.3.1" + "@smithy/util-endpoints" "^1.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@aws-sdk/config-resolver@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz#3bcc5e6a0ebeedf0981b0540e1f18a72b4dafebf" @@ -660,6 +848,19 @@ fast-xml-parser "4.2.5" tslib "^2.6.2" +"@aws-sdk/core@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.572.0.tgz#875cbd9e2ca6b78a3c2663cf67aed24e6b143667" + integrity sha512-DBmf94qfN0dfaLl5EnNcq6TakWfOtVXYifHoTbX+VBwESj3rlY4W+W4mAnvBgAqDjlLFy7bBljmx+vnjnV73lg== + dependencies: + "@smithy/core" "^1.4.2" + "@smithy/protocol-http" "^3.3.0" + "@smithy/signature-v4" "^2.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + fast-xml-parser "4.2.5" + tslib "^2.6.2" + "@aws-sdk/credential-provider-cognito-identity@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.6.1.tgz#df928951612a34832c2df15fb899251d828c2df3" @@ -712,6 +913,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-env@3.568.0": + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.568.0.tgz#fc7fda0bc48bbc75065a9084e41d429037e0e1c5" + integrity sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-env@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz#d8b2dd36836432a9b8ec05a5cf9fe428b04c9964" @@ -751,6 +962,21 @@ "@smithy/util-stream" "^2.2.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-http@3.568.0": + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.568.0.tgz#7f7239bed7c23db7356ebeae5f3b3bda9f751b08" + integrity sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/fetch-http-handler" "^2.5.0" + "@smithy/node-http-handler" "^2.5.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/util-stream" "^2.2.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-imds@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz#b5a8b8ef15eac26c58e469451a6c7c34ab3ca875" @@ -794,6 +1020,22 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.572.0.tgz#b6a447e85a10938a1f038bd7e1096c73229e6699" + integrity sha512-05KzbAp77fEiQXqMeodXeMbT83FOqSyBrfSEMz6U8uBXeJCy8zPUjN3acqcbG55/HNJHUvg1cftqzy+fUz71gA== + dependencies: + "@aws-sdk/credential-provider-env" "3.568.0" + "@aws-sdk/credential-provider-process" "3.572.0" + "@aws-sdk/credential-provider-sso" "3.572.0" + "@aws-sdk/credential-provider-web-identity" "3.568.0" + "@aws-sdk/types" "3.567.0" + "@smithy/credential-provider-imds" "^2.3.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-ini@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz#0da6d9341e621f8e0815814ed017b88e268fbc3d" @@ -840,6 +1082,24 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-node@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.572.0.tgz#dbb1d26a8a2c18c52f8067f6c6371ee850c1fb05" + integrity sha512-anlYZnpmVkfp9Gan+LcEkQvmRf/m0KcbR11th8sBEyI5lxMaHKXhnAtC/hEGT7e3L6rgNOrFYTPuSvllITD/Pg== + dependencies: + "@aws-sdk/credential-provider-env" "3.568.0" + "@aws-sdk/credential-provider-http" "3.568.0" + "@aws-sdk/credential-provider-ini" "3.572.0" + "@aws-sdk/credential-provider-process" "3.572.0" + "@aws-sdk/credential-provider-sso" "3.572.0" + "@aws-sdk/credential-provider-web-identity" "3.568.0" + "@aws-sdk/types" "3.567.0" + "@smithy/credential-provider-imds" "^2.3.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz#0055292a4f0f49d053e8dfcc9174d8d2cf6862bb" @@ -876,6 +1136,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-process@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.572.0.tgz#6054c37721d44b3e855b41f4ad8e3dd73f84e6cf" + integrity sha512-hXcOytf0BadSm/MMy7MV8mmY0+Jv3mkavsHNBx0R82hw5ollD0I3JyOAaCtdUpztF0I72F8K+q8SpJQZ+EwArw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-process@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz#5bf851f3ee232c565b8c82608926df0ad28c1958" @@ -913,6 +1184,19 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.572.0.tgz#d0fe8122538fc498e9d4f797dfe99eed5bfc7443" + integrity sha512-iIlnpJiDXFp3XC4hJNSiNurnU24mr3iLB3HoNa9efr944bo6XBl9FQdk3NssIkqzSmgyoB2CEUx/daBHz4XSow== + dependencies: + "@aws-sdk/client-sso" "3.572.0" + "@aws-sdk/token-providers" "3.572.0" + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/credential-provider-web-identity@3.533.0": version "3.533.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.533.0.tgz#f7c8c27e07d881ac9b702f14bad0849ba9f9e184" @@ -935,6 +1219,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-web-identity@3.568.0": + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.568.0.tgz#b4e7958dc92a6cbbf5e9fd065cecd76573d4b70f" + integrity sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/fetch-http-handler@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz#c5fb4a4ee158161fca52b220d2c11dddcda9b092" @@ -999,6 +1293,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-host-header@3.567.0": + version "3.567.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.567.0.tgz#52f278234458ec3035e9534fee582c95a8fec4f7" + integrity sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-host-header@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz#6e1b4b95c5bfea5a4416fa32f11d8fa2e6edaeff" @@ -1026,6 +1330,15 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-logger@3.568.0": + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.568.0.tgz#aeb85cc8f7da431442d0f5914f3a3e262eb55a09" + integrity sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-logger@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz#78b3732cf188d5e4df13488db6418f7f98a77d6d" @@ -1054,6 +1367,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-recursion-detection@3.567.0": + version "3.567.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.567.0.tgz#95d91f071b57fb5245d522db70df1652275f06ac" + integrity sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-retry@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz#202aadb1a3bf0e1ceabcd8319a5fa308b32db247" @@ -1113,6 +1436,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/middleware-user-agent@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.572.0.tgz#e629083356e3ea1303544240be82e2784d768984" + integrity sha512-R4bBbLp1ywtF1kJoOX1juDMztKPWeQHNj6XuTvtruFDn1RdfnBlbM3+9rguRfH5s4V+xfl8SSWchnyo2cI00xg== + dependencies: + "@aws-sdk/types" "3.567.0" + "@aws-sdk/util-endpoints" "3.572.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/middleware-user-agent@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz#6845dfb3bc6187897f348c2c87dec833e6a65c99" @@ -1208,6 +1542,18 @@ "@smithy/util-middleware" "^2.2.0" tslib "^2.6.2" +"@aws-sdk/region-config-resolver@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.572.0.tgz#51a4485bf1b1c3a154fe96e8b9fc0a1e80240fef" + integrity sha512-xkZMIxek44F4YW5r9otD1O5Y/kDkgAb6JNJePkP1qPVojrkCmin3OFYAOZgGm+T4DZAQ5rWhpaqTAWmnRumYfw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/types" "^2.12.0" + "@smithy/util-config-provider" "^2.3.0" + "@smithy/util-middleware" "^2.2.0" + tslib "^2.6.2" + "@aws-sdk/service-error-classification@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz#296fe62ac61338341e8a009c9a2dab013a791903" @@ -1272,6 +1618,17 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/token-providers@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.572.0.tgz#b63ef02f1700057e9f4532365cd098699b0f8328" + integrity sha512-IkSu8p32tQZhKqwmfLZLGfYwNhsS/HUQBLnDMHJlr9VifmDqlTurcr+DwMCaMimuFhcLeb45vqTymKf/ro/OBw== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/types@3.533.0": version "3.533.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.533.0.tgz#4c4ade8f41f153295c69f1dea812dcd6154613e3" @@ -1288,6 +1645,14 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/types@3.567.0": + version "3.567.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.567.0.tgz#b2dc88e154140b1ff87e94f63c97447bdb1c1738" + integrity sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A== + dependencies: + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/types@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.6.1.tgz#00686db69e998b521fcd4a5f81ef0960980f80c4" @@ -1382,6 +1747,16 @@ "@smithy/util-endpoints" "^1.2.0" tslib "^2.6.2" +"@aws-sdk/util-endpoints@3.572.0": + version "3.572.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.572.0.tgz#41a42cbeb6744f5cf0b983c1b9dd958cb0bd66e0" + integrity sha512-AIEC7ItIWBqkJLtqcSd0HG8tvdh3zVwqnKPHNrcfFay0Xonqx3p/qTCDwGosh5CM5hDGzyOSRA5PkacEDBTz9w== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + "@smithy/util-endpoints" "^1.2.0" + tslib "^2.6.2" + "@aws-sdk/util-hex-encoding@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz#84954fcc47b74ffbd2911ba5113e93bd9b1c6510" @@ -1423,6 +1798,16 @@ bowser "^2.11.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-browser@3.567.0": + version "3.567.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.567.0.tgz#1ef37a87b28155274d62e31c1ac5c1c043dcd0b3" + integrity sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/types" "^2.12.0" + bowser "^2.11.0" + tslib "^2.6.2" + "@aws-sdk/util-user-agent-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz#11b9cc8743392761adb304460f4b54ec8acc2ee6" @@ -1452,6 +1837,16 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-node@3.568.0": + version "3.568.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.568.0.tgz#8bfb81b23d4947462f1e49c70187b85e7cd3837a" + integrity sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A== + dependencies: + "@aws-sdk/types" "3.567.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@aws-sdk/util-user-agent-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz#98384095fa67d098ae7dd26f3ccaad028e8aebb6" @@ -2322,6 +2717,20 @@ "@smithy/util-middleware" "^2.2.0" tslib "^2.6.2" +"@smithy/core@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.4.2.tgz#1c3ed886d403041ce5bd2d816448420c57baa19c" + integrity sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA== + dependencies: + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-retry" "^2.3.1" + "@smithy/middleware-serde" "^2.3.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/util-middleware" "^2.2.0" + tslib "^2.6.2" + "@smithy/credential-provider-imds@^2.2.6", "@smithy/credential-provider-imds@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz#326ce401b82e53f3c7ee4862a066136959a06166" @@ -2353,6 +2762,41 @@ "@smithy/util-hex-encoding" "^2.2.0" tslib "^2.6.2" +"@smithy/eventstream-serde-browser@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.2.0.tgz#69c93cc0210f04caeb0770856ef88c9a82564e11" + integrity sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== + dependencies: + "@smithy/eventstream-serde-universal" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-config-resolver@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.2.0.tgz#23c8698ce594a128bcc556153efb7fecf6d04f87" + integrity sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== + dependencies: + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-node@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.2.0.tgz#b82870a838b1bd32ad6e0cf33a520191a325508e" + integrity sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== + dependencies: + "@smithy/eventstream-serde-universal" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-universal@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.2.0.tgz#a75e330040d5e2ca2ac0d8bccde3e390ac5afd38" + integrity sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== + dependencies: + "@smithy/eventstream-codec" "^2.2.0" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@smithy/fetch-http-handler@^2.4.5", "@smithy/fetch-http-handler@^2.5.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz#0b8e1562807fdf91fe7dd5cde620d7a03ddc10ac" @@ -2418,6 +2862,19 @@ "@smithy/util-middleware" "^2.2.0" tslib "^2.6.2" +"@smithy/middleware-endpoint@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.1.tgz#1333c58304aff4d843e8ef4b85c8cb88975dd5ad" + integrity sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ== + dependencies: + "@smithy/middleware-serde" "^2.3.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/shared-ini-file-loader" "^2.4.0" + "@smithy/types" "^2.12.0" + "@smithy/url-parser" "^2.2.0" + "@smithy/util-middleware" "^2.2.0" + tslib "^2.6.2" + "@smithy/middleware-retry@^2.1.7", "@smithy/middleware-retry@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.2.0.tgz#ff48ac01ad57394eeea15a0146a86079cf6364b7" @@ -2433,6 +2890,21 @@ tslib "^2.6.2" uuid "^8.3.2" +"@smithy/middleware-retry@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.3.1.tgz#d6fdce94f2f826642c01b4448e97a509c4556ede" + integrity sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA== + dependencies: + "@smithy/node-config-provider" "^2.3.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/service-error-classification" "^2.1.5" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-retry" "^2.2.0" + tslib "^2.6.2" + uuid "^9.0.1" + "@smithy/middleware-serde@^2.2.1", "@smithy/middleware-serde@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz#a7615ba646a88b6f695f2d55de13d8158181dd13" @@ -2554,6 +3026,19 @@ "@smithy/util-utf8" "^2.3.0" tslib "^2.6.2" +"@smithy/signature-v4@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.3.0.tgz#c30dd4028ae50c607db99459981cce8cdab7a3fd" + integrity sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q== + dependencies: + "@smithy/is-array-buffer" "^2.2.0" + "@smithy/types" "^2.12.0" + "@smithy/util-hex-encoding" "^2.2.0" + "@smithy/util-middleware" "^2.2.0" + "@smithy/util-uri-escape" "^2.2.0" + "@smithy/util-utf8" "^2.3.0" + tslib "^2.6.2" + "@smithy/smithy-client@^2.4.5", "@smithy/smithy-client@^2.5.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.5.0.tgz#8de4fff221d232dda34a8e706d6a4f2911dffe2e" @@ -2566,6 +3051,18 @@ "@smithy/util-stream" "^2.2.0" tslib "^2.6.2" +"@smithy/smithy-client@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.5.1.tgz#0fd2efff09dc65500d260e590f7541f8a387eae3" + integrity sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ== + dependencies: + "@smithy/middleware-endpoint" "^2.5.1" + "@smithy/middleware-stack" "^2.2.0" + "@smithy/protocol-http" "^3.3.0" + "@smithy/types" "^2.12.0" + "@smithy/util-stream" "^2.2.0" + tslib "^2.6.2" + "@smithy/types@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.2.0.tgz#9dc65767b0ee3d6681704fcc67665d6fc9b6a34e" @@ -2653,6 +3150,17 @@ bowser "^2.11.0" tslib "^2.6.2" +"@smithy/util-defaults-mode-browser@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.1.tgz#9db31416daf575d2963c502e0528cfe8055f0c4e" + integrity sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw== + dependencies: + "@smithy/property-provider" "^2.2.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + bowser "^2.11.0" + tslib "^2.6.2" + "@smithy/util-defaults-mode-node@^2.2.7", "@smithy/util-defaults-mode-node@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.0.tgz#5005058ca0a299f0948b47c288f7c3d4f36cb26e" @@ -2666,6 +3174,19 @@ "@smithy/types" "^2.12.0" tslib "^2.6.2" +"@smithy/util-defaults-mode-node@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.1.tgz#4613210a3d107aadb3f85bd80cb71c796dd8bf0a" + integrity sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA== + dependencies: + "@smithy/config-resolver" "^2.2.0" + "@smithy/credential-provider-imds" "^2.3.0" + "@smithy/node-config-provider" "^2.3.0" + "@smithy/property-provider" "^2.2.0" + "@smithy/smithy-client" "^2.5.1" + "@smithy/types" "^2.12.0" + tslib "^2.6.2" + "@smithy/util-endpoints@^1.1.5", "@smithy/util-endpoints@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz#b8b805f47e8044c158372f69b88337703117665d" @@ -2757,7 +3278,7 @@ "@smithy/util-buffer-from" "^2.2.0" tslib "^2.6.2" -"@smithy/util-waiter@^2.1.4": +"@smithy/util-waiter@^2.1.4", "@smithy/util-waiter@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.2.0.tgz#d11baf50637bfaadb9641d6ca1619da413dd2612" integrity sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== @@ -6937,6 +7458,11 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"