@webda/aws
Version:
Webda AWS Services implementation
81 lines (80 loc) • 2.23 kB
TypeScript
import { SecretsManager } from "@aws-sdk/client-secrets-manager";
import { ConfigurationProvider, Service, ServiceParameters } from "@webda/core";
declare const AWSSecretsManagerParameters_base: {
new (...args: any[]): {
endpoint?: string;
credentials?: {
accessKeyId: string;
secretAccessKey: string;
sessionToken?: string;
};
region?: string;
type: string;
url?: string;
openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
};
} & typeof ServiceParameters;
export declare class AWSSecretsManagerParameters extends AWSSecretsManagerParameters_base {
}
/**
* @WebdaModda
*/
export default class AWSSecretsManager<T extends AWSSecretsManagerParameters = AWSSecretsManagerParameters> extends Service<T> implements ConfigurationProvider {
_client: SecretsManager;
/**
* @inheritdoc
*/
loadParameters(params: any): AWSSecretsManagerParameters;
/**
* @inheritdoc
*/
computeParameters(): void;
/**
* @inheritdoc
*/
canTriggerConfiguration(_id: string, _callback: () => void): boolean;
/**
* @inheritdoc
*/
getConfiguration(id: string): Promise<Map<string, any>>;
/**
* Create a new secret on AWS SecretsManager
*
* @param id
* @param values
* @param params
*/
create(id: string, values?: any, params?: any): Promise<void>;
/**
* Delete a secret
*
* @param SecretId to delete
* @param RecoveryWindowInDays
* @param ForceDeleteWithoutRecovery
*/
delete(SecretId: string, RecoveryWindowInDays?: number, ForceDeleteWithoutRecovery?: boolean): Promise<void>;
/**
* Store data in a AWS secret
*
* @param SecretId
* @param value
*/
put(SecretId: string, value: any): Promise<void>;
/**
* Return SecretValue
*
* @param SecretId
* @returns JSON.parse of SecretString
*/
get(SecretId: string): Promise<any>;
/**
* @inheritdoc
*/
getARNPolicy(accountId: any): {
Sid: string;
Effect: string;
Action: string[];
Resource: string[];
};
}
export { AWSSecretsManager };