1use thiserror::Error;
2
3#[cfg(feature = "sm")]
4mod sm_imports {
5 pub(crate) use aws_sdk_secretsmanager::error::{GetSecretValueError, TagResourceError};
6 pub(crate) use aws_sdk_secretsmanager::types::SdkError as SMError;
7}
8#[cfg(feature = "sm")]
9use sm_imports::*;
10
11#[cfg(feature = "params")]
12mod params_imports {
13 pub(crate) use aws_sdk_ssm::error::GetParameterError;
14 pub(crate) use aws_sdk_ssm::types::SdkError as ParamsError;
15}
16#[cfg(feature = "params")]
17use params_imports::*;
18
19#[derive(Error, Debug)]
21#[non_exhaustive]
22pub enum Error {
23 #[cfg(feature = "sm")]
25 #[error("couldn't set tag")]
26 SetTag(#[from] SMError<TagResourceError>),
27 #[cfg(feature = "sm")]
29 #[error("couldn't deserialize secret string")]
30 DeserializeError(#[from] serde_json::Error),
31 #[cfg(feature = "params")]
33 #[error("[{param_name:?}] couldn't read param")]
34 ReadParam {
35 param_name: String,
37 source: ParamsError<GetParameterError>,
39 },
40 #[cfg(feature = "sm")]
42 #[error("[{secret_name:?}] couldn't read secret")]
43 ReadSecret {
44 secret_name: String,
46 source: SMError<GetSecretValueError>,
48 },
49 #[error("unknown error")]
51 Unknown,
52}