use conjure_http::endpoint;
/// Internal API for managing ingest jobs. This service is filtered out from public documentation.
#[conjure_http::conjure_client(name = "InternalIngestJobService")]
pub trait InternalIngestJobService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Creates an ingest job, returning a RID for the job.
    #[endpoint(
        method = POST,
        path = "/internal/ingest/v1/ingest-job",
        name = "createIngestJob",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn create_ingest_job(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        create_ingest_job_request: &super::super::super::super::objects::ingest::api::CreateIngestJobRequest,
    ) -> Result<conjure_object::ResourceIdentifier, conjure_http::private::Error>;
    /// Returns a single ingest job by RID with full details including the ingest request.
    #[endpoint(
        method = GET,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJobInternal",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_ingest_job_internal(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::InternalIngestJob,
        conjure_http::private::Error,
    >;
    /// Updates the status of an ingest job.
    #[endpoint(
        method = PUT,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}/status",
        name = "updateIngestJobStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn update_ingest_job_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        status: &super::super::super::super::objects::ingest::api::IngestJobStatus,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJobStatus,
        conjure_http::private::Error,
    >;
}
/// Internal API for managing ingest jobs. This service is filtered out from public documentation.
#[conjure_http::conjure_client(name = "InternalIngestJobService")]
pub trait AsyncInternalIngestJobService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Creates an ingest job, returning a RID for the job.
    #[endpoint(
        method = POST,
        path = "/internal/ingest/v1/ingest-job",
        name = "createIngestJob",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn create_ingest_job(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        create_ingest_job_request: &super::super::super::super::objects::ingest::api::CreateIngestJobRequest,
    ) -> Result<conjure_object::ResourceIdentifier, conjure_http::private::Error>;
    /// Returns a single ingest job by RID with full details including the ingest request.
    #[endpoint(
        method = GET,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJobInternal",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_ingest_job_internal(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::InternalIngestJob,
        conjure_http::private::Error,
    >;
    /// Updates the status of an ingest job.
    #[endpoint(
        method = PUT,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}/status",
        name = "updateIngestJobStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update_ingest_job_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        status: &super::super::super::super::objects::ingest::api::IngestJobStatus,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJobStatus,
        conjure_http::private::Error,
    >;
}
/// Internal API for managing ingest jobs. This service is filtered out from public documentation.
#[conjure_http::conjure_client(name = "InternalIngestJobService", local)]
pub trait LocalAsyncInternalIngestJobService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Creates an ingest job, returning a RID for the job.
    #[endpoint(
        method = POST,
        path = "/internal/ingest/v1/ingest-job",
        name = "createIngestJob",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn create_ingest_job(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        create_ingest_job_request: &super::super::super::super::objects::ingest::api::CreateIngestJobRequest,
    ) -> Result<conjure_object::ResourceIdentifier, conjure_http::private::Error>;
    /// Returns a single ingest job by RID with full details including the ingest request.
    #[endpoint(
        method = GET,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJobInternal",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_ingest_job_internal(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::InternalIngestJob,
        conjure_http::private::Error,
    >;
    /// Updates the status of an ingest job.
    #[endpoint(
        method = PUT,
        path = "/internal/ingest/v1/ingest-job/{ingestJobRid}/status",
        name = "updateIngestJobStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update_ingest_job_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        ingest_job_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        status: &super::super::super::super::objects::ingest::api::IngestJobStatus,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJobStatus,
        conjure_http::private::Error,
    >;
}
