#[non_exhaustive]pub struct InvokeEndpointError {
pub kind: InvokeEndpointErrorKind,
/* private fields */
}
Expand description
Error type for the InvokeEndpoint
operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.kind: InvokeEndpointErrorKind
Kind of error that occurred.
Implementations§
source§impl InvokeEndpointError
impl InvokeEndpointError
sourcepub fn new(kind: InvokeEndpointErrorKind, meta: Error) -> Self
pub fn new(kind: InvokeEndpointErrorKind, meta: Error) -> Self
Creates a new InvokeEndpointError
.
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 InvokeEndpointError::Unhandled
variant from any error type.
Examples found in repository?
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
pub fn parse_invoke_endpoint_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::InvokeEndpointOutput, crate::error::InvokeEndpointError> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::InvokeEndpointError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::InvokeEndpointError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"InternalDependencyException" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::InternalDependencyException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::internal_dependency_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_dependency_exception_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InternalFailure" => {
crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::InternalFailure({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_failure::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_failure_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
"ModelError" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ModelError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::model_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_model_error_json_err(
response.body().as_ref(),
output,
)
.map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ModelNotReadyException" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ModelNotReadyException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::model_not_ready_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_model_not_ready_exception_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ServiceUnavailable" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ServiceUnavailable({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::service_unavailable::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_service_unavailable_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ValidationError" => {
crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ValidationError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::validation_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_validation_error_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
_ => crate::error::InvokeEndpointError::generic(generic),
})
}
#[allow(clippy::unnecessary_wraps)]
pub fn parse_invoke_endpoint_response(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::InvokeEndpointOutput, crate::error::InvokeEndpointError> {
Ok({
#[allow(unused_mut)]
let mut output = crate::output::invoke_endpoint_output::Builder::default();
let _ = response;
output = output.set_body(
crate::http_serde::deser_payload_invoke_endpoint_invoke_endpoint_output_body(
response.body().as_ref(),
)?,
);
output = output.set_content_type(
crate::http_serde::deser_header_invoke_endpoint_invoke_endpoint_output_content_type(
response.headers(),
)
.map_err(|_| {
crate::error::InvokeEndpointError::unhandled(
"Failed to parse ContentType from header `Content-Type",
)
})?,
);
output = output.set_custom_attributes(
crate::http_serde::deser_header_invoke_endpoint_invoke_endpoint_output_custom_attributes(response.headers())
.map_err(|_|crate::error::InvokeEndpointError::unhandled("Failed to parse CustomAttributes from header `X-Amzn-SageMaker-Custom-Attributes"))?
);
output = output.set_invoked_production_variant(
crate::http_serde::deser_header_invoke_endpoint_invoke_endpoint_output_invoked_production_variant(response.headers())
.map_err(|_|crate::error::InvokeEndpointError::unhandled("Failed to parse InvokedProductionVariant from header `x-Amzn-Invoked-Production-Variant"))?
);
output.build()
})
}
sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the InvokeEndpointError::Unhandled
variant from a aws_smithy_types::Error
.
Examples found in repository?
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
pub fn parse_invoke_endpoint_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::InvokeEndpointOutput, crate::error::InvokeEndpointError> {
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::InvokeEndpointError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::InvokeEndpointError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"InternalDependencyException" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::InternalDependencyException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::internal_dependency_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_dependency_exception_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InternalFailure" => {
crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::InternalFailure({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_failure::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_failure_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
"ModelError" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ModelError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::model_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_model_error_json_err(
response.body().as_ref(),
output,
)
.map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ModelNotReadyException" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ModelNotReadyException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::model_not_ready_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_model_not_ready_exception_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ServiceUnavailable" => crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ServiceUnavailable({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::service_unavailable::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_service_unavailable_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ValidationError" => {
crate::error::InvokeEndpointError {
meta: generic,
kind: crate::error::InvokeEndpointErrorKind::ValidationError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::validation_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_validation_error_json_err(response.body().as_ref(), output).map_err(crate::error::InvokeEndpointError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
}
}
_ => crate::error::InvokeEndpointError::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_dependency_exception(&self) -> bool
pub fn is_internal_dependency_exception(&self) -> bool
Returns true
if the error kind is InvokeEndpointErrorKind::InternalDependencyException
.
sourcepub fn is_internal_failure(&self) -> bool
pub fn is_internal_failure(&self) -> bool
Returns true
if the error kind is InvokeEndpointErrorKind::InternalFailure
.
sourcepub fn is_model_error(&self) -> bool
pub fn is_model_error(&self) -> bool
Returns true
if the error kind is InvokeEndpointErrorKind::ModelError
.
sourcepub fn is_model_not_ready_exception(&self) -> bool
pub fn is_model_not_ready_exception(&self) -> bool
Returns true
if the error kind is InvokeEndpointErrorKind::ModelNotReadyException
.
Returns true
if the error kind is InvokeEndpointErrorKind::ServiceUnavailable
.
sourcepub fn is_validation_error(&self) -> bool
pub fn is_validation_error(&self) -> bool
Returns true
if the error kind is InvokeEndpointErrorKind::ValidationError
.