1macro_rules! builder_methods {
10    ($fn_name:ident, $arg_name:ident, $ty:ty, $doc:literal, $($tail:tt)+) => {
11        builder_methods!($fn_name, $arg_name, $ty, $doc);
12        builder_methods!($($tail)+);
13    };
14    ($fn_name:ident, $arg_name:ident, $ty:ty, $doc:literal) => {
15        #[doc = $doc]
16        pub fn $fn_name(&mut self, $arg_name: Option<$ty>) -> &mut Self {
17            self.$arg_name = $arg_name;
18            self
19        }
20
21        #[doc = $doc]
22        pub fn $arg_name(mut self, $arg_name: $ty) -> Self {
23            self.$arg_name = Some($arg_name);
24            self
25        }
26    };
27}
28
29pub mod v4;
31
32#[cfg(feature = "sigv4a")]
34pub mod v4a;