pub struct AuthProviderService { /* private fields */ }Expand description
Implements a client for the Agent Identity API.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
async fn sample(
project_id: &str,
location_id: &str,
) -> anyhow::Result<()> {
let client = AuthProviderService::builder().build().await?;
let mut list = client.list_auth_providers()
.set_parent(format!("projects/{project_id}/locations/{location_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}§Service Description
Service describing handlers for resources
§Configuration
To configure AuthProviderService 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://agentidentity.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
AuthProviderService holds a connection pool internally, it is advised to
create one and reuse it. You do not need to wrap AuthProviderService in
an Rc or Arc to reuse it, because it
already uses an Arc internally.
Implementations§
Source§impl AuthProviderService
impl AuthProviderService
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for AuthProviderService.
let client = AuthProviderService::builder().build().await?;Sourcepub fn from_stub<T>(stub: impl Into<Arc<T>>) -> Selfwhere
T: AuthProviderService + 'static,
pub fn from_stub<T>(stub: impl Into<Arc<T>>) -> Selfwhere
T: AuthProviderService + '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_auth_providers(&self) -> ListAuthProviders
pub fn list_auth_providers(&self) -> ListAuthProviders
Lists AuthProviders in a given project and location.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str
) -> Result<()> {
let mut list = client.list_auth_providers()
.set_parent(format!("projects/{project_id}/locations/{location_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_auth_provider(&self) -> GetAuthProvider
pub fn get_auth_provider(&self) -> GetAuthProvider
Gets details of a single AuthProvider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str
) -> Result<()> {
let response = client.get_auth_provider()
.set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn create_auth_provider(&self) -> CreateAuthProvider
pub fn create_auth_provider(&self) -> CreateAuthProvider
Creates a new AuthProvider in a given project and location.
§Example
use google_cloud_agentidentity_v1::model::AuthProvider;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str
) -> Result<()> {
let response = client.create_auth_provider()
.set_parent(format!("projects/{project_id}/locations/{location_id}"))
.set_auth_provider(
AuthProvider::new()/* set fields */
)
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn update_auth_provider(&self) -> UpdateAuthProvider
pub fn update_auth_provider(&self) -> UpdateAuthProvider
Updates the parameters of a single AuthProvider.
§Example
use google_cloud_wkt::FieldMask;
use google_cloud_agentidentity_v1::model::AuthProvider;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str
) -> Result<()> {
let response = client.update_auth_provider()
.set_auth_provider(
AuthProvider::new().set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_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_auth_provider(&self) -> DeleteAuthProvider
pub fn delete_auth_provider(&self) -> DeleteAuthProvider
Deletes a single AuthProvider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str
) -> Result<()> {
client.delete_auth_provider()
.set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}"))
.send().await?;
Ok(())
}Sourcepub fn undelete_auth_provider(&self) -> UndeleteAuthProvider
pub fn undelete_auth_provider(&self) -> UndeleteAuthProvider
Undeletes a single AuthProvider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str
) -> Result<()> {
let response = client.undelete_auth_provider()
.set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn query_auth_providers(&self) -> QueryAuthProviders
pub fn query_auth_providers(&self) -> QueryAuthProviders
Queries what all auth_providers are used by a given workload_id.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.query_auth_providers()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn query_workloads(&self) -> QueryWorkloads
pub fn query_workloads(&self) -> QueryWorkloads
Queries what all workloads are using a given auth_provider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.query_workloads()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Lists Authorizations in a given project and location.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str
) -> Result<()> {
let mut list = client.list_authorizations()
.set_parent(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Gets details of a single Authorization.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str, authorization_id: &str
) -> Result<()> {
let response = client.get_authorization()
.set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}/authorizations/{authorization_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Deletes a single Authorization.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, auth_provider_id: &str, authorization_id: &str
) -> Result<()> {
client.delete_authorization()
.set_name(format!("projects/{project_id}/locations/{location_id}/authProviders/{auth_provider_id}/authorizations/{authorization_id}"))
.send().await?;
Ok(())
}Sourcepub fn list_access_summaries(&self) -> ListAccessSummaries
pub fn list_access_summaries(&self) -> ListAccessSummaries
Lists AccessSummaries in a given project and location. Supported Filters:
workload_id: Filter by the SPIFFE ID of the agent. Example:workload_id="spiffe://example.com/ns/default/sa/my-agent"
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str
) -> Result<()> {
let mut list = client.list_access_summaries()
.set_parent(format!("projects/{project_id}/locations/{location_id}"))
.by_item();
while let Some(item) = list.next().await.transpose()? {
println!("{:?}", item);
}
Ok(())
}Sourcepub fn get_access_summary(&self) -> GetAccessSummary
pub fn get_access_summary(&self) -> GetAccessSummary
Gets details of a single AccessSummary.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService, project_id: &str, location_id: &str, access_summary_id: &str
) -> Result<()> {
let response = client.get_access_summary()
.set_name(format!("projects/{project_id}/locations/{location_id}/accessSummaries/{access_summary_id}"))
.send().await?;
println!("response {:?}", response);
Ok(())
}Revokes all authorizations for a specific user on an AuthProvider. This deletes all authorization records associated with the user and AuthProvider, effectively revoking access across all agents.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.revoke_authorization()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn enable_auth_provider(&self) -> EnableAuthProvider
pub fn enable_auth_provider(&self) -> EnableAuthProvider
Enables a single AuthProvider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.enable_auth_provider()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Sourcepub fn disable_auth_provider(&self) -> DisableAuthProvider
pub fn disable_auth_provider(&self) -> DisableAuthProvider
Disables a single AuthProvider.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.disable_auth_provider()
/* 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.
This method lists locations based on the resource scope provided in
the ListLocationsRequest.name field: *
Global locations: If name is empty, the method lists the
public locations available to all projects. * Project-specific
locations: If name follows the format
projects/{project}, the method lists locations visible to that
specific project. This includes public, private, or other
project-specific locations enabled for the project.
For gRPC and client library implementations, the resource name is
passed as the name field. For direct service calls, the resource
name is
incorporated into the request path based on the specific service
implementation and version.
§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> 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_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.get_location()
/* 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 resource. Replaces any existing policy.
Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED
errors.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> 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 resource. Returns an empty policy if the resource exists and does not have a policy set.
§Example
use google_cloud_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> 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 on the specified resource. If the
resource does not exist, this will return 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_agentidentity_v1::Result;
async fn sample(
client: &AuthProviderService
) -> Result<()> {
let response = client.test_iam_permissions()
/* set fields */
.send().await?;
println!("response {:?}", response);
Ok(())
}Trait Implementations§
Source§impl Clone for AuthProviderService
impl Clone for AuthProviderService
Source§fn clone(&self) -> AuthProviderService
fn clone(&self) -> AuthProviderService
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more