1use std::fmt::Write;
3pub mod complete_group_avatar_upload_input {
5 #[non_exhaustive]
7 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
8 pub struct Builder {
9 pub(crate) group_id: std::option::Option<std::string::String>,
10 pub(crate) upload_id: std::option::Option<std::string::String>,
11 }
12 impl Builder {
13 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
15 self.group_id = Some(input.into());
16 self
17 }
18 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
20 self.group_id = input;
21 self
22 }
23 pub fn upload_id(mut self, input: impl Into<std::string::String>) -> Self {
25 self.upload_id = Some(input.into());
26 self
27 }
28 pub fn set_upload_id(mut self, input: std::option::Option<std::string::String>) -> Self {
30 self.upload_id = input;
31 self
32 }
33 pub fn build(
35 self,
36 ) -> std::result::Result<
37 crate::input::CompleteGroupAvatarUploadInput,
38 aws_smithy_http::operation::BuildError,
39 > {
40 Ok(crate::input::CompleteGroupAvatarUploadInput {
41 group_id: self.group_id,
42 upload_id: self.upload_id,
43 })
44 }
45 }
46}
47#[doc(hidden)]
48pub type CompleteGroupAvatarUploadInputOperationOutputAlias =
49 crate::operation::CompleteGroupAvatarUpload;
50#[doc(hidden)]
51pub type CompleteGroupAvatarUploadInputOperationRetryAlias = ();
52impl CompleteGroupAvatarUploadInput {
53 #[allow(unused_mut)]
55 #[allow(clippy::let_and_return)]
56 #[allow(clippy::needless_borrow)]
57 pub async fn make_operation(
58 &self,
59 _config: &crate::config::Config,
60 ) -> std::result::Result<
61 aws_smithy_http::operation::Operation<crate::operation::CompleteGroupAvatarUpload, ()>,
62 aws_smithy_http::operation::BuildError,
63 > {
64 let mut request = {
65 fn uri_base(
66 _input: &crate::input::CompleteGroupAvatarUploadInput,
67 output: &mut String,
68 ) -> Result<(), aws_smithy_http::operation::BuildError> {
69 let input_1 = &_input.group_id;
70 let input_1 = input_1.as_ref().ok_or(
71 aws_smithy_http::operation::BuildError::MissingField {
72 field: "group_id",
73 details: "cannot be empty or unset",
74 },
75 )?;
76 let group_id = aws_smithy_http::label::fmt_string(input_1, false);
77 if group_id.is_empty() {
78 return Err(aws_smithy_http::operation::BuildError::MissingField {
79 field: "group_id",
80 details: "cannot be empty or unset",
81 });
82 }
83 let input_2 = &_input.upload_id;
84 let input_2 = input_2.as_ref().ok_or(
85 aws_smithy_http::operation::BuildError::MissingField {
86 field: "upload_id",
87 details: "cannot be empty or unset",
88 },
89 )?;
90 let upload_id = aws_smithy_http::label::fmt_string(input_2, false);
91 if upload_id.is_empty() {
92 return Err(aws_smithy_http::operation::BuildError::MissingField {
93 field: "upload_id",
94 details: "cannot be empty or unset",
95 });
96 }
97 write!(
98 output,
99 "/groups/{group_id}/avatar-upload/{upload_id}/complete",
100 group_id = group_id,
101 upload_id = upload_id
102 )
103 .expect("formatting should succeed");
104 Ok(())
105 }
106 #[allow(clippy::unnecessary_wraps)]
107 fn update_http_builder(
108 input: &crate::input::CompleteGroupAvatarUploadInput,
109 _config: &crate::config::Config,
110 builder: http::request::Builder,
111 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
112 {
113 let mut _uri = String::new();
114 _uri = format!("{}{}", _config.uri.clone(), _uri);
115 uri_base(input, &mut _uri)?;
116 Ok(builder.method("POST").uri(_uri))
117 }
118 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
119 let mut builder = if let Some(auth) = &_config.auth {
120 builder.header(http::header::AUTHORIZATION, auth.clone())
121 } else {
122 builder
123 };
124 builder
125 };
126 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
127 #[allow(clippy::useless_conversion)]
128 let body = aws_smithy_http::body::SdkBody::from("{}");
129 let request = request.body(body).expect("should be valid request");
130 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
131 request
132 .properties_mut()
133 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
134 let op = aws_smithy_http::operation::Operation::new(
135 request,
136 crate::operation::CompleteGroupAvatarUpload::new(),
137 )
138 .with_metadata(aws_smithy_http::operation::Metadata::new(
139 "CompleteGroupAvatarUpload",
140 "GroupService",
141 ));
142 Ok(op)
143 }
144 pub fn builder() -> crate::input::complete_group_avatar_upload_input::Builder {
146 crate::input::complete_group_avatar_upload_input::Builder::default()
147 }
148}
149
150pub mod consume_group_invite_input {
152 #[non_exhaustive]
154 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
155 pub struct Builder {
156 pub(crate) group_invite_code: std::option::Option<std::string::String>,
157 }
158 impl Builder {
159 pub fn group_invite_code(mut self, input: impl Into<std::string::String>) -> Self {
161 self.group_invite_code = Some(input.into());
162 self
163 }
164 pub fn set_group_invite_code(
166 mut self,
167 input: std::option::Option<std::string::String>,
168 ) -> Self {
169 self.group_invite_code = input;
170 self
171 }
172 pub fn build(
174 self,
175 ) -> std::result::Result<
176 crate::input::ConsumeGroupInviteInput,
177 aws_smithy_http::operation::BuildError,
178 > {
179 Ok(crate::input::ConsumeGroupInviteInput {
180 group_invite_code: self.group_invite_code,
181 })
182 }
183 }
184}
185#[doc(hidden)]
186pub type ConsumeGroupInviteInputOperationOutputAlias = crate::operation::ConsumeGroupInvite;
187#[doc(hidden)]
188pub type ConsumeGroupInviteInputOperationRetryAlias = ();
189impl ConsumeGroupInviteInput {
190 #[allow(unused_mut)]
192 #[allow(clippy::let_and_return)]
193 #[allow(clippy::needless_borrow)]
194 pub async fn make_operation(
195 &self,
196 _config: &crate::config::Config,
197 ) -> std::result::Result<
198 aws_smithy_http::operation::Operation<crate::operation::ConsumeGroupInvite, ()>,
199 aws_smithy_http::operation::BuildError,
200 > {
201 let mut request = {
202 fn uri_base(
203 _input: &crate::input::ConsumeGroupInviteInput,
204 output: &mut String,
205 ) -> Result<(), aws_smithy_http::operation::BuildError> {
206 let input_3 = &_input.group_invite_code;
207 let input_3 = input_3.as_ref().ok_or(
208 aws_smithy_http::operation::BuildError::MissingField {
209 field: "group_invite_code",
210 details: "cannot be empty or unset",
211 },
212 )?;
213 let group_invite_code = aws_smithy_http::label::fmt_string(input_3, false);
214 if group_invite_code.is_empty() {
215 return Err(aws_smithy_http::operation::BuildError::MissingField {
216 field: "group_invite_code",
217 details: "cannot be empty or unset",
218 });
219 }
220 write!(
221 output,
222 "/invites/{group_invite_code}/consume",
223 group_invite_code = group_invite_code
224 )
225 .expect("formatting should succeed");
226 Ok(())
227 }
228 #[allow(clippy::unnecessary_wraps)]
229 fn update_http_builder(
230 input: &crate::input::ConsumeGroupInviteInput,
231 _config: &crate::config::Config,
232 builder: http::request::Builder,
233 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
234 {
235 let mut _uri = String::new();
236 _uri = format!("{}{}", _config.uri.clone(), _uri);
237 uri_base(input, &mut _uri)?;
238 Ok(builder.method("POST").uri(_uri))
239 }
240 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
241 let mut builder = if let Some(auth) = &_config.auth {
242 builder.header(http::header::AUTHORIZATION, auth.clone())
243 } else {
244 builder
245 };
246 builder
247 };
248 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
249 #[allow(clippy::useless_conversion)]
250 let body = aws_smithy_http::body::SdkBody::from("{}");
251 let request = request.body(body).expect("should be valid request");
252 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
253 request
254 .properties_mut()
255 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
256 let op = aws_smithy_http::operation::Operation::new(
257 request,
258 crate::operation::ConsumeGroupInvite::new(),
259 )
260 .with_metadata(aws_smithy_http::operation::Metadata::new(
261 "ConsumeGroupInvite",
262 "GroupService",
263 ));
264 Ok(op)
265 }
266 pub fn builder() -> crate::input::consume_group_invite_input::Builder {
268 crate::input::consume_group_invite_input::Builder::default()
269 }
270}
271
272pub mod create_group_input {
274 #[non_exhaustive]
276 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
277 pub struct Builder {
278 pub(crate) display_name: std::option::Option<std::string::String>,
279 }
280 impl Builder {
281 pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
283 self.display_name = Some(input.into());
284 self
285 }
286 pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
288 self.display_name = input;
289 self
290 }
291 pub fn build(
293 self,
294 ) -> std::result::Result<
295 crate::input::CreateGroupInput,
296 aws_smithy_http::operation::BuildError,
297 > {
298 Ok(crate::input::CreateGroupInput {
299 display_name: self.display_name,
300 })
301 }
302 }
303}
304#[doc(hidden)]
305pub type CreateGroupInputOperationOutputAlias = crate::operation::CreateGroup;
306#[doc(hidden)]
307pub type CreateGroupInputOperationRetryAlias = ();
308impl CreateGroupInput {
309 #[allow(unused_mut)]
311 #[allow(clippy::let_and_return)]
312 #[allow(clippy::needless_borrow)]
313 pub async fn make_operation(
314 &self,
315 _config: &crate::config::Config,
316 ) -> std::result::Result<
317 aws_smithy_http::operation::Operation<crate::operation::CreateGroup, ()>,
318 aws_smithy_http::operation::BuildError,
319 > {
320 let mut request = {
321 fn uri_base(
322 _input: &crate::input::CreateGroupInput,
323 output: &mut String,
324 ) -> Result<(), aws_smithy_http::operation::BuildError> {
325 write!(output, "/groups").expect("formatting should succeed");
326 Ok(())
327 }
328 #[allow(clippy::unnecessary_wraps)]
329 fn update_http_builder(
330 input: &crate::input::CreateGroupInput,
331 _config: &crate::config::Config,
332 builder: http::request::Builder,
333 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
334 {
335 let mut _uri = String::new();
336 _uri = format!("{}{}", _config.uri.clone(), _uri);
337 uri_base(input, &mut _uri)?;
338 Ok(builder.method("POST").uri(_uri))
339 }
340 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
341 let mut builder = if let Some(auth) = &_config.auth {
342 builder.header(http::header::AUTHORIZATION, auth.clone())
343 } else {
344 builder
345 };
346 builder = aws_smithy_http::header::set_request_header_if_absent(
347 builder,
348 http::header::CONTENT_TYPE,
349 "application/json",
350 );
351 builder
352 };
353 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
354 #[allow(clippy::useless_conversion)]
355 let body = aws_smithy_http::body::SdkBody::from(
356 crate::operation_ser::serialize_operation_crate_operation_create_group(&self)?,
357 );
358 if let Some(content_length) = body.content_length() {
359 request = aws_smithy_http::header::set_request_header_if_absent(
360 request,
361 http::header::CONTENT_LENGTH,
362 content_length,
363 );
364 }
365 let request = request.body(body).expect("should be valid request");
366 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
367 request
368 .properties_mut()
369 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
370 let op = aws_smithy_http::operation::Operation::new(
371 request,
372 crate::operation::CreateGroup::new(),
373 )
374 .with_metadata(aws_smithy_http::operation::Metadata::new(
375 "CreateGroup",
376 "GroupService",
377 ));
378 Ok(op)
379 }
380 pub fn builder() -> crate::input::create_group_input::Builder {
382 crate::input::create_group_input::Builder::default()
383 }
384}
385
386pub mod create_group_invite_input {
388 #[non_exhaustive]
390 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
391 pub struct Builder {
392 pub(crate) group_id: std::option::Option<std::string::String>,
393 pub(crate) ttl: std::option::Option<i64>,
394 pub(crate) use_count: std::option::Option<i64>,
395 }
396 impl Builder {
397 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
399 self.group_id = Some(input.into());
400 self
401 }
402 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
404 self.group_id = input;
405 self
406 }
407 pub fn ttl(mut self, input: i64) -> Self {
409 self.ttl = Some(input);
410 self
411 }
412 pub fn set_ttl(mut self, input: std::option::Option<i64>) -> Self {
414 self.ttl = input;
415 self
416 }
417 pub fn use_count(mut self, input: i64) -> Self {
419 self.use_count = Some(input);
420 self
421 }
422 pub fn set_use_count(mut self, input: std::option::Option<i64>) -> Self {
424 self.use_count = input;
425 self
426 }
427 pub fn build(
429 self,
430 ) -> std::result::Result<
431 crate::input::CreateGroupInviteInput,
432 aws_smithy_http::operation::BuildError,
433 > {
434 Ok(crate::input::CreateGroupInviteInput {
435 group_id: self.group_id,
436 ttl: self.ttl,
437 use_count: self.use_count,
438 })
439 }
440 }
441}
442#[doc(hidden)]
443pub type CreateGroupInviteInputOperationOutputAlias = crate::operation::CreateGroupInvite;
444#[doc(hidden)]
445pub type CreateGroupInviteInputOperationRetryAlias = ();
446impl CreateGroupInviteInput {
447 #[allow(unused_mut)]
449 #[allow(clippy::let_and_return)]
450 #[allow(clippy::needless_borrow)]
451 pub async fn make_operation(
452 &self,
453 _config: &crate::config::Config,
454 ) -> std::result::Result<
455 aws_smithy_http::operation::Operation<crate::operation::CreateGroupInvite, ()>,
456 aws_smithy_http::operation::BuildError,
457 > {
458 let mut request = {
459 fn uri_base(
460 _input: &crate::input::CreateGroupInviteInput,
461 output: &mut String,
462 ) -> Result<(), aws_smithy_http::operation::BuildError> {
463 let input_4 = &_input.group_id;
464 let input_4 = input_4.as_ref().ok_or(
465 aws_smithy_http::operation::BuildError::MissingField {
466 field: "group_id",
467 details: "cannot be empty or unset",
468 },
469 )?;
470 let group_id = aws_smithy_http::label::fmt_string(input_4, false);
471 if group_id.is_empty() {
472 return Err(aws_smithy_http::operation::BuildError::MissingField {
473 field: "group_id",
474 details: "cannot be empty or unset",
475 });
476 }
477 write!(output, "/groups/{group_id}/invites", group_id = group_id)
478 .expect("formatting should succeed");
479 Ok(())
480 }
481 #[allow(clippy::unnecessary_wraps)]
482 fn update_http_builder(
483 input: &crate::input::CreateGroupInviteInput,
484 _config: &crate::config::Config,
485 builder: http::request::Builder,
486 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
487 {
488 let mut _uri = String::new();
489 _uri = format!("{}{}", _config.uri.clone(), _uri);
490 uri_base(input, &mut _uri)?;
491 Ok(builder.method("POST").uri(_uri))
492 }
493 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
494 let mut builder = if let Some(auth) = &_config.auth {
495 builder.header(http::header::AUTHORIZATION, auth.clone())
496 } else {
497 builder
498 };
499 builder = aws_smithy_http::header::set_request_header_if_absent(
500 builder,
501 http::header::CONTENT_TYPE,
502 "application/json",
503 );
504 builder
505 };
506 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
507 #[allow(clippy::useless_conversion)]
508 let body = aws_smithy_http::body::SdkBody::from(
509 crate::operation_ser::serialize_operation_crate_operation_create_group_invite(&self)?,
510 );
511 if let Some(content_length) = body.content_length() {
512 request = aws_smithy_http::header::set_request_header_if_absent(
513 request,
514 http::header::CONTENT_LENGTH,
515 content_length,
516 );
517 }
518 let request = request.body(body).expect("should be valid request");
519 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
520 request
521 .properties_mut()
522 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
523 let op = aws_smithy_http::operation::Operation::new(
524 request,
525 crate::operation::CreateGroupInvite::new(),
526 )
527 .with_metadata(aws_smithy_http::operation::Metadata::new(
528 "CreateGroupInvite",
529 "GroupService",
530 ));
531 Ok(op)
532 }
533 pub fn builder() -> crate::input::create_group_invite_input::Builder {
535 crate::input::create_group_invite_input::Builder::default()
536 }
537}
538
539pub mod create_group_join_request_input {
541 #[non_exhaustive]
543 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
544 pub struct Builder {
545 pub(crate) group_id: std::option::Option<std::string::String>,
546 }
547 impl Builder {
548 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
550 self.group_id = Some(input.into());
551 self
552 }
553 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
555 self.group_id = input;
556 self
557 }
558 pub fn build(
560 self,
561 ) -> std::result::Result<
562 crate::input::CreateGroupJoinRequestInput,
563 aws_smithy_http::operation::BuildError,
564 > {
565 Ok(crate::input::CreateGroupJoinRequestInput {
566 group_id: self.group_id,
567 })
568 }
569 }
570}
571#[doc(hidden)]
572pub type CreateGroupJoinRequestInputOperationOutputAlias = crate::operation::CreateGroupJoinRequest;
573#[doc(hidden)]
574pub type CreateGroupJoinRequestInputOperationRetryAlias = ();
575impl CreateGroupJoinRequestInput {
576 #[allow(unused_mut)]
578 #[allow(clippy::let_and_return)]
579 #[allow(clippy::needless_borrow)]
580 pub async fn make_operation(
581 &self,
582 _config: &crate::config::Config,
583 ) -> std::result::Result<
584 aws_smithy_http::operation::Operation<crate::operation::CreateGroupJoinRequest, ()>,
585 aws_smithy_http::operation::BuildError,
586 > {
587 let mut request = {
588 fn uri_base(
589 _input: &crate::input::CreateGroupJoinRequestInput,
590 output: &mut String,
591 ) -> Result<(), aws_smithy_http::operation::BuildError> {
592 let input_5 = &_input.group_id;
593 let input_5 = input_5.as_ref().ok_or(
594 aws_smithy_http::operation::BuildError::MissingField {
595 field: "group_id",
596 details: "cannot be empty or unset",
597 },
598 )?;
599 let group_id = aws_smithy_http::label::fmt_string(input_5, false);
600 if group_id.is_empty() {
601 return Err(aws_smithy_http::operation::BuildError::MissingField {
602 field: "group_id",
603 details: "cannot be empty or unset",
604 });
605 }
606 write!(
607 output,
608 "/groups/{group_id}/join-request",
609 group_id = group_id
610 )
611 .expect("formatting should succeed");
612 Ok(())
613 }
614 #[allow(clippy::unnecessary_wraps)]
615 fn update_http_builder(
616 input: &crate::input::CreateGroupJoinRequestInput,
617 _config: &crate::config::Config,
618 builder: http::request::Builder,
619 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
620 {
621 let mut _uri = String::new();
622 _uri = format!("{}{}", _config.uri.clone(), _uri);
623 uri_base(input, &mut _uri)?;
624 Ok(builder.method("POST").uri(_uri))
625 }
626 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
627 let mut builder = if let Some(auth) = &_config.auth {
628 builder.header(http::header::AUTHORIZATION, auth.clone())
629 } else {
630 builder
631 };
632 builder
633 };
634 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
635 #[allow(clippy::useless_conversion)]
636 let body = aws_smithy_http::body::SdkBody::from("{}");
637 let request = request.body(body).expect("should be valid request");
638 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
639 request
640 .properties_mut()
641 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
642 let op = aws_smithy_http::operation::Operation::new(
643 request,
644 crate::operation::CreateGroupJoinRequest::new(),
645 )
646 .with_metadata(aws_smithy_http::operation::Metadata::new(
647 "CreateGroupJoinRequest",
648 "GroupService",
649 ));
650 Ok(op)
651 }
652 pub fn builder() -> crate::input::create_group_join_request_input::Builder {
654 crate::input::create_group_join_request_input::Builder::default()
655 }
656}
657
658pub mod get_group_invite_input {
660 #[non_exhaustive]
662 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
663 pub struct Builder {
664 pub(crate) group_invite_code: std::option::Option<std::string::String>,
665 }
666 impl Builder {
667 pub fn group_invite_code(mut self, input: impl Into<std::string::String>) -> Self {
669 self.group_invite_code = Some(input.into());
670 self
671 }
672 pub fn set_group_invite_code(
674 mut self,
675 input: std::option::Option<std::string::String>,
676 ) -> Self {
677 self.group_invite_code = input;
678 self
679 }
680 pub fn build(
682 self,
683 ) -> std::result::Result<
684 crate::input::GetGroupInviteInput,
685 aws_smithy_http::operation::BuildError,
686 > {
687 Ok(crate::input::GetGroupInviteInput {
688 group_invite_code: self.group_invite_code,
689 })
690 }
691 }
692}
693#[doc(hidden)]
694pub type GetGroupInviteInputOperationOutputAlias = crate::operation::GetGroupInvite;
695#[doc(hidden)]
696pub type GetGroupInviteInputOperationRetryAlias = ();
697impl GetGroupInviteInput {
698 #[allow(unused_mut)]
700 #[allow(clippy::let_and_return)]
701 #[allow(clippy::needless_borrow)]
702 pub async fn make_operation(
703 &self,
704 _config: &crate::config::Config,
705 ) -> std::result::Result<
706 aws_smithy_http::operation::Operation<crate::operation::GetGroupInvite, ()>,
707 aws_smithy_http::operation::BuildError,
708 > {
709 let mut request = {
710 fn uri_base(
711 _input: &crate::input::GetGroupInviteInput,
712 output: &mut String,
713 ) -> Result<(), aws_smithy_http::operation::BuildError> {
714 let input_6 = &_input.group_invite_code;
715 let input_6 = input_6.as_ref().ok_or(
716 aws_smithy_http::operation::BuildError::MissingField {
717 field: "group_invite_code",
718 details: "cannot be empty or unset",
719 },
720 )?;
721 let group_invite_code = aws_smithy_http::label::fmt_string(input_6, false);
722 if group_invite_code.is_empty() {
723 return Err(aws_smithy_http::operation::BuildError::MissingField {
724 field: "group_invite_code",
725 details: "cannot be empty or unset",
726 });
727 }
728 write!(
729 output,
730 "/invites/{group_invite_code}",
731 group_invite_code = group_invite_code
732 )
733 .expect("formatting should succeed");
734 Ok(())
735 }
736 #[allow(clippy::unnecessary_wraps)]
737 fn update_http_builder(
738 input: &crate::input::GetGroupInviteInput,
739 _config: &crate::config::Config,
740 builder: http::request::Builder,
741 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
742 {
743 let mut _uri = String::new();
744 _uri = format!("{}{}", _config.uri.clone(), _uri);
745 uri_base(input, &mut _uri)?;
746 Ok(builder.method("GET").uri(_uri))
747 }
748 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
749 let mut builder = if let Some(auth) = &_config.auth {
750 builder.header(http::header::AUTHORIZATION, auth.clone())
751 } else {
752 builder
753 };
754 builder
755 };
756 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
757 #[allow(clippy::useless_conversion)]
758 let body = aws_smithy_http::body::SdkBody::from("");
759 let request = request.body(body).expect("should be valid request");
760 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
761 request
762 .properties_mut()
763 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
764 let op = aws_smithy_http::operation::Operation::new(
765 request,
766 crate::operation::GetGroupInvite::new(),
767 )
768 .with_metadata(aws_smithy_http::operation::Metadata::new(
769 "GetGroupInvite",
770 "GroupService",
771 ));
772 Ok(op)
773 }
774 pub fn builder() -> crate::input::get_group_invite_input::Builder {
776 crate::input::get_group_invite_input::Builder::default()
777 }
778}
779
780pub mod get_group_profile_input {
782 #[non_exhaustive]
784 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
785 pub struct Builder {
786 pub(crate) group_id: std::option::Option<std::string::String>,
787 pub(crate) watch_index: std::option::Option<std::string::String>,
788 }
789 impl Builder {
790 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
792 self.group_id = Some(input.into());
793 self
794 }
795 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
797 self.group_id = input;
798 self
799 }
800 pub fn watch_index(mut self, input: impl Into<std::string::String>) -> Self {
802 self.watch_index = Some(input.into());
803 self
804 }
805 pub fn set_watch_index(mut self, input: std::option::Option<std::string::String>) -> Self {
807 self.watch_index = input;
808 self
809 }
810 pub fn build(
812 self,
813 ) -> std::result::Result<
814 crate::input::GetGroupProfileInput,
815 aws_smithy_http::operation::BuildError,
816 > {
817 Ok(crate::input::GetGroupProfileInput {
818 group_id: self.group_id,
819 watch_index: self.watch_index,
820 })
821 }
822 }
823}
824#[doc(hidden)]
825pub type GetGroupProfileInputOperationOutputAlias = crate::operation::GetGroupProfile;
826#[doc(hidden)]
827pub type GetGroupProfileInputOperationRetryAlias = ();
828impl GetGroupProfileInput {
829 #[allow(unused_mut)]
831 #[allow(clippy::let_and_return)]
832 #[allow(clippy::needless_borrow)]
833 pub async fn make_operation(
834 &self,
835 _config: &crate::config::Config,
836 ) -> std::result::Result<
837 aws_smithy_http::operation::Operation<crate::operation::GetGroupProfile, ()>,
838 aws_smithy_http::operation::BuildError,
839 > {
840 let mut request = {
841 fn uri_base(
842 _input: &crate::input::GetGroupProfileInput,
843 output: &mut String,
844 ) -> Result<(), aws_smithy_http::operation::BuildError> {
845 let input_7 = &_input.group_id;
846 let input_7 = input_7.as_ref().ok_or(
847 aws_smithy_http::operation::BuildError::MissingField {
848 field: "group_id",
849 details: "cannot be empty or unset",
850 },
851 )?;
852 let group_id = aws_smithy_http::label::fmt_string(input_7, false);
853 if group_id.is_empty() {
854 return Err(aws_smithy_http::operation::BuildError::MissingField {
855 field: "group_id",
856 details: "cannot be empty or unset",
857 });
858 }
859 write!(output, "/groups/{group_id}/profile", group_id = group_id)
860 .expect("formatting should succeed");
861 Ok(())
862 }
863 fn uri_query(
864 _input: &crate::input::GetGroupProfileInput,
865 mut output: &mut String,
866 ) -> Result<(), aws_smithy_http::operation::BuildError> {
867 let mut query = aws_smithy_http::query::Writer::new(&mut output);
868 if let Some(inner_8) = &_input.watch_index {
869 query.push_kv("watch_index", &aws_smithy_http::query::fmt_string(&inner_8));
870 }
871 Ok(())
872 }
873 #[allow(clippy::unnecessary_wraps)]
874 fn update_http_builder(
875 input: &crate::input::GetGroupProfileInput,
876 _config: &crate::config::Config,
877 builder: http::request::Builder,
878 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
879 {
880 let mut _uri = String::new();
881 _uri = format!("{}{}", _config.uri.clone(), _uri);
882 uri_base(input, &mut _uri)?;
883 uri_query(input, &mut _uri)?;
884 Ok(builder.method("GET").uri(_uri))
885 }
886 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
887 let mut builder = if let Some(auth) = &_config.auth {
888 builder.header(http::header::AUTHORIZATION, auth.clone())
889 } else {
890 builder
891 };
892 builder
893 };
894 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
895 #[allow(clippy::useless_conversion)]
896 let body = aws_smithy_http::body::SdkBody::from("");
897 let request = request.body(body).expect("should be valid request");
898 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
899 request
900 .properties_mut()
901 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
902 let op = aws_smithy_http::operation::Operation::new(
903 request,
904 crate::operation::GetGroupProfile::new(),
905 )
906 .with_metadata(aws_smithy_http::operation::Metadata::new(
907 "GetGroupProfile",
908 "GroupService",
909 ));
910 Ok(op)
911 }
912 pub fn builder() -> crate::input::get_group_profile_input::Builder {
914 crate::input::get_group_profile_input::Builder::default()
915 }
916}
917
918pub mod get_group_summary_input {
920 #[non_exhaustive]
922 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
923 pub struct Builder {
924 pub(crate) group_id: std::option::Option<std::string::String>,
925 }
926 impl Builder {
927 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
929 self.group_id = Some(input.into());
930 self
931 }
932 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
934 self.group_id = input;
935 self
936 }
937 pub fn build(
939 self,
940 ) -> std::result::Result<
941 crate::input::GetGroupSummaryInput,
942 aws_smithy_http::operation::BuildError,
943 > {
944 Ok(crate::input::GetGroupSummaryInput {
945 group_id: self.group_id,
946 })
947 }
948 }
949}
950#[doc(hidden)]
951pub type GetGroupSummaryInputOperationOutputAlias = crate::operation::GetGroupSummary;
952#[doc(hidden)]
953pub type GetGroupSummaryInputOperationRetryAlias = ();
954impl GetGroupSummaryInput {
955 #[allow(unused_mut)]
957 #[allow(clippy::let_and_return)]
958 #[allow(clippy::needless_borrow)]
959 pub async fn make_operation(
960 &self,
961 _config: &crate::config::Config,
962 ) -> std::result::Result<
963 aws_smithy_http::operation::Operation<crate::operation::GetGroupSummary, ()>,
964 aws_smithy_http::operation::BuildError,
965 > {
966 let mut request = {
967 fn uri_base(
968 _input: &crate::input::GetGroupSummaryInput,
969 output: &mut String,
970 ) -> Result<(), aws_smithy_http::operation::BuildError> {
971 let input_9 = &_input.group_id;
972 let input_9 = input_9.as_ref().ok_or(
973 aws_smithy_http::operation::BuildError::MissingField {
974 field: "group_id",
975 details: "cannot be empty or unset",
976 },
977 )?;
978 let group_id = aws_smithy_http::label::fmt_string(input_9, false);
979 if group_id.is_empty() {
980 return Err(aws_smithy_http::operation::BuildError::MissingField {
981 field: "group_id",
982 details: "cannot be empty or unset",
983 });
984 }
985 write!(output, "/groups/{group_id}/summary", group_id = group_id)
986 .expect("formatting should succeed");
987 Ok(())
988 }
989 #[allow(clippy::unnecessary_wraps)]
990 fn update_http_builder(
991 input: &crate::input::GetGroupSummaryInput,
992 _config: &crate::config::Config,
993 builder: http::request::Builder,
994 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
995 {
996 let mut _uri = String::new();
997 _uri = format!("{}{}", _config.uri.clone(), _uri);
998 uri_base(input, &mut _uri)?;
999 Ok(builder.method("GET").uri(_uri))
1000 }
1001 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1002 let mut builder = if let Some(auth) = &_config.auth {
1003 builder.header(http::header::AUTHORIZATION, auth.clone())
1004 } else {
1005 builder
1006 };
1007 builder
1008 };
1009 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1010 #[allow(clippy::useless_conversion)]
1011 let body = aws_smithy_http::body::SdkBody::from("");
1012 let request = request.body(body).expect("should be valid request");
1013 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1014 request
1015 .properties_mut()
1016 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1017 let op = aws_smithy_http::operation::Operation::new(
1018 request,
1019 crate::operation::GetGroupSummary::new(),
1020 )
1021 .with_metadata(aws_smithy_http::operation::Metadata::new(
1022 "GetGroupSummary",
1023 "GroupService",
1024 ));
1025 Ok(op)
1026 }
1027 pub fn builder() -> crate::input::get_group_summary_input::Builder {
1029 crate::input::get_group_summary_input::Builder::default()
1030 }
1031}
1032
1033pub mod join_group_input {
1035 #[non_exhaustive]
1037 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1038 pub struct Builder {
1039 pub(crate) group_id: std::option::Option<std::string::String>,
1040 }
1041 impl Builder {
1042 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
1044 self.group_id = Some(input.into());
1045 self
1046 }
1047 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
1049 self.group_id = input;
1050 self
1051 }
1052 pub fn build(
1054 self,
1055 ) -> std::result::Result<crate::input::JoinGroupInput, aws_smithy_http::operation::BuildError>
1056 {
1057 Ok(crate::input::JoinGroupInput {
1058 group_id: self.group_id,
1059 })
1060 }
1061 }
1062}
1063#[doc(hidden)]
1064pub type JoinGroupInputOperationOutputAlias = crate::operation::JoinGroup;
1065#[doc(hidden)]
1066pub type JoinGroupInputOperationRetryAlias = ();
1067impl JoinGroupInput {
1068 #[allow(unused_mut)]
1070 #[allow(clippy::let_and_return)]
1071 #[allow(clippy::needless_borrow)]
1072 pub async fn make_operation(
1073 &self,
1074 _config: &crate::config::Config,
1075 ) -> std::result::Result<
1076 aws_smithy_http::operation::Operation<crate::operation::JoinGroup, ()>,
1077 aws_smithy_http::operation::BuildError,
1078 > {
1079 let mut request = {
1080 fn uri_base(
1081 _input: &crate::input::JoinGroupInput,
1082 output: &mut String,
1083 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1084 let input_10 = &_input.group_id;
1085 let input_10 = input_10.as_ref().ok_or(
1086 aws_smithy_http::operation::BuildError::MissingField {
1087 field: "group_id",
1088 details: "cannot be empty or unset",
1089 },
1090 )?;
1091 let group_id = aws_smithy_http::label::fmt_string(input_10, false);
1092 if group_id.is_empty() {
1093 return Err(aws_smithy_http::operation::BuildError::MissingField {
1094 field: "group_id",
1095 details: "cannot be empty or unset",
1096 });
1097 }
1098 write!(output, "/groups/{group_id}/join", group_id = group_id)
1099 .expect("formatting should succeed");
1100 Ok(())
1101 }
1102 #[allow(clippy::unnecessary_wraps)]
1103 fn update_http_builder(
1104 input: &crate::input::JoinGroupInput,
1105 _config: &crate::config::Config,
1106 builder: http::request::Builder,
1107 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1108 {
1109 let mut _uri = String::new();
1110 _uri = format!("{}{}", _config.uri.clone(), _uri);
1111 uri_base(input, &mut _uri)?;
1112 Ok(builder.method("POST").uri(_uri))
1113 }
1114 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1115 let mut builder = if let Some(auth) = &_config.auth {
1116 builder.header(http::header::AUTHORIZATION, auth.clone())
1117 } else {
1118 builder
1119 };
1120 builder
1121 };
1122 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1123 #[allow(clippy::useless_conversion)]
1124 let body = aws_smithy_http::body::SdkBody::from("{}");
1125 let request = request.body(body).expect("should be valid request");
1126 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1127 request
1128 .properties_mut()
1129 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1130 let op =
1131 aws_smithy_http::operation::Operation::new(request, crate::operation::JoinGroup::new())
1132 .with_metadata(aws_smithy_http::operation::Metadata::new(
1133 "JoinGroup",
1134 "GroupService",
1135 ));
1136 Ok(op)
1137 }
1138 pub fn builder() -> crate::input::join_group_input::Builder {
1140 crate::input::join_group_input::Builder::default()
1141 }
1142}
1143
1144pub mod leave_group_input {
1146 #[non_exhaustive]
1148 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1149 pub struct Builder {
1150 pub(crate) group_id: std::option::Option<std::string::String>,
1151 }
1152 impl Builder {
1153 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
1155 self.group_id = Some(input.into());
1156 self
1157 }
1158 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
1160 self.group_id = input;
1161 self
1162 }
1163 pub fn build(
1165 self,
1166 ) -> std::result::Result<
1167 crate::input::LeaveGroupInput,
1168 aws_smithy_http::operation::BuildError,
1169 > {
1170 Ok(crate::input::LeaveGroupInput {
1171 group_id: self.group_id,
1172 })
1173 }
1174 }
1175}
1176#[doc(hidden)]
1177pub type LeaveGroupInputOperationOutputAlias = crate::operation::LeaveGroup;
1178#[doc(hidden)]
1179pub type LeaveGroupInputOperationRetryAlias = ();
1180impl LeaveGroupInput {
1181 #[allow(unused_mut)]
1183 #[allow(clippy::let_and_return)]
1184 #[allow(clippy::needless_borrow)]
1185 pub async fn make_operation(
1186 &self,
1187 _config: &crate::config::Config,
1188 ) -> std::result::Result<
1189 aws_smithy_http::operation::Operation<crate::operation::LeaveGroup, ()>,
1190 aws_smithy_http::operation::BuildError,
1191 > {
1192 let mut request = {
1193 fn uri_base(
1194 _input: &crate::input::LeaveGroupInput,
1195 output: &mut String,
1196 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1197 let input_11 = &_input.group_id;
1198 let input_11 = input_11.as_ref().ok_or(
1199 aws_smithy_http::operation::BuildError::MissingField {
1200 field: "group_id",
1201 details: "cannot be empty or unset",
1202 },
1203 )?;
1204 let group_id = aws_smithy_http::label::fmt_string(input_11, false);
1205 if group_id.is_empty() {
1206 return Err(aws_smithy_http::operation::BuildError::MissingField {
1207 field: "group_id",
1208 details: "cannot be empty or unset",
1209 });
1210 }
1211 write!(output, "/groups/{group_id}/leave", group_id = group_id)
1212 .expect("formatting should succeed");
1213 Ok(())
1214 }
1215 #[allow(clippy::unnecessary_wraps)]
1216 fn update_http_builder(
1217 input: &crate::input::LeaveGroupInput,
1218 _config: &crate::config::Config,
1219 builder: http::request::Builder,
1220 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1221 {
1222 let mut _uri = String::new();
1223 _uri = format!("{}{}", _config.uri.clone(), _uri);
1224 uri_base(input, &mut _uri)?;
1225 Ok(builder.method("POST").uri(_uri))
1226 }
1227 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1228 let mut builder = if let Some(auth) = &_config.auth {
1229 builder.header(http::header::AUTHORIZATION, auth.clone())
1230 } else {
1231 builder
1232 };
1233 builder
1234 };
1235 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1236 #[allow(clippy::useless_conversion)]
1237 let body = aws_smithy_http::body::SdkBody::from("{}");
1238 let request = request.body(body).expect("should be valid request");
1239 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1240 request
1241 .properties_mut()
1242 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1243 let op = aws_smithy_http::operation::Operation::new(
1244 request,
1245 crate::operation::LeaveGroup::new(),
1246 )
1247 .with_metadata(aws_smithy_http::operation::Metadata::new(
1248 "LeaveGroup",
1249 "GroupService",
1250 ));
1251 Ok(op)
1252 }
1253 pub fn builder() -> crate::input::leave_group_input::Builder {
1255 crate::input::leave_group_input::Builder::default()
1256 }
1257}
1258
1259pub mod list_suggested_groups_input {
1261 #[non_exhaustive]
1263 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1264 pub struct Builder {
1265 pub(crate) watch_index: std::option::Option<std::string::String>,
1266 }
1267 impl Builder {
1268 pub fn watch_index(mut self, input: impl Into<std::string::String>) -> Self {
1270 self.watch_index = Some(input.into());
1271 self
1272 }
1273 pub fn set_watch_index(mut self, input: std::option::Option<std::string::String>) -> Self {
1275 self.watch_index = input;
1276 self
1277 }
1278 pub fn build(
1280 self,
1281 ) -> std::result::Result<
1282 crate::input::ListSuggestedGroupsInput,
1283 aws_smithy_http::operation::BuildError,
1284 > {
1285 Ok(crate::input::ListSuggestedGroupsInput {
1286 watch_index: self.watch_index,
1287 })
1288 }
1289 }
1290}
1291#[doc(hidden)]
1292pub type ListSuggestedGroupsInputOperationOutputAlias = crate::operation::ListSuggestedGroups;
1293#[doc(hidden)]
1294pub type ListSuggestedGroupsInputOperationRetryAlias = ();
1295impl ListSuggestedGroupsInput {
1296 #[allow(unused_mut)]
1298 #[allow(clippy::let_and_return)]
1299 #[allow(clippy::needless_borrow)]
1300 pub async fn make_operation(
1301 &self,
1302 _config: &crate::config::Config,
1303 ) -> std::result::Result<
1304 aws_smithy_http::operation::Operation<crate::operation::ListSuggestedGroups, ()>,
1305 aws_smithy_http::operation::BuildError,
1306 > {
1307 let mut request = {
1308 fn uri_base(
1309 _input: &crate::input::ListSuggestedGroupsInput,
1310 output: &mut String,
1311 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1312 write!(output, "/groups").expect("formatting should succeed");
1313 Ok(())
1314 }
1315 fn uri_query(
1316 _input: &crate::input::ListSuggestedGroupsInput,
1317 mut output: &mut String,
1318 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1319 let mut query = aws_smithy_http::query::Writer::new(&mut output);
1320 if let Some(inner_12) = &_input.watch_index {
1321 query.push_kv(
1322 "watch_index",
1323 &aws_smithy_http::query::fmt_string(&inner_12),
1324 );
1325 }
1326 Ok(())
1327 }
1328 #[allow(clippy::unnecessary_wraps)]
1329 fn update_http_builder(
1330 input: &crate::input::ListSuggestedGroupsInput,
1331 _config: &crate::config::Config,
1332 builder: http::request::Builder,
1333 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1334 {
1335 let mut _uri = String::new();
1336 _uri = format!("{}{}", _config.uri.clone(), _uri);
1337 uri_base(input, &mut _uri)?;
1338 uri_query(input, &mut _uri)?;
1339 Ok(builder.method("GET").uri(_uri))
1340 }
1341 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1342 let mut builder = if let Some(auth) = &_config.auth {
1343 builder.header(http::header::AUTHORIZATION, auth.clone())
1344 } else {
1345 builder
1346 };
1347 builder
1348 };
1349 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1350 #[allow(clippy::useless_conversion)]
1351 let body = aws_smithy_http::body::SdkBody::from("");
1352 let request = request.body(body).expect("should be valid request");
1353 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1354 request
1355 .properties_mut()
1356 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1357 let op = aws_smithy_http::operation::Operation::new(
1358 request,
1359 crate::operation::ListSuggestedGroups::new(),
1360 )
1361 .with_metadata(aws_smithy_http::operation::Metadata::new(
1362 "ListSuggestedGroups",
1363 "GroupService",
1364 ));
1365 Ok(op)
1366 }
1367 pub fn builder() -> crate::input::list_suggested_groups_input::Builder {
1369 crate::input::list_suggested_groups_input::Builder::default()
1370 }
1371}
1372
1373pub mod prepare_group_avatar_upload_input {
1375 #[non_exhaustive]
1377 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1378 pub struct Builder {
1379 pub(crate) path: std::option::Option<std::string::String>,
1380 pub(crate) mime: std::option::Option<std::string::String>,
1381 pub(crate) content_length: std::option::Option<i64>,
1382 }
1383 impl Builder {
1384 pub fn path(mut self, input: impl Into<std::string::String>) -> Self {
1386 self.path = Some(input.into());
1387 self
1388 }
1389 pub fn set_path(mut self, input: std::option::Option<std::string::String>) -> Self {
1391 self.path = input;
1392 self
1393 }
1394 pub fn mime(mut self, input: impl Into<std::string::String>) -> Self {
1396 self.mime = Some(input.into());
1397 self
1398 }
1399 pub fn set_mime(mut self, input: std::option::Option<std::string::String>) -> Self {
1401 self.mime = input;
1402 self
1403 }
1404 pub fn content_length(mut self, input: i64) -> Self {
1406 self.content_length = Some(input);
1407 self
1408 }
1409 pub fn set_content_length(mut self, input: std::option::Option<i64>) -> Self {
1411 self.content_length = input;
1412 self
1413 }
1414 pub fn build(
1416 self,
1417 ) -> std::result::Result<
1418 crate::input::PrepareGroupAvatarUploadInput,
1419 aws_smithy_http::operation::BuildError,
1420 > {
1421 Ok(crate::input::PrepareGroupAvatarUploadInput {
1422 path: self.path,
1423 mime: self.mime,
1424 content_length: self.content_length,
1425 })
1426 }
1427 }
1428}
1429#[doc(hidden)]
1430pub type PrepareGroupAvatarUploadInputOperationOutputAlias =
1431 crate::operation::PrepareGroupAvatarUpload;
1432#[doc(hidden)]
1433pub type PrepareGroupAvatarUploadInputOperationRetryAlias = ();
1434impl PrepareGroupAvatarUploadInput {
1435 #[allow(unused_mut)]
1437 #[allow(clippy::let_and_return)]
1438 #[allow(clippy::needless_borrow)]
1439 pub async fn make_operation(
1440 &self,
1441 _config: &crate::config::Config,
1442 ) -> std::result::Result<
1443 aws_smithy_http::operation::Operation<crate::operation::PrepareGroupAvatarUpload, ()>,
1444 aws_smithy_http::operation::BuildError,
1445 > {
1446 let mut request = {
1447 fn uri_base(
1448 _input: &crate::input::PrepareGroupAvatarUploadInput,
1449 output: &mut String,
1450 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1451 write!(output, "/groups/avatar-upload/prepare").expect("formatting should succeed");
1452 Ok(())
1453 }
1454 #[allow(clippy::unnecessary_wraps)]
1455 fn update_http_builder(
1456 input: &crate::input::PrepareGroupAvatarUploadInput,
1457 _config: &crate::config::Config,
1458 builder: http::request::Builder,
1459 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1460 {
1461 let mut _uri = String::new();
1462 _uri = format!("{}{}", _config.uri.clone(), _uri);
1463 uri_base(input, &mut _uri)?;
1464 Ok(builder.method("POST").uri(_uri))
1465 }
1466 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1467 let mut builder = if let Some(auth) = &_config.auth {
1468 builder.header(http::header::AUTHORIZATION, auth.clone())
1469 } else {
1470 builder
1471 };
1472 builder = aws_smithy_http::header::set_request_header_if_absent(
1473 builder,
1474 http::header::CONTENT_TYPE,
1475 "application/json",
1476 );
1477 builder
1478 };
1479 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1480 #[allow(clippy::useless_conversion)]
1481 let body = aws_smithy_http::body::SdkBody::from(
1482 crate::operation_ser::serialize_operation_crate_operation_prepare_group_avatar_upload(
1483 &self,
1484 )?,
1485 );
1486 if let Some(content_length) = body.content_length() {
1487 request = aws_smithy_http::header::set_request_header_if_absent(
1488 request,
1489 http::header::CONTENT_LENGTH,
1490 content_length,
1491 );
1492 }
1493 let request = request.body(body).expect("should be valid request");
1494 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1495 request
1496 .properties_mut()
1497 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1498 let op = aws_smithy_http::operation::Operation::new(
1499 request,
1500 crate::operation::PrepareGroupAvatarUpload::new(),
1501 )
1502 .with_metadata(aws_smithy_http::operation::Metadata::new(
1503 "PrepareGroupAvatarUpload",
1504 "GroupService",
1505 ));
1506 Ok(op)
1507 }
1508 pub fn builder() -> crate::input::prepare_group_avatar_upload_input::Builder {
1510 crate::input::prepare_group_avatar_upload_input::Builder::default()
1511 }
1512}
1513
1514pub mod resolve_group_join_request_input {
1516 #[non_exhaustive]
1518 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1519 pub struct Builder {
1520 pub(crate) group_id: std::option::Option<std::string::String>,
1521 pub(crate) identity_id: std::option::Option<std::string::String>,
1522 pub(crate) resolution: std::option::Option<bool>,
1523 }
1524 impl Builder {
1525 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
1527 self.group_id = Some(input.into());
1528 self
1529 }
1530 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
1532 self.group_id = input;
1533 self
1534 }
1535 pub fn identity_id(mut self, input: impl Into<std::string::String>) -> Self {
1537 self.identity_id = Some(input.into());
1538 self
1539 }
1540 pub fn set_identity_id(mut self, input: std::option::Option<std::string::String>) -> Self {
1542 self.identity_id = input;
1543 self
1544 }
1545 #[allow(missing_docs)] pub fn resolution(mut self, input: bool) -> Self {
1547 self.resolution = Some(input);
1548 self
1549 }
1550 #[allow(missing_docs)] pub fn set_resolution(mut self, input: std::option::Option<bool>) -> Self {
1552 self.resolution = input;
1553 self
1554 }
1555 pub fn build(
1557 self,
1558 ) -> std::result::Result<
1559 crate::input::ResolveGroupJoinRequestInput,
1560 aws_smithy_http::operation::BuildError,
1561 > {
1562 Ok(crate::input::ResolveGroupJoinRequestInput {
1563 group_id: self.group_id,
1564 identity_id: self.identity_id,
1565 resolution: self.resolution,
1566 })
1567 }
1568 }
1569}
1570#[doc(hidden)]
1571pub type ResolveGroupJoinRequestInputOperationOutputAlias =
1572 crate::operation::ResolveGroupJoinRequest;
1573#[doc(hidden)]
1574pub type ResolveGroupJoinRequestInputOperationRetryAlias = ();
1575impl ResolveGroupJoinRequestInput {
1576 #[allow(unused_mut)]
1578 #[allow(clippy::let_and_return)]
1579 #[allow(clippy::needless_borrow)]
1580 pub async fn make_operation(
1581 &self,
1582 _config: &crate::config::Config,
1583 ) -> std::result::Result<
1584 aws_smithy_http::operation::Operation<crate::operation::ResolveGroupJoinRequest, ()>,
1585 aws_smithy_http::operation::BuildError,
1586 > {
1587 let mut request = {
1588 fn uri_base(
1589 _input: &crate::input::ResolveGroupJoinRequestInput,
1590 output: &mut String,
1591 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1592 let input_13 = &_input.group_id;
1593 let input_13 = input_13.as_ref().ok_or(
1594 aws_smithy_http::operation::BuildError::MissingField {
1595 field: "group_id",
1596 details: "cannot be empty or unset",
1597 },
1598 )?;
1599 let group_id = aws_smithy_http::label::fmt_string(input_13, false);
1600 if group_id.is_empty() {
1601 return Err(aws_smithy_http::operation::BuildError::MissingField {
1602 field: "group_id",
1603 details: "cannot be empty or unset",
1604 });
1605 }
1606 let input_14 = &_input.identity_id;
1607 let input_14 = input_14.as_ref().ok_or(
1608 aws_smithy_http::operation::BuildError::MissingField {
1609 field: "identity_id",
1610 details: "cannot be empty or unset",
1611 },
1612 )?;
1613 let identity_id = aws_smithy_http::label::fmt_string(input_14, false);
1614 if identity_id.is_empty() {
1615 return Err(aws_smithy_http::operation::BuildError::MissingField {
1616 field: "identity_id",
1617 details: "cannot be empty or unset",
1618 });
1619 }
1620 write!(
1621 output,
1622 "/groups/{group_id}/join-request/{identity_id}",
1623 group_id = group_id,
1624 identity_id = identity_id
1625 )
1626 .expect("formatting should succeed");
1627 Ok(())
1628 }
1629 #[allow(clippy::unnecessary_wraps)]
1630 fn update_http_builder(
1631 input: &crate::input::ResolveGroupJoinRequestInput,
1632 _config: &crate::config::Config,
1633 builder: http::request::Builder,
1634 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1635 {
1636 let mut _uri = String::new();
1637 _uri = format!("{}{}", _config.uri.clone(), _uri);
1638 uri_base(input, &mut _uri)?;
1639 Ok(builder.method("POST").uri(_uri))
1640 }
1641 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1642 let mut builder = if let Some(auth) = &_config.auth {
1643 builder.header(http::header::AUTHORIZATION, auth.clone())
1644 } else {
1645 builder
1646 };
1647 builder = aws_smithy_http::header::set_request_header_if_absent(
1648 builder,
1649 http::header::CONTENT_TYPE,
1650 "application/json",
1651 );
1652 builder
1653 };
1654 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1655 #[allow(clippy::useless_conversion)]
1656 let body = aws_smithy_http::body::SdkBody::from(
1657 crate::operation_ser::serialize_operation_crate_operation_resolve_group_join_request(
1658 &self,
1659 )?,
1660 );
1661 if let Some(content_length) = body.content_length() {
1662 request = aws_smithy_http::header::set_request_header_if_absent(
1663 request,
1664 http::header::CONTENT_LENGTH,
1665 content_length,
1666 );
1667 }
1668 let request = request.body(body).expect("should be valid request");
1669 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1670 request
1671 .properties_mut()
1672 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1673 let op = aws_smithy_http::operation::Operation::new(
1674 request,
1675 crate::operation::ResolveGroupJoinRequest::new(),
1676 )
1677 .with_metadata(aws_smithy_http::operation::Metadata::new(
1678 "ResolveGroupJoinRequest",
1679 "GroupService",
1680 ));
1681 Ok(op)
1682 }
1683 pub fn builder() -> crate::input::resolve_group_join_request_input::Builder {
1685 crate::input::resolve_group_join_request_input::Builder::default()
1686 }
1687}
1688
1689pub mod search_groups_input {
1691 #[non_exhaustive]
1693 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1694 pub struct Builder {
1695 pub(crate) query: std::option::Option<std::string::String>,
1696 pub(crate) anchor: std::option::Option<std::string::String>,
1697 pub(crate) limit: std::option::Option<i32>,
1698 }
1699 impl Builder {
1700 pub fn query(mut self, input: impl Into<std::string::String>) -> Self {
1702 self.query = Some(input.into());
1703 self
1704 }
1705 pub fn set_query(mut self, input: std::option::Option<std::string::String>) -> Self {
1707 self.query = input;
1708 self
1709 }
1710 pub fn anchor(mut self, input: impl Into<std::string::String>) -> Self {
1712 self.anchor = Some(input.into());
1713 self
1714 }
1715 pub fn set_anchor(mut self, input: std::option::Option<std::string::String>) -> Self {
1717 self.anchor = input;
1718 self
1719 }
1720 pub fn limit(mut self, input: i32) -> Self {
1722 self.limit = Some(input);
1723 self
1724 }
1725 pub fn set_limit(mut self, input: std::option::Option<i32>) -> Self {
1727 self.limit = input;
1728 self
1729 }
1730 pub fn build(
1732 self,
1733 ) -> std::result::Result<
1734 crate::input::SearchGroupsInput,
1735 aws_smithy_http::operation::BuildError,
1736 > {
1737 Ok(crate::input::SearchGroupsInput {
1738 query: self.query,
1739 anchor: self.anchor,
1740 limit: self.limit,
1741 })
1742 }
1743 }
1744}
1745#[doc(hidden)]
1746pub type SearchGroupsInputOperationOutputAlias = crate::operation::SearchGroups;
1747#[doc(hidden)]
1748pub type SearchGroupsInputOperationRetryAlias = ();
1749impl SearchGroupsInput {
1750 #[allow(unused_mut)]
1752 #[allow(clippy::let_and_return)]
1753 #[allow(clippy::needless_borrow)]
1754 pub async fn make_operation(
1755 &self,
1756 _config: &crate::config::Config,
1757 ) -> std::result::Result<
1758 aws_smithy_http::operation::Operation<crate::operation::SearchGroups, ()>,
1759 aws_smithy_http::operation::BuildError,
1760 > {
1761 let mut request = {
1762 fn uri_base(
1763 _input: &crate::input::SearchGroupsInput,
1764 output: &mut String,
1765 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1766 write!(output, "/groups/search").expect("formatting should succeed");
1767 Ok(())
1768 }
1769 fn uri_query(
1770 _input: &crate::input::SearchGroupsInput,
1771 mut output: &mut String,
1772 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1773 let mut query = aws_smithy_http::query::Writer::new(&mut output);
1774 if let Some(inner_15) = &_input.query {
1775 query.push_kv("query", &aws_smithy_http::query::fmt_string(&inner_15));
1776 }
1777 if let Some(inner_16) = &_input.anchor {
1778 query.push_kv("anchor", &aws_smithy_http::query::fmt_string(&inner_16));
1779 }
1780 if let Some(inner_17) = &_input.limit {
1781 query.push_kv(
1782 "limit",
1783 aws_smithy_types::primitive::Encoder::from(*inner_17).encode(),
1784 );
1785 }
1786 Ok(())
1787 }
1788 #[allow(clippy::unnecessary_wraps)]
1789 fn update_http_builder(
1790 input: &crate::input::SearchGroupsInput,
1791 _config: &crate::config::Config,
1792 builder: http::request::Builder,
1793 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1794 {
1795 let mut _uri = String::new();
1796 _uri = format!("{}{}", _config.uri.clone(), _uri);
1797 uri_base(input, &mut _uri)?;
1798 uri_query(input, &mut _uri)?;
1799 Ok(builder.method("GET").uri(_uri))
1800 }
1801 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1802 let mut builder = if let Some(auth) = &_config.auth {
1803 builder.header(http::header::AUTHORIZATION, auth.clone())
1804 } else {
1805 builder
1806 };
1807 builder
1808 };
1809 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1810 #[allow(clippy::useless_conversion)]
1811 let body = aws_smithy_http::body::SdkBody::from("");
1812 let request = request.body(body).expect("should be valid request");
1813 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1814 request
1815 .properties_mut()
1816 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1817 let op = aws_smithy_http::operation::Operation::new(
1818 request,
1819 crate::operation::SearchGroups::new(),
1820 )
1821 .with_metadata(aws_smithy_http::operation::Metadata::new(
1822 "SearchGroups",
1823 "GroupService",
1824 ));
1825 Ok(op)
1826 }
1827 pub fn builder() -> crate::input::search_groups_input::Builder {
1829 crate::input::search_groups_input::Builder::default()
1830 }
1831}
1832
1833pub mod transfer_group_ownership_input {
1835 #[non_exhaustive]
1837 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1838 pub struct Builder {
1839 pub(crate) group_id: std::option::Option<std::string::String>,
1840 pub(crate) new_owner_identity_id: std::option::Option<std::string::String>,
1841 }
1842 impl Builder {
1843 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
1845 self.group_id = Some(input.into());
1846 self
1847 }
1848 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
1850 self.group_id = input;
1851 self
1852 }
1853 pub fn new_owner_identity_id(mut self, input: impl Into<std::string::String>) -> Self {
1855 self.new_owner_identity_id = Some(input.into());
1856 self
1857 }
1858 pub fn set_new_owner_identity_id(
1860 mut self,
1861 input: std::option::Option<std::string::String>,
1862 ) -> Self {
1863 self.new_owner_identity_id = input;
1864 self
1865 }
1866 pub fn build(
1868 self,
1869 ) -> std::result::Result<
1870 crate::input::TransferGroupOwnershipInput,
1871 aws_smithy_http::operation::BuildError,
1872 > {
1873 Ok(crate::input::TransferGroupOwnershipInput {
1874 group_id: self.group_id,
1875 new_owner_identity_id: self.new_owner_identity_id,
1876 })
1877 }
1878 }
1879}
1880#[doc(hidden)]
1881pub type TransferGroupOwnershipInputOperationOutputAlias = crate::operation::TransferGroupOwnership;
1882#[doc(hidden)]
1883pub type TransferGroupOwnershipInputOperationRetryAlias = ();
1884impl TransferGroupOwnershipInput {
1885 #[allow(unused_mut)]
1887 #[allow(clippy::let_and_return)]
1888 #[allow(clippy::needless_borrow)]
1889 pub async fn make_operation(
1890 &self,
1891 _config: &crate::config::Config,
1892 ) -> std::result::Result<
1893 aws_smithy_http::operation::Operation<crate::operation::TransferGroupOwnership, ()>,
1894 aws_smithy_http::operation::BuildError,
1895 > {
1896 let mut request = {
1897 fn uri_base(
1898 _input: &crate::input::TransferGroupOwnershipInput,
1899 output: &mut String,
1900 ) -> Result<(), aws_smithy_http::operation::BuildError> {
1901 let input_18 = &_input.group_id;
1902 let input_18 = input_18.as_ref().ok_or(
1903 aws_smithy_http::operation::BuildError::MissingField {
1904 field: "group_id",
1905 details: "cannot be empty or unset",
1906 },
1907 )?;
1908 let group_id = aws_smithy_http::label::fmt_string(input_18, false);
1909 if group_id.is_empty() {
1910 return Err(aws_smithy_http::operation::BuildError::MissingField {
1911 field: "group_id",
1912 details: "cannot be empty or unset",
1913 });
1914 }
1915 write!(
1916 output,
1917 "/groups/{group_id}/transfer-owner",
1918 group_id = group_id
1919 )
1920 .expect("formatting should succeed");
1921 Ok(())
1922 }
1923 #[allow(clippy::unnecessary_wraps)]
1924 fn update_http_builder(
1925 input: &crate::input::TransferGroupOwnershipInput,
1926 _config: &crate::config::Config,
1927 builder: http::request::Builder,
1928 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
1929 {
1930 let mut _uri = String::new();
1931 _uri = format!("{}{}", _config.uri.clone(), _uri);
1932 uri_base(input, &mut _uri)?;
1933 Ok(builder.method("POST").uri(_uri))
1934 }
1935 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
1936 let mut builder = if let Some(auth) = &_config.auth {
1937 builder.header(http::header::AUTHORIZATION, auth.clone())
1938 } else {
1939 builder
1940 };
1941 builder = aws_smithy_http::header::set_request_header_if_absent(
1942 builder,
1943 http::header::CONTENT_TYPE,
1944 "application/json",
1945 );
1946 builder
1947 };
1948 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
1949 #[allow(clippy::useless_conversion)]
1950 let body = aws_smithy_http::body::SdkBody::from(
1951 crate::operation_ser::serialize_operation_crate_operation_transfer_group_ownership(
1952 &self,
1953 )?,
1954 );
1955 if let Some(content_length) = body.content_length() {
1956 request = aws_smithy_http::header::set_request_header_if_absent(
1957 request,
1958 http::header::CONTENT_LENGTH,
1959 content_length,
1960 );
1961 }
1962 let request = request.body(body).expect("should be valid request");
1963 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
1964 request
1965 .properties_mut()
1966 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
1967 let op = aws_smithy_http::operation::Operation::new(
1968 request,
1969 crate::operation::TransferGroupOwnership::new(),
1970 )
1971 .with_metadata(aws_smithy_http::operation::Metadata::new(
1972 "TransferGroupOwnership",
1973 "GroupService",
1974 ));
1975 Ok(op)
1976 }
1977 pub fn builder() -> crate::input::transfer_group_ownership_input::Builder {
1979 crate::input::transfer_group_ownership_input::Builder::default()
1980 }
1981}
1982
1983pub mod update_group_profile_input {
1985 #[non_exhaustive]
1987 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
1988 pub struct Builder {
1989 pub(crate) group_id: std::option::Option<std::string::String>,
1990 pub(crate) display_name: std::option::Option<std::string::String>,
1991 pub(crate) bio: std::option::Option<std::string::String>,
1992 pub(crate) publicity: std::option::Option<crate::model::GroupPublicity>,
1993 }
1994 impl Builder {
1995 pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
1997 self.group_id = Some(input.into());
1998 self
1999 }
2000 pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
2002 self.group_id = input;
2003 self
2004 }
2005 pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
2007 self.display_name = Some(input.into());
2008 self
2009 }
2010 pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
2012 self.display_name = input;
2013 self
2014 }
2015 pub fn bio(mut self, input: impl Into<std::string::String>) -> Self {
2017 self.bio = Some(input.into());
2018 self
2019 }
2020 pub fn set_bio(mut self, input: std::option::Option<std::string::String>) -> Self {
2022 self.bio = input;
2023 self
2024 }
2025 pub fn publicity(mut self, input: crate::model::GroupPublicity) -> Self {
2027 self.publicity = Some(input);
2028 self
2029 }
2030 pub fn set_publicity(
2032 mut self,
2033 input: std::option::Option<crate::model::GroupPublicity>,
2034 ) -> Self {
2035 self.publicity = input;
2036 self
2037 }
2038 pub fn build(
2040 self,
2041 ) -> std::result::Result<
2042 crate::input::UpdateGroupProfileInput,
2043 aws_smithy_http::operation::BuildError,
2044 > {
2045 Ok(crate::input::UpdateGroupProfileInput {
2046 group_id: self.group_id,
2047 display_name: self.display_name,
2048 bio: self.bio,
2049 publicity: self.publicity,
2050 })
2051 }
2052 }
2053}
2054#[doc(hidden)]
2055pub type UpdateGroupProfileInputOperationOutputAlias = crate::operation::UpdateGroupProfile;
2056#[doc(hidden)]
2057pub type UpdateGroupProfileInputOperationRetryAlias = ();
2058impl UpdateGroupProfileInput {
2059 #[allow(unused_mut)]
2061 #[allow(clippy::let_and_return)]
2062 #[allow(clippy::needless_borrow)]
2063 pub async fn make_operation(
2064 &self,
2065 _config: &crate::config::Config,
2066 ) -> std::result::Result<
2067 aws_smithy_http::operation::Operation<crate::operation::UpdateGroupProfile, ()>,
2068 aws_smithy_http::operation::BuildError,
2069 > {
2070 let mut request = {
2071 fn uri_base(
2072 _input: &crate::input::UpdateGroupProfileInput,
2073 output: &mut String,
2074 ) -> Result<(), aws_smithy_http::operation::BuildError> {
2075 let input_19 = &_input.group_id;
2076 let input_19 = input_19.as_ref().ok_or(
2077 aws_smithy_http::operation::BuildError::MissingField {
2078 field: "group_id",
2079 details: "cannot be empty or unset",
2080 },
2081 )?;
2082 let group_id = aws_smithy_http::label::fmt_string(input_19, false);
2083 if group_id.is_empty() {
2084 return Err(aws_smithy_http::operation::BuildError::MissingField {
2085 field: "group_id",
2086 details: "cannot be empty or unset",
2087 });
2088 }
2089 write!(output, "/groups/{group_id}/profile", group_id = group_id)
2090 .expect("formatting should succeed");
2091 Ok(())
2092 }
2093 #[allow(clippy::unnecessary_wraps)]
2094 fn update_http_builder(
2095 input: &crate::input::UpdateGroupProfileInput,
2096 _config: &crate::config::Config,
2097 builder: http::request::Builder,
2098 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
2099 {
2100 let mut _uri = String::new();
2101 _uri = format!("{}{}", _config.uri.clone(), _uri);
2102 uri_base(input, &mut _uri)?;
2103 Ok(builder.method("POST").uri(_uri))
2104 }
2105 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
2106 let mut builder = if let Some(auth) = &_config.auth {
2107 builder.header(http::header::AUTHORIZATION, auth.clone())
2108 } else {
2109 builder
2110 };
2111 builder = aws_smithy_http::header::set_request_header_if_absent(
2112 builder,
2113 http::header::CONTENT_TYPE,
2114 "application/json",
2115 );
2116 builder
2117 };
2118 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
2119 #[allow(clippy::useless_conversion)]
2120 let body = aws_smithy_http::body::SdkBody::from(
2121 crate::operation_ser::serialize_operation_crate_operation_update_group_profile(&self)?,
2122 );
2123 if let Some(content_length) = body.content_length() {
2124 request = aws_smithy_http::header::set_request_header_if_absent(
2125 request,
2126 http::header::CONTENT_LENGTH,
2127 content_length,
2128 );
2129 }
2130 let request = request.body(body).expect("should be valid request");
2131 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
2132 request
2133 .properties_mut()
2134 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
2135 let op = aws_smithy_http::operation::Operation::new(
2136 request,
2137 crate::operation::UpdateGroupProfile::new(),
2138 )
2139 .with_metadata(aws_smithy_http::operation::Metadata::new(
2140 "UpdateGroupProfile",
2141 "GroupService",
2142 ));
2143 Ok(op)
2144 }
2145 pub fn builder() -> crate::input::update_group_profile_input::Builder {
2147 crate::input::update_group_profile_input::Builder::default()
2148 }
2149}
2150
2151pub mod validate_group_profile_input {
2153 #[non_exhaustive]
2155 #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
2156 pub struct Builder {
2157 pub(crate) display_name: std::option::Option<std::string::String>,
2158 pub(crate) bio: std::option::Option<std::string::String>,
2159 pub(crate) publicity: std::option::Option<crate::model::GroupPublicity>,
2160 }
2161 impl Builder {
2162 pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
2164 self.display_name = Some(input.into());
2165 self
2166 }
2167 pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
2169 self.display_name = input;
2170 self
2171 }
2172 pub fn bio(mut self, input: impl Into<std::string::String>) -> Self {
2174 self.bio = Some(input.into());
2175 self
2176 }
2177 pub fn set_bio(mut self, input: std::option::Option<std::string::String>) -> Self {
2179 self.bio = input;
2180 self
2181 }
2182 pub fn publicity(mut self, input: crate::model::GroupPublicity) -> Self {
2184 self.publicity = Some(input);
2185 self
2186 }
2187 pub fn set_publicity(
2189 mut self,
2190 input: std::option::Option<crate::model::GroupPublicity>,
2191 ) -> Self {
2192 self.publicity = input;
2193 self
2194 }
2195 pub fn build(
2197 self,
2198 ) -> std::result::Result<
2199 crate::input::ValidateGroupProfileInput,
2200 aws_smithy_http::operation::BuildError,
2201 > {
2202 Ok(crate::input::ValidateGroupProfileInput {
2203 display_name: self.display_name,
2204 bio: self.bio,
2205 publicity: self.publicity,
2206 })
2207 }
2208 }
2209}
2210#[doc(hidden)]
2211pub type ValidateGroupProfileInputOperationOutputAlias = crate::operation::ValidateGroupProfile;
2212#[doc(hidden)]
2213pub type ValidateGroupProfileInputOperationRetryAlias = ();
2214impl ValidateGroupProfileInput {
2215 #[allow(unused_mut)]
2217 #[allow(clippy::let_and_return)]
2218 #[allow(clippy::needless_borrow)]
2219 pub async fn make_operation(
2220 &self,
2221 _config: &crate::config::Config,
2222 ) -> std::result::Result<
2223 aws_smithy_http::operation::Operation<crate::operation::ValidateGroupProfile, ()>,
2224 aws_smithy_http::operation::BuildError,
2225 > {
2226 let mut request = {
2227 fn uri_base(
2228 _input: &crate::input::ValidateGroupProfileInput,
2229 output: &mut String,
2230 ) -> Result<(), aws_smithy_http::operation::BuildError> {
2231 write!(output, "/groups/profile/validate").expect("formatting should succeed");
2232 Ok(())
2233 }
2234 #[allow(clippy::unnecessary_wraps)]
2235 fn update_http_builder(
2236 input: &crate::input::ValidateGroupProfileInput,
2237 _config: &crate::config::Config,
2238 builder: http::request::Builder,
2239 ) -> std::result::Result<http::request::Builder, aws_smithy_http::operation::BuildError>
2240 {
2241 let mut _uri = String::new();
2242 _uri = format!("{}{}", _config.uri.clone(), _uri);
2243 uri_base(input, &mut _uri)?;
2244 Ok(builder.method("POST").uri(_uri))
2245 }
2246 let mut builder = update_http_builder(&self, _config, http::request::Builder::new())?;
2247 let mut builder = if let Some(auth) = &_config.auth {
2248 builder.header(http::header::AUTHORIZATION, auth.clone())
2249 } else {
2250 builder
2251 };
2252 builder = aws_smithy_http::header::set_request_header_if_absent(
2253 builder,
2254 http::header::CONTENT_TYPE,
2255 "application/json",
2256 );
2257 builder
2258 };
2259 let mut properties = aws_smithy_http::property_bag::SharedPropertyBag::new();
2260 #[allow(clippy::useless_conversion)]
2261 let body = aws_smithy_http::body::SdkBody::from(
2262 crate::operation_ser::serialize_operation_crate_operation_validate_group_profile(
2263 &self,
2264 )?,
2265 );
2266 if let Some(content_length) = body.content_length() {
2267 request = aws_smithy_http::header::set_request_header_if_absent(
2268 request,
2269 http::header::CONTENT_LENGTH,
2270 content_length,
2271 );
2272 }
2273 let request = request.body(body).expect("should be valid request");
2274 let mut request = aws_smithy_http::operation::Request::from_parts(request, properties);
2275 request
2276 .properties_mut()
2277 .insert(aws_smithy_http::http_versions::DEFAULT_HTTP_VERSION_LIST.clone());
2278 let op = aws_smithy_http::operation::Operation::new(
2279 request,
2280 crate::operation::ValidateGroupProfile::new(),
2281 )
2282 .with_metadata(aws_smithy_http::operation::Metadata::new(
2283 "ValidateGroupProfile",
2284 "GroupService",
2285 ));
2286 Ok(op)
2287 }
2288 pub fn builder() -> crate::input::validate_group_profile_input::Builder {
2290 crate::input::validate_group_profile_input::Builder::default()
2291 }
2292}
2293
2294#[allow(missing_docs)] #[non_exhaustive]
2296#[derive(std::clone::Clone, std::cmp::PartialEq)]
2297pub struct ResolveGroupJoinRequestInput {
2298 pub group_id: std::option::Option<std::string::String>,
2300 pub identity_id: std::option::Option<std::string::String>,
2302 #[allow(missing_docs)] pub resolution: std::option::Option<bool>,
2304}
2305impl ResolveGroupJoinRequestInput {
2306 pub fn group_id(&self) -> std::option::Option<&str> {
2308 self.group_id.as_deref()
2309 }
2310 pub fn identity_id(&self) -> std::option::Option<&str> {
2312 self.identity_id.as_deref()
2313 }
2314 #[allow(missing_docs)] pub fn resolution(&self) -> std::option::Option<bool> {
2316 self.resolution
2317 }
2318}
2319impl std::fmt::Debug for ResolveGroupJoinRequestInput {
2320 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2321 let mut formatter = f.debug_struct("ResolveGroupJoinRequestInput");
2322 formatter.field("group_id", &self.group_id);
2323 formatter.field("identity_id", &self.identity_id);
2324 formatter.field("resolution", &self.resolution);
2325 formatter.finish()
2326 }
2327}
2328
2329#[allow(missing_docs)] #[non_exhaustive]
2331#[derive(std::clone::Clone, std::cmp::PartialEq)]
2332pub struct CreateGroupJoinRequestInput {
2333 pub group_id: std::option::Option<std::string::String>,
2335}
2336impl CreateGroupJoinRequestInput {
2337 pub fn group_id(&self) -> std::option::Option<&str> {
2339 self.group_id.as_deref()
2340 }
2341}
2342impl std::fmt::Debug for CreateGroupJoinRequestInput {
2343 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2344 let mut formatter = f.debug_struct("CreateGroupJoinRequestInput");
2345 formatter.field("group_id", &self.group_id);
2346 formatter.finish()
2347 }
2348}
2349
2350#[allow(missing_docs)] #[non_exhaustive]
2352#[derive(std::clone::Clone, std::cmp::PartialEq)]
2353pub struct GetGroupInviteInput {
2354 pub group_invite_code: std::option::Option<std::string::String>,
2356}
2357impl GetGroupInviteInput {
2358 pub fn group_invite_code(&self) -> std::option::Option<&str> {
2360 self.group_invite_code.as_deref()
2361 }
2362}
2363impl std::fmt::Debug for GetGroupInviteInput {
2364 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2365 let mut formatter = f.debug_struct("GetGroupInviteInput");
2366 formatter.field("group_invite_code", &self.group_invite_code);
2367 formatter.finish()
2368 }
2369}
2370
2371#[allow(missing_docs)] #[non_exhaustive]
2373#[derive(std::clone::Clone, std::cmp::PartialEq)]
2374pub struct ConsumeGroupInviteInput {
2375 pub group_invite_code: std::option::Option<std::string::String>,
2377}
2378impl ConsumeGroupInviteInput {
2379 pub fn group_invite_code(&self) -> std::option::Option<&str> {
2381 self.group_invite_code.as_deref()
2382 }
2383}
2384impl std::fmt::Debug for ConsumeGroupInviteInput {
2385 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2386 let mut formatter = f.debug_struct("ConsumeGroupInviteInput");
2387 formatter.field("group_invite_code", &self.group_invite_code);
2388 formatter.finish()
2389 }
2390}
2391
2392#[allow(missing_docs)] #[non_exhaustive]
2394#[derive(std::clone::Clone, std::cmp::PartialEq)]
2395pub struct CreateGroupInviteInput {
2396 pub group_id: std::option::Option<std::string::String>,
2398 pub ttl: std::option::Option<i64>,
2400 pub use_count: std::option::Option<i64>,
2402}
2403impl CreateGroupInviteInput {
2404 pub fn group_id(&self) -> std::option::Option<&str> {
2406 self.group_id.as_deref()
2407 }
2408 pub fn ttl(&self) -> std::option::Option<i64> {
2410 self.ttl
2411 }
2412 pub fn use_count(&self) -> std::option::Option<i64> {
2414 self.use_count
2415 }
2416}
2417impl std::fmt::Debug for CreateGroupInviteInput {
2418 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2419 let mut formatter = f.debug_struct("CreateGroupInviteInput");
2420 formatter.field("group_id", &self.group_id);
2421 formatter.field("ttl", &self.ttl);
2422 formatter.field("use_count", &self.use_count);
2423 formatter.finish()
2424 }
2425}
2426
2427#[allow(missing_docs)] #[non_exhaustive]
2429#[derive(std::clone::Clone, std::cmp::PartialEq)]
2430pub struct LeaveGroupInput {
2431 pub group_id: std::option::Option<std::string::String>,
2433}
2434impl LeaveGroupInput {
2435 pub fn group_id(&self) -> std::option::Option<&str> {
2437 self.group_id.as_deref()
2438 }
2439}
2440impl std::fmt::Debug for LeaveGroupInput {
2441 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2442 let mut formatter = f.debug_struct("LeaveGroupInput");
2443 formatter.field("group_id", &self.group_id);
2444 formatter.finish()
2445 }
2446}
2447
2448#[allow(missing_docs)] #[non_exhaustive]
2450#[derive(std::clone::Clone, std::cmp::PartialEq)]
2451pub struct JoinGroupInput {
2452 pub group_id: std::option::Option<std::string::String>,
2454}
2455impl JoinGroupInput {
2456 pub fn group_id(&self) -> std::option::Option<&str> {
2458 self.group_id.as_deref()
2459 }
2460}
2461impl std::fmt::Debug for JoinGroupInput {
2462 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2463 let mut formatter = f.debug_struct("JoinGroupInput");
2464 formatter.field("group_id", &self.group_id);
2465 formatter.finish()
2466 }
2467}
2468
2469#[allow(missing_docs)] #[non_exhaustive]
2471#[derive(std::clone::Clone, std::cmp::PartialEq)]
2472pub struct CompleteGroupAvatarUploadInput {
2473 pub group_id: std::option::Option<std::string::String>,
2475 pub upload_id: std::option::Option<std::string::String>,
2477}
2478impl CompleteGroupAvatarUploadInput {
2479 pub fn group_id(&self) -> std::option::Option<&str> {
2481 self.group_id.as_deref()
2482 }
2483 pub fn upload_id(&self) -> std::option::Option<&str> {
2485 self.upload_id.as_deref()
2486 }
2487}
2488impl std::fmt::Debug for CompleteGroupAvatarUploadInput {
2489 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2490 let mut formatter = f.debug_struct("CompleteGroupAvatarUploadInput");
2491 formatter.field("group_id", &self.group_id);
2492 formatter.field("upload_id", &self.upload_id);
2493 formatter.finish()
2494 }
2495}
2496
2497#[allow(missing_docs)] #[non_exhaustive]
2499#[derive(std::clone::Clone, std::cmp::PartialEq)]
2500pub struct PrepareGroupAvatarUploadInput {
2501 pub path: std::option::Option<std::string::String>,
2503 pub mime: std::option::Option<std::string::String>,
2505 pub content_length: std::option::Option<i64>,
2507}
2508impl PrepareGroupAvatarUploadInput {
2509 pub fn path(&self) -> std::option::Option<&str> {
2511 self.path.as_deref()
2512 }
2513 pub fn mime(&self) -> std::option::Option<&str> {
2515 self.mime.as_deref()
2516 }
2517 pub fn content_length(&self) -> std::option::Option<i64> {
2519 self.content_length
2520 }
2521}
2522impl std::fmt::Debug for PrepareGroupAvatarUploadInput {
2523 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2524 let mut formatter = f.debug_struct("PrepareGroupAvatarUploadInput");
2525 formatter.field("path", &self.path);
2526 formatter.field("mime", &self.mime);
2527 formatter.field("content_length", &self.content_length);
2528 formatter.finish()
2529 }
2530}
2531
2532#[allow(missing_docs)] #[non_exhaustive]
2534#[derive(std::clone::Clone, std::cmp::PartialEq)]
2535pub struct SearchGroupsInput {
2536 pub query: std::option::Option<std::string::String>,
2538 pub anchor: std::option::Option<std::string::String>,
2540 pub limit: std::option::Option<i32>,
2542}
2543impl SearchGroupsInput {
2544 pub fn query(&self) -> std::option::Option<&str> {
2546 self.query.as_deref()
2547 }
2548 pub fn anchor(&self) -> std::option::Option<&str> {
2550 self.anchor.as_deref()
2551 }
2552 pub fn limit(&self) -> std::option::Option<i32> {
2554 self.limit
2555 }
2556}
2557impl std::fmt::Debug for SearchGroupsInput {
2558 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2559 let mut formatter = f.debug_struct("SearchGroupsInput");
2560 formatter.field("query", &self.query);
2561 formatter.field("anchor", &self.anchor);
2562 formatter.field("limit", &self.limit);
2563 formatter.finish()
2564 }
2565}
2566
2567#[allow(missing_docs)] #[non_exhaustive]
2569#[derive(std::clone::Clone, std::cmp::PartialEq)]
2570pub struct TransferGroupOwnershipInput {
2571 pub group_id: std::option::Option<std::string::String>,
2573 pub new_owner_identity_id: std::option::Option<std::string::String>,
2575}
2576impl TransferGroupOwnershipInput {
2577 pub fn group_id(&self) -> std::option::Option<&str> {
2579 self.group_id.as_deref()
2580 }
2581 pub fn new_owner_identity_id(&self) -> std::option::Option<&str> {
2583 self.new_owner_identity_id.as_deref()
2584 }
2585}
2586impl std::fmt::Debug for TransferGroupOwnershipInput {
2587 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2588 let mut formatter = f.debug_struct("TransferGroupOwnershipInput");
2589 formatter.field("group_id", &self.group_id);
2590 formatter.field("new_owner_identity_id", &self.new_owner_identity_id);
2591 formatter.finish()
2592 }
2593}
2594
2595#[allow(missing_docs)] #[non_exhaustive]
2597#[derive(std::clone::Clone, std::cmp::PartialEq)]
2598pub struct ValidateGroupProfileInput {
2599 pub display_name: std::option::Option<std::string::String>,
2601 pub bio: std::option::Option<std::string::String>,
2603 pub publicity: std::option::Option<crate::model::GroupPublicity>,
2605}
2606impl ValidateGroupProfileInput {
2607 pub fn display_name(&self) -> std::option::Option<&str> {
2609 self.display_name.as_deref()
2610 }
2611 pub fn bio(&self) -> std::option::Option<&str> {
2613 self.bio.as_deref()
2614 }
2615 pub fn publicity(&self) -> std::option::Option<&crate::model::GroupPublicity> {
2617 self.publicity.as_ref()
2618 }
2619}
2620impl std::fmt::Debug for ValidateGroupProfileInput {
2621 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2622 let mut formatter = f.debug_struct("ValidateGroupProfileInput");
2623 formatter.field("display_name", &self.display_name);
2624 formatter.field("bio", &self.bio);
2625 formatter.field("publicity", &self.publicity);
2626 formatter.finish()
2627 }
2628}
2629
2630#[allow(missing_docs)] #[non_exhaustive]
2632#[derive(std::clone::Clone, std::cmp::PartialEq)]
2633pub struct GetGroupSummaryInput {
2634 pub group_id: std::option::Option<std::string::String>,
2636}
2637impl GetGroupSummaryInput {
2638 pub fn group_id(&self) -> std::option::Option<&str> {
2640 self.group_id.as_deref()
2641 }
2642}
2643impl std::fmt::Debug for GetGroupSummaryInput {
2644 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2645 let mut formatter = f.debug_struct("GetGroupSummaryInput");
2646 formatter.field("group_id", &self.group_id);
2647 formatter.finish()
2648 }
2649}
2650
2651#[allow(missing_docs)] #[non_exhaustive]
2653#[derive(std::clone::Clone, std::cmp::PartialEq)]
2654pub struct UpdateGroupProfileInput {
2655 pub group_id: std::option::Option<std::string::String>,
2657 pub display_name: std::option::Option<std::string::String>,
2659 pub bio: std::option::Option<std::string::String>,
2661 pub publicity: std::option::Option<crate::model::GroupPublicity>,
2663}
2664impl UpdateGroupProfileInput {
2665 pub fn group_id(&self) -> std::option::Option<&str> {
2667 self.group_id.as_deref()
2668 }
2669 pub fn display_name(&self) -> std::option::Option<&str> {
2671 self.display_name.as_deref()
2672 }
2673 pub fn bio(&self) -> std::option::Option<&str> {
2675 self.bio.as_deref()
2676 }
2677 pub fn publicity(&self) -> std::option::Option<&crate::model::GroupPublicity> {
2679 self.publicity.as_ref()
2680 }
2681}
2682impl std::fmt::Debug for UpdateGroupProfileInput {
2683 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2684 let mut formatter = f.debug_struct("UpdateGroupProfileInput");
2685 formatter.field("group_id", &self.group_id);
2686 formatter.field("display_name", &self.display_name);
2687 formatter.field("bio", &self.bio);
2688 formatter.field("publicity", &self.publicity);
2689 formatter.finish()
2690 }
2691}
2692
2693#[allow(missing_docs)] #[non_exhaustive]
2695#[derive(std::clone::Clone, std::cmp::PartialEq)]
2696pub struct GetGroupProfileInput {
2697 pub group_id: std::option::Option<std::string::String>,
2699 pub watch_index: std::option::Option<std::string::String>,
2701}
2702impl GetGroupProfileInput {
2703 pub fn group_id(&self) -> std::option::Option<&str> {
2705 self.group_id.as_deref()
2706 }
2707 pub fn watch_index(&self) -> std::option::Option<&str> {
2709 self.watch_index.as_deref()
2710 }
2711}
2712impl std::fmt::Debug for GetGroupProfileInput {
2713 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2714 let mut formatter = f.debug_struct("GetGroupProfileInput");
2715 formatter.field("group_id", &self.group_id);
2716 formatter.field("watch_index", &self.watch_index);
2717 formatter.finish()
2718 }
2719}
2720
2721#[allow(missing_docs)] #[non_exhaustive]
2723#[derive(std::clone::Clone, std::cmp::PartialEq)]
2724pub struct CreateGroupInput {
2725 pub display_name: std::option::Option<std::string::String>,
2727}
2728impl CreateGroupInput {
2729 pub fn display_name(&self) -> std::option::Option<&str> {
2731 self.display_name.as_deref()
2732 }
2733}
2734impl std::fmt::Debug for CreateGroupInput {
2735 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2736 let mut formatter = f.debug_struct("CreateGroupInput");
2737 formatter.field("display_name", &self.display_name);
2738 formatter.finish()
2739 }
2740}
2741
2742#[allow(missing_docs)] #[non_exhaustive]
2744#[derive(std::clone::Clone, std::cmp::PartialEq)]
2745pub struct ListSuggestedGroupsInput {
2746 pub watch_index: std::option::Option<std::string::String>,
2748}
2749impl ListSuggestedGroupsInput {
2750 pub fn watch_index(&self) -> std::option::Option<&str> {
2752 self.watch_index.as_deref()
2753 }
2754}
2755impl std::fmt::Debug for ListSuggestedGroupsInput {
2756 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2757 let mut formatter = f.debug_struct("ListSuggestedGroupsInput");
2758 formatter.field("watch_index", &self.watch_index);
2759 formatter.finish()
2760 }
2761}