uarp_sdk/generated/api/
scheduler.rs1#![allow(unused_imports, clippy::too_many_arguments)]
6
7use reqwest::Method;
8use serde::{Deserialize, Serialize};
9
10use crate::client::{Client, Request, NO_BODY, NO_QUERY};
11use crate::error::Result;
12use crate::generated::models;
13use crate::multipart::{field_text, FilePart};
14use crate::util::encode_path;
15
16#[derive(Debug, Clone)]
18pub struct SchedulerApi {
19 pub(crate) client: Client,
20}
21
22impl Client {
23 pub fn scheduler(&self) -> SchedulerApi {
25 SchedulerApi { client: self.clone() }
26 }
27}
28
29impl SchedulerApi {
30 pub async fn get_schedule(&self, agent_id: &str) -> Result<models::Schedule> {
36 self.client
37 .request_json(Request {
38 method: Method::GET,
39 path: format!("/api/v1/agents/{}/schedule", encode_path(agent_id)),
40 query: NO_QUERY,
41 body: NO_BODY,
42 headers: Vec::new(),
43 idempotent: false,
44 })
45 .await
46 }
47
48 pub async fn list_schedules(&self) -> Result<models::ListSchedulesResponse> {
56 self.client
57 .request_json(Request {
58 method: Method::GET,
59 path: "/api/v1/schedules".to_string(),
60 query: NO_QUERY,
61 body: NO_BODY,
62 headers: Vec::new(),
63 idempotent: false,
64 })
65 .await
66 }
67
68 pub async fn remove_schedule(&self, agent_id: &str) -> Result<models::RemoveScheduleResponse> {
74 self.client
75 .request_json(Request {
76 method: Method::DELETE,
77 path: format!("/api/v1/agents/{}/schedule", encode_path(agent_id)),
78 query: NO_QUERY,
79 body: NO_BODY,
80 headers: Vec::new(),
81 idempotent: true,
82 })
83 .await
84 }
85
86 pub async fn set_schedule(&self, agent_id: &str, body: &models::SetScheduleRequest) -> Result<models::ScheduleEntry> {
92 self.client
93 .request_json(Request {
94 method: Method::PUT,
95 path: format!("/api/v1/agents/{}/schedule", encode_path(agent_id)),
96 query: NO_QUERY,
97 body: Some(body),
98 headers: Vec::new(),
99 idempotent: true,
100 })
101 .await
102 }
103}