#[async_trait::async_trait]
pub trait Folders: std::fmt::Debug + Send + Sync {
async fn get_folder(
&self,
req: crate::model::GetFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Folder>>;
async fn list_folders(
&self,
req: crate::model::ListFoldersRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListFoldersResponse>>;
async fn search_folders(
&self,
req: crate::model::SearchFoldersRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchFoldersResponse>>;
async fn create_folder(
&self,
req: crate::model::CreateFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn update_folder(
&self,
req: crate::model::UpdateFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn move_folder(
&self,
req: crate::model::MoveFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_folder(
&self,
req: crate::model::DeleteFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn undelete_folder(
&self,
req: crate::model::UndeleteFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
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 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 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::Folders> Folders for T {
async fn get_folder(
&self,
req: crate::model::GetFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Folder>> {
T::get_folder(self, req, options).await
}
async fn list_folders(
&self,
req: crate::model::ListFoldersRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListFoldersResponse>> {
T::list_folders(self, req, options).await
}
async fn search_folders(
&self,
req: crate::model::SearchFoldersRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchFoldersResponse>> {
T::search_folders(self, req, options).await
}
async fn create_folder(
&self,
req: crate::model::CreateFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_folder(self, req, options).await
}
async fn update_folder(
&self,
req: crate::model::UpdateFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_folder(self, req, options).await
}
async fn move_folder(
&self,
req: crate::model::MoveFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::move_folder(self, req, options).await
}
async fn delete_folder(
&self,
req: crate::model::DeleteFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_folder(self, req, options).await
}
async fn undelete_folder(
&self,
req: crate::model::UndeleteFolderRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::undelete_folder(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 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 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 Organizations: std::fmt::Debug + Send + Sync {
async fn get_organization(
&self,
req: crate::model::GetOrganizationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Organization>>;
async fn search_organizations(
&self,
req: crate::model::SearchOrganizationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchOrganizationsResponse>>;
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 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 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::Organizations> Organizations for T {
async fn get_organization(
&self,
req: crate::model::GetOrganizationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Organization>> {
T::get_organization(self, req, options).await
}
async fn search_organizations(
&self,
req: crate::model::SearchOrganizationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchOrganizationsResponse>> {
T::search_organizations(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 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 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 Projects: std::fmt::Debug + Send + Sync {
async fn get_project(
&self,
req: crate::model::GetProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Project>>;
async fn list_projects(
&self,
req: crate::model::ListProjectsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListProjectsResponse>>;
async fn search_projects(
&self,
req: crate::model::SearchProjectsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchProjectsResponse>>;
async fn create_project(
&self,
req: crate::model::CreateProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn update_project(
&self,
req: crate::model::UpdateProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn move_project(
&self,
req: crate::model::MoveProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_project(
&self,
req: crate::model::DeleteProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn undelete_project(
&self,
req: crate::model::UndeleteProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
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 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 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::Projects> Projects for T {
async fn get_project(
&self,
req: crate::model::GetProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Project>> {
T::get_project(self, req, options).await
}
async fn list_projects(
&self,
req: crate::model::ListProjectsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListProjectsResponse>> {
T::list_projects(self, req, options).await
}
async fn search_projects(
&self,
req: crate::model::SearchProjectsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchProjectsResponse>> {
T::search_projects(self, req, options).await
}
async fn create_project(
&self,
req: crate::model::CreateProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_project(self, req, options).await
}
async fn update_project(
&self,
req: crate::model::UpdateProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_project(self, req, options).await
}
async fn move_project(
&self,
req: crate::model::MoveProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::move_project(self, req, options).await
}
async fn delete_project(
&self,
req: crate::model::DeleteProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_project(self, req, options).await
}
async fn undelete_project(
&self,
req: crate::model::UndeleteProjectRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::undelete_project(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 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 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 TagBindings: std::fmt::Debug + Send + Sync {
async fn list_tag_bindings(
&self,
req: crate::model::ListTagBindingsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagBindingsResponse>>;
async fn create_tag_binding(
&self,
req: crate::model::CreateTagBindingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_tag_binding(
&self,
req: crate::model::DeleteTagBindingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn list_effective_tags(
&self,
req: crate::model::ListEffectiveTagsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListEffectiveTagsResponse>>;
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::TagBindings> TagBindings for T {
async fn list_tag_bindings(
&self,
req: crate::model::ListTagBindingsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagBindingsResponse>> {
T::list_tag_bindings(self, req, options).await
}
async fn create_tag_binding(
&self,
req: crate::model::CreateTagBindingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_tag_binding(self, req, options).await
}
async fn delete_tag_binding(
&self,
req: crate::model::DeleteTagBindingRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_tag_binding(self, req, options).await
}
async fn list_effective_tags(
&self,
req: crate::model::ListEffectiveTagsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListEffectiveTagsResponse>> {
T::list_effective_tags(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 TagHolds: std::fmt::Debug + Send + Sync {
async fn create_tag_hold(
&self,
req: crate::model::CreateTagHoldRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_tag_hold(
&self,
req: crate::model::DeleteTagHoldRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn list_tag_holds(
&self,
req: crate::model::ListTagHoldsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagHoldsResponse>>;
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::TagHolds> TagHolds for T {
async fn create_tag_hold(
&self,
req: crate::model::CreateTagHoldRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_tag_hold(self, req, options).await
}
async fn delete_tag_hold(
&self,
req: crate::model::DeleteTagHoldRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_tag_hold(self, req, options).await
}
async fn list_tag_holds(
&self,
req: crate::model::ListTagHoldsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagHoldsResponse>> {
T::list_tag_holds(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 TagKeys: std::fmt::Debug + Send + Sync {
async fn list_tag_keys(
&self,
req: crate::model::ListTagKeysRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagKeysResponse>>;
async fn get_tag_key(
&self,
req: crate::model::GetTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagKey>>;
async fn get_namespaced_tag_key(
&self,
req: crate::model::GetNamespacedTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagKey>>;
async fn create_tag_key(
&self,
req: crate::model::CreateTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn update_tag_key(
&self,
req: crate::model::UpdateTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_tag_key(
&self,
req: crate::model::DeleteTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
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 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 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::TagKeys> TagKeys for T {
async fn list_tag_keys(
&self,
req: crate::model::ListTagKeysRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagKeysResponse>> {
T::list_tag_keys(self, req, options).await
}
async fn get_tag_key(
&self,
req: crate::model::GetTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagKey>> {
T::get_tag_key(self, req, options).await
}
async fn get_namespaced_tag_key(
&self,
req: crate::model::GetNamespacedTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagKey>> {
T::get_namespaced_tag_key(self, req, options).await
}
async fn create_tag_key(
&self,
req: crate::model::CreateTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_tag_key(self, req, options).await
}
async fn update_tag_key(
&self,
req: crate::model::UpdateTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_tag_key(self, req, options).await
}
async fn delete_tag_key(
&self,
req: crate::model::DeleteTagKeyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_tag_key(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 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 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 TagValues: std::fmt::Debug + Send + Sync {
async fn list_tag_values(
&self,
req: crate::model::ListTagValuesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagValuesResponse>>;
async fn get_tag_value(
&self,
req: crate::model::GetTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagValue>>;
async fn get_namespaced_tag_value(
&self,
req: crate::model::GetNamespacedTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagValue>>;
async fn create_tag_value(
&self,
req: crate::model::CreateTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn update_tag_value(
&self,
req: crate::model::UpdateTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_tag_value(
&self,
req: crate::model::DeleteTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
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 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 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::TagValues> TagValues for T {
async fn list_tag_values(
&self,
req: crate::model::ListTagValuesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTagValuesResponse>> {
T::list_tag_values(self, req, options).await
}
async fn get_tag_value(
&self,
req: crate::model::GetTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagValue>> {
T::get_tag_value(self, req, options).await
}
async fn get_namespaced_tag_value(
&self,
req: crate::model::GetNamespacedTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TagValue>> {
T::get_namespaced_tag_value(self, req, options).await
}
async fn create_tag_value(
&self,
req: crate::model::CreateTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_tag_value(self, req, options).await
}
async fn update_tag_value(
&self,
req: crate::model::UpdateTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_tag_value(self, req, options).await
}
async fn delete_tag_value(
&self,
req: crate::model::DeleteTagValueRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_tag_value(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 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 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)
}
}