import * as plugins from '../plugins.js'; import type { IServiceMigration } from '../data/migration.js'; import type { IIdentity } from '../data/user.js'; export interface IReq_Any_Cloudly_MigrateServiceToNode extends plugins.typedrequestInterfaces.implementsTR { method: 'migrateServiceToNode'; request: { identity: IIdentity; serviceId: string; /** Swarm node hostname holding the authoritative data copy. */ sourceNodeName: string; /** Swarm node hostname the service moves to. */ targetNodeName: string; }; response: { migration: IServiceMigration; }; } export interface IReq_Any_Cloudly_GetServiceMigrations extends plugins.typedrequestInterfaces.implementsTR { method: 'getServiceMigrations'; request: { identity: IIdentity; /** Limit to one service; absent returns all migrations. */ serviceId?: string; }; response: { migrations: IServiceMigration[]; }; } export interface IReq_Cloudly_Any_PushServiceMigrationUpdate extends plugins.typedrequestInterfaces.implementsTR { method: 'pushServiceMigrationUpdate'; request: { migration: IServiceMigration; }; response: Record; }