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 GetAllServicesStatus(EmptyRpcRequest req); [OperationContract] Task GetServiceStatusByNameAsync(ServiceBasicRequest req); [OperationContract] Task EnableMaintenanceMode(ServiceBasicRequest req); [OperationContract] Task DisableMaintenanceMode(ServiceBasicRequest req); [OperationContract] Task ScheduleGeneralMaintenance(ServiceScheduleGeneralMaintenanceRequest maintenanceRequest); [OperationContract] Task UnscheduleGeneralMaintenance(EmptyRpcRequest emptyRpcRequest); [OperationContract] Task ExecuteGeneralEmergencyMaintenance(ServiceExecuteGeneralEmergencyMaintenanceRequest shutdownRequest); [OperationContract] Task LiftGeneralMaintenance(EmptyRpcRequest shutdownRequest); } }