use std::borrow::Borrow;
use std::rc::Rc;
use futures;
use futures::Future;
use hyper;
use super::{configuration, put, query, Error};
pub struct NetworkGroupnetsSubnetsApiClient<C: hyper::client::connect::Connect> {
configuration: Rc<configuration::Configuration<C>>,
}
impl<C: hyper::client::connect::Connect> NetworkGroupnetsSubnetsApiClient<C> {
pub fn new(
configuration: Rc<configuration::Configuration<C>>,
) -> NetworkGroupnetsSubnetsApiClient<C> {
NetworkGroupnetsSubnetsApiClient {
configuration: configuration,
}
}
}
pub trait NetworkGroupnetsSubnetsApi {
fn create_pools_pool_rebalance_ip(
&self,
pools_pool_rebalance_ip: crate::models::Empty,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>>;
fn create_pools_pool_rule(
&self,
pools_pool_rule: crate::models::PoolsPoolRuleCreateParams,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
fn create_pools_pool_sc_resume_node(
&self,
pools_pool_sc_resume_node: crate::models::PoolsPoolScResumeNode,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>>;
fn create_pools_pool_sc_suspend_node(
&self,
pools_pool_sc_suspend_node: crate::models::PoolsPoolScResumeNode,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>>;
fn delete_pools_pool_rule(
&self,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
fn get_pools_pool_interfaces(
&self,
groupnet: &str,
subnet: &str,
pool: &str,
sort: &str,
resume: &str,
limit: i32,
dir: &str,
lnns: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolInterfaces, Error = Error>>;
fn get_pools_pool_rule(
&self,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolRules, Error = Error>>;
fn list_pools_pool_rules(
&self,
groupnet: &str,
subnet: &str,
pool: &str,
sort: &str,
limit: i32,
dir: &str,
resume: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolRulesExtended, Error = Error>>;
fn update_pools_pool_rule(
&self,
pools_pool_rule: crate::models::PoolsPoolRule,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = (), Error = Error>>;
}
impl<C: hyper::client::connect::Connect + 'static> NetworkGroupnetsSubnetsApi
for NetworkGroupnetsSubnetsApiClient<C>
{
fn create_pools_pool_rebalance_ip(
&self,
pools_pool_rebalance_ip: crate::models::Empty,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rebalance-ips" , self.configuration.base_path, Groupnet=groupnet, Subnet=subnet, Pool=pool);
query(
self.configuration.borrow(),
&uri_str,
&pools_pool_rebalance_ip,
hyper::Method::POST,
)
}
fn create_pools_pool_rule(
&self,
pools_pool_rule: crate::models::PoolsPoolRuleCreateParams,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
let uri_str = format!(
"{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rules",
self.configuration.base_path,
Groupnet = groupnet,
Subnet = subnet,
Pool = pool
);
query(
self.configuration.borrow(),
&uri_str,
&pools_pool_rule,
hyper::Method::POST,
)
}
fn create_pools_pool_sc_resume_node(
&self,
pools_pool_sc_resume_node: crate::models::PoolsPoolScResumeNode,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/sc-resume-nodes" , self.configuration.base_path, Groupnet=groupnet, Subnet=subnet, Pool=pool);
query(
self.configuration.borrow(),
&uri_str,
&pools_pool_sc_resume_node,
hyper::Method::POST,
)
}
fn create_pools_pool_sc_suspend_node(
&self,
pools_pool_sc_suspend_node: crate::models::PoolsPoolScResumeNode,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::Empty, Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/sc-suspend-nodes" , self.configuration.base_path, Groupnet=groupnet, Subnet=subnet, Pool=pool);
query(
self.configuration.borrow(),
&uri_str,
&pools_pool_sc_suspend_node,
hyper::Method::POST,
)
}
fn delete_pools_pool_rule(
&self,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rules/{PoolsPoolRuleId}" , self.configuration.base_path, PoolsPoolRuleId=pools_pool_rule_id, Groupnet=groupnet, Subnet=subnet, Pool=pool);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::DELETE,
)
}
fn get_pools_pool_interfaces(
&self,
groupnet: &str,
subnet: &str,
pool: &str,
sort: &str,
resume: &str,
limit: i32,
dir: &str,
lnns: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolInterfaces, Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("sort", &sort.to_string())
.append_pair("resume", &resume.to_string())
.append_pair("limit", &limit.to_string())
.append_pair("dir", &dir.to_string())
.append_pair("lnns", &lnns.to_string())
.finish();
let uri_str = format!(
"{}/platform/4/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/interfaces?{}",
self.configuration.base_path,
q,
Groupnet = groupnet,
Subnet = subnet,
Pool = pool
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn get_pools_pool_rule(
&self,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolRules, Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rules/{PoolsPoolRuleId}" , self.configuration.base_path, PoolsPoolRuleId=pools_pool_rule_id, Groupnet=groupnet, Subnet=subnet, Pool=pool);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn list_pools_pool_rules(
&self,
groupnet: &str,
subnet: &str,
pool: &str,
sort: &str,
limit: i32,
dir: &str,
resume: &str,
) -> Box<dyn Future<Item = crate::models::PoolsPoolRulesExtended, Error = Error>> {
let q = ::url::form_urlencoded::Serializer::new(String::new())
.append_pair("sort", &sort.to_string())
.append_pair("limit", &limit.to_string())
.append_pair("dir", &dir.to_string())
.append_pair("resume", &resume.to_string())
.finish();
let uri_str = format!(
"{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rules?{}",
self.configuration.base_path,
q,
Groupnet = groupnet,
Subnet = subnet,
Pool = pool
);
query(
self.configuration.borrow(),
&uri_str,
&"",
hyper::Method::GET,
)
}
fn update_pools_pool_rule(
&self,
pools_pool_rule: crate::models::PoolsPoolRule,
pools_pool_rule_id: &str,
groupnet: &str,
subnet: &str,
pool: &str,
) -> Box<dyn Future<Item = (), Error = Error>> {
let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{Pool}/rules/{PoolsPoolRuleId}" , self.configuration.base_path, PoolsPoolRuleId=pools_pool_rule_id, Groupnet=groupnet, Subnet=subnet, Pool=pool);
put(self.configuration.borrow(), &uri_str, &pools_pool_rule)
}
}