Skip to main content

nominal_api/conjure/objects/scout/channel/api/
search_channels_request.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct SearchChannelsRequest {
13    #[builder(
14        custom(type = super::super::super::compute::api::DataFrame, convert = Box::new)
15    )]
16    #[serde(rename = "scope")]
17    scope: Box<super::super::super::compute::api::DataFrame>,
18    #[builder(custom(type = super::ChannelSearchQuery, convert = Box::new))]
19    #[serde(rename = "query")]
20    query: Box<super::ChannelSearchQuery>,
21    #[builder(
22        custom(type = super::super::super::compute::api::Context, convert = Box::new)
23    )]
24    #[serde(rename = "context")]
25    context: Box<super::super::super::compute::api::Context>,
26    #[builder(custom(type = super::super::super::super::api::Range, convert = Box::new))]
27    #[serde(rename = "timeRange")]
28    time_range: Box<super::super::super::super::api::Range>,
29    #[builder(default, into)]
30    #[serde(
31        rename = "maxResultChannels",
32        skip_serializing_if = "Option::is_none",
33        default
34    )]
35    max_result_channels: Option<i32>,
36}
37impl SearchChannelsRequest {
38    #[inline]
39    pub fn scope(&self) -> &super::super::super::compute::api::DataFrame {
40        &*self.scope
41    }
42    #[inline]
43    pub fn query(&self) -> &super::ChannelSearchQuery {
44        &*self.query
45    }
46    #[inline]
47    pub fn context(&self) -> &super::super::super::compute::api::Context {
48        &*self.context
49    }
50    /// Time filter applied to the search. Only channels with data within this time range will be returned.
51    /// A shorter time range will improve performance!
52    #[inline]
53    pub fn time_range(&self) -> &super::super::super::super::api::Range {
54        &*self.time_range
55    }
56    /// Max number of distinct channels to return. Defaults to 200. Capped at 200.
57    #[inline]
58    pub fn max_result_channels(&self) -> Option<i32> {
59        self.max_result_channels.as_ref().map(|o| *o)
60    }
61}