server-master/srcs/WingsAPI.Communication/Services/IClusterStatusService.cs
2026-02-10 18:21:30 +01:00

35 lines
No EOL
1.3 KiB
C#

using System.ServiceModel;
using System.Threading.Tasks;
using WingsAPI.Communication.Services.Requests;
using WingsAPI.Communication.Services.Responses;
namespace WingsAPI.Communication.Services
{
[ServiceContract]
public interface IClusterStatusService
{
[OperationContract]
Task<ServiceGetAllResponse> GetAllServicesStatus(EmptyRpcRequest req);
[OperationContract]
Task<ServiceGetStatusByNameResponse> GetServiceStatusByNameAsync(ServiceBasicRequest req);
[OperationContract]
Task<BasicRpcResponse> EnableMaintenanceMode(ServiceBasicRequest req);
[OperationContract]
Task<BasicRpcResponse> DisableMaintenanceMode(ServiceBasicRequest req);
[OperationContract]
Task<BasicRpcResponse> ScheduleGeneralMaintenance(ServiceScheduleGeneralMaintenanceRequest maintenanceRequest);
[OperationContract]
Task<BasicRpcResponse> UnscheduleGeneralMaintenance(EmptyRpcRequest emptyRpcRequest);
[OperationContract]
Task<BasicRpcResponse> ExecuteGeneralEmergencyMaintenance(ServiceExecuteGeneralEmergencyMaintenanceRequest shutdownRequest);
[OperationContract]
Task<BasicRpcResponse> LiftGeneralMaintenance(EmptyRpcRequest shutdownRequest);
}
}