#[async_trait::async_trait]
pub trait Autokey: std::fmt::Debug + Send + Sync {
async fn create_key_handle(
&self,
req: crate::model::CreateKeyHandleRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_key_handle(
&self,
req: crate::model::GetKeyHandleRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyHandle>>;
async fn list_key_handles(
&self,
req: crate::model::ListKeyHandlesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListKeyHandlesResponse>>;
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy>;
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy>;
}
#[async_trait::async_trait]
impl<T: super::Autokey> Autokey for T {
async fn create_key_handle(
&self,
req: crate::model::CreateKeyHandleRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_key_handle(self, req, options).await
}
async fn get_key_handle(
&self,
req: crate::model::GetKeyHandleRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyHandle>> {
T::get_key_handle(self, req, options).await
}
async fn list_key_handles(
&self,
req: crate::model::ListKeyHandlesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListKeyHandlesResponse>> {
T::list_key_handles(self, req, options).await
}
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
T::list_locations(self, req, options).await
}
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
T::get_location(self, req, options).await
}
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::set_iam_policy(self, req, options).await
}
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::get_iam_policy(self, req, options).await
}
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>
{
T::test_iam_permissions(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
T::get_polling_error_policy(self, options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
T::get_polling_backoff_policy(self, options)
}
}
#[async_trait::async_trait]
pub trait AutokeyAdmin: std::fmt::Debug + Send + Sync {
async fn update_autokey_config(
&self,
req: crate::model::UpdateAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AutokeyConfig>>;
async fn get_autokey_config(
&self,
req: crate::model::GetAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AutokeyConfig>>;
async fn show_effective_autokey_config(
&self,
req: crate::model::ShowEffectiveAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ShowEffectiveAutokeyConfigResponse>>;
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::AutokeyAdmin> AutokeyAdmin for T {
async fn update_autokey_config(
&self,
req: crate::model::UpdateAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AutokeyConfig>> {
T::update_autokey_config(self, req, options).await
}
async fn get_autokey_config(
&self,
req: crate::model::GetAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AutokeyConfig>> {
T::get_autokey_config(self, req, options).await
}
async fn show_effective_autokey_config(
&self,
req: crate::model::ShowEffectiveAutokeyConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ShowEffectiveAutokeyConfigResponse>> {
T::show_effective_autokey_config(self, req, options).await
}
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
T::list_locations(self, req, options).await
}
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
T::get_location(self, req, options).await
}
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::set_iam_policy(self, req, options).await
}
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::get_iam_policy(self, req, options).await
}
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>
{
T::test_iam_permissions(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait EkmService: std::fmt::Debug + Send + Sync {
async fn list_ekm_connections(
&self,
req: crate::model::ListEkmConnectionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListEkmConnectionsResponse>>;
async fn get_ekm_connection(
&self,
req: crate::model::GetEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>>;
async fn create_ekm_connection(
&self,
req: crate::model::CreateEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>>;
async fn update_ekm_connection(
&self,
req: crate::model::UpdateEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>>;
async fn get_ekm_config(
&self,
req: crate::model::GetEkmConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConfig>>;
async fn update_ekm_config(
&self,
req: crate::model::UpdateEkmConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConfig>>;
async fn verify_connectivity(
&self,
req: crate::model::VerifyConnectivityRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::VerifyConnectivityResponse>>;
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::EkmService> EkmService for T {
async fn list_ekm_connections(
&self,
req: crate::model::ListEkmConnectionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListEkmConnectionsResponse>> {
T::list_ekm_connections(self, req, options).await
}
async fn get_ekm_connection(
&self,
req: crate::model::GetEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>> {
T::get_ekm_connection(self, req, options).await
}
async fn create_ekm_connection(
&self,
req: crate::model::CreateEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>> {
T::create_ekm_connection(self, req, options).await
}
async fn update_ekm_connection(
&self,
req: crate::model::UpdateEkmConnectionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConnection>> {
T::update_ekm_connection(self, req, options).await
}
async fn get_ekm_config(
&self,
req: crate::model::GetEkmConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConfig>> {
T::get_ekm_config(self, req, options).await
}
async fn update_ekm_config(
&self,
req: crate::model::UpdateEkmConfigRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EkmConfig>> {
T::update_ekm_config(self, req, options).await
}
async fn verify_connectivity(
&self,
req: crate::model::VerifyConnectivityRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::VerifyConnectivityResponse>> {
T::verify_connectivity(self, req, options).await
}
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
T::list_locations(self, req, options).await
}
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
T::get_location(self, req, options).await
}
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::set_iam_policy(self, req, options).await
}
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::get_iam_policy(self, req, options).await
}
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>
{
T::test_iam_permissions(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait HsmManagement: std::fmt::Debug + Send + Sync {
async fn list_single_tenant_hsm_instances(
&self,
req: crate::model::ListSingleTenantHsmInstancesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListSingleTenantHsmInstancesResponse>>;
async fn get_single_tenant_hsm_instance(
&self,
req: crate::model::GetSingleTenantHsmInstanceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SingleTenantHsmInstance>>;
async fn create_single_tenant_hsm_instance(
&self,
req: crate::model::CreateSingleTenantHsmInstanceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn create_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::CreateSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn approve_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::ApproveSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ApproveSingleTenantHsmInstanceProposalResponse>>;
async fn execute_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::ExecuteSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::GetSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SingleTenantHsmInstanceProposal>>;
async fn list_single_tenant_hsm_instance_proposals(
&self,
req: crate::model::ListSingleTenantHsmInstanceProposalsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListSingleTenantHsmInstanceProposalsResponse>>;
async fn delete_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::DeleteSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy>;
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy>;
}
#[async_trait::async_trait]
impl<T: super::HsmManagement> HsmManagement for T {
async fn list_single_tenant_hsm_instances(
&self,
req: crate::model::ListSingleTenantHsmInstancesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListSingleTenantHsmInstancesResponse>> {
T::list_single_tenant_hsm_instances(self, req, options).await
}
async fn get_single_tenant_hsm_instance(
&self,
req: crate::model::GetSingleTenantHsmInstanceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SingleTenantHsmInstance>> {
T::get_single_tenant_hsm_instance(self, req, options).await
}
async fn create_single_tenant_hsm_instance(
&self,
req: crate::model::CreateSingleTenantHsmInstanceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_single_tenant_hsm_instance(self, req, options).await
}
async fn create_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::CreateSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_single_tenant_hsm_instance_proposal(self, req, options).await
}
async fn approve_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::ApproveSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ApproveSingleTenantHsmInstanceProposalResponse>>
{
T::approve_single_tenant_hsm_instance_proposal(self, req, options).await
}
async fn execute_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::ExecuteSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::execute_single_tenant_hsm_instance_proposal(self, req, options).await
}
async fn get_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::GetSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SingleTenantHsmInstanceProposal>> {
T::get_single_tenant_hsm_instance_proposal(self, req, options).await
}
async fn list_single_tenant_hsm_instance_proposals(
&self,
req: crate::model::ListSingleTenantHsmInstanceProposalsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListSingleTenantHsmInstanceProposalsResponse>>
{
T::list_single_tenant_hsm_instance_proposals(self, req, options).await
}
async fn delete_single_tenant_hsm_instance_proposal(
&self,
req: crate::model::DeleteSingleTenantHsmInstanceProposalRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_single_tenant_hsm_instance_proposal(self, req, options).await
}
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
T::list_locations(self, req, options).await
}
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
T::get_location(self, req, options).await
}
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::set_iam_policy(self, req, options).await
}
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::get_iam_policy(self, req, options).await
}
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>
{
T::test_iam_permissions(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
T::get_polling_error_policy(self, options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
T::get_polling_backoff_policy(self, options)
}
}
#[async_trait::async_trait]
pub trait KeyManagementService: std::fmt::Debug + Send + Sync {
async fn list_key_rings(
&self,
req: crate::model::ListKeyRingsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListKeyRingsResponse>>;
async fn list_crypto_keys(
&self,
req: crate::model::ListCryptoKeysRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCryptoKeysResponse>>;
async fn list_crypto_key_versions(
&self,
req: crate::model::ListCryptoKeyVersionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCryptoKeyVersionsResponse>>;
async fn list_import_jobs(
&self,
req: crate::model::ListImportJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListImportJobsResponse>>;
async fn list_retired_resources(
&self,
req: crate::model::ListRetiredResourcesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRetiredResourcesResponse>>;
async fn get_key_ring(
&self,
req: crate::model::GetKeyRingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyRing>>;
async fn get_crypto_key(
&self,
req: crate::model::GetCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>>;
async fn get_crypto_key_version(
&self,
req: crate::model::GetCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn get_public_key(
&self,
req: crate::model::GetPublicKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::PublicKey>>;
async fn get_import_job(
&self,
req: crate::model::GetImportJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ImportJob>>;
async fn get_retired_resource(
&self,
req: crate::model::GetRetiredResourceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RetiredResource>>;
async fn create_key_ring(
&self,
req: crate::model::CreateKeyRingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyRing>>;
async fn create_crypto_key(
&self,
req: crate::model::CreateCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>>;
async fn create_crypto_key_version(
&self,
req: crate::model::CreateCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn delete_crypto_key(
&self,
req: crate::model::DeleteCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_crypto_key_version(
&self,
req: crate::model::DeleteCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn import_crypto_key_version(
&self,
req: crate::model::ImportCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn create_import_job(
&self,
req: crate::model::CreateImportJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ImportJob>>;
async fn update_crypto_key(
&self,
req: crate::model::UpdateCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>>;
async fn update_crypto_key_version(
&self,
req: crate::model::UpdateCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn update_crypto_key_primary_version(
&self,
req: crate::model::UpdateCryptoKeyPrimaryVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>>;
async fn destroy_crypto_key_version(
&self,
req: crate::model::DestroyCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn restore_crypto_key_version(
&self,
req: crate::model::RestoreCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>>;
async fn encrypt(
&self,
req: crate::model::EncryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EncryptResponse>>;
async fn decrypt(
&self,
req: crate::model::DecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DecryptResponse>>;
async fn raw_encrypt(
&self,
req: crate::model::RawEncryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RawEncryptResponse>>;
async fn raw_decrypt(
&self,
req: crate::model::RawDecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RawDecryptResponse>>;
async fn asymmetric_sign(
&self,
req: crate::model::AsymmetricSignRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AsymmetricSignResponse>>;
async fn asymmetric_decrypt(
&self,
req: crate::model::AsymmetricDecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AsymmetricDecryptResponse>>;
async fn mac_sign(
&self,
req: crate::model::MacSignRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::MacSignResponse>>;
async fn mac_verify(
&self,
req: crate::model::MacVerifyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::MacVerifyResponse>>;
async fn decapsulate(
&self,
req: crate::model::DecapsulateRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DecapsulateResponse>>;
async fn generate_random_bytes(
&self,
req: crate::model::GenerateRandomBytesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GenerateRandomBytesResponse>>;
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>>;
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy>;
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy>;
}
#[async_trait::async_trait]
impl<T: super::KeyManagementService> KeyManagementService for T {
async fn list_key_rings(
&self,
req: crate::model::ListKeyRingsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListKeyRingsResponse>> {
T::list_key_rings(self, req, options).await
}
async fn list_crypto_keys(
&self,
req: crate::model::ListCryptoKeysRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCryptoKeysResponse>> {
T::list_crypto_keys(self, req, options).await
}
async fn list_crypto_key_versions(
&self,
req: crate::model::ListCryptoKeyVersionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCryptoKeyVersionsResponse>> {
T::list_crypto_key_versions(self, req, options).await
}
async fn list_import_jobs(
&self,
req: crate::model::ListImportJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListImportJobsResponse>> {
T::list_import_jobs(self, req, options).await
}
async fn list_retired_resources(
&self,
req: crate::model::ListRetiredResourcesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRetiredResourcesResponse>> {
T::list_retired_resources(self, req, options).await
}
async fn get_key_ring(
&self,
req: crate::model::GetKeyRingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyRing>> {
T::get_key_ring(self, req, options).await
}
async fn get_crypto_key(
&self,
req: crate::model::GetCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>> {
T::get_crypto_key(self, req, options).await
}
async fn get_crypto_key_version(
&self,
req: crate::model::GetCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::get_crypto_key_version(self, req, options).await
}
async fn get_public_key(
&self,
req: crate::model::GetPublicKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::PublicKey>> {
T::get_public_key(self, req, options).await
}
async fn get_import_job(
&self,
req: crate::model::GetImportJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ImportJob>> {
T::get_import_job(self, req, options).await
}
async fn get_retired_resource(
&self,
req: crate::model::GetRetiredResourceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RetiredResource>> {
T::get_retired_resource(self, req, options).await
}
async fn create_key_ring(
&self,
req: crate::model::CreateKeyRingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::KeyRing>> {
T::create_key_ring(self, req, options).await
}
async fn create_crypto_key(
&self,
req: crate::model::CreateCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>> {
T::create_crypto_key(self, req, options).await
}
async fn create_crypto_key_version(
&self,
req: crate::model::CreateCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::create_crypto_key_version(self, req, options).await
}
async fn delete_crypto_key(
&self,
req: crate::model::DeleteCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_crypto_key(self, req, options).await
}
async fn delete_crypto_key_version(
&self,
req: crate::model::DeleteCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_crypto_key_version(self, req, options).await
}
async fn import_crypto_key_version(
&self,
req: crate::model::ImportCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::import_crypto_key_version(self, req, options).await
}
async fn create_import_job(
&self,
req: crate::model::CreateImportJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ImportJob>> {
T::create_import_job(self, req, options).await
}
async fn update_crypto_key(
&self,
req: crate::model::UpdateCryptoKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>> {
T::update_crypto_key(self, req, options).await
}
async fn update_crypto_key_version(
&self,
req: crate::model::UpdateCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::update_crypto_key_version(self, req, options).await
}
async fn update_crypto_key_primary_version(
&self,
req: crate::model::UpdateCryptoKeyPrimaryVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKey>> {
T::update_crypto_key_primary_version(self, req, options).await
}
async fn destroy_crypto_key_version(
&self,
req: crate::model::DestroyCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::destroy_crypto_key_version(self, req, options).await
}
async fn restore_crypto_key_version(
&self,
req: crate::model::RestoreCryptoKeyVersionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CryptoKeyVersion>> {
T::restore_crypto_key_version(self, req, options).await
}
async fn encrypt(
&self,
req: crate::model::EncryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::EncryptResponse>> {
T::encrypt(self, req, options).await
}
async fn decrypt(
&self,
req: crate::model::DecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DecryptResponse>> {
T::decrypt(self, req, options).await
}
async fn raw_encrypt(
&self,
req: crate::model::RawEncryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RawEncryptResponse>> {
T::raw_encrypt(self, req, options).await
}
async fn raw_decrypt(
&self,
req: crate::model::RawDecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RawDecryptResponse>> {
T::raw_decrypt(self, req, options).await
}
async fn asymmetric_sign(
&self,
req: crate::model::AsymmetricSignRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AsymmetricSignResponse>> {
T::asymmetric_sign(self, req, options).await
}
async fn asymmetric_decrypt(
&self,
req: crate::model::AsymmetricDecryptRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AsymmetricDecryptResponse>> {
T::asymmetric_decrypt(self, req, options).await
}
async fn mac_sign(
&self,
req: crate::model::MacSignRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::MacSignResponse>> {
T::mac_sign(self, req, options).await
}
async fn mac_verify(
&self,
req: crate::model::MacVerifyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::MacVerifyResponse>> {
T::mac_verify(self, req, options).await
}
async fn decapsulate(
&self,
req: crate::model::DecapsulateRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DecapsulateResponse>> {
T::decapsulate(self, req, options).await
}
async fn generate_random_bytes(
&self,
req: crate::model::GenerateRandomBytesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GenerateRandomBytesResponse>> {
T::generate_random_bytes(self, req, options).await
}
async fn list_locations(
&self,
req: google_cloud_location::model::ListLocationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
T::list_locations(self, req, options).await
}
async fn get_location(
&self,
req: google_cloud_location::model::GetLocationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
T::get_location(self, req, options).await
}
async fn set_iam_policy(
&self,
req: google_cloud_iam_v1::model::SetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::set_iam_policy(self, req, options).await
}
async fn get_iam_policy(
&self,
req: google_cloud_iam_v1::model::GetIamPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::Policy>> {
T::get_iam_policy(self, req, options).await
}
async fn test_iam_permissions(
&self,
req: google_cloud_iam_v1::model::TestIamPermissionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_iam_v1::model::TestIamPermissionsResponse>>
{
T::test_iam_permissions(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
T::get_polling_error_policy(self, options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
T::get_polling_backoff_policy(self, options)
}
}