#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ServiceLimitExceededException {
#[doc(hidden)]
pub limit_name: ::std::option::Option<crate::types::LimitName>,
#[doc(hidden)]
pub limit_value: f64,
#[doc(hidden)]
pub message: ::std::option::Option<::std::string::String>,
pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
}
impl ServiceLimitExceededException {
pub fn limit_name(&self) -> ::std::option::Option<&crate::types::LimitName> {
self.limit_name.as_ref()
}
pub fn limit_value(&self) -> f64 {
self.limit_value
}
}
impl ServiceLimitExceededException {
pub fn message(&self) -> ::std::option::Option<&str> {
self.message.as_deref()
}
}
impl ::std::fmt::Display for ServiceLimitExceededException {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
::std::write!(f, "ServiceLimitExceededException")?;
if let ::std::option::Option::Some(inner_1) = &self.message {
{
::std::write!(f, ": {}", inner_1)?;
}
}
Ok(())
}
}
impl ::std::error::Error for ServiceLimitExceededException {}
impl ::aws_http::request_id::RequestId for crate::types::error::ServiceLimitExceededException {
fn request_id(&self) -> Option<&str> {
use ::aws_smithy_types::error::metadata::ProvideErrorMetadata;
self.meta().request_id()
}
}
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ServiceLimitExceededException {
fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
&self.meta
}
}
impl ServiceLimitExceededException {
pub fn builder() -> crate::types::error::builders::ServiceLimitExceededExceptionBuilder {
crate::types::error::builders::ServiceLimitExceededExceptionBuilder::default()
}
}
#[non_exhaustive]
#[derive(
::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug,
)]
pub struct ServiceLimitExceededExceptionBuilder {
pub(crate) limit_name: ::std::option::Option<crate::types::LimitName>,
pub(crate) limit_value: ::std::option::Option<f64>,
pub(crate) message: ::std::option::Option<::std::string::String>,
meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
}
impl ServiceLimitExceededExceptionBuilder {
pub fn limit_name(mut self, input: crate::types::LimitName) -> Self {
self.limit_name = ::std::option::Option::Some(input);
self
}
pub fn set_limit_name(mut self, input: ::std::option::Option<crate::types::LimitName>) -> Self {
self.limit_name = input;
self
}
pub fn limit_value(mut self, input: f64) -> Self {
self.limit_value = ::std::option::Option::Some(input);
self
}
pub fn set_limit_value(mut self, input: ::std::option::Option<f64>) -> Self {
self.limit_value = input;
self
}
pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.message = ::std::option::Option::Some(input.into());
self
}
pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.message = input;
self
}
pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
self.meta = Some(meta);
self
}
pub fn set_meta(
&mut self,
meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
) -> &mut Self {
self.meta = meta;
self
}
pub fn build(self) -> crate::types::error::ServiceLimitExceededException {
crate::types::error::ServiceLimitExceededException {
limit_name: self.limit_name,
limit_value: self.limit_value.unwrap_or_default(),
message: self.message,
meta: self.meta.unwrap_or_default(),
}
}
}