decthings_api/client/rpc/persistent_launcher/
request.rs

1use crate::client::rpc::LauncherSpec;
2use serde::Serialize;
3
4#[derive(Debug, Clone, Serialize)]
5#[serde(rename_all = "camelCase")]
6pub struct CreatePersistentLauncherParams<'a> {
7    /// A name for the launcher.
8    pub name: &'a str,
9    /// Launcher specification to use.
10    pub spec: &'a LauncherSpec,
11}
12
13#[derive(Debug, Clone, Serialize)]
14#[serde(rename_all = "camelCase")]
15pub struct GetPersistentLaunchersFilter<'a, S: AsRef<str>> {
16    #[serde(serialize_with = "super::super::serialize_option_asref_str_seq")]
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub ids: Option<&'a [S]>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub search_name: Option<&'a str>,
21}
22
23#[derive(Debug, Clone, Serialize)]
24#[serde(rename_all = "camelCase")]
25pub enum SortDirection {
26    Asc,
27    Desc,
28}
29
30#[derive(Debug, Clone, Serialize)]
31#[serde(rename_all = "camelCase")]
32#[serde(bound(serialize = ""))]
33pub struct GetPersistentLaunchersParams<'a, S: AsRef<str>> {
34    /// Number of items from the results to skip. Defaults to 0.
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub offset: Option<u32>,
37    /// Max number of items to return. Defaults to 20.
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub limit: Option<u32>,
40    /// If specified, determines which items to retrieve.
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub filter: Option<GetPersistentLaunchersFilter<'a, S>>,
43    /// Specifies a field in the returned items to sort by. Defaults to "createdAt".
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub sort: Option<&'a str>,
46    #[serde(skip_serializing_if = "Option::is_none")]
47    pub sort_direction: Option<SortDirection>,
48}
49
50#[derive(Debug, Clone, Serialize)]
51#[serde(rename_all = "camelCase")]
52pub struct GetSysinfoParams<'a> {
53    /// The persistent launcher's id.
54    pub persistent_launcher_id: &'a str,
55    /// If specified, only data points after this time are included.
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub from_timestamp: Option<i64>,
58}
59
60#[derive(Debug, Clone, Serialize)]
61#[serde(rename_all = "camelCase")]
62pub struct DeletePersistentLauncherParams<'a> {
63    /// The persistent launcher's id.
64    pub persistent_launcher_id: &'a str,
65}