mirror of https://github.com/smithy-lang/smithy-rs
add better error handling for secretsmanager helloworld example (#307)
* add better error handling for secretsmanager helloworld example * Format Co-authored-by: Russell Cohen <russell.r.cohen@gmail.com>
This commit is contained in:
parent
cc805834b8
commit
cad0d0e16a
|
@ -5,6 +5,7 @@
|
|||
use aws_hyper::conn::Standard;
|
||||
use secretsmanager::Client;
|
||||
use secretsmanager::Region;
|
||||
use secretsmanager::SdkError;
|
||||
use tracing_subscriber::fmt::format::FmtSpan;
|
||||
use tracing_subscriber::fmt::SubscriberBuilder;
|
||||
|
||||
|
@ -25,16 +26,29 @@ async fn main() {
|
|||
let conn = Standard::https();
|
||||
let client = Client::from_conf_conn(config, conn);
|
||||
|
||||
// attempt to create a secret,
|
||||
// need to find a better way to handle failure such as ResourceExistsException
|
||||
let data = client
|
||||
// attempt to create a secret,
|
||||
// need to find a better way to handle failure such as ResourceExistsException
|
||||
let data = match client
|
||||
.create_secret()
|
||||
.name(secret_name)
|
||||
.secret_string(secret_value)
|
||||
.send()
|
||||
.await
|
||||
.expect("Error creating secret or secret already exists");
|
||||
println!("Created secret {:?} with ARN {:?}", secret_name, data.arn);
|
||||
{
|
||||
Ok(secret) => secret,
|
||||
Err(SdkError::ServiceError { err, .. }) => match err.kind {
|
||||
secretsmanager::error::CreateSecretErrorKind::ResourceExistsError(_) => {
|
||||
panic!("This secret already exists!")
|
||||
}
|
||||
_ => panic!("Secretsmanager Error: {}", err),
|
||||
},
|
||||
Err(other) => panic!("Failed to create secret: {}", other),
|
||||
};
|
||||
println!(
|
||||
"Created secret {:?} with ARN {:?}",
|
||||
secret_name,
|
||||
data.arn.unwrap()
|
||||
);
|
||||
|
||||
// try and retrieve the secret value we just created
|
||||
let retrieved_secret = client
|
||||
|
@ -45,5 +59,7 @@ async fn main() {
|
|||
.expect("unable to retrieve secret");
|
||||
|
||||
assert_eq!(retrieved_secret.secret_string.unwrap(), secret_value);
|
||||
println!("successfully retrieved secret string that matches the original one we created earlier");
|
||||
println!(
|
||||
"successfully retrieved secret string that matches the original one we created earlier"
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue