UNPKG

@altostra/core

Version:

Core library for shared types and logic

35 lines (34 loc) 1.84 kB
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>; }