lemon-core
Version:
Lemon Serverless Micro-Service Platform
72 lines (71 loc) • 2.05 kB
TypeScript
/**
* type: `CrendentialForAWS`
* - common interface for AWS credentials.
* - used for `AWS.config.credentials` or `AWS.Credentials`
*/
export interface CrendentialForAWS {
/**
* AWS access key ID
*/
readonly accessKeyId: string;
/**
* AWS secret access key
*/
readonly secretAccessKey: string;
/**
* A security or session token to use with these credentials. Usually
* present for temporary credentials.
*/
readonly sessionToken?: string;
/** (optional) the loaded profile name if applicable */
readonly profile?: string;
}
/**
* type: `EnvironmentSet`
* - common interface for environment variables.
*/
export interface EnvironmentSet {
[key: string]: string;
ENV?: string;
STAGE?: string;
ENV_PATH?: string;
}
/**
* (only for dev) loader `<profile>.yml`
*
* **Determine Environ Target**
* 1. ENV 로부터, 로딩할 `env.yml` 파일을 지정함.
* 2. STAGE 로부터, `env.yml`내 로딩할 환경 그룹을 지정함.
*
* example:
* `$ ENV=lemon STAGE=dev nodemon express.js --port 8081`
*
* @param process the main process instance.
* @param options (optional) default option.
*
* @deprecated use `loadEnviron()` from `lemon-devkit` instead.
*/
export declare const loadEnviron: (process?: any, options?: EnvironmentSet) => EnvironmentSet;
/**
* (only for dev) load AWS credential profile via `env.NAME`
*
* NOTE! ONLY FOR development purpose.
*
* ```sh
* # load AWS 'lemon' profile, and run test.
* $ NAME=lemon npm run test
* ````
* @param $proc process (default `global.process`)
* @param options (optional) parameters.
* @returns {Promise<string>} - loaded profile name.
*/
export declare const loadProfile: ($proc?: {
env?: any;
}, options?: any) => Promise<string>;
/**
* (only for dev) dynamic loading credentials by profile. (search PROFILE -> NAME)
*
* @deprecated use `asyncCredentials` instead.
*/
export declare const credentials: (profile: string) => CrendentialForAWS;
export default loadEnviron;