use thiserror::Error;
#[cfg(feature = "sm")]
mod sm_imports {
pub(crate) use aws_sdk_secretsmanager::error::{GetSecretValueError, TagResourceError};
pub(crate) use aws_sdk_secretsmanager::types::SdkError as SMError;
}
#[cfg(feature = "sm")]
use sm_imports::*;
#[cfg(feature = "params")]
mod params_imports {
pub(crate) use aws_sdk_ssm::error::GetParameterError;
pub(crate) use aws_sdk_ssm::types::SdkError as ParamsError;
}
#[cfg(feature = "params")]
use params_imports::*;
#[derive(Error, Debug)]
#[non_exhaustive]
pub enum Error {
#[cfg(feature = "sm")]
#[error("couldn't set tag")]
SetTag(#[from] SMError<TagResourceError>),
#[cfg(feature = "sm")]
#[error("couldn't deserialize secret string")]
DeserializeError(#[from] serde_json::Error),
#[cfg(feature = "params")]
#[error("[{param_name:?}] couldn't read param")]
ReadParam {
param_name: String,
source: ParamsError<GetParameterError>,
},
#[cfg(feature = "sm")]
#[error("[{secret_name:?}] couldn't read secret")]
ReadSecret {
secret_name: String,
source: SMError<GetSecretValueError>,
},
#[error("unknown error")]
Unknown,
}