@altostra/core
Version:
Core library for shared types and logic
39 lines (38 loc) • 2.15 kB
TypeScript
import type { EnvironmentVariableName } from "../../../../aws/CustomTypes/EnvironmentVariableName";
import type { Maybe } from "../../../../common/Maybe";
import type { Dict } from "../../../Common";
import type { ResourceByType, ResourceType } from "../../../Resources";
import type { BlueprintHelper } from "../../BlueprintHelper";
import type { ConnectionHelperByType } from "../../ConnectionHelper";
import type { Parameterized } from "../../Parameters";
import type { ResourceHelper } from "../../ResourceHelper";
export interface FunctionVariableBase {
parameter?: string;
}
export interface FunctionExplicitVariable extends FunctionVariableBase {
type: 'explicit';
overridesGlobal: boolean;
value: string;
}
export interface FunctionImplicitVariable extends FunctionVariableBase {
type: 'implicit';
resource: ResourceHelper;
source: FunctionImplicitVariableSource;
connection: AccessConnectionHelper;
parameter?: never;
}
export interface FunctionGlobalVariable extends FunctionVariableBase {
type: 'global';
value: string;
}
export declare type VariableType = 'explicit' | 'global' | 'implicit';
export declare type AccessConnectionHelper = ConnectionHelperByType<'connection.access.invocation' | 'connection.auth0.app-access' | 'connection.key-management.key-access' | 'connection.resource-access'>;
export declare type FunctionImplicitVariableSource = 'auth0-integration' | 'db-secret-access' | 'resource-access' | 'serverless-cluster';
export declare type FunctionVariable = FunctionExplicitVariable | FunctionGlobalVariable | FunctionImplicitVariable;
export declare const ENVVAR_SERVERLESS_CLUSTER = "SERVERLESS_CLUSTER";
export declare function getEnvironmentVarsUtility<T extends ResourceType>(blueprint: BlueprintHelper, resource: ResourceHelper<T>, envGetter: (resource: ResourceByType[T]) => Maybe<Dict<string, EnvironmentVariableName>>, parametrizedEnvGetter?: (resource: ResourceHelper<T>) => Maybe<Parameterized<Dict<string>>>): {
getEnvironmentVariables(): Dict<FunctionVariable>;
};
export interface ComputeResourceUtils {
getEnvironmentVariables(): Dict<FunctionVariable>;
}