1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct User {
7 pub id: ::std::option::Option<::std::string::String>,
9 pub arn: ::std::option::Option<::std::string::String>,
11 pub username: ::std::option::Option<::std::string::String>,
13 pub identity_info: ::std::option::Option<crate::types::UserIdentityInfo>,
15 pub phone_config: ::std::option::Option<crate::types::UserPhoneConfig>,
17 pub directory_user_id: ::std::option::Option<::std::string::String>,
19 pub security_profile_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
21 pub routing_profile_id: ::std::option::Option<::std::string::String>,
23 pub hierarchy_group_id: ::std::option::Option<::std::string::String>,
25 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
27 pub auto_accept_configs: ::std::option::Option<::std::vec::Vec<crate::types::AutoAcceptConfig>>,
29 pub after_contact_work_configs: ::std::option::Option<::std::vec::Vec<crate::types::AfterContactWorkConfigPerChannel>>,
31 pub phone_number_configs: ::std::option::Option<::std::vec::Vec<crate::types::PhoneNumberConfig>>,
33 pub persistent_connection_configs: ::std::option::Option<::std::vec::Vec<crate::types::PersistentConnectionConfig>>,
35 pub voice_enhancement_configs: ::std::option::Option<::std::vec::Vec<crate::types::VoiceEnhancementConfig>>,
37 pub last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
39 pub last_modified_region: ::std::option::Option<::std::string::String>,
41}
42impl User {
43 pub fn id(&self) -> ::std::option::Option<&str> {
45 self.id.as_deref()
46 }
47 pub fn arn(&self) -> ::std::option::Option<&str> {
49 self.arn.as_deref()
50 }
51 pub fn username(&self) -> ::std::option::Option<&str> {
53 self.username.as_deref()
54 }
55 pub fn identity_info(&self) -> ::std::option::Option<&crate::types::UserIdentityInfo> {
57 self.identity_info.as_ref()
58 }
59 pub fn phone_config(&self) -> ::std::option::Option<&crate::types::UserPhoneConfig> {
61 self.phone_config.as_ref()
62 }
63 pub fn directory_user_id(&self) -> ::std::option::Option<&str> {
65 self.directory_user_id.as_deref()
66 }
67 pub fn security_profile_ids(&self) -> &[::std::string::String] {
71 self.security_profile_ids.as_deref().unwrap_or_default()
72 }
73 pub fn routing_profile_id(&self) -> ::std::option::Option<&str> {
75 self.routing_profile_id.as_deref()
76 }
77 pub fn hierarchy_group_id(&self) -> ::std::option::Option<&str> {
79 self.hierarchy_group_id.as_deref()
80 }
81 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
83 self.tags.as_ref()
84 }
85 pub fn auto_accept_configs(&self) -> &[crate::types::AutoAcceptConfig] {
89 self.auto_accept_configs.as_deref().unwrap_or_default()
90 }
91 pub fn after_contact_work_configs(&self) -> &[crate::types::AfterContactWorkConfigPerChannel] {
95 self.after_contact_work_configs.as_deref().unwrap_or_default()
96 }
97 pub fn phone_number_configs(&self) -> &[crate::types::PhoneNumberConfig] {
101 self.phone_number_configs.as_deref().unwrap_or_default()
102 }
103 pub fn persistent_connection_configs(&self) -> &[crate::types::PersistentConnectionConfig] {
107 self.persistent_connection_configs.as_deref().unwrap_or_default()
108 }
109 pub fn voice_enhancement_configs(&self) -> &[crate::types::VoiceEnhancementConfig] {
113 self.voice_enhancement_configs.as_deref().unwrap_or_default()
114 }
115 pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
117 self.last_modified_time.as_ref()
118 }
119 pub fn last_modified_region(&self) -> ::std::option::Option<&str> {
121 self.last_modified_region.as_deref()
122 }
123}
124impl User {
125 pub fn builder() -> crate::types::builders::UserBuilder {
127 crate::types::builders::UserBuilder::default()
128 }
129}
130
131#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
133#[non_exhaustive]
134pub struct UserBuilder {
135 pub(crate) id: ::std::option::Option<::std::string::String>,
136 pub(crate) arn: ::std::option::Option<::std::string::String>,
137 pub(crate) username: ::std::option::Option<::std::string::String>,
138 pub(crate) identity_info: ::std::option::Option<crate::types::UserIdentityInfo>,
139 pub(crate) phone_config: ::std::option::Option<crate::types::UserPhoneConfig>,
140 pub(crate) directory_user_id: ::std::option::Option<::std::string::String>,
141 pub(crate) security_profile_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
142 pub(crate) routing_profile_id: ::std::option::Option<::std::string::String>,
143 pub(crate) hierarchy_group_id: ::std::option::Option<::std::string::String>,
144 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
145 pub(crate) auto_accept_configs: ::std::option::Option<::std::vec::Vec<crate::types::AutoAcceptConfig>>,
146 pub(crate) after_contact_work_configs: ::std::option::Option<::std::vec::Vec<crate::types::AfterContactWorkConfigPerChannel>>,
147 pub(crate) phone_number_configs: ::std::option::Option<::std::vec::Vec<crate::types::PhoneNumberConfig>>,
148 pub(crate) persistent_connection_configs: ::std::option::Option<::std::vec::Vec<crate::types::PersistentConnectionConfig>>,
149 pub(crate) voice_enhancement_configs: ::std::option::Option<::std::vec::Vec<crate::types::VoiceEnhancementConfig>>,
150 pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
151 pub(crate) last_modified_region: ::std::option::Option<::std::string::String>,
152}
153impl UserBuilder {
154 pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156 self.id = ::std::option::Option::Some(input.into());
157 self
158 }
159 pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
161 self.id = input;
162 self
163 }
164 pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
166 &self.id
167 }
168 pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.arn = ::std::option::Option::Some(input.into());
171 self
172 }
173 pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.arn = input;
176 self
177 }
178 pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
180 &self.arn
181 }
182 pub fn username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184 self.username = ::std::option::Option::Some(input.into());
185 self
186 }
187 pub fn set_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
189 self.username = input;
190 self
191 }
192 pub fn get_username(&self) -> &::std::option::Option<::std::string::String> {
194 &self.username
195 }
196 pub fn identity_info(mut self, input: crate::types::UserIdentityInfo) -> Self {
198 self.identity_info = ::std::option::Option::Some(input);
199 self
200 }
201 pub fn set_identity_info(mut self, input: ::std::option::Option<crate::types::UserIdentityInfo>) -> Self {
203 self.identity_info = input;
204 self
205 }
206 pub fn get_identity_info(&self) -> &::std::option::Option<crate::types::UserIdentityInfo> {
208 &self.identity_info
209 }
210 pub fn phone_config(mut self, input: crate::types::UserPhoneConfig) -> Self {
212 self.phone_config = ::std::option::Option::Some(input);
213 self
214 }
215 pub fn set_phone_config(mut self, input: ::std::option::Option<crate::types::UserPhoneConfig>) -> Self {
217 self.phone_config = input;
218 self
219 }
220 pub fn get_phone_config(&self) -> &::std::option::Option<crate::types::UserPhoneConfig> {
222 &self.phone_config
223 }
224 pub fn directory_user_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
226 self.directory_user_id = ::std::option::Option::Some(input.into());
227 self
228 }
229 pub fn set_directory_user_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
231 self.directory_user_id = input;
232 self
233 }
234 pub fn get_directory_user_id(&self) -> &::std::option::Option<::std::string::String> {
236 &self.directory_user_id
237 }
238 pub fn security_profile_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244 let mut v = self.security_profile_ids.unwrap_or_default();
245 v.push(input.into());
246 self.security_profile_ids = ::std::option::Option::Some(v);
247 self
248 }
249 pub fn set_security_profile_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
251 self.security_profile_ids = input;
252 self
253 }
254 pub fn get_security_profile_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
256 &self.security_profile_ids
257 }
258 pub fn routing_profile_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260 self.routing_profile_id = ::std::option::Option::Some(input.into());
261 self
262 }
263 pub fn set_routing_profile_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
265 self.routing_profile_id = input;
266 self
267 }
268 pub fn get_routing_profile_id(&self) -> &::std::option::Option<::std::string::String> {
270 &self.routing_profile_id
271 }
272 pub fn hierarchy_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
274 self.hierarchy_group_id = ::std::option::Option::Some(input.into());
275 self
276 }
277 pub fn set_hierarchy_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
279 self.hierarchy_group_id = input;
280 self
281 }
282 pub fn get_hierarchy_group_id(&self) -> &::std::option::Option<::std::string::String> {
284 &self.hierarchy_group_id
285 }
286 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
292 let mut hash_map = self.tags.unwrap_or_default();
293 hash_map.insert(k.into(), v.into());
294 self.tags = ::std::option::Option::Some(hash_map);
295 self
296 }
297 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
299 self.tags = input;
300 self
301 }
302 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
304 &self.tags
305 }
306 pub fn auto_accept_configs(mut self, input: crate::types::AutoAcceptConfig) -> Self {
312 let mut v = self.auto_accept_configs.unwrap_or_default();
313 v.push(input);
314 self.auto_accept_configs = ::std::option::Option::Some(v);
315 self
316 }
317 pub fn set_auto_accept_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AutoAcceptConfig>>) -> Self {
319 self.auto_accept_configs = input;
320 self
321 }
322 pub fn get_auto_accept_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AutoAcceptConfig>> {
324 &self.auto_accept_configs
325 }
326 pub fn after_contact_work_configs(mut self, input: crate::types::AfterContactWorkConfigPerChannel) -> Self {
332 let mut v = self.after_contact_work_configs.unwrap_or_default();
333 v.push(input);
334 self.after_contact_work_configs = ::std::option::Option::Some(v);
335 self
336 }
337 pub fn set_after_contact_work_configs(
339 mut self,
340 input: ::std::option::Option<::std::vec::Vec<crate::types::AfterContactWorkConfigPerChannel>>,
341 ) -> Self {
342 self.after_contact_work_configs = input;
343 self
344 }
345 pub fn get_after_contact_work_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AfterContactWorkConfigPerChannel>> {
347 &self.after_contact_work_configs
348 }
349 pub fn phone_number_configs(mut self, input: crate::types::PhoneNumberConfig) -> Self {
355 let mut v = self.phone_number_configs.unwrap_or_default();
356 v.push(input);
357 self.phone_number_configs = ::std::option::Option::Some(v);
358 self
359 }
360 pub fn set_phone_number_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PhoneNumberConfig>>) -> Self {
362 self.phone_number_configs = input;
363 self
364 }
365 pub fn get_phone_number_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PhoneNumberConfig>> {
367 &self.phone_number_configs
368 }
369 pub fn persistent_connection_configs(mut self, input: crate::types::PersistentConnectionConfig) -> Self {
375 let mut v = self.persistent_connection_configs.unwrap_or_default();
376 v.push(input);
377 self.persistent_connection_configs = ::std::option::Option::Some(v);
378 self
379 }
380 pub fn set_persistent_connection_configs(
382 mut self,
383 input: ::std::option::Option<::std::vec::Vec<crate::types::PersistentConnectionConfig>>,
384 ) -> Self {
385 self.persistent_connection_configs = input;
386 self
387 }
388 pub fn get_persistent_connection_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PersistentConnectionConfig>> {
390 &self.persistent_connection_configs
391 }
392 pub fn voice_enhancement_configs(mut self, input: crate::types::VoiceEnhancementConfig) -> Self {
398 let mut v = self.voice_enhancement_configs.unwrap_or_default();
399 v.push(input);
400 self.voice_enhancement_configs = ::std::option::Option::Some(v);
401 self
402 }
403 pub fn set_voice_enhancement_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VoiceEnhancementConfig>>) -> Self {
405 self.voice_enhancement_configs = input;
406 self
407 }
408 pub fn get_voice_enhancement_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VoiceEnhancementConfig>> {
410 &self.voice_enhancement_configs
411 }
412 pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
414 self.last_modified_time = ::std::option::Option::Some(input);
415 self
416 }
417 pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
419 self.last_modified_time = input;
420 self
421 }
422 pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
424 &self.last_modified_time
425 }
426 pub fn last_modified_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
428 self.last_modified_region = ::std::option::Option::Some(input.into());
429 self
430 }
431 pub fn set_last_modified_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
433 self.last_modified_region = input;
434 self
435 }
436 pub fn get_last_modified_region(&self) -> &::std::option::Option<::std::string::String> {
438 &self.last_modified_region
439 }
440 pub fn build(self) -> crate::types::User {
442 crate::types::User {
443 id: self.id,
444 arn: self.arn,
445 username: self.username,
446 identity_info: self.identity_info,
447 phone_config: self.phone_config,
448 directory_user_id: self.directory_user_id,
449 security_profile_ids: self.security_profile_ids,
450 routing_profile_id: self.routing_profile_id,
451 hierarchy_group_id: self.hierarchy_group_id,
452 tags: self.tags,
453 auto_accept_configs: self.auto_accept_configs,
454 after_contact_work_configs: self.after_contact_work_configs,
455 phone_number_configs: self.phone_number_configs,
456 persistent_connection_configs: self.persistent_connection_configs,
457 voice_enhancement_configs: self.voice_enhancement_configs,
458 last_modified_time: self.last_modified_time,
459 last_modified_region: self.last_modified_region,
460 }
461 }
462}