use std::borrow::Borrow;
use std::rc::Rc;
use futures;
use futures::Future;
use hyper;
use super::{configuration, put, query, Error};
pub struct QuotaQuotasApiClient<C: hyper::client::connect::Connect> {
configuration: Rc<configuration::Configuration<C>>,
}
impl<C: hyper::client::connect::Connect> QuotaQuotasApiClient<C> {
pub fn new(configuration: Rc<configuration::Configuration<C>>) -> QuotaQuotasApiClient<C> {
QuotaQuotasApiClient {
configuration: configuration,
}
}
}
pub trait QuotaQuotasApi {
fn create_quota_notification(
&self,
quota_notification: crate::models::QuotaNotificationCreateParams,
qid: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
fn delete_quota_notification(
&self,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn delete_quota_notifications(&self, qid: &str) -> Box<dyn Future<Item = (), Error = Error>>;
fn get_quota_notification(
&self,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = crate::models::QuotaNotifications, Error = Error>>;
fn list_quota_notifications(
&self,
qid: &str,
) -> Box<dyn Future<Item = crate::models::QuotaNotificationsExtended, Error = Error>>;
fn update_quota_notification(
&self,
quota_notification: crate::models::QuotaNotification,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn update_quota_notifications(
&self,
quota_notifications: crate::models::Empty,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
}
impl<C: hyper::client::connect::Connect + 'static> QuotaQuotasApi for QuotaQuotasApiClient<C> {
fn create_quota_notification(
&self,
quota_notification: crate::models::QuotaNotificationCreateParams,
qid: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications",
self.configuration.base_path,
Qid = qid
);
query(
self.configuration.borrow(),
&uri_str,
"a_notification,
hyper::Method::POST,
)
}
fn delete_quota_notification(
&self,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications/{QuotaNotificationId}",
self.configuration.base_path,
QuotaNotificationId = quota_notification_id,
Qid = qid
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn delete_quota_notifications(&self, qid: &str) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications",
self.configuration.base_path,
Qid = qid
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn get_quota_notification(
&self,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = crate::models::QuotaNotifications, Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications/{QuotaNotificationId}",
self.configuration.base_path,
QuotaNotificationId = quota_notification_id,
Qid = qid
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn list_quota_notifications(
&self,
qid: &str,
) -> Box<dyn Future<Item = crate::models::QuotaNotificationsExtended, Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications",
self.configuration.base_path,
Qid = qid
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn update_quota_notification(
&self,
quota_notification: crate::models::QuotaNotification,
quota_notification_id: &str,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications/{QuotaNotificationId}",
self.configuration.base_path,
QuotaNotificationId = quota_notification_id,
Qid = qid
);
put(self.configuration.borrow(), &uri_str, "a_notification)
}
fn update_quota_notifications(
&self,
quota_notifications: crate::models::Empty,
qid: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/1/quota/quotas/{Qid}/notifications",
self.configuration.base_path,
Qid = qid
);
put(self.configuration.borrow(), &uri_str, "a_notifications)
}
}