use conjure_http::endpoint;
/// The Checklist Execution Service checks the status of checklist executions.
#[conjure_http::conjure_client(name = "ChecklistExecutionService")]
pub trait ChecklistExecutionService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// 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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn checklist_live_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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_client(name = "ChecklistExecutionService")]
pub trait AsyncChecklistExecutionService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// 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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn checklist_live_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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_client(name = "ChecklistExecutionService", local)]
pub trait LocalAsyncChecklistExecutionService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// 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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn checklist_live_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn execute_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_streaming_checklist_for_asset(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn stop_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn stop_streaming_checklist_for_assets(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn reload_streaming_checklist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "checklistRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        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",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn validate_checklist_resolution(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        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,
    >;
}
