aws_sdk_appfabric/operation/create_ingestion/_create_ingestion_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateIngestionInput {
6 /// <p>The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.</p>
7 pub app_bundle_identifier: ::std::option::Option<::std::string::String>,
8 /// <p>The name of the application.</p>
9 /// <p>Valid values are:</p>
10 /// <ul>
11 /// <li>
12 /// <p><code>SLACK</code></p></li>
13 /// <li>
14 /// <p><code>ASANA</code></p></li>
15 /// <li>
16 /// <p><code>JIRA</code></p></li>
17 /// <li>
18 /// <p><code>M365</code></p></li>
19 /// <li>
20 /// <p><code>M365AUDITLOGS</code></p></li>
21 /// <li>
22 /// <p><code>ZOOM</code></p></li>
23 /// <li>
24 /// <p><code>ZENDESK</code></p></li>
25 /// <li>
26 /// <p><code>OKTA</code></p></li>
27 /// <li>
28 /// <p><code>GOOGLE</code></p></li>
29 /// <li>
30 /// <p><code>DROPBOX</code></p></li>
31 /// <li>
32 /// <p><code>SMARTSHEET</code></p></li>
33 /// <li>
34 /// <p><code>CISCO</code></p></li>
35 /// </ul>
36 pub app: ::std::option::Option<::std::string::String>,
37 /// <p>The ID of the application tenant.</p>
38 pub tenant_id: ::std::option::Option<::std::string::String>,
39 /// <p>The ingestion type.</p>
40 pub ingestion_type: ::std::option::Option<crate::types::IngestionType>,
41 /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
42 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
43 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
44 pub client_token: ::std::option::Option<::std::string::String>,
45 /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
46 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
47}
48impl CreateIngestionInput {
49 /// <p>The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.</p>
50 pub fn app_bundle_identifier(&self) -> ::std::option::Option<&str> {
51 self.app_bundle_identifier.as_deref()
52 }
53 /// <p>The name of the application.</p>
54 /// <p>Valid values are:</p>
55 /// <ul>
56 /// <li>
57 /// <p><code>SLACK</code></p></li>
58 /// <li>
59 /// <p><code>ASANA</code></p></li>
60 /// <li>
61 /// <p><code>JIRA</code></p></li>
62 /// <li>
63 /// <p><code>M365</code></p></li>
64 /// <li>
65 /// <p><code>M365AUDITLOGS</code></p></li>
66 /// <li>
67 /// <p><code>ZOOM</code></p></li>
68 /// <li>
69 /// <p><code>ZENDESK</code></p></li>
70 /// <li>
71 /// <p><code>OKTA</code></p></li>
72 /// <li>
73 /// <p><code>GOOGLE</code></p></li>
74 /// <li>
75 /// <p><code>DROPBOX</code></p></li>
76 /// <li>
77 /// <p><code>SMARTSHEET</code></p></li>
78 /// <li>
79 /// <p><code>CISCO</code></p></li>
80 /// </ul>
81 pub fn app(&self) -> ::std::option::Option<&str> {
82 self.app.as_deref()
83 }
84 /// <p>The ID of the application tenant.</p>
85 pub fn tenant_id(&self) -> ::std::option::Option<&str> {
86 self.tenant_id.as_deref()
87 }
88 /// <p>The ingestion type.</p>
89 pub fn ingestion_type(&self) -> ::std::option::Option<&crate::types::IngestionType> {
90 self.ingestion_type.as_ref()
91 }
92 /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
93 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
94 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
95 pub fn client_token(&self) -> ::std::option::Option<&str> {
96 self.client_token.as_deref()
97 }
98 /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
99 ///
100 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
101 pub fn tags(&self) -> &[crate::types::Tag] {
102 self.tags.as_deref().unwrap_or_default()
103 }
104}
105impl CreateIngestionInput {
106 /// Creates a new builder-style object to manufacture [`CreateIngestionInput`](crate::operation::create_ingestion::CreateIngestionInput).
107 pub fn builder() -> crate::operation::create_ingestion::builders::CreateIngestionInputBuilder {
108 crate::operation::create_ingestion::builders::CreateIngestionInputBuilder::default()
109 }
110}
111
112/// A builder for [`CreateIngestionInput`](crate::operation::create_ingestion::CreateIngestionInput).
113#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
114#[non_exhaustive]
115pub struct CreateIngestionInputBuilder {
116 pub(crate) app_bundle_identifier: ::std::option::Option<::std::string::String>,
117 pub(crate) app: ::std::option::Option<::std::string::String>,
118 pub(crate) tenant_id: ::std::option::Option<::std::string::String>,
119 pub(crate) ingestion_type: ::std::option::Option<crate::types::IngestionType>,
120 pub(crate) client_token: ::std::option::Option<::std::string::String>,
121 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
122}
123impl CreateIngestionInputBuilder {
124 /// <p>The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.</p>
125 /// This field is required.
126 pub fn app_bundle_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.app_bundle_identifier = ::std::option::Option::Some(input.into());
128 self
129 }
130 /// <p>The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.</p>
131 pub fn set_app_bundle_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.app_bundle_identifier = input;
133 self
134 }
135 /// <p>The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.</p>
136 pub fn get_app_bundle_identifier(&self) -> &::std::option::Option<::std::string::String> {
137 &self.app_bundle_identifier
138 }
139 /// <p>The name of the application.</p>
140 /// <p>Valid values are:</p>
141 /// <ul>
142 /// <li>
143 /// <p><code>SLACK</code></p></li>
144 /// <li>
145 /// <p><code>ASANA</code></p></li>
146 /// <li>
147 /// <p><code>JIRA</code></p></li>
148 /// <li>
149 /// <p><code>M365</code></p></li>
150 /// <li>
151 /// <p><code>M365AUDITLOGS</code></p></li>
152 /// <li>
153 /// <p><code>ZOOM</code></p></li>
154 /// <li>
155 /// <p><code>ZENDESK</code></p></li>
156 /// <li>
157 /// <p><code>OKTA</code></p></li>
158 /// <li>
159 /// <p><code>GOOGLE</code></p></li>
160 /// <li>
161 /// <p><code>DROPBOX</code></p></li>
162 /// <li>
163 /// <p><code>SMARTSHEET</code></p></li>
164 /// <li>
165 /// <p><code>CISCO</code></p></li>
166 /// </ul>
167 /// This field is required.
168 pub fn app(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169 self.app = ::std::option::Option::Some(input.into());
170 self
171 }
172 /// <p>The name of the application.</p>
173 /// <p>Valid values are:</p>
174 /// <ul>
175 /// <li>
176 /// <p><code>SLACK</code></p></li>
177 /// <li>
178 /// <p><code>ASANA</code></p></li>
179 /// <li>
180 /// <p><code>JIRA</code></p></li>
181 /// <li>
182 /// <p><code>M365</code></p></li>
183 /// <li>
184 /// <p><code>M365AUDITLOGS</code></p></li>
185 /// <li>
186 /// <p><code>ZOOM</code></p></li>
187 /// <li>
188 /// <p><code>ZENDESK</code></p></li>
189 /// <li>
190 /// <p><code>OKTA</code></p></li>
191 /// <li>
192 /// <p><code>GOOGLE</code></p></li>
193 /// <li>
194 /// <p><code>DROPBOX</code></p></li>
195 /// <li>
196 /// <p><code>SMARTSHEET</code></p></li>
197 /// <li>
198 /// <p><code>CISCO</code></p></li>
199 /// </ul>
200 pub fn set_app(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
201 self.app = input;
202 self
203 }
204 /// <p>The name of the application.</p>
205 /// <p>Valid values are:</p>
206 /// <ul>
207 /// <li>
208 /// <p><code>SLACK</code></p></li>
209 /// <li>
210 /// <p><code>ASANA</code></p></li>
211 /// <li>
212 /// <p><code>JIRA</code></p></li>
213 /// <li>
214 /// <p><code>M365</code></p></li>
215 /// <li>
216 /// <p><code>M365AUDITLOGS</code></p></li>
217 /// <li>
218 /// <p><code>ZOOM</code></p></li>
219 /// <li>
220 /// <p><code>ZENDESK</code></p></li>
221 /// <li>
222 /// <p><code>OKTA</code></p></li>
223 /// <li>
224 /// <p><code>GOOGLE</code></p></li>
225 /// <li>
226 /// <p><code>DROPBOX</code></p></li>
227 /// <li>
228 /// <p><code>SMARTSHEET</code></p></li>
229 /// <li>
230 /// <p><code>CISCO</code></p></li>
231 /// </ul>
232 pub fn get_app(&self) -> &::std::option::Option<::std::string::String> {
233 &self.app
234 }
235 /// <p>The ID of the application tenant.</p>
236 /// This field is required.
237 pub fn tenant_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238 self.tenant_id = ::std::option::Option::Some(input.into());
239 self
240 }
241 /// <p>The ID of the application tenant.</p>
242 pub fn set_tenant_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
243 self.tenant_id = input;
244 self
245 }
246 /// <p>The ID of the application tenant.</p>
247 pub fn get_tenant_id(&self) -> &::std::option::Option<::std::string::String> {
248 &self.tenant_id
249 }
250 /// <p>The ingestion type.</p>
251 /// This field is required.
252 pub fn ingestion_type(mut self, input: crate::types::IngestionType) -> Self {
253 self.ingestion_type = ::std::option::Option::Some(input);
254 self
255 }
256 /// <p>The ingestion type.</p>
257 pub fn set_ingestion_type(mut self, input: ::std::option::Option<crate::types::IngestionType>) -> Self {
258 self.ingestion_type = input;
259 self
260 }
261 /// <p>The ingestion type.</p>
262 pub fn get_ingestion_type(&self) -> &::std::option::Option<crate::types::IngestionType> {
263 &self.ingestion_type
264 }
265 /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
266 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
267 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
268 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269 self.client_token = ::std::option::Option::Some(input.into());
270 self
271 }
272 /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
273 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
274 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
275 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
276 self.client_token = input;
277 self
278 }
279 /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
280 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
281 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
282 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
283 &self.client_token
284 }
285 /// Appends an item to `tags`.
286 ///
287 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
288 ///
289 /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
290 pub fn tags(mut self, input: crate::types::Tag) -> Self {
291 let mut v = self.tags.unwrap_or_default();
292 v.push(input);
293 self.tags = ::std::option::Option::Some(v);
294 self
295 }
296 /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
297 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
298 self.tags = input;
299 self
300 }
301 /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
302 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
303 &self.tags
304 }
305 /// Consumes the builder and constructs a [`CreateIngestionInput`](crate::operation::create_ingestion::CreateIngestionInput).
306 pub fn build(
307 self,
308 ) -> ::std::result::Result<crate::operation::create_ingestion::CreateIngestionInput, ::aws_smithy_types::error::operation::BuildError> {
309 ::std::result::Result::Ok(crate::operation::create_ingestion::CreateIngestionInput {
310 app_bundle_identifier: self.app_bundle_identifier,
311 app: self.app,
312 tenant_id: self.tenant_id,
313 ingestion_type: self.ingestion_type,
314 client_token: self.client_token,
315 tags: self.tags,
316 })
317 }
318}