use conjure_http::endpoint;
/// The Checklist Execution Service checks the status of checklist executions.
#[conjure_http::conjure_endpoints(
    name = "ChecklistExecutionService",
    use_legacy_error_serialization
)]
pub trait ChecklistExecutionService {
    /// For each request, get the latest status for each check in a streaming checklist against the given asset.
    /// Requests with more than 10,000 checklists will be rejected.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/checklist-live-status",
        name = "checklistLiveStatus",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn checklist_live_status(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusResponse,
        conjure_http::private::Error,
    >;
    /// Triggers a checklist to run continuously against assets.
    /// If the checklist is already running for the given asset, replace the existing configuration with the one specified by the request.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/execute-streaming-checklist",
        name = "executeStreamingChecklist"
    )]
    fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ExecuteChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Lists all running streaming checklists.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists",
        name = "listStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves all streaming checklists for a given asset.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists-for-asset",
        name = "listStreamingChecklistForAsset",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for a streaming checklist specified by the checklistRid.
    #[endpoint(
        method = GET,
        path = "/scout/v2/checklist-execution/get-streaming-checklist/{checklistRid}",
        name = "getStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::StreamingChecklistInfo,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for all streaming checklists specified by the request.
    /// If a streaming checklist is not found, it will not be included in the response.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/get-streaming-checklists",
        name = "batchGetStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Stops the execution of a streaming checklist on all assets.
    #[endpoint(
        method = DELETE,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist/{checklistRid}",
        name = "stopStreamingChecklist"
    )]
    fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Stops the execution of a streaming checklist for a given set of assets.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist-for-assets",
        name = "stopStreamingChecklistForAssets"
    )]
    fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::StopStreamingChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Reloads the state of the streaming checklist for the given checklistRid.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/reload-streaming-checklist/{checklistRid}",
        name = "reloadStreamingChecklist"
    )]
    fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Validates that the channels referenced by the checklist can be resolved against the data sources.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/validate-checklist-resolution",
        name = "validateChecklistResolution",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionResponse,
        conjure_http::private::Error,
    >;
}
/// The Checklist Execution Service checks the status of checklist executions.
#[conjure_http::conjure_endpoints(
    name = "ChecklistExecutionService",
    use_legacy_error_serialization
)]
pub trait AsyncChecklistExecutionService {
    /// For each request, get the latest status for each check in a streaming checklist against the given asset.
    /// Requests with more than 10,000 checklists will be rejected.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/checklist-live-status",
        name = "checklistLiveStatus",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn checklist_live_status(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusResponse,
        conjure_http::private::Error,
    >;
    /// Triggers a checklist to run continuously against assets.
    /// If the checklist is already running for the given asset, replace the existing configuration with the one specified by the request.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/execute-streaming-checklist",
        name = "executeStreamingChecklist"
    )]
    async fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ExecuteChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Lists all running streaming checklists.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists",
        name = "listStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves all streaming checklists for a given asset.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists-for-asset",
        name = "listStreamingChecklistForAsset",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for a streaming checklist specified by the checklistRid.
    #[endpoint(
        method = GET,
        path = "/scout/v2/checklist-execution/get-streaming-checklist/{checklistRid}",
        name = "getStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::StreamingChecklistInfo,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for all streaming checklists specified by the request.
    /// If a streaming checklist is not found, it will not be included in the response.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/get-streaming-checklists",
        name = "batchGetStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Stops the execution of a streaming checklist on all assets.
    #[endpoint(
        method = DELETE,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist/{checklistRid}",
        name = "stopStreamingChecklist"
    )]
    async fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Stops the execution of a streaming checklist for a given set of assets.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist-for-assets",
        name = "stopStreamingChecklistForAssets"
    )]
    async fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::StopStreamingChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Reloads the state of the streaming checklist for the given checklistRid.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/reload-streaming-checklist/{checklistRid}",
        name = "reloadStreamingChecklist"
    )]
    async fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Validates that the channels referenced by the checklist can be resolved against the data sources.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/validate-checklist-resolution",
        name = "validateChecklistResolution",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionResponse,
        conjure_http::private::Error,
    >;
}
/// The Checklist Execution Service checks the status of checklist executions.
#[conjure_http::conjure_endpoints(
    name = "ChecklistExecutionService",
    use_legacy_error_serialization,
    local
)]
pub trait LocalAsyncChecklistExecutionService {
    /// For each request, get the latest status for each check in a streaming checklist against the given asset.
    /// Requests with more than 10,000 checklists will be rejected.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/checklist-live-status",
        name = "checklistLiveStatus",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn checklist_live_status(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchChecklistLiveStatusResponse,
        conjure_http::private::Error,
    >;
    /// Triggers a checklist to run continuously against assets.
    /// If the checklist is already running for the given asset, replace the existing configuration with the one specified by the request.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/execute-streaming-checklist",
        name = "executeStreamingChecklist"
    )]
    async fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ExecuteChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Lists all running streaming checklists.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists",
        name = "listStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves all streaming checklists for a given asset.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/list-streaming-checklists-for-asset",
        name = "listStreamingChecklistForAsset",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::ListStreamingChecklistForAssetResponse,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for a streaming checklist specified by the checklistRid.
    #[endpoint(
        method = GET,
        path = "/scout/v2/checklist-execution/get-streaming-checklist/{checklistRid}",
        name = "getStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::StreamingChecklistInfo,
        conjure_http::private::Error,
    >;
    /// Retrieves the set of assets and their execution configurations for all streaming checklists specified by the request.
    /// If a streaming checklist is not found, it will not be included in the response.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/get-streaming-checklists",
        name = "batchGetStreamingChecklist",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchGetStreamingChecklistResponse,
        conjure_http::private::Error,
    >;
    /// Stops the execution of a streaming checklist on all assets.
    #[endpoint(
        method = DELETE,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist/{checklistRid}",
        name = "stopStreamingChecklist"
    )]
    async fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Stops the execution of a streaming checklist for a given set of assets.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/stop-streaming-checklist-for-assets",
        name = "stopStreamingChecklistForAssets"
    )]
    async fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::StopStreamingChecklistForAssetsRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Reloads the state of the streaming checklist for the given checklistRid.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/reload-streaming-checklist/{checklistRid}",
        name = "reloadStreamingChecklist"
    )]
    async fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "checklistRid",
            safe
        )]
        checklist_rid: super::super::super::super::super::objects::scout::rids::api::ChecklistRid,
    ) -> Result<(), conjure_http::private::Error>;
    /// Validates that the channels referenced by the checklist can be resolved against the data sources.
    #[endpoint(
        method = POST,
        path = "/scout/v2/checklist-execution/validate-checklist-resolution",
        name = "validateChecklistResolution",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
        request: super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::checklistexecution::api::BatchValidateChecklistResolutionResponse,
        conjure_http::private::Error,
    >;
}
