#[async_trait::async_trait]
pub trait CloudQuotas: std::fmt::Debug + Send + Sync {
async fn list_quota_infos(
&self,
req: crate::model::ListQuotaInfosRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaInfosResponse>>;
async fn get_quota_info(
&self,
req: crate::model::GetQuotaInfoRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaInfo>>;
async fn list_quota_preferences(
&self,
req: crate::model::ListQuotaPreferencesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaPreferencesResponse>>;
async fn get_quota_preference(
&self,
req: crate::model::GetQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>>;
async fn create_quota_preference(
&self,
req: crate::model::CreateQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>>;
async fn update_quota_preference(
&self,
req: crate::model::UpdateQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>>;
}
#[async_trait::async_trait]
impl<T: super::CloudQuotas> CloudQuotas for T {
async fn list_quota_infos(
&self,
req: crate::model::ListQuotaInfosRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaInfosResponse>> {
T::list_quota_infos(self, req, options).await
}
async fn get_quota_info(
&self,
req: crate::model::GetQuotaInfoRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaInfo>> {
T::get_quota_info(self, req, options).await
}
async fn list_quota_preferences(
&self,
req: crate::model::ListQuotaPreferencesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaPreferencesResponse>> {
T::list_quota_preferences(self, req, options).await
}
async fn get_quota_preference(
&self,
req: crate::model::GetQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>> {
T::get_quota_preference(self, req, options).await
}
async fn create_quota_preference(
&self,
req: crate::model::CreateQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>> {
T::create_quota_preference(self, req, options).await
}
async fn update_quota_preference(
&self,
req: crate::model::UpdateQuotaPreferenceRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QuotaPreference>> {
T::update_quota_preference(self, req, options).await
}
}