@go-to-k/cdkd 0.296.10 → 0.296.11

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,13 +1,13 @@
1
1
  import { r as getAwsClients } from "./aws-clients-CnmtbrxD.js";
2
2
  import { A as displayIdent, F as plainIdentOr, I as safeMsg, M as displayStackName, N as isPasteableIdent, T as SECRET_REF_MAX_CODE_POINTS, _ as generateResourceNameWithFallback, g as generateResourceName, j as displaySafe, n as getLogger } from "./logger-DAaB7GFO.js";
3
- import { $ as compositeIdFormatMessage, $n as markRedactedCause, A as isTerminalDeleteFailure, B as WITHHELD_AWS_COMMAND, C as refusalTypeShown, D as ProtectionFlipRegistry, Dn as shellQuote, H as pasteableAwsCommand, Ht as AccountIdUnavailableError, J as isInterruptedWaitError, Jn as safeStringify, Kn as describeAwsFailure, L as userPoolProtectionSite, Ln as markNameCollision, Lt as withPasteableAwsProfile, M as observeThenDisableProtection, Mt as injectiveKey, N as protectionFlipKey, Nt as injectiveKeyPrefix, On as withheldTargetClause, P as rdsFamilyProtectionSite, Q as canonicalizeRoute53QueryName, Qn as markNonRetryable, Rn as markReplayMayCollide, Rt as ambientClientDefaults, S as quotedRemedyLogicalId, Sn as pasteableCommand, T as resolveExplicitPhysicalId, U as protectedReplacementAdvice, Un as isRetryableTransientError, V as isAwsCliLiteral, Vn as isAmbiguousOutcomeError, Vt as credentialFingerprint, W as renderDisableCommand, Wn as isTransientServerError, Wt as CdkdError, X as ElapsedBudgetRegistry, Xn as isMarkedNonRetryable, Y as startInterruptWatch, Yn as THROTTLING_ERROR_NAMES, Zn as isThrottlingError, _ as VALUE_NOT_SHOWN, a as onlySecretDerived, at as segmentAfterAnchor, b as isQuotableImportValue, bn as hasClauseBreak, bt as markAuxiliaryFailure, c as recordedPrincipalsRepair, ct as createMaskedRetryLogger, dt as maskerOrIdentity, er as wrapMaskedAwsError, et as compositeIdSeparatorRefusal, ft as withDerivedNameMasks, g as assertRegionMatch, h as RESOURCE_NOT_FOUND, ht as clearCreatedBeforeFailure, i as holdsSecretDerivedEntry, in as ProvisioningError, j as logGroupProtectionSite, k as deleteWithProtectionCompensation, lt as isSecretDerivedValue, nt as logicalIdShown, o as readPrincipalLists, on as ResourceUpdateNotSupportedError, ot as stateOrphanRecordRemedy, p as withRemovalDefaults, qn as isAwsAuthoredFailure, r as SECRET_DERIVED_READ_LIVE, rt as packCompositeId, st as createMaskedLogSinks, tt as compositeIdSkipResult, u as clearOnUpdateRemoval, ut as maskDeep, v as isPlainImportJson, w as remedyLogicalId, wn as plainOrDescribed, x as normalizeAwsTagsToCfn, xn as isInertUnquoted, xt as markCreatedBeforeFailure, y as isPlainImportValue, yn as commandHole, z as UNNAMEABLE_ID_CLAUSE, zt as ambientCredentialConfig } from "./iam-policy-targets-BREzwsG6.js";
3
+ import { $ as compositeIdFormatMessage, $n as markRedactedCause, A as isTerminalDeleteFailure, B as WITHHELD_AWS_COMMAND, Bt as clientDefaultsFor, C as refusalTypeShown, D as ProtectionFlipRegistry, Dn as shellQuote, H as pasteableAwsCommand, Ht as AccountIdUnavailableError, J as isInterruptedWaitError, Jn as safeStringify, Kn as describeAwsFailure, L as userPoolProtectionSite, Ln as markNameCollision, Lt as withPasteableAwsProfile, M as observeThenDisableProtection, Mt as injectiveKey, N as protectionFlipKey, Nt as injectiveKeyPrefix, On as withheldTargetClause, P as rdsFamilyProtectionSite, Q as canonicalizeRoute53QueryName, Qn as markNonRetryable, Rn as markReplayMayCollide, Rt as ambientClientDefaults, S as quotedRemedyLogicalId, Sn as pasteableCommand, T as resolveExplicitPhysicalId, U as protectedReplacementAdvice, Un as isRetryableTransientError, V as isAwsCliLiteral, Vn as isAmbiguousOutcomeError, Vt as credentialFingerprint, W as renderDisableCommand, Wn as isTransientServerError, Wt as CdkdError, X as ElapsedBudgetRegistry, Xn as isMarkedNonRetryable, Y as startInterruptWatch, Yn as THROTTLING_ERROR_NAMES, Zn as isThrottlingError, _ as VALUE_NOT_SHOWN, a as onlySecretDerived, at as segmentAfterAnchor, b as isQuotableImportValue, bn as hasClauseBreak, bt as markAuxiliaryFailure, c as recordedPrincipalsRepair, ct as createMaskedRetryLogger, dt as maskerOrIdentity, er as wrapMaskedAwsError, et as compositeIdSeparatorRefusal, ft as withDerivedNameMasks, g as assertRegionMatch, h as RESOURCE_NOT_FOUND, ht as clearCreatedBeforeFailure, i as holdsSecretDerivedEntry, in as ProvisioningError, j as logGroupProtectionSite, k as deleteWithProtectionCompensation, lt as isSecretDerivedValue, nt as logicalIdShown, o as readPrincipalLists, on as ResourceUpdateNotSupportedError, ot as stateOrphanRecordRemedy, p as withRemovalDefaults, qn as isAwsAuthoredFailure, r as SECRET_DERIVED_READ_LIVE, rt as packCompositeId, st as createMaskedLogSinks, tt as compositeIdSkipResult, u as clearOnUpdateRemoval, ut as maskDeep, v as isPlainImportJson, w as remedyLogicalId, wn as plainOrDescribed, x as normalizeAwsTagsToCfn, xn as isInertUnquoted, xt as markCreatedBeforeFailure, y as isPlainImportValue, yn as commandHole, z as UNNAMEABLE_ID_CLAUSE, zt as ambientCredentialConfig } from "./iam-policy-targets-BREzwsG6.js";
4
4
  import { s as ambientRegion } from "./aws-client-defaults-D0q0z4dG.js";
5
- import { $n as deleteSkipReason, $r as accountArgs, A as resolveDynamoDbDeleteBudgetClock, Aa as replayWarn, An as acquireIdempotencyToken, Ar as s3BucketWebsiteUrl, B as getPriorAttempts, Ba as sameLambdaFunctionAddress, Ca as toFiniteNumber, Ct as getStackRecords, D as beginDeleteWait, Da as configIntegerRefusal, Dr as s3BucketDomainName, E as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Ea as configBooleanRefusal, En as earliestDefined, Er as s3BucketArn, F as waitForIndexesSettled, Fn as refuseMalformedDesiredTags, Gn as getCurrentResourceSecrets, I as ECR_AUTO_DELETE_IMAGES_TAG, In as tagMapAsList, It as REDACTED_DELETE_ADDRESS_SKIP_REASON, Ji as refuseMalformedResourcesForDestroy, Jn as slowCcOperationTimeoutMs, Ka as hasMaskableValues, Ko as stringifyValue, L as S3_AUTO_DELETE_OBJECTS_TAG, La as withRetry, Ln as tagPlanWarning, Lt as isRedactedRecordedValue, M as DELETE_INDEX_WAIT_PROCEED_NOTE, Ma as requireConfigObject, Mn as DBPROXY_TAG_OPTIONS, N as INDEX_SETTLE_POLL_INTERVAL_MS, Na as requireConfigString, Nn as planTagDiff, O as compensateRemovedDeletionProtection, Oa as configStringRefusal, Oi as refuseMalformedNestedChildOutputs, On as reserveStackCreateToken, Or as s3BucketDualStackDomainName, P as deleteTableWithIndexBusyRetry, Pn as readTagList, Pr as getAccountInfo, Pt as getCurrentProducerRegions, R as hasCdkAutoDeleteTag, Ra as canonicalLambdaFunctionName, Rn as definedAttributes, Rt as redactedDeleteAddressFields, Sa as toCfnInteger, T as DynamoDBGlobalTableProvider, Ta as coerceCfnInteger, Tr as isSettledInstanceState, V as markRefusedBeforeApplying, Wr as parseWebACLArn, Xn as unchangedBehindSecretReference, Zo as rewriteTemplateAssetReferences, Zs as decodeListingKey, _t as getCurrentNestedStackContext, a as findNestedTemplateTreeDefect, ar as isTerminationProtectionPropagationError, ba as coerceWarmThroughput$1, c as renderNestedTemplateTreeDefect, ca as findSilentDropProperties, cr as reEnableInstanceApiTermination, dc as describeFileReadFailure, dt as getNestedRevertRun, ec as canonicalizeRegion, er as withIndeterminateGuard, fc as displayAssemblyPath, fo as recoverMaskedOutput, io as redactSecretsForState, ir as ec2InstanceProtectionSite, j as resolveDynamoDbDeleteBudgetMs, ja as requireConfigArray, jn as DBPROXY_TAGS_WHAT, k as deleteBudgetKey, ka as readConfigString, kr as s3BucketRegionalDomainName, mc as resolveAssemblyPath, mo as carriesSecretMask, mt as revertNestedChildFromJournal, nr as markWaitAbandoned, o as isAbsoluteAssetPath, oa as withheldAccountClause, or as observeThenDisableInstanceApiTermination, pc as renderAssemblyPathEscape, qr as passedParameterClassesOf, ro as markSameGenerationBag, s as listNestedTemplateRows, so as dynamicReferenceTokens, sr as reDisableInstanceApiTermination, t as DeployEngine, tc as derivePartitionAndUrlSuffix, tr as isWaitAbandonedError, ua as withoutSilentDropProperties, vt as withNestedStackContext, wa as coerceCfnBoolean, xa as isWarmThroughputDecrease, xt as awaitInFlightSibling, ya as WARM_THROUGHPUT_MEMBERS, z as isTruthyCfnBoolean, za as lambdaFunctionNameForMask, zn as stringifyIfAssigned, zt as redactedDeleteAddressSkip } from "./deploy-engine-CpI6zpP3.js";
6
- import { a as AmbiguousCreateLatch, c as isInsideWindow, i as AMBIGUOUS_LATCH_TTL_MS, l as setBounded, n as collectInlinePolicyNamesManagedBySiblings, o as RecentIdSet, r as IamCreateClientCache, s as createAttemptKey, t as IAMRoleProvider, u as withoutServerErrorRetries } from "./iam-role-provider-DwUk13DS.js";
7
- import { a as canonicalizeIpProtocolValue, i as resolveSecretDerivedPrincipals, n as runDestroyForStack, o as resolvedResourceTimeoutMs, r as isResolvableSecretPrincipalList, t as canonicalizeIpv4Cidr } from "./program-CXEHAcOO.js";
8
- import { RDSProvider } from "./rds-provider-C6t144QY.js";
9
- import { NeptuneProvider } from "./neptune-provider-Br7yS2dy.js";
10
- import { ASGProvider } from "./asg-provider-Dxc7pRNy.js";
5
+ import { $n as deleteSkipReason, $r as accountArgs, A as resolveDynamoDbDeleteBudgetClock, Aa as replayWarn, An as acquireIdempotencyToken, Ar as s3BucketWebsiteUrl, B as getPriorAttempts, Ba as sameLambdaFunctionAddress, Ca as toFiniteNumber, Ct as getStackRecords, D as beginDeleteWait, Da as configIntegerRefusal, Dr as s3BucketDomainName, E as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Ea as configBooleanRefusal, En as earliestDefined, Er as s3BucketArn, F as waitForIndexesSettled, Fn as refuseMalformedDesiredTags, Gn as getCurrentResourceSecrets, I as ECR_AUTO_DELETE_IMAGES_TAG, In as tagMapAsList, It as REDACTED_DELETE_ADDRESS_SKIP_REASON, Ji as refuseMalformedResourcesForDestroy, Jn as slowCcOperationTimeoutMs, Ka as hasMaskableValues, Ko as stringifyValue, L as S3_AUTO_DELETE_OBJECTS_TAG, La as withRetry, Ln as tagPlanWarning, Lt as isRedactedRecordedValue, M as DELETE_INDEX_WAIT_PROCEED_NOTE, Ma as requireConfigObject, Mn as DBPROXY_TAG_OPTIONS, N as INDEX_SETTLE_POLL_INTERVAL_MS, Na as requireConfigString, Nn as planTagDiff, O as compensateRemovedDeletionProtection, Oa as configStringRefusal, Oi as refuseMalformedNestedChildOutputs, On as reserveStackCreateToken, Or as s3BucketDualStackDomainName, P as deleteTableWithIndexBusyRetry, Pn as readTagList, Pr as getAccountInfo, Pt as getCurrentProducerRegions, R as hasCdkAutoDeleteTag, Ra as canonicalLambdaFunctionName, Rn as definedAttributes, Rt as redactedDeleteAddressFields, Sa as toCfnInteger, T as DynamoDBGlobalTableProvider, Ta as coerceCfnInteger, Tr as isSettledInstanceState, V as markRefusedBeforeApplying, Wr as parseWebACLArn, Xn as unchangedBehindSecretReference, Zo as rewriteTemplateAssetReferences, Zs as decodeListingKey, _t as getCurrentNestedStackContext, a as findNestedTemplateTreeDefect, ar as isTerminationProtectionPropagationError, ba as coerceWarmThroughput$1, c as renderNestedTemplateTreeDefect, ca as findSilentDropProperties, cr as reEnableInstanceApiTermination, dc as describeFileReadFailure, dt as getNestedRevertRun, ec as canonicalizeRegion, er as withIndeterminateGuard, fc as displayAssemblyPath, fo as recoverMaskedOutput, io as redactSecretsForState, ir as ec2InstanceProtectionSite, j as resolveDynamoDbDeleteBudgetMs, ja as requireConfigArray, jn as DBPROXY_TAGS_WHAT, k as deleteBudgetKey, ka as readConfigString, kr as s3BucketRegionalDomainName, mc as resolveAssemblyPath, mo as carriesSecretMask, mt as revertNestedChildFromJournal, nr as markWaitAbandoned, o as isAbsoluteAssetPath, oa as withheldAccountClause, or as observeThenDisableInstanceApiTermination, pc as renderAssemblyPathEscape, qr as passedParameterClassesOf, ro as markSameGenerationBag, s as listNestedTemplateRows, so as dynamicReferenceTokens, sr as reDisableInstanceApiTermination, t as DeployEngine, tc as derivePartitionAndUrlSuffix, tr as isWaitAbandonedError, ua as withoutSilentDropProperties, vt as withNestedStackContext, wa as coerceCfnBoolean, xa as isWarmThroughputDecrease, xt as awaitInFlightSibling, ya as WARM_THROUGHPUT_MEMBERS, z as isTruthyCfnBoolean, za as lambdaFunctionNameForMask, zn as stringifyIfAssigned, zt as redactedDeleteAddressSkip } from "./deploy-engine-aXeTL7rk.js";
6
+ import { a as AmbiguousCreateLatch, c as isInsideWindow, i as AMBIGUOUS_LATCH_TTL_MS, l as setBounded, n as collectInlinePolicyNamesManagedBySiblings, o as RecentIdSet, r as IamCreateClientCache, s as createAttemptKey, t as IAMRoleProvider, u as withoutServerErrorRetries } from "./iam-role-provider-B8gFSZcy.js";
7
+ import { a as canonicalizeIpProtocolValue, i as resolveSecretDerivedPrincipals, n as runDestroyForStack, o as resolvedResourceTimeoutMs, r as isResolvableSecretPrincipalList, t as canonicalizeIpv4Cidr } from "./program-w_06Pj_g.js";
8
+ import { RDSProvider } from "./rds-provider-CUN4EuIb.js";
9
+ import { NeptuneProvider } from "./neptune-provider-xf0xgelu.js";
10
+ import { ASGProvider } from "./asg-provider-HvY_p4Yc.js";
11
11
  import { createHash, randomUUID } from "node:crypto";
12
12
  import { CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client } from "@aws-sdk/client-s3";
13
13
  import { AddRoleToInstanceProfileCommand, AddUserToGroupCommand, AttachGroupPolicyCommand, AttachRolePolicyCommand, AttachUserPolicyCommand, CreateAccessKeyCommand, CreateGroupCommand, CreateInstanceProfileCommand, CreateLoginProfileCommand, CreatePolicyCommand, CreatePolicyVersionCommand, CreateUserCommand, DeleteAccessKeyCommand, DeleteGroupCommand, DeleteGroupPolicyCommand, DeleteInstanceProfileCommand, DeleteLoginProfileCommand, DeletePolicyCommand, DeletePolicyVersionCommand, DeleteRolePolicyCommand, DeleteUserCommand, DeleteUserPermissionsBoundaryCommand, DeleteUserPolicyCommand, DetachGroupPolicyCommand, DetachRolePolicyCommand, DetachUserPolicyCommand, GetAccessKeyLastUsedCommand, GetGroupCommand, GetGroupPolicyCommand, GetInstanceProfileCommand, GetPolicyCommand, GetPolicyVersionCommand, GetRolePolicyCommand, GetUserCommand, GetUserPolicyCommand, IAMClient, ListAccessKeysCommand, ListAttachedGroupPoliciesCommand, ListAttachedUserPoliciesCommand, ListEntitiesForPolicyCommand, ListGroupPoliciesCommand, ListGroupsForUserCommand, ListPoliciesCommand, ListPolicyTagsCommand, ListPolicyVersionsCommand, ListUserPoliciesCommand, NoSuchEntityException, PutGroupPolicyCommand, PutRolePolicyCommand, PutUserPermissionsBoundaryCommand, PutUserPolicyCommand, RemoveRoleFromInstanceProfileCommand, RemoveUserFromGroupCommand, TagPolicyCommand, TagUserCommand, UntagPolicyCommand, UntagUserCommand, UpdateAccessKeyCommand, UpdateLoginProfileCommand } from "@aws-sdk/client-iam";
@@ -31450,8 +31450,21 @@ function makeCallerAccountResolver(region) {
31450
31450
  return cached;
31451
31451
  };
31452
31452
  }
31453
+ function newGlueClients(region) {
31454
+ return {
31455
+ client: new GlueClient({
31456
+ ...ambientClientDefaults(),
31457
+ ...region ? { region } : {}
31458
+ }),
31459
+ createClient: withoutServerErrorRetries(new GlueClient({
31460
+ ...ambientClientDefaults(),
31461
+ ...region ? { region } : {}
31462
+ }))
31463
+ };
31464
+ }
31453
31465
  var GlueProvider = class {
31454
31466
  client;
31467
+ createClient;
31455
31468
  providerRegion = ambientRegion();
31456
31469
  callerAccountId = makeCallerAccountResolver(this.providerRegion);
31457
31470
  logger = getLogger().child("GlueProvider");
@@ -31470,12 +31483,13 @@ var GlueProvider = class {
31470
31483
  "OpenTableFormatInput"
31471
31484
  ])]]);
31472
31485
  getClient() {
31473
- if (!this.client) this.client = new GlueClient({
31474
- ...ambientClientDefaults(),
31475
- ...this.providerRegion ? { region: this.providerRegion } : {}
31476
- });
31486
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
31477
31487
  return this.client;
31478
31488
  }
31489
+ getCreateClient() {
31490
+ this.getClient();
31491
+ return this.createClient;
31492
+ }
31479
31493
  async create(logicalId, resourceType, properties, context) {
31480
31494
  switch (resourceType) {
31481
31495
  case "AWS::Glue::Database": return this.createDatabase(logicalId, resourceType, properties, context);
@@ -31511,7 +31525,7 @@ var GlueProvider = class {
31511
31525
  if (!databaseName) throw new ProvisioningError(`DatabaseInput.Name or top-level DatabaseName is required for Glue Database ${logicalId}`, resourceType, logicalId);
31512
31526
  const catalogId = properties["CatalogId"];
31513
31527
  try {
31514
- await this.getClient().send(new CreateDatabaseCommand({
31528
+ await this.getCreateClient().send(new CreateDatabaseCommand({
31515
31529
  CatalogId: catalogId,
31516
31530
  DatabaseInput: this.buildDatabaseInput(databaseInput, databaseName, { ...replayWarn(log, context) })
31517
31531
  }));
@@ -31632,7 +31646,7 @@ var GlueProvider = class {
31632
31646
  for (const [field, value] of [["DatabaseName", databaseName], ["TableInput.Name", tableName]]) if (typeof value !== "string") throw new ProvisioningError(`Glue Table ${logicalId}: ${field} must be a string, got ${describeUnresolvedName(value, log.mask)}. Set it to the ${field === "DatabaseName" ? "database" : "table"} name.`, resourceType, logicalId);
31633
31647
  const physicalId = `${databaseName}|${tableName}`;
31634
31648
  try {
31635
- await this.getClient().send(new CreateTableCommand$1({
31649
+ await this.getCreateClient().send(new CreateTableCommand$1({
31636
31650
  CatalogId: catalogId,
31637
31651
  DatabaseName: databaseName,
31638
31652
  TableInput: this.buildTableInput(tableInput, tableName),
@@ -32117,6 +32131,7 @@ var GlueProvider = class {
32117
32131
  };
32118
32132
  var GlueWorkflowProvider = class {
32119
32133
  client;
32134
+ createClient;
32120
32135
  stsClient;
32121
32136
  cachedAccountId;
32122
32137
  providerRegion = ambientRegion();
@@ -32132,12 +32147,13 @@ var GlueWorkflowProvider = class {
32132
32147
  "Tags"
32133
32148
  ])]]);
32134
32149
  getClient() {
32135
- if (!this.client) this.client = new GlueClient({
32136
- ...ambientClientDefaults(),
32137
- ...this.providerRegion ? { region: this.providerRegion } : {}
32138
- });
32150
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
32139
32151
  return this.client;
32140
32152
  }
32153
+ getCreateClient() {
32154
+ this.getClient();
32155
+ return this.createClient;
32156
+ }
32141
32157
  async create(logicalId, resourceType, properties, context) {
32142
32158
  const log = glueOperationSinks(this.logger, context?.maskSecrets, secretNamePairs([properties["Name"]]));
32143
32159
  const { value: v } = log;
@@ -32146,7 +32162,7 @@ var GlueWorkflowProvider = class {
32146
32162
  if (!name) throw new ProvisioningError(`Name is required for Glue Workflow ${logicalId}`, resourceType, logicalId);
32147
32163
  const tags = desiredGlueTags(properties["Tags"], resourceType, logicalId);
32148
32164
  try {
32149
- await this.getClient().send(new CreateWorkflowCommand({
32165
+ await this.getCreateClient().send(new CreateWorkflowCommand({
32150
32166
  Name: name,
32151
32167
  ...properties["Description"] !== void 0 && { Description: properties["Description"] },
32152
32168
  ...properties["DefaultRunProperties"] !== void 0 && { DefaultRunProperties: properties["DefaultRunProperties"] },
@@ -32271,6 +32287,7 @@ var GlueWorkflowProvider = class {
32271
32287
  };
32272
32288
  var GlueSecurityConfigurationProvider = class {
32273
32289
  client;
32290
+ createClient;
32274
32291
  providerRegion = ambientRegion();
32275
32292
  logger = getLogger().child("GlueSecurityConfigurationProvider");
32276
32293
  wrapMaskedError(mask, error, build) {
@@ -32278,12 +32295,13 @@ var GlueSecurityConfigurationProvider = class {
32278
32295
  }
32279
32296
  handledProperties = /* @__PURE__ */ new Map([["AWS::Glue::SecurityConfiguration", /* @__PURE__ */ new Set(["Name", "EncryptionConfiguration"])]]);
32280
32297
  getClient() {
32281
- if (!this.client) this.client = new GlueClient({
32282
- ...ambientClientDefaults(),
32283
- ...this.providerRegion ? { region: this.providerRegion } : {}
32284
- });
32298
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
32285
32299
  return this.client;
32286
32300
  }
32301
+ getCreateClient() {
32302
+ this.getClient();
32303
+ return this.createClient;
32304
+ }
32287
32305
  async create(logicalId, resourceType, properties, context) {
32288
32306
  const log = glueOperationSinks(this.logger, context?.maskSecrets, secretNamePairs([properties["Name"]]));
32289
32307
  const { value: v } = log;
@@ -32293,7 +32311,7 @@ var GlueSecurityConfigurationProvider = class {
32293
32311
  const encryptionConfiguration = properties["EncryptionConfiguration"];
32294
32312
  if (!encryptionConfiguration) throw new ProvisioningError(`EncryptionConfiguration is required for Glue SecurityConfiguration ${logicalId}`, resourceType, logicalId);
32295
32313
  try {
32296
- await this.getClient().send(new CreateSecurityConfigurationCommand({
32314
+ await this.getCreateClient().send(new CreateSecurityConfigurationCommand({
32297
32315
  Name: name,
32298
32316
  EncryptionConfiguration: buildEncryptionConfiguration(encryptionConfiguration)
32299
32317
  }));
@@ -32457,6 +32475,7 @@ async function fetchGlueTags(client, stsClient, resource, name, accountId, logge
32457
32475
  }
32458
32476
  var GlueJobProvider = class {
32459
32477
  client;
32478
+ createClient;
32460
32479
  stsClient;
32461
32480
  cachedAccountId;
32462
32481
  providerRegion = ambientRegion();
@@ -32491,12 +32510,13 @@ var GlueJobProvider = class {
32491
32510
  "Tags"
32492
32511
  ])]]);
32493
32512
  getClient() {
32494
- if (!this.client) this.client = new GlueClient({
32495
- ...ambientClientDefaults(),
32496
- ...this.providerRegion ? { region: this.providerRegion } : {}
32497
- });
32513
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
32498
32514
  return this.client;
32499
32515
  }
32516
+ getCreateClient() {
32517
+ this.getClient();
32518
+ return this.createClient;
32519
+ }
32500
32520
  getStsClient() {
32501
32521
  if (!this.stsClient) this.stsClient = new STSClient({
32502
32522
  ...ambientClientDefaults(),
@@ -32515,7 +32535,7 @@ var GlueJobProvider = class {
32515
32535
  if (!command) throw new ProvisioningError(`Command is required for Glue Job ${logicalId}`, resourceType, logicalId);
32516
32536
  const tags = desiredGlueTags(properties["Tags"], resourceType, logicalId);
32517
32537
  try {
32518
- await this.getClient().send(new CreateJobCommand({
32538
+ await this.getCreateClient().send(new CreateJobCommand({
32519
32539
  Name: name,
32520
32540
  Role: role,
32521
32541
  Command: buildJobCommand(command),
@@ -32748,6 +32768,7 @@ function pickDefined(obj) {
32748
32768
  }
32749
32769
  var GlueCrawlerProvider = class {
32750
32770
  client;
32771
+ createClient;
32751
32772
  stsClient;
32752
32773
  cachedAccountId;
32753
32774
  providerRegion = ambientRegion();
@@ -32773,12 +32794,13 @@ var GlueCrawlerProvider = class {
32773
32794
  "Tags"
32774
32795
  ])]]);
32775
32796
  getClient() {
32776
- if (!this.client) this.client = new GlueClient({
32777
- ...ambientClientDefaults(),
32778
- ...this.providerRegion ? { region: this.providerRegion } : {}
32779
- });
32797
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
32780
32798
  return this.client;
32781
32799
  }
32800
+ getCreateClient() {
32801
+ this.getClient();
32802
+ return this.createClient;
32803
+ }
32782
32804
  getStsClient() {
32783
32805
  if (!this.stsClient) this.stsClient = new STSClient({
32784
32806
  ...ambientClientDefaults(),
@@ -32797,7 +32819,7 @@ var GlueCrawlerProvider = class {
32797
32819
  if (!targets) throw new ProvisioningError(`Targets is required for Glue Crawler ${logicalId}`, resourceType, logicalId);
32798
32820
  const tags = desiredGlueTags(properties["Tags"], resourceType, logicalId);
32799
32821
  try {
32800
- await this.getClient().send(new CreateCrawlerCommand({
32822
+ await this.getCreateClient().send(new CreateCrawlerCommand({
32801
32823
  Name: name,
32802
32824
  Role: role,
32803
32825
  Targets: toSdkCrawlerTargets(targets),
@@ -33006,6 +33028,7 @@ function toCfnCrawlerTargets(targets) {
33006
33028
  }
33007
33029
  var GlueConnectionProvider = class {
33008
33030
  client;
33031
+ createClient;
33009
33032
  providerRegion = ambientRegion();
33010
33033
  callerAccountId = makeCallerAccountResolver(this.providerRegion);
33011
33034
  logger = getLogger().child("GlueConnectionProvider");
@@ -33014,12 +33037,13 @@ var GlueConnectionProvider = class {
33014
33037
  }
33015
33038
  handledProperties = /* @__PURE__ */ new Map([["AWS::Glue::Connection", /* @__PURE__ */ new Set(["ConnectionInput", "CatalogId"])]]);
33016
33039
  getClient() {
33017
- if (!this.client) this.client = new GlueClient({
33018
- ...ambientClientDefaults(),
33019
- ...this.providerRegion ? { region: this.providerRegion } : {}
33020
- });
33040
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
33021
33041
  return this.client;
33022
33042
  }
33043
+ getCreateClient() {
33044
+ this.getClient();
33045
+ return this.createClient;
33046
+ }
33023
33047
  async create(logicalId, resourceType, properties, context) {
33024
33048
  const log = glueOperationSinks(this.logger, context?.maskSecrets, secretNamePairs([asRecord$1(properties["ConnectionInput"])?.["Name"], properties["CatalogId"]]));
33025
33049
  const { value: v } = log;
@@ -33029,7 +33053,7 @@ var GlueConnectionProvider = class {
33029
33053
  const name = connectionInput["Name"] ?? logicalId;
33030
33054
  const catalogId = properties["CatalogId"];
33031
33055
  try {
33032
- await this.getClient().send(new CreateConnectionCommand({
33056
+ await this.getCreateClient().send(new CreateConnectionCommand({
33033
33057
  ...catalogId && { CatalogId: catalogId },
33034
33058
  ConnectionInput: buildConnectionInput(connectionInput, name)
33035
33059
  }));
@@ -33177,6 +33201,7 @@ function buildConnectionInput(ci, fallbackName) {
33177
33201
  }
33178
33202
  var GlueTriggerProvider = class {
33179
33203
  client;
33204
+ createClient;
33180
33205
  stsClient;
33181
33206
  cachedAccountId;
33182
33207
  providerRegion = ambientRegion();
@@ -33197,12 +33222,13 @@ var GlueTriggerProvider = class {
33197
33222
  "Tags"
33198
33223
  ])]]);
33199
33224
  getClient() {
33200
- if (!this.client) this.client = new GlueClient({
33201
- ...ambientClientDefaults(),
33202
- ...this.providerRegion ? { region: this.providerRegion } : {}
33203
- });
33225
+ if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
33204
33226
  return this.client;
33205
33227
  }
33228
+ getCreateClient() {
33229
+ this.getClient();
33230
+ return this.createClient;
33231
+ }
33206
33232
  getStsClient() {
33207
33233
  if (!this.stsClient) this.stsClient = new STSClient({
33208
33234
  ...ambientClientDefaults(),
@@ -33221,7 +33247,7 @@ var GlueTriggerProvider = class {
33221
33247
  if (!actions) throw new ProvisioningError(`Actions is required for Glue Trigger ${logicalId}`, resourceType, logicalId);
33222
33248
  const tags = desiredGlueTags(properties["Tags"], resourceType, logicalId);
33223
33249
  try {
33224
- await this.getClient().send(new CreateTriggerCommand({
33250
+ await this.getCreateClient().send(new CreateTriggerCommand({
33225
33251
  Name: name,
33226
33252
  Type: type,
33227
33253
  Actions: actions,
@@ -34934,6 +34960,7 @@ function consumerArnParts(consumerArn) {
34934
34960
  }
34935
34961
  var KinesisStreamConsumerProvider = class {
34936
34962
  client;
34963
+ createClient;
34937
34964
  providerRegion = ambientRegion();
34938
34965
  logger = getLogger().child("KinesisStreamConsumerProvider");
34939
34966
  handledProperties = /* @__PURE__ */ new Map([["AWS::Kinesis::StreamConsumer", /* @__PURE__ */ new Set([
@@ -34942,12 +34969,22 @@ var KinesisStreamConsumerProvider = class {
34942
34969
  "Tags"
34943
34970
  ])]]);
34944
34971
  getClient() {
34945
- if (!this.client) this.client = new KinesisClient({
34946
- ...ambientClientDefaults(),
34947
- ...this.providerRegion ? { region: this.providerRegion } : {}
34948
- });
34972
+ if (!this.client) {
34973
+ this.client = new KinesisClient({
34974
+ ...ambientClientDefaults(),
34975
+ ...this.providerRegion ? { region: this.providerRegion } : {}
34976
+ });
34977
+ this.createClient = withoutServerErrorRetries(new KinesisClient({
34978
+ ...ambientClientDefaults(),
34979
+ ...this.providerRegion ? { region: this.providerRegion } : {}
34980
+ }));
34981
+ }
34949
34982
  return this.client;
34950
34983
  }
34984
+ getCreateClient() {
34985
+ this.getClient();
34986
+ return this.createClient;
34987
+ }
34951
34988
  async create(logicalId, resourceType, properties) {
34952
34989
  const tagList = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
34953
34990
  const consumerName = properties["ConsumerName"];
@@ -34958,7 +34995,7 @@ var KinesisStreamConsumerProvider = class {
34958
34995
  const tagMap = tagListToMap(tagList);
34959
34996
  let createdArn;
34960
34997
  try {
34961
- const consumer = (await this.getClient().send(new RegisterStreamConsumerCommand({
34998
+ const consumer = (await this.getCreateClient().send(new RegisterStreamConsumerCommand({
34962
34999
  StreamARN: streamArn,
34963
35000
  ConsumerName: consumerName,
34964
35001
  ...tagMap && Object.keys(tagMap).length > 0 ? { Tags: tagMap } : {}
@@ -35716,6 +35753,7 @@ function deleteFailureClassifier(resourceType, logicalId, physicalId) {
35716
35753
  }
35717
35754
  var PipesPipeProvider = class {
35718
35755
  client;
35756
+ createClient;
35719
35757
  providerRegion = ambientRegion();
35720
35758
  logger = getLogger().child("PipesPipeProvider");
35721
35759
  options;
@@ -35748,19 +35786,29 @@ var PipesPipeProvider = class {
35748
35786
  this.options = options;
35749
35787
  }
35750
35788
  getClient() {
35751
- if (!this.client) this.client = new PipesClient({
35752
- ...ambientClientDefaults(),
35753
- ...this.providerRegion ? { region: this.providerRegion } : {}
35754
- });
35789
+ if (!this.client) {
35790
+ this.client = new PipesClient({
35791
+ ...ambientClientDefaults(),
35792
+ ...this.providerRegion ? { region: this.providerRegion } : {}
35793
+ });
35794
+ this.createClient = withoutServerErrorRetries(new PipesClient({
35795
+ ...ambientClientDefaults(),
35796
+ ...this.providerRegion ? { region: this.providerRegion } : {}
35797
+ }));
35798
+ }
35755
35799
  return this.client;
35756
35800
  }
35801
+ getCreateClient() {
35802
+ this.getClient();
35803
+ return this.createClient;
35804
+ }
35757
35805
  async create(logicalId, resourceType, properties, context) {
35758
35806
  const mask = maskerOrIdentity(context?.maskSecrets);
35759
35807
  const name = properties["Name"] ?? generateResourceName(logicalId, { maxLength: 64 });
35760
35808
  const tags = desiredTagMap(properties["Tags"], logicalId);
35761
35809
  this.logger.debug(mask(`Creating Pipe ${logicalId}: ${name}`));
35762
35810
  try {
35763
- await this.getClient().send(new CreatePipeCommand({
35811
+ await this.getCreateClient().send(new CreatePipeCommand({
35764
35812
  Name: name,
35765
35813
  RoleArn: properties["RoleArn"],
35766
35814
  Source: properties["Source"],
@@ -35777,7 +35825,7 @@ var PipesPipeProvider = class {
35777
35825
  }));
35778
35826
  } catch (error) {
35779
35827
  const cause = error instanceof Error ? error : void 0;
35780
- throw new ProvisioningError(`Failed to create Pipe ${logicalId}: ${cause?.message ?? String(error)}`, resourceType, logicalId, void 0, cause);
35828
+ throw new ProvisioningError(`Failed to create Pipe ${logicalId}: ${mask(cause?.message ?? String(error))}`, resourceType, logicalId, void 0, cause);
35781
35829
  }
35782
35830
  let settled;
35783
35831
  try {
@@ -35849,7 +35897,7 @@ var PipesPipeProvider = class {
35849
35897
  if (error instanceof ProvisioningError) throw error;
35850
35898
  if (error instanceof NotFoundException$6) assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
35851
35899
  const cause = error instanceof Error ? error : void 0;
35852
- throw new ProvisioningError(`Failed to update Pipe ${logicalId}: ${cause?.message ?? String(error)}`, resourceType, logicalId, physicalId, cause);
35900
+ throw new ProvisioningError(`Failed to update Pipe ${logicalId}: ${mask(cause?.message ?? String(error))}`, resourceType, logicalId, physicalId, cause);
35853
35901
  }
35854
35902
  return {
35855
35903
  physicalId,
@@ -39188,6 +39236,7 @@ const FIREHOSE_DELETE_POLL_INTERVAL_MS = 5e3;
39188
39236
  const FIREHOSE_DELETE_MAX_WAIT_MS = 6e5;
39189
39237
  var FirehoseProvider = class {
39190
39238
  client;
39239
+ createClient;
39191
39240
  providerRegion = ambientRegion();
39192
39241
  logger = getLogger().child("FirehoseProvider");
39193
39242
  handledProperties = /* @__PURE__ */ new Map([["AWS::KinesisFirehose::DeliveryStream", /* @__PURE__ */ new Set([
@@ -39206,12 +39255,22 @@ var FirehoseProvider = class {
39206
39255
  "DeliveryStreamEncryptionConfigurationInput"
39207
39256
  ])]]);
39208
39257
  getClient() {
39209
- if (!this.client) this.client = new FirehoseClient({
39210
- ...ambientClientDefaults(),
39211
- ...this.providerRegion ? { region: this.providerRegion } : {}
39212
- });
39258
+ if (!this.client) {
39259
+ this.client = new FirehoseClient({
39260
+ ...ambientClientDefaults(),
39261
+ ...this.providerRegion ? { region: this.providerRegion } : {}
39262
+ });
39263
+ this.createClient = withoutServerErrorRetries(new FirehoseClient({
39264
+ ...ambientClientDefaults(),
39265
+ ...this.providerRegion ? { region: this.providerRegion } : {}
39266
+ }));
39267
+ }
39213
39268
  return this.client;
39214
39269
  }
39270
+ getCreateClient() {
39271
+ this.getClient();
39272
+ return this.createClient;
39273
+ }
39215
39274
  async create(logicalId, resourceType, properties) {
39216
39275
  this.logger.debug(`Creating Firehose delivery stream ${logicalId}`);
39217
39276
  const deliveryStreamName = properties["DeliveryStreamName"];
@@ -39344,7 +39403,7 @@ var FirehoseProvider = class {
39344
39403
  Key: t.Key,
39345
39404
  Value: t.Value
39346
39405
  }));
39347
- const response = await this.getClient().send(new CreateDeliveryStreamCommand(input));
39406
+ const response = await this.getCreateClient().send(new CreateDeliveryStreamCommand(input));
39348
39407
  const physicalId = deliveryStreamName || input.DeliveryStreamName || response.DeliveryStreamARN?.split("/").pop() || "";
39349
39408
  createdStreamName = physicalId;
39350
39409
  const arn = response.DeliveryStreamARN;
@@ -40055,6 +40114,7 @@ function describeValue(value) {
40055
40114
  }
40056
40115
  var CloudTrailProvider = class {
40057
40116
  client;
40117
+ createClient;
40058
40118
  providerRegion = ambientRegion();
40059
40119
  logger = getLogger().child("CloudTrailProvider");
40060
40120
  removalDefaults = /* @__PURE__ */ new Map([["AWS::CloudTrail::Trail", /* @__PURE__ */ new Map([["IsMultiRegionTrail", false], ["EnableLogFileValidation", false]])]]);
@@ -40076,12 +40136,22 @@ var CloudTrailProvider = class {
40076
40136
  "IsOrganizationTrail"
40077
40137
  ])]]);
40078
40138
  getClient() {
40079
- if (!this.client) this.client = new CloudTrailClient({
40080
- ...ambientClientDefaults(),
40081
- ...this.providerRegion ? { region: this.providerRegion } : {}
40082
- });
40139
+ if (!this.client) {
40140
+ this.client = new CloudTrailClient({
40141
+ ...ambientClientDefaults(),
40142
+ ...this.providerRegion ? { region: this.providerRegion } : {}
40143
+ });
40144
+ this.createClient = withoutServerErrorRetries(new CloudTrailClient({
40145
+ ...ambientClientDefaults(),
40146
+ ...this.providerRegion ? { region: this.providerRegion } : {}
40147
+ }));
40148
+ }
40083
40149
  return this.client;
40084
40150
  }
40151
+ getCreateClient() {
40152
+ this.getClient();
40153
+ return this.createClient;
40154
+ }
40085
40155
  async create(logicalId, resourceType, properties) {
40086
40156
  this.logger.debug(`Creating CloudTrail Trail ${logicalId}`);
40087
40157
  const desiredTags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
@@ -40103,7 +40173,7 @@ var CloudTrailProvider = class {
40103
40173
  let trailCreated = false;
40104
40174
  let createdTrailArn;
40105
40175
  try {
40106
- const result = await this.getClient().send(new CreateTrailCommand({
40176
+ const result = await this.getCreateClient().send(new CreateTrailCommand({
40107
40177
  Name: trailName ?? logicalId,
40108
40178
  S3BucketName: s3BucketName,
40109
40179
  S3KeyPrefix: s3KeyPrefix,
@@ -41589,6 +41659,7 @@ var DLMLifecyclePolicyProvider = class {
41589
41659
  //#region src/provisioning/providers/s3-vectors-provider.ts
41590
41660
  var S3VectorsProvider = class {
41591
41661
  client;
41662
+ createClient;
41592
41663
  providerRegion = ambientRegion();
41593
41664
  logger = getLogger().child("S3VectorsProvider");
41594
41665
  handledProperties = /* @__PURE__ */ new Map([["AWS::S3Vectors::VectorBucket", /* @__PURE__ */ new Set([
@@ -41600,12 +41671,22 @@ var S3VectorsProvider = class {
41600
41671
  return wrapMaskedAwsError(mask, error, build);
41601
41672
  }
41602
41673
  getClient() {
41603
- if (!this.client) this.client = new S3VectorsClient({
41604
- ...ambientClientDefaults(),
41605
- ...this.providerRegion ? { region: this.providerRegion } : {}
41606
- });
41674
+ if (!this.client) {
41675
+ this.client = new S3VectorsClient({
41676
+ ...ambientClientDefaults(),
41677
+ ...this.providerRegion ? { region: this.providerRegion } : {}
41678
+ });
41679
+ this.createClient = withoutServerErrorRetries(new S3VectorsClient({
41680
+ ...ambientClientDefaults(),
41681
+ ...this.providerRegion ? { region: this.providerRegion } : {}
41682
+ }));
41683
+ }
41607
41684
  return this.client;
41608
41685
  }
41686
+ getCreateClient() {
41687
+ this.getClient();
41688
+ return this.createClient;
41689
+ }
41609
41690
  async create(logicalId, resourceType, properties) {
41610
41691
  switch (resourceType) {
41611
41692
  case "AWS::S3Vectors::VectorBucket": return this.createVectorBucket(logicalId, resourceType, properties);
@@ -41680,7 +41761,7 @@ var S3VectorsProvider = class {
41680
41761
  const tagRecord = Object.fromEntries(desiredTags.map((t) => [t.Key, t.Value]));
41681
41762
  const tags = Object.keys(tagRecord).length > 0 ? tagRecord : void 0;
41682
41763
  try {
41683
- const result = await this.getClient().send(new CreateVectorBucketCommand({
41764
+ const result = await this.getCreateClient().send(new CreateVectorBucketCommand({
41684
41765
  vectorBucketName,
41685
41766
  encryptionConfiguration: encryptionConfiguration ? {
41686
41767
  sseType: encryptionConfiguration["SseType"],
@@ -41804,6 +41885,8 @@ function notEmptyRefusalMessage(bucketName) {
41804
41885
  }
41805
41886
  var S3DirectoryBucketProvider = class {
41806
41887
  s3Client;
41888
+ createClient;
41889
+ credentialConfig;
41807
41890
  stsClient;
41808
41891
  logger = getLogger().child("S3DirectoryBucketProvider");
41809
41892
  handledProperties = /* @__PURE__ */ new Map([["AWS::S3Express::DirectoryBucket", /* @__PURE__ */ new Set([
@@ -41819,6 +41902,17 @@ var S3DirectoryBucketProvider = class {
41819
41902
  const awsClients = getAwsClients();
41820
41903
  this.s3Client = awsClients.s3;
41821
41904
  this.stsClient = awsClients.sts;
41905
+ this.credentialConfig = awsClients.credentialConfig ?? {};
41906
+ }
41907
+ getCreateClient() {
41908
+ this.createClient ??= this.s3Client.config.region().then((region) => withoutServerErrorRetries(new S3Client({
41909
+ ...clientDefaultsFor(this.credentialConfig),
41910
+ region
41911
+ })), (error) => {
41912
+ this.createClient = void 0;
41913
+ throw error;
41914
+ });
41915
+ return this.createClient;
41822
41916
  }
41823
41917
  getEc2Client() {
41824
41918
  if (!this.ec2Client) this.ec2Client = new EC2Client({
@@ -41876,7 +41970,7 @@ var S3DirectoryBucketProvider = class {
41876
41970
  const includeTags = tags.length > 0;
41877
41971
  try {
41878
41972
  const attributes = await this.buildAttributes(bucketName);
41879
- await this.s3Client.send(new CreateBucketCommand({
41973
+ await (await this.getCreateClient()).send(new CreateBucketCommand({
41880
41974
  Bucket: bucketName,
41881
41975
  CreateBucketConfiguration: {
41882
41976
  Bucket: {
@@ -42086,6 +42180,7 @@ function tableIdentityFromGetTable(tableARN, namespace, name) {
42086
42180
  }
42087
42181
  var S3TablesProvider = class {
42088
42182
  client;
42183
+ createClient;
42089
42184
  providerRegion = ambientRegion();
42090
42185
  logger = getLogger().child("S3TablesProvider");
42091
42186
  handledProperties = /* @__PURE__ */ new Map([
@@ -42102,12 +42197,22 @@ var S3TablesProvider = class {
42102
42197
  ])]
42103
42198
  ]);
42104
42199
  getClient() {
42105
- if (!this.client) this.client = new S3TablesClient({
42106
- ...ambientClientDefaults(),
42107
- ...this.providerRegion ? { region: this.providerRegion } : {}
42108
- });
42200
+ if (!this.client) {
42201
+ this.client = new S3TablesClient({
42202
+ ...ambientClientDefaults(),
42203
+ ...this.providerRegion ? { region: this.providerRegion } : {}
42204
+ });
42205
+ this.createClient = withoutServerErrorRetries(new S3TablesClient({
42206
+ ...ambientClientDefaults(),
42207
+ ...this.providerRegion ? { region: this.providerRegion } : {}
42208
+ }));
42209
+ }
42109
42210
  return this.client;
42110
42211
  }
42212
+ getCreateClient() {
42213
+ this.getClient();
42214
+ return this.createClient;
42215
+ }
42111
42216
  async create(logicalId, resourceType, properties, context) {
42112
42217
  switch (resourceType) {
42113
42218
  case "AWS::S3Tables::TableBucket": return this.createTableBucket(logicalId, resourceType, properties);
@@ -42150,7 +42255,7 @@ var S3TablesProvider = class {
42150
42255
  if (!tableBucketName) throw new ProvisioningError(`TableBucketName is required for S3 Table Bucket ${logicalId}`, resourceType, logicalId);
42151
42256
  const tags = this.tagListToSdkMap(desiredTags);
42152
42257
  try {
42153
- const tableBucketARN = (await this.getClient().send(new CreateTableBucketCommand({
42258
+ const tableBucketARN = (await this.getCreateClient().send(new CreateTableBucketCommand({
42154
42259
  name: tableBucketName,
42155
42260
  ...tags !== void 0 && { tags }
42156
42261
  }))).arn;
@@ -42247,7 +42352,7 @@ var S3TablesProvider = class {
42247
42352
  ...context?.replayingState === true && { onRefusal: (message) => this.logger.warn(message) }
42248
42353
  });
42249
42354
  try {
42250
- await this.getClient().send(new CreateNamespaceCommand({
42355
+ await this.getCreateClient().send(new CreateNamespaceCommand({
42251
42356
  tableBucketARN,
42252
42357
  namespace: [namespaceName]
42253
42358
  }));
@@ -42313,7 +42418,7 @@ var S3TablesProvider = class {
42313
42418
  });
42314
42419
  let tableCreated = false;
42315
42420
  try {
42316
- const response = await this.getClient().send(new CreateTableCommand$2({
42421
+ const response = await this.getCreateClient().send(new CreateTableCommand$2({
42317
42422
  tableBucketARN,
42318
42423
  namespace,
42319
42424
  name,
@@ -43700,4 +43805,4 @@ var ACMCertificateProvider = class {
43700
43805
 
43701
43806
  //#endregion
43702
43807
  export { ACMCertificateProvider, ASGProvider, AgentCoreBrowserProvider, AgentCoreCodeInterpreterProvider, AgentCoreEvaluatorProvider, AgentCoreRuntimeProvider, ApiGatewayProvider, ApiGatewayV2Provider, AppSyncProvider, BudgetsBudgetProvider, CloudFrontDistributionProvider, CloudFrontOACProvider, CloudFrontOAIProvider, CloudTrailProvider, CloudWatchAlarmProvider, CloudWatchAnomalyDetectorProvider, CodeBuildProvider, CodeCommitRepositoryProvider, CognitoUserPoolProvider, DLMLifecyclePolicyProvider, DocDBProvider, DocDBSubnetGroupProvider, DynamoDBGlobalTableProvider, DynamoDBTableProvider, EC2Provider, ECRProvider, ECSProvider, EFSProvider, ELBv2Provider, EMRClusterProvider, EMRInstanceFleetConfigProvider, EMRInstanceGroupConfigProvider, ElastiCacheProvider, EventBridgeBusProvider, EventBridgeRuleProvider, FSxFileSystemProvider, FirehoseProvider, GlueConnectionProvider, GlueCrawlerProvider, GlueJobProvider, GlueProvider, GlueSecurityConfigurationProvider, GlueTriggerProvider, GlueWorkflowProvider, IAMAccessKeyProvider, IAMInstanceProfileProvider, IAMManagedPolicyProvider, IAMPolicyProvider, IAMRoleProvider, IAMUserGroupProvider, KMSProvider, KinesisStreamConsumerProvider, KinesisStreamProvider, LambdaEventInvokeConfigProvider, LambdaEventSourceMappingProvider, LambdaFunctionProvider, LambdaLayerVersionProvider, LambdaMicrovmImageProvider, LambdaPermissionProvider, LambdaUrlProvider, LogsLogGroupProvider, NeptuneProvider, NestedStackProvider, PipesPipeProvider, RDSDBProxyEndpointProvider, RDSDBProxyProvider, RDSDBProxyTargetGroupProvider, RDSProvider, Route53Provider, S3BucketPolicyProvider, S3BucketProvider, S3DirectoryBucketProvider, S3TablesProvider, S3VectorsProvider, SNSSubscriptionProvider, SNSTopicPolicyProvider, SNSTopicProvider, SQSQueuePolicyProvider, SQSQueueProvider, SSMParameterProvider, SchedulerScheduleProvider, SecretsManagerSecretProvider, ServiceDiscoveryProvider, StepFunctionsProvider, WAFv2WebACLProvider, WaitConditionHandleProvider };
43703
- //# sourceMappingURL=provider-classes-DbpGX0KN.js.map
43808
+ //# sourceMappingURL=provider-classes-4lVceW9g.js.map