@sourceloop/ctrl-plane-orchestrator-service
Version:
ARC SaaS Orchestrator service.
24 lines (23 loc) • 1.21 kB
TypeScript
import { BindingKey } from '@loopback/context';
import { TierDetailsFn } from './tier-details.service';
import { AnyObject } from '@loopback/repository';
export declare namespace OrchestratorServiceBindings {
const TIER_DETAILS_PROVIDER: BindingKey<TierDetailsFn>;
const BUILDER_SERVICE: BindingKey<BuilderServiceInterface>;
const ORCHESTRATOR_SERVICE: BindingKey<OrchestratorServiceInterface<DefaultEventTypes, AnyObject>>;
}
export interface OrchestratorServiceInterface<EventType extends string = DefaultEventTypes, BodyType extends AnyObject = AnyObject> {
handleEvent(eventType: EventType, eventBody: BodyType): Promise<void>;
}
export interface BuilderServiceInterface {
startJob(jobIdentifier: string, params: AnyObject): Promise<void>;
}
export declare enum DefaultEventTypes {
TENANT_PROVISIONING = "TENANT_PROVISIONING",
TENANT_DEPROVISIONING = "TENANT_DEPROVISIONING",
TENANT_PROVISIONING_SUCCESS = "TENANT_PROVISIONING_SUCCESS",
TENANT_PROVISIONING_FAILURE = "TENANT_PROVISIONING_FAILURE",
TENANT_DEPLOYMENT = "TENANT_DEPLOYMENT",
TENANT_DEPLOYMENT_SUCCESS = "TENANT_DEPLOYMENT_SUCCESS",
TENANT_DEPLOYMENT_FAILURE = "TENANT_DEPLOYMENT_FAILURE"
}