use std::borrow::Borrow;
use std::rc::Rc;
use futures;
use futures::Future;
use hyper;
use super::{configuration, put, query, Error};
pub struct FilepoolApiClient<C: hyper::client::connect::Connect> {
configuration: Rc<configuration::Configuration<C>>,
}
impl<C: hyper::client::connect::Connect> FilepoolApiClient<C> {
pub fn new(configuration: Rc<configuration::Configuration<C>>) -> FilepoolApiClient<C> {
FilepoolApiClient {
configuration: configuration,
}
}
}
pub trait FilepoolApi {
fn create_filepool_policy(
&self,
filepool_policy: crate::models::FilepoolPolicyCreateParams,
) -> Box<dyn Future<Item = crate::models::CreateFilepoolPolicyResponse, Error = Error>>;
fn delete_filepool_policy(
&self,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn get_filepool_default_policy(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolDefaultPolicy, Error = Error>>;
fn get_filepool_policy(
&self,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = crate::models::FilepoolPolicies, Error = Error>>;
fn get_filepool_template(
&self,
filepool_template_id: &str,
) -> Box<dyn Future<Item = crate::models::FilepoolTemplates, Error = Error>>;
fn get_filepool_templates(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolTemplates, Error = Error>>;
fn list_filepool_policies(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolPoliciesExtended, Error = Error>>;
fn update_filepool_default_policy(
&self,
filepool_default_policy: crate::models::FilepoolDefaultPolicyExtended,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn update_filepool_policy(
&self,
filepool_policy: crate::models::FilepoolPolicy,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
}
impl<C: hyper::client::connect::Connect + 'static> FilepoolApi for FilepoolApiClient<C> {
fn create_filepool_policy(
&self,
filepool_policy: crate::models::FilepoolPolicyCreateParams,
) -> Box<dyn Future<Item = crate::models::CreateFilepoolPolicyResponse, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/policies",
self.configuration.base_path
);
query(
self.configuration.borrow(),
&uri_str,
&filepool_policy,
hyper::Method::GET,
)
}
fn delete_filepool_policy(
&self,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/policies/{FilepoolPolicyId}",
self.configuration.base_path,
FilepoolPolicyId = filepool_policy_id
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn get_filepool_default_policy(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolDefaultPolicy, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/default-policy",
self.configuration.base_path
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn get_filepool_policy(
&self,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = crate::models::FilepoolPolicies, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/policies/{FilepoolPolicyId}",
self.configuration.base_path,
FilepoolPolicyId = filepool_policy_id
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn get_filepool_template(
&self,
filepool_template_id: &str,
) -> Box<dyn Future<Item = crate::models::FilepoolTemplates, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/templates/{FilepoolTemplateId}",
self.configuration.base_path,
FilepoolTemplateId = filepool_template_id
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn get_filepool_templates(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolTemplates, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/templates",
self.configuration.base_path
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn list_filepool_policies(
&self,
) -> Box<dyn Future<Item = crate::models::FilepoolPoliciesExtended, Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/policies",
self.configuration.base_path
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn update_filepool_default_policy(
&self,
filepool_default_policy: crate::models::FilepoolDefaultPolicyExtended,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/default-policy",
self.configuration.base_path
);
put(
self.configuration.borrow(),
&uri_str,
&filepool_default_policy,
)
}
fn update_filepool_policy(
&self,
filepool_policy: crate::models::FilepoolPolicy,
filepool_policy_id: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!(
"{}/platform/4/filepool/policies/{FilepoolPolicyId}",
self.configuration.base_path,
FilepoolPolicyId = filepool_policy_id
);
put(self.configuration.borrow(), &uri_str, &filepool_policy)
}
}