@altostra/core
Version:
Core library for shared types and logic
35 lines (34 loc) • 1.84 kB
TypeScript
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { Logger, OperationLoggingSeverity } from "../../../common/Logging";
import type { Maybe } from "../../../common/Maybe";
import type { EnvironmentId } from "../../../common/Models/Environment/EnvironmentId";
import type { Name } from "../../../common/Models/Name";
import type { Void } from "../../../common/Types";
import type { AxiosInstance } from 'axios';
import type { Dict } from "../../Common";
import type { ProjectResponse } from "../AltostraProjectsManager/Types";
import type { ErrorMapping, IdentityToken, ServiceClientConfig } from "../common";
import type { ItemSelection } from "../ItemSelection";
import { ServiceClientBase } from "../ServiceClientBase";
import type { CreateEnvironmentOptions, EnvironmentResponse, EnvironmentUpdate, ListedEnvironmentResponse } from "./Types";
export interface EnvironmentsManagerOptions {
axios?: AxiosInstance;
endpoints: {
backoffice: string;
};
getToken: () => Promise<IdentityToken>;
logger?: Logger<OperationLoggingSeverity>;
config?: ServiceClientConfig;
errorMapping?: ErrorMapping;
}
export declare class EnvironmentsManager extends ServiceClientBase {
#private;
constructor({ axios, endpoints, getToken, logger, config, errorMapping, }: EnvironmentsManagerOptions);
getEffectiveConfig(envName: NonEmptyString): Promise<Dict<string>>;
list(): Promise<ListedEnvironmentResponse[]>;
get(envName: Name): Promise<Maybe<EnvironmentResponse>>;
create(createEnvOptions: CreateEnvironmentOptions): Promise<EnvironmentResponse>;
listProjects(environment: ItemSelection): Promise<ProjectResponse[]>;
update(environment: ItemSelection, update: EnvironmentUpdate): Promise<Void>;
delete(id: EnvironmentId): Promise<Void>;
}