@sourceloop/ctrl-plane-orchestrator-service
Version:
ARC SaaS Orchestrator service.
34 lines (33 loc) • 2.07 kB
TypeScript
import { BindingKey } from '@loopback/context';
import { TierDetailsFn } from './tier-details.service';
import { TenantProvisioningHandler } from './tenant-provisioning-handler.service';
import { TenantDeprovisioningHandler } from './tenant-deprovisioning-handler.service';
import { AnyObject } from '@loopback/repository';
import { TenantProvisioningSuccessHandler } from './tenant-provisioning-success-handler.service';
import { TenantProvisioningFailureHandler } from './tenant-provisioning-failure-handler.service';
import { TenantDeploymentHandler } from './tenant-deployment-handler.service';
export declare namespace OrchestratorServiceBindings {
const TIER_DETAILS_PROVIDER: BindingKey<TierDetailsFn>;
const TENANT_PROVISIONING_HANDLER: BindingKey<TenantProvisioningHandler>;
const TENANT_DEPROVISIONING_HANDLER: BindingKey<TenantDeprovisioningHandler>;
const TENANT_PROVISIONING_SUCCESS_HANDLER: BindingKey<TenantProvisioningSuccessHandler>;
const TENANT_PROVISIONING_FAILURE_HANDLER: BindingKey<TenantProvisioningFailureHandler>;
const TENANT_DEPLOYMENT_HANDLER: BindingKey<TenantDeploymentHandler>;
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"
}