// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>A managed secret that contains the credentials for installing vCenter Server, NSX, and SDDC Manager. During environment creation, the Amazon EVS control plane uses Amazon Web Services Secrets Manager to create, encrypt, validate, and store secrets. If you choose to delete your environment, Amazon EVS also deletes the secrets that are associated with your environment. Amazon EVS does not provide managed rotation of secrets. We recommend that you rotate secrets regularly to ensure that secrets are not long-lived.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Secret {
/// <p>The Amazon Resource Name (ARN) of the secret.</p>
pub secret_arn: ::std::option::Option<::std::string::String>,
}
impl Secret {
/// <p>The Amazon Resource Name (ARN) of the secret.</p>
pub fn secret_arn(&self) -> ::std::option::Option<&str> {
self.secret_arn.as_deref()
}
}
impl Secret {
/// Creates a new builder-style object to manufacture [`Secret`](crate::types::Secret).
pub fn builder() -> crate::types::builders::SecretBuilder {
crate::types::builders::SecretBuilder::default()
}
}
/// A builder for [`Secret`](crate::types::Secret).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct SecretBuilder {
pub(crate) secret_arn: ::std::option::Option<::std::string::String>,
}
impl SecretBuilder {
/// <p>The Amazon Resource Name (ARN) of the secret.</p>
pub fn secret_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.secret_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The Amazon Resource Name (ARN) of the secret.</p>
pub fn set_secret_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.secret_arn = input;
self
}
/// <p>The Amazon Resource Name (ARN) of the secret.</p>
pub fn get_secret_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.secret_arn
}
/// Consumes the builder and constructs a [`Secret`](crate::types::Secret).
pub fn build(self) -> crate::types::Secret {
crate::types::Secret { secret_arn: self.secret_arn }
}
}