import * as plugins from '../plugins.js'; import * as authInterfaces from '../data/auth.js'; import type { IRemoteIngress, IRemoteIngressStatus } from '../data/remoteingress.js'; // ============================================================================ // Remote Ingress Edge Management // ============================================================================ /** * Create a new remote ingress edge registration. */ export interface IReq_CreateRemoteIngress extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateRemoteIngress > { method: 'createRemoteIngress'; request: { identity?: authInterfaces.IIdentity; name: string; listenPorts?: number[]; tags?: string[]; }; response: { success: boolean; edge: IRemoteIngress; }; } /** * Delete a remote ingress edge registration. */ export interface IReq_DeleteRemoteIngress extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteRemoteIngress > { method: 'deleteRemoteIngress'; request: { identity?: authInterfaces.IIdentity; id: string; }; response: { success: boolean; message?: string; }; } /** * Update a remote ingress edge registration. */ export interface IReq_UpdateRemoteIngress extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateRemoteIngress > { method: 'updateRemoteIngress'; request: { identity?: authInterfaces.IIdentity; id: string; name?: string; listenPorts?: number[]; enabled?: boolean; tags?: string[]; }; response: { success: boolean; edge: IRemoteIngress; }; } /** * Regenerate the secret for a remote ingress edge. */ export interface IReq_RegenerateRemoteIngressSecret extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_RegenerateRemoteIngressSecret > { method: 'regenerateRemoteIngressSecret'; request: { identity?: authInterfaces.IIdentity; id: string; }; response: { success: boolean; secret: string; }; } /** * Get all remote ingress edge registrations. */ export interface IReq_GetRemoteIngresses extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetRemoteIngresses > { method: 'getRemoteIngresses'; request: { identity?: authInterfaces.IIdentity; }; response: { edges: IRemoteIngress[]; }; } /** * Get runtime status of all remote ingress edges. */ export interface IReq_GetRemoteIngressStatus extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetRemoteIngressStatus > { method: 'getRemoteIngressStatus'; request: { identity?: authInterfaces.IIdentity; }; response: { statuses: IRemoteIngressStatus[]; }; }