aws_sdk_datazone/operation/search/
_search_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct SearchInput {
6 pub domain_identifier: ::std::option::Option<::std::string::String>,
8 pub owning_project_identifier: ::std::option::Option<::std::string::String>,
10 pub max_results: ::std::option::Option<i32>,
12 pub next_token: ::std::option::Option<::std::string::String>,
14 pub search_scope: ::std::option::Option<crate::types::InventorySearchScope>,
16 pub search_text: ::std::option::Option<::std::string::String>,
18 pub search_in: ::std::option::Option<::std::vec::Vec<crate::types::SearchInItem>>,
20 pub filters: ::std::option::Option<crate::types::FilterClause>,
22 pub sort: ::std::option::Option<crate::types::SearchSort>,
24 pub additional_attributes: ::std::option::Option<::std::vec::Vec<crate::types::SearchOutputAdditionalAttribute>>,
26}
27impl SearchInput {
28 pub fn domain_identifier(&self) -> ::std::option::Option<&str> {
30 self.domain_identifier.as_deref()
31 }
32 pub fn owning_project_identifier(&self) -> ::std::option::Option<&str> {
34 self.owning_project_identifier.as_deref()
35 }
36 pub fn max_results(&self) -> ::std::option::Option<i32> {
38 self.max_results
39 }
40 pub fn next_token(&self) -> ::std::option::Option<&str> {
42 self.next_token.as_deref()
43 }
44 pub fn search_scope(&self) -> ::std::option::Option<&crate::types::InventorySearchScope> {
46 self.search_scope.as_ref()
47 }
48 pub fn search_text(&self) -> ::std::option::Option<&str> {
50 self.search_text.as_deref()
51 }
52 pub fn search_in(&self) -> &[crate::types::SearchInItem] {
56 self.search_in.as_deref().unwrap_or_default()
57 }
58 pub fn filters(&self) -> ::std::option::Option<&crate::types::FilterClause> {
60 self.filters.as_ref()
61 }
62 pub fn sort(&self) -> ::std::option::Option<&crate::types::SearchSort> {
64 self.sort.as_ref()
65 }
66 pub fn additional_attributes(&self) -> &[crate::types::SearchOutputAdditionalAttribute] {
70 self.additional_attributes.as_deref().unwrap_or_default()
71 }
72}
73impl SearchInput {
74 pub fn builder() -> crate::operation::search::builders::SearchInputBuilder {
76 crate::operation::search::builders::SearchInputBuilder::default()
77 }
78}
79
80#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
82#[non_exhaustive]
83pub struct SearchInputBuilder {
84 pub(crate) domain_identifier: ::std::option::Option<::std::string::String>,
85 pub(crate) owning_project_identifier: ::std::option::Option<::std::string::String>,
86 pub(crate) max_results: ::std::option::Option<i32>,
87 pub(crate) next_token: ::std::option::Option<::std::string::String>,
88 pub(crate) search_scope: ::std::option::Option<crate::types::InventorySearchScope>,
89 pub(crate) search_text: ::std::option::Option<::std::string::String>,
90 pub(crate) search_in: ::std::option::Option<::std::vec::Vec<crate::types::SearchInItem>>,
91 pub(crate) filters: ::std::option::Option<crate::types::FilterClause>,
92 pub(crate) sort: ::std::option::Option<crate::types::SearchSort>,
93 pub(crate) additional_attributes: ::std::option::Option<::std::vec::Vec<crate::types::SearchOutputAdditionalAttribute>>,
94}
95impl SearchInputBuilder {
96 pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
99 self.domain_identifier = ::std::option::Option::Some(input.into());
100 self
101 }
102 pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
104 self.domain_identifier = input;
105 self
106 }
107 pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
109 &self.domain_identifier
110 }
111 pub fn owning_project_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.owning_project_identifier = ::std::option::Option::Some(input.into());
114 self
115 }
116 pub fn set_owning_project_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.owning_project_identifier = input;
119 self
120 }
121 pub fn get_owning_project_identifier(&self) -> &::std::option::Option<::std::string::String> {
123 &self.owning_project_identifier
124 }
125 pub fn max_results(mut self, input: i32) -> Self {
127 self.max_results = ::std::option::Option::Some(input);
128 self
129 }
130 pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
132 self.max_results = input;
133 self
134 }
135 pub fn get_max_results(&self) -> &::std::option::Option<i32> {
137 &self.max_results
138 }
139 pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.next_token = ::std::option::Option::Some(input.into());
142 self
143 }
144 pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.next_token = input;
147 self
148 }
149 pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
151 &self.next_token
152 }
153 pub fn search_scope(mut self, input: crate::types::InventorySearchScope) -> Self {
156 self.search_scope = ::std::option::Option::Some(input);
157 self
158 }
159 pub fn set_search_scope(mut self, input: ::std::option::Option<crate::types::InventorySearchScope>) -> Self {
161 self.search_scope = input;
162 self
163 }
164 pub fn get_search_scope(&self) -> &::std::option::Option<crate::types::InventorySearchScope> {
166 &self.search_scope
167 }
168 pub fn search_text(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.search_text = ::std::option::Option::Some(input.into());
171 self
172 }
173 pub fn set_search_text(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.search_text = input;
176 self
177 }
178 pub fn get_search_text(&self) -> &::std::option::Option<::std::string::String> {
180 &self.search_text
181 }
182 pub fn search_in(mut self, input: crate::types::SearchInItem) -> Self {
188 let mut v = self.search_in.unwrap_or_default();
189 v.push(input);
190 self.search_in = ::std::option::Option::Some(v);
191 self
192 }
193 pub fn set_search_in(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SearchInItem>>) -> Self {
195 self.search_in = input;
196 self
197 }
198 pub fn get_search_in(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SearchInItem>> {
200 &self.search_in
201 }
202 pub fn filters(mut self, input: crate::types::FilterClause) -> Self {
204 self.filters = ::std::option::Option::Some(input);
205 self
206 }
207 pub fn set_filters(mut self, input: ::std::option::Option<crate::types::FilterClause>) -> Self {
209 self.filters = input;
210 self
211 }
212 pub fn get_filters(&self) -> &::std::option::Option<crate::types::FilterClause> {
214 &self.filters
215 }
216 pub fn sort(mut self, input: crate::types::SearchSort) -> Self {
218 self.sort = ::std::option::Option::Some(input);
219 self
220 }
221 pub fn set_sort(mut self, input: ::std::option::Option<crate::types::SearchSort>) -> Self {
223 self.sort = input;
224 self
225 }
226 pub fn get_sort(&self) -> &::std::option::Option<crate::types::SearchSort> {
228 &self.sort
229 }
230 pub fn additional_attributes(mut self, input: crate::types::SearchOutputAdditionalAttribute) -> Self {
236 let mut v = self.additional_attributes.unwrap_or_default();
237 v.push(input);
238 self.additional_attributes = ::std::option::Option::Some(v);
239 self
240 }
241 pub fn set_additional_attributes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SearchOutputAdditionalAttribute>>) -> Self {
243 self.additional_attributes = input;
244 self
245 }
246 pub fn get_additional_attributes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SearchOutputAdditionalAttribute>> {
248 &self.additional_attributes
249 }
250 pub fn build(self) -> ::std::result::Result<crate::operation::search::SearchInput, ::aws_smithy_types::error::operation::BuildError> {
252 ::std::result::Result::Ok(crate::operation::search::SearchInput {
253 domain_identifier: self.domain_identifier,
254 owning_project_identifier: self.owning_project_identifier,
255 max_results: self.max_results,
256 next_token: self.next_token,
257 search_scope: self.search_scope,
258 search_text: self.search_text,
259 search_in: self.search_in,
260 filters: self.filters,
261 sort: self.sort,
262 additional_attributes: self.additional_attributes,
263 })
264 }
265}