diff --git a/packages/parameters/src/ssm/SSMProvider.ts b/packages/parameters/src/ssm/SSMProvider.ts index 690c2f0cc5..5dfc2ca872 100644 --- a/packages/parameters/src/ssm/SSMProvider.ts +++ b/packages/parameters/src/ssm/SSMProvider.ts @@ -1,15 +1,20 @@ import { BaseProvider, DEFAULT_PROVIDERS, transformValue } from '../BaseProvider'; import { GetParameterError } from '../Exceptions'; import { DEFAULT_MAX_AGE_SECS } from '../constants'; -import { SSMClient, GetParameterCommand, paginateGetParametersByPath, GetParametersCommand } from '@aws-sdk/client-ssm'; +import { + SSMClient, + GetParameterCommand, + paginateGetParametersByPath, + GetParametersCommand +} from '@aws-sdk/client-ssm'; import type { - SSMClientConfig, GetParameterCommandInput, GetParametersByPathCommandInput, GetParametersCommandInput, GetParametersCommandOutput, } from '@aws-sdk/client-ssm'; import type { + SSMProviderOptionsInterface, SSMGetMultipleOptionsInterface, SSMGetOptionsInterface, SSMGetParametersByNameOutputInterface, @@ -24,9 +29,9 @@ class SSMProvider extends BaseProvider { protected errorsKey = '_errors'; protected maxGetParametersItems = 10; - public constructor(config: SSMClientConfig = {}) { + public constructor(config?: SSMProviderOptionsInterface) { super(); - this.client = new SSMClient(config); + this.client = new SSMClient(config?.clientConfig || {}); } public async get( diff --git a/packages/parameters/src/types/SSMProvider.ts b/packages/parameters/src/types/SSMProvider.ts index 486e3dac31..e7649c14df 100644 --- a/packages/parameters/src/types/SSMProvider.ts +++ b/packages/parameters/src/types/SSMProvider.ts @@ -1,6 +1,14 @@ -import type { GetParameterCommandInput, GetParametersByPathCommandInput } from '@aws-sdk/client-ssm'; +import type { + SSMClientConfig, + GetParameterCommandInput, + GetParametersByPathCommandInput +} from '@aws-sdk/client-ssm'; import type { GetOptionsInterface, GetMultipleOptionsInterface, TransformOptions } from './BaseProvider'; +interface SSMProviderOptionsInterface { + clientConfig: SSMClientConfig +} + /** * Options for the SSMProvider get method. * @@ -31,7 +39,7 @@ interface SSMGetParametersByNameOptionsInterface { type SSMSplitBatchAndDecryptParametersOutputType = { parametersToFetchInBatch: Record parametersToDecrypt: Record -} & { [key: string]: SSMGetParametersByNameOptionsInterface }; +}; interface SSMGetParametersByNameOutputInterface { response: Record @@ -41,9 +49,10 @@ interface SSMGetParametersByNameOutputInterface { type SSMGetParametersByNameFromCacheOutputType = { cached: Record> toFetch: Record -} & { [key: string]: SSMGetParametersByNameOptionsInterface }; +}; export { + SSMProviderOptionsInterface, SSMGetOptionsInterface, SSMGetMultipleOptionsInterface, SSMGetParametersByNameOptionsInterface,