aws_sdk_dynamodb/types/error/
_request_limit_exceeded.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct RequestLimitExceeded {
7 #[allow(missing_docs)] pub message: ::std::option::Option<::std::string::String>,
9 pub throttling_reasons: ::std::option::Option<::std::vec::Vec<crate::types::ThrottlingReason>>,
11 pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
12}
13impl RequestLimitExceeded {
14 pub fn throttling_reasons(&self) -> &[crate::types::ThrottlingReason] {
18 self.throttling_reasons.as_deref().unwrap_or_default()
19 }
20}
21impl RequestLimitExceeded {
22 pub fn message(&self) -> ::std::option::Option<&str> {
24 self.message.as_deref()
25 }
26}
27impl ::std::fmt::Display for RequestLimitExceeded {
28 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
29 ::std::write!(f, "RequestLimitExceeded")?;
30 if let ::std::option::Option::Some(inner_1) = &self.message {
31 {
32 ::std::write!(f, ": {}", inner_1)?;
33 }
34 }
35 Ok(())
36 }
37}
38impl ::std::error::Error for RequestLimitExceeded {}
39impl ::aws_types::request_id::RequestId for crate::types::error::RequestLimitExceeded {
40 fn request_id(&self) -> Option<&str> {
41 use ::aws_smithy_types::error::metadata::ProvideErrorMetadata;
42 self.meta().request_id()
43 }
44}
45impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for RequestLimitExceeded {
46 fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
47 &self.meta
48 }
49}
50impl RequestLimitExceeded {
51 pub fn builder() -> crate::types::error::builders::RequestLimitExceededBuilder {
53 crate::types::error::builders::RequestLimitExceededBuilder::default()
54 }
55}
56
57#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
59#[non_exhaustive]
60pub struct RequestLimitExceededBuilder {
61 pub(crate) message: ::std::option::Option<::std::string::String>,
62 pub(crate) throttling_reasons: ::std::option::Option<::std::vec::Vec<crate::types::ThrottlingReason>>,
63 meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
64}
65impl RequestLimitExceededBuilder {
66 #[allow(missing_docs)] pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
68 self.message = ::std::option::Option::Some(input.into());
69 self
70 }
71 #[allow(missing_docs)] pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
73 self.message = input;
74 self
75 }
76 #[allow(missing_docs)] pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
78 &self.message
79 }
80 pub fn throttling_reasons(mut self, input: crate::types::ThrottlingReason) -> Self {
86 let mut v = self.throttling_reasons.unwrap_or_default();
87 v.push(input);
88 self.throttling_reasons = ::std::option::Option::Some(v);
89 self
90 }
91 pub fn set_throttling_reasons(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ThrottlingReason>>) -> Self {
93 self.throttling_reasons = input;
94 self
95 }
96 pub fn get_throttling_reasons(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ThrottlingReason>> {
98 &self.throttling_reasons
99 }
100 pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
102 self.meta = Some(meta);
103 self
104 }
105
106 pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
108 self.meta = meta;
109 self
110 }
111 pub fn build(self) -> crate::types::error::RequestLimitExceeded {
113 crate::types::error::RequestLimitExceeded {
114 message: self.message,
115 throttling_reasons: self.throttling_reasons,
116 meta: self.meta.unwrap_or_default(),
117 }
118 }
119}