Struct aws_sdk_ssm::error::StartSessionError
source · #[non_exhaustive]pub struct StartSessionError {
pub kind: StartSessionErrorKind,
/* private fields */
}
Expand description
Error type for the StartSession
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: StartSessionErrorKind
Kind of error that occurred.
Implementations§
source§impl StartSessionError
impl StartSessionError
sourcepub fn new(kind: StartSessionErrorKind, meta: Error) -> Self
pub fn new(kind: StartSessionErrorKind, meta: Error) -> Self
Creates a new StartSessionError
.
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 StartSessionError::Unhandled
variant from any error type.
Examples found in repository?
src/operation_deser.rs (line 11918)
11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978
pub fn parse_start_session_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::StartSessionOutput, crate::error::StartSessionError> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::StartSessionError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::StartSessionError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"InternalServerError" => crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InvalidDocument" => {
crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::InvalidDocument({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::invalid_document::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_invalid_document_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
"TargetNotConnected" => crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::TargetNotConnected({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::target_not_connected::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_target_not_connected_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::StartSessionError::generic(generic),
})
}
sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the StartSessionError::Unhandled
variant from a aws_smithy_types::Error
.
Examples found in repository?
src/operation_deser.rs (line 11976)
11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978
pub fn parse_start_session_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::StartSessionOutput, crate::error::StartSessionError> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::StartSessionError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::StartSessionError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"InternalServerError" => crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InvalidDocument" => {
crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::InvalidDocument({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::invalid_document::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_invalid_document_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
"TargetNotConnected" => crate::error::StartSessionError {
meta: generic,
kind: crate::error::StartSessionErrorKind::TargetNotConnected({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::target_not_connected::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_target_not_connected_json_err(response.body().as_ref(), output).map_err(crate::error::StartSessionError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::StartSessionError::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_internal_server_error(&self) -> bool
pub fn is_internal_server_error(&self) -> bool
Returns true
if the error kind is StartSessionErrorKind::InternalServerError
.
sourcepub fn is_invalid_document(&self) -> bool
pub fn is_invalid_document(&self) -> bool
Returns true
if the error kind is StartSessionErrorKind::InvalidDocument
.
sourcepub fn is_target_not_connected(&self) -> bool
pub fn is_target_not_connected(&self) -> bool
Returns true
if the error kind is StartSessionErrorKind::TargetNotConnected
.
Trait Implementations§
source§impl Debug for StartSessionError
impl Debug for StartSessionError
source§impl Display for StartSessionError
impl Display for StartSessionError
source§impl Error for StartSessionError
impl Error for StartSessionError
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<StartSessionError> for Error
impl From<StartSessionError> for Error
source§fn from(err: StartSessionError) -> Self
fn from(err: StartSessionError) -> Self
Converts to this type from the input type.