Struct aws_sdk_sts::error::AssumeRoleError
source · #[non_exhaustive]pub struct AssumeRoleError {
pub kind: AssumeRoleErrorKind,
/* private fields */
}Expand description
Error type for the AssumeRole operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: AssumeRoleErrorKindKind of error that occurred.
Implementations§
source§impl AssumeRoleError
impl AssumeRoleError
sourcepub fn new(kind: AssumeRoleErrorKind, meta: Error) -> Self
pub fn new(kind: AssumeRoleErrorKind, meta: Error) -> Self
Creates a new AssumeRoleError.
sourcepub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
pub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
Creates the AssumeRoleError::Unhandled variant from any error type.
Examples found in repository?
src/operation_deser.rs (line 10)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
pub fn parse_assume_role_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::AssumeRoleOutput, crate::error::AssumeRoleError> {
let generic = crate::xml_deser::parse_http_generic_error(response)
.map_err(crate::error::AssumeRoleError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::AssumeRoleError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"ExpiredTokenException" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::ExpiredTokenException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::expired_token_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_expired_token_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"MalformedPolicyDocument" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::MalformedPolicyDocumentException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::malformed_policy_document_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_malformed_policy_document_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"PackedPolicyTooLarge" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::PackedPolicyTooLargeException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::packed_policy_too_large_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_packed_policy_too_large_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"RegionDisabledException" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::RegionDisabledException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::region_disabled_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_region_disabled_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::AssumeRoleError::generic(generic),
})
}sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the AssumeRoleError::Unhandled variant from a aws_smithy_types::Error.
Examples found in repository?
src/operation_deser.rs (line 85)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
pub fn parse_assume_role_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::AssumeRoleOutput, crate::error::AssumeRoleError> {
let generic = crate::xml_deser::parse_http_generic_error(response)
.map_err(crate::error::AssumeRoleError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::AssumeRoleError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"ExpiredTokenException" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::ExpiredTokenException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::expired_token_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_expired_token_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"MalformedPolicyDocument" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::MalformedPolicyDocumentException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::malformed_policy_document_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_malformed_policy_document_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"PackedPolicyTooLarge" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::PackedPolicyTooLargeException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::packed_policy_too_large_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_packed_policy_too_large_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"RegionDisabledException" => crate::error::AssumeRoleError {
meta: generic,
kind: crate::error::AssumeRoleErrorKind::RegionDisabledException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::region_disabled_exception::Builder::default();
let _ = response;
output = crate::xml_deser::deser_structure_crate_error_region_disabled_exception_xml_err(response.body().as_ref(), output).map_err(crate::error::AssumeRoleError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::AssumeRoleError::generic(generic),
})
}sourcepub fn meta(&self) -> &Error
pub fn meta(&self) -> &Error
Returns error metadata, which includes the error code, message, request ID, and potentially additional information.
sourcepub fn request_id(&self) -> Option<&str>
pub fn request_id(&self) -> Option<&str>
Returns the request ID if it’s available.
sourcepub fn is_expired_token_exception(&self) -> bool
pub fn is_expired_token_exception(&self) -> bool
Returns true if the error kind is AssumeRoleErrorKind::ExpiredTokenException.
sourcepub fn is_malformed_policy_document_exception(&self) -> bool
pub fn is_malformed_policy_document_exception(&self) -> bool
Returns true if the error kind is AssumeRoleErrorKind::MalformedPolicyDocumentException.
sourcepub fn is_packed_policy_too_large_exception(&self) -> bool
pub fn is_packed_policy_too_large_exception(&self) -> bool
Returns true if the error kind is AssumeRoleErrorKind::PackedPolicyTooLargeException.
sourcepub fn is_region_disabled_exception(&self) -> bool
pub fn is_region_disabled_exception(&self) -> bool
Returns true if the error kind is AssumeRoleErrorKind::RegionDisabledException.
Trait Implementations§
source§impl Debug for AssumeRoleError
impl Debug for AssumeRoleError
source§impl Display for AssumeRoleError
impl Display for AssumeRoleError
source§impl Error for AssumeRoleError
impl Error for AssumeRoleError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<AssumeRoleError> for Error
impl From<AssumeRoleError> for Error
source§fn from(err: AssumeRoleError) -> Self
fn from(err: AssumeRoleError) -> Self
Converts to this type from the input type.