Skip to main content

atrium_api/tools/ozone/queue/
create_queue.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `tools.ozone.queue.createQueue` namespace.
3pub const NSID: &str = "tools.ozone.queue.createQueue";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct InputData {
7    ///Collection name for record subjects. Required if subjectTypes includes 'record'.
8    #[serde(skip_serializing_if = "core::option::Option::is_none")]
9    pub collection: core::option::Option<crate::types::string::Nsid>,
10    ///Optional description of the queue
11    #[serde(skip_serializing_if = "core::option::Option::is_none")]
12    pub description: core::option::Option<String>,
13    ///Display name for the queue (must be unique)
14    pub name: String,
15    ///Policy keys to recommend when actioning reports in this queue
16    #[serde(skip_serializing_if = "core::option::Option::is_none")]
17    pub recommended_policies: core::option::Option<Vec<String>>,
18    ///Report reason types (fully qualified NSIDs)
19    #[serde(skip_serializing_if = "core::option::Option::is_none")]
20    pub report_types: core::option::Option<Vec<String>>,
21    ///Subject types this queue accepts
22    #[serde(skip_serializing_if = "core::option::Option::is_none")]
23    pub subject_types: core::option::Option<Vec<String>>,
24}
25pub type Input = crate::types::Object<InputData>;
26#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
27#[serde(rename_all = "camelCase")]
28pub struct OutputData {
29    pub queue: crate::tools::ozone::queue::defs::QueueView,
30}
31pub type Output = crate::types::Object<OutputData>;
32#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
33#[serde(tag = "error", content = "message")]
34pub enum Error {
35    ///One or more recommended policy keys do not exist in the configured policy list
36    InvalidRecommendedPolicies(Option<String>),
37    ///The queue configuration conflicts with an existing queue
38    ConflictingQueue(Option<String>),
39}
40impl std::fmt::Display for Error {
41    fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
42        match self {
43            Error::InvalidRecommendedPolicies(msg) => {
44                write!(_f, "InvalidRecommendedPolicies")?;
45                if let Some(msg) = msg {
46                    write!(_f, ": {msg}")?;
47                }
48            }
49            Error::ConflictingQueue(msg) => {
50                write!(_f, "ConflictingQueue")?;
51                if let Some(msg) = msg {
52                    write!(_f, ": {msg}")?;
53                }
54            }
55        }
56        Ok(())
57    }
58}