@vtex/api
Version:
VTEX I/O API client
35 lines (34 loc) • 1.46 kB
TypeScript
import { InstanceOptions, RequestTracingConfig } from '../../HttpClient';
import { IOContext } from '../../service/worker/runtime/typings';
import { InfraClient } from './InfraClient';
export declare class Router extends InfraClient {
constructor(ioContext: IOContext, opts?: InstanceOptions);
listAvailableIoVersions: (tracingConfig?: RequestTracingConfig) => Promise<AvaiableIO[]>;
getInstalledIoVersion: (tracingConfig?: RequestTracingConfig) => Promise<AvaiableIO>;
installIo: (version: string, tracingConfig?: RequestTracingConfig) => Promise<void>;
listAvailableServices: (tracingConfig?: RequestTracingConfig) => Promise<AvailableServices>;
getAvailableVersions: (name: string, tracingConfig?: RequestTracingConfig) => Promise<AvailableServiceVersions>;
listInstalledServices: (tracingConfig?: RequestTracingConfig) => Promise<InstalledService[]>;
installService: (name: string, version: string, tracingConfig?: RequestTracingConfig) => Promise<void>;
}
export interface AvaiableIO {
version: string;
tested: boolean;
services: {
[service: string]: string;
};
}
export type InstalledIO = AvaiableIO;
export interface AvailableServiceVersions {
versions: {
[region: string]: string[];
};
}
export interface AvailableServices {
[service: string]: AvailableServiceVersions;
}
export interface InstalledService {
name: string;
version: string;
serviceIsolation: number;
}