#[async_trait::async_trait]
pub trait AppHub: std::fmt::Debug + Send + Sync {
async fn lookup_service_project_attachment(
&self,
req: crate::model::LookupServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupServiceProjectAttachmentResponse>>;
async fn list_service_project_attachments(
&self,
req: crate::model::ListServiceProjectAttachmentsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListServiceProjectAttachmentsResponse>>;
async fn create_service_project_attachment(
&self,
req: crate::model::CreateServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_service_project_attachment(
&self,
req: crate::model::GetServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ServiceProjectAttachment>>;
async fn delete_service_project_attachment(
&self,
req: crate::model::DeleteServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn detach_service_project_attachment(
&self,
req: crate::model::DetachServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DetachServiceProjectAttachmentResponse>>;
async fn list_discovered_services(
&self,
req: crate::model::ListDiscoveredServicesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListDiscoveredServicesResponse>>;
async fn get_discovered_service(
&self,
req: crate::model::GetDiscoveredServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DiscoveredService>>;
async fn lookup_discovered_service(
&self,
req: crate::model::LookupDiscoveredServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupDiscoveredServiceResponse>>;
async fn list_services(
&self,
req: crate::model::ListServicesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListServicesResponse>>;
async fn create_service(
&self,
req: crate::model::CreateServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_service(
&self,
req: crate::model::GetServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Service>>;
async fn update_service(
&self,
req: crate::model::UpdateServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_service(
&self,
req: crate::model::DeleteServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn list_discovered_workloads(
&self,
req: crate::model::ListDiscoveredWorkloadsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListDiscoveredWorkloadsResponse>>;
async fn get_discovered_workload(
&self,
req: crate::model::GetDiscoveredWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DiscoveredWorkload>>;
async fn lookup_discovered_workload(
&self,
req: crate::model::LookupDiscoveredWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupDiscoveredWorkloadResponse>>;
async fn list_workloads(
&self,
req: crate::model::ListWorkloadsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListWorkloadsResponse>>;
async fn create_workload(
&self,
req: crate::model::CreateWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_workload(
&self,
req: crate::model::GetWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Workload>>;
async fn update_workload(
&self,
req: crate::model::UpdateWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_workload(
&self,
req: crate::model::DeleteWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn list_applications(
&self,
req: crate::model::ListApplicationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListApplicationsResponse>>;
async fn create_application(
&self,
req: crate::model::CreateApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_application(
&self,
req: crate::model::GetApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Application>>;
async fn update_application(
&self,
req: crate::model::UpdateApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_application(
&self,
req: crate::model::DeleteApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
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 list_operations(
&self,
req: google_cloud_longrunning::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_operation(
&self,
req: google_cloud_longrunning::model::DeleteOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn cancel_operation(
&self,
req: google_cloud_longrunning::model::CancelOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
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::AppHub> AppHub for T {
async fn lookup_service_project_attachment(
&self,
req: crate::model::LookupServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupServiceProjectAttachmentResponse>> {
T::lookup_service_project_attachment(self, req, options).await
}
async fn list_service_project_attachments(
&self,
req: crate::model::ListServiceProjectAttachmentsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListServiceProjectAttachmentsResponse>> {
T::list_service_project_attachments(self, req, options).await
}
async fn create_service_project_attachment(
&self,
req: crate::model::CreateServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_service_project_attachment(self, req, options).await
}
async fn get_service_project_attachment(
&self,
req: crate::model::GetServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ServiceProjectAttachment>> {
T::get_service_project_attachment(self, req, options).await
}
async fn delete_service_project_attachment(
&self,
req: crate::model::DeleteServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_service_project_attachment(self, req, options).await
}
async fn detach_service_project_attachment(
&self,
req: crate::model::DetachServiceProjectAttachmentRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DetachServiceProjectAttachmentResponse>> {
T::detach_service_project_attachment(self, req, options).await
}
async fn list_discovered_services(
&self,
req: crate::model::ListDiscoveredServicesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListDiscoveredServicesResponse>> {
T::list_discovered_services(self, req, options).await
}
async fn get_discovered_service(
&self,
req: crate::model::GetDiscoveredServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DiscoveredService>> {
T::get_discovered_service(self, req, options).await
}
async fn lookup_discovered_service(
&self,
req: crate::model::LookupDiscoveredServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupDiscoveredServiceResponse>> {
T::lookup_discovered_service(self, req, options).await
}
async fn list_services(
&self,
req: crate::model::ListServicesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListServicesResponse>> {
T::list_services(self, req, options).await
}
async fn create_service(
&self,
req: crate::model::CreateServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_service(self, req, options).await
}
async fn get_service(
&self,
req: crate::model::GetServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Service>> {
T::get_service(self, req, options).await
}
async fn update_service(
&self,
req: crate::model::UpdateServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_service(self, req, options).await
}
async fn delete_service(
&self,
req: crate::model::DeleteServiceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_service(self, req, options).await
}
async fn list_discovered_workloads(
&self,
req: crate::model::ListDiscoveredWorkloadsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListDiscoveredWorkloadsResponse>> {
T::list_discovered_workloads(self, req, options).await
}
async fn get_discovered_workload(
&self,
req: crate::model::GetDiscoveredWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DiscoveredWorkload>> {
T::get_discovered_workload(self, req, options).await
}
async fn lookup_discovered_workload(
&self,
req: crate::model::LookupDiscoveredWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::LookupDiscoveredWorkloadResponse>> {
T::lookup_discovered_workload(self, req, options).await
}
async fn list_workloads(
&self,
req: crate::model::ListWorkloadsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListWorkloadsResponse>> {
T::list_workloads(self, req, options).await
}
async fn create_workload(
&self,
req: crate::model::CreateWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_workload(self, req, options).await
}
async fn get_workload(
&self,
req: crate::model::GetWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Workload>> {
T::get_workload(self, req, options).await
}
async fn update_workload(
&self,
req: crate::model::UpdateWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_workload(self, req, options).await
}
async fn delete_workload(
&self,
req: crate::model::DeleteWorkloadRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_workload(self, req, options).await
}
async fn list_applications(
&self,
req: crate::model::ListApplicationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListApplicationsResponse>> {
T::list_applications(self, req, options).await
}
async fn create_application(
&self,
req: crate::model::CreateApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::create_application(self, req, options).await
}
async fn get_application(
&self,
req: crate::model::GetApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Application>> {
T::get_application(self, req, options).await
}
async fn update_application(
&self,
req: crate::model::UpdateApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::update_application(self, req, options).await
}
async fn delete_application(
&self,
req: crate::model::DeleteApplicationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::delete_application(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 list_operations(
&self,
req: google_cloud_longrunning::model::ListOperationsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>>
{
T::list_operations(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 fn delete_operation(
&self,
req: google_cloud_longrunning::model::DeleteOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_operation(self, req, options).await
}
async fn cancel_operation(
&self,
req: google_cloud_longrunning::model::CancelOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::cancel_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)
}
}