pub struct SecretManagerService { /* private fields */ }Expand description
Implements a client for the Secret Manager API.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
async fn sample(
project_id: &str,
) -> anyhow::Result<()> {
let client = SecretManagerService::builder().build().await?;
let mut list = client.list_secrets()
.set_parent(format!("projects/{project_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}§Service Description
Secret Manager Service
Manages secrets and operations using those secrets. Implements a REST model with the following objects:
§Configuration
To configure SecretManagerService use the with_* methods in the type returned
by builder(). The default configuration should
work for most applications. Common configuration changes include
- with_endpoint(): by default this client uses the global default endpoint
(
https://secretmanager.googleapis.com). Applications using regional endpoints or running in restricted networks (e.g. a network configured with Private Google Access with VPC Service Controls) may want to override this default. - with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.
§Pooling and Cloning
SecretManagerService holds a connection pool internally, it is advised to
create one and reuse it. You do not need to wrap SecretManagerService in
an Rc or Arc to reuse it, because it
already uses an Arc internally.
Implementations§
Source§impl SecretManagerService
impl SecretManagerService
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for SecretManagerService.
let client = SecretManagerService::builder().build().await?;Sourcepub fn from_stub<T>(stub: impl Into<Arc<T>>) -> Selfwhere
T: SecretManagerService + 'static,
pub fn from_stub<T>(stub: impl Into<Arc<T>>) -> Selfwhere
T: SecretManagerService + 'static,
Creates a new client from the provided stub.
The most common case for calling this function is in tests mocking the client’s behavior.
Sourcepub fn list_secrets(&self) -> ListSecrets
pub fn list_secrets(&self) -> ListSecrets
Lists Secrets.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str
) -> Result<()> {
let mut list = client.list_secrets()
.set_parent(format!("projects/{project_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn create_secret(&self) -> CreateSecret
pub fn create_secret(&self) -> CreateSecret
Creates a new Secret containing no SecretVersions.
§Example
use google_cloud_secretmanager_v1::model::Secret;
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str
) -> Result<()> {
let response = client.create_secret()
.set_parent(format!("projects/{project_id}"))
.set_secret_id("secret_id_value")
.set_secret(
Secret::new()/* set fields */
)
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn add_secret_version(&self) -> AddSecretVersion
pub fn add_secret_version(&self) -> AddSecretVersion
Creates a new SecretVersion containing secret data and attaches it to an existing Secret.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.add_secret_version()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn get_secret(&self) -> GetSecret
pub fn get_secret(&self) -> GetSecret
Gets metadata for a given Secret.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str, secret_id: &str
) -> Result<()> {
let response = client.get_secret()
.set_name(format!("projects/{project_id}/secrets/{secret_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn update_secret(&self) -> UpdateSecret
pub fn update_secret(&self) -> UpdateSecret
Updates metadata of an existing Secret.
§Example
use google_cloud_wkt::FieldMask;
use google_cloud_secretmanager_v1::model::Secret;
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str, secret_id: &str
) -> Result<()> {
let response = client.update_secret()
.set_secret(
Secret::new().set_name(format!("projects/{project_id}/secrets/{secret_id}"))/* set fields */
)
.set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn delete_secret(&self) -> DeleteSecret
pub fn delete_secret(&self) -> DeleteSecret
Sourcepub fn list_secret_versions(&self) -> ListSecretVersions
pub fn list_secret_versions(&self) -> ListSecretVersions
Lists SecretVersions. This call does not return secret data.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str, secret_id: &str
) -> Result<()> {
let mut list = client.list_secret_versions()
.set_parent(format!("projects/{project_id}/secrets/{secret_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_secret_version(&self) -> GetSecretVersion
pub fn get_secret_version(&self) -> GetSecretVersion
Gets metadata for a SecretVersion.
projects/*/secrets/*/versions/latest is an alias to the most recently
created SecretVersion.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService, project_id: &str, secret_id: &str, secret_version_id: &str
) -> Result<()> {
let response = client.get_secret_version()
.set_name(format!("projects/{project_id}/secrets/{secret_id}/versions/{secret_version_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn access_secret_version(&self) -> AccessSecretVersion
pub fn access_secret_version(&self) -> AccessSecretVersion
Accesses a SecretVersion. This call returns the secret data.
projects/*/secrets/*/versions/latest is an alias to the most recently
created SecretVersion.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.access_secret_version()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn disable_secret_version(&self) -> DisableSecretVersion
pub fn disable_secret_version(&self) -> DisableSecretVersion
Disables a SecretVersion.
Sets the state of the SecretVersion to DISABLED.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.disable_secret_version()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn enable_secret_version(&self) -> EnableSecretVersion
pub fn enable_secret_version(&self) -> EnableSecretVersion
Enables a SecretVersion.
Sets the state of the SecretVersion to ENABLED.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.enable_secret_version()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn destroy_secret_version(&self) -> DestroySecretVersion
pub fn destroy_secret_version(&self) -> DestroySecretVersion
Destroys a SecretVersion.
Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.destroy_secret_version()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn set_iam_policy(&self) -> SetIamPolicy
pub fn set_iam_policy(&self) -> SetIamPolicy
Sets the access control policy on the specified secret. Replaces any existing policy.
Permissions on SecretVersions are enforced according to the policy set on the associated Secret.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.set_iam_policy()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn get_iam_policy(&self) -> GetIamPolicy
pub fn get_iam_policy(&self) -> GetIamPolicy
Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.get_iam_policy()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn test_iam_permissions(&self) -> TestIamPermissions
pub fn test_iam_permissions(&self) -> TestIamPermissions
Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error.
Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may “fail open” without warning.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.test_iam_permissions()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn enable_managed_rotation(&self) -> EnableManagedRotation
pub fn enable_managed_rotation(&self) -> EnableManagedRotation
Enables the managed rotation feature for a Secret. This method can only be triggered once for a secret. In order to do further rotations, RotateSecret should be used. This method will add a secret version and update the password in Cloud SQL.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.enable_managed_rotation()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn rotate_secret(&self) -> RotateSecret
pub fn rotate_secret(&self) -> RotateSecret
Do a managed rotation for a Secret. This can only be triggered after Managed rotation has been enabled. This method will add a secret version and update the password in Cloud SQL.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.rotate_secret()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn list_locations(&self) -> ListLocations
pub fn list_locations(&self) -> ListLocations
Lists information about the supported locations for this service.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let mut list = client.list_locations()
/* set fields */
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_location(&self) -> GetLocation
pub fn get_location(&self) -> GetLocation
Gets information about a location.
§Example
use google_cloud_secretmanager_v1::Result;
async fn sample(
client: &SecretManagerService
) -> Result<()> {
let response = client.get_location()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Trait Implementations§
Source§impl Clone for SecretManagerService
impl Clone for SecretManagerService
Source§fn clone(&self) -> SecretManagerService
fn clone(&self) -> SecretManagerService
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more