#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ServiceLimitExceededException {
pub limit_name: ::std::option::Option<crate::types::LimitName>,
pub limit_value: f64,
pub message: ::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) -> &str {
&self.message
}
}
impl ::std::fmt::Display for ServiceLimitExceededException {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
::std::write!(f, "ServiceLimitExceededException")?;
{
::std::write!(f, ": {}", &self.message)?;
}
Ok(())
}
}
impl ::std::error::Error for ServiceLimitExceededException {}
impl ::aws_types::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 get_limit_name(&self) -> &::std::option::Option<crate::types::LimitName> {
&self.limit_name
}
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 get_limit_value(&self) -> &::std::option::Option<f64> {
&self.limit_value
}
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 get_message(&self) -> &::std::option::Option<::std::string::String> {
&self.message
}
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,
) -> ::std::result::Result<crate::types::error::ServiceLimitExceededException, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::error::ServiceLimitExceededException {
limit_name: self.limit_name,
limit_value: self.limit_value.unwrap_or_default(),
message: self.message.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"message",
"message was not specified but it is required when building ServiceLimitExceededException",
)
})?,
meta: self.meta.unwrap_or_default(),
})
}
}