isilon 5.0.1

Isilon rest api bindings
Documentation
/*
 * Isilon SDK
 *
 * Isilon SDK - Language bindings for the OneFS API
 *
 * OpenAPI spec version: 5
 * Contact: sdk@isilon.com
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */

use std::borrow::Borrow;
use std::rc::Rc;

use futures;
use futures::Future;
use hyper;

use super::{configuration, put, query, Error};

pub struct NetworkGroupnetsApiClient<C: hyper::client::connect::Connect> {
    configuration: Rc<configuration::Configuration<C>>,
}

impl<C: hyper::client::connect::Connect> NetworkGroupnetsApiClient<C> {
    pub fn new(configuration: Rc<configuration::Configuration<C>>) -> NetworkGroupnetsApiClient<C> {
        NetworkGroupnetsApiClient {
            configuration: configuration,
        }
    }
}

pub trait NetworkGroupnetsApi {
    fn create_groupnet_subnet(
        &self,
        groupnet_subnet: crate::models::GroupnetSubnetCreateParams,
        groupnet: &str,
    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
    fn create_subnets_subnet_pool(
        &self,
        subnets_subnet_pool: crate::models::SubnetsSubnetPoolCreateParams,
        groupnet: &str,
        subnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>>;
    fn delete_groupnet_subnet(
        &self,
        groupnet_subnet_id: &str,
        groupnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>>;
    fn delete_subnets_subnet_pool(
        &self,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
    ) -> Box<dyn Future<Item = (), Error = Error>>;
    fn get_groupnet_subnet(
        &self,
        groupnet_subnet_id: &str,
        groupnet: &str,
    ) -> Box<dyn Future<Item = crate::models::GroupnetSubnets, Error = Error>>;
    fn get_subnets_subnet_pool(
        &self,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
    ) -> Box<dyn Future<Item = crate::models::SubnetsSubnetPools, Error = Error>>;
    fn list_groupnet_subnets(
        &self,
        groupnet: &str,
        sort: &str,
        limit: i32,
        dir: &str,
        resume: &str,
    ) -> Box<dyn Future<Item = crate::models::GroupnetSubnetsExtended, Error = Error>>;
    fn list_subnets_subnet_pools(
        &self,
        groupnet: &str,
        subnet: &str,
        sort: &str,
        resume: &str,
        access_zone: &str,
        alloc_method: &str,
        limit: i32,
        dir: &str,
    ) -> Box<dyn Future<Item = crate::models::SubnetsSubnetPoolsExtended, Error = Error>>;
    fn update_groupnet_subnet(
        &self,
        groupnet_subnet: crate::models::GroupnetSubnet,
        groupnet_subnet_id: &str,
        groupnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>>;
    fn update_subnets_subnet_pool(
        &self,
        subnets_subnet_pool: crate::models::SubnetsSubnetPool,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>>;
}

impl<C: hyper::client::connect::Connect + 'static> NetworkGroupnetsApi
    for NetworkGroupnetsApiClient<C>
{
    fn create_groupnet_subnet(
        &self,
        groupnet_subnet: crate::models::GroupnetSubnetCreateParams,
        groupnet: &str,
    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
        let uri_str = format!(
            "{}/platform/4/network/groupnets/{Groupnet}/subnets",
            self.configuration.base_path,
            Groupnet = groupnet
        );

        query(
            self.configuration.borrow(),
            &uri_str,
            &groupnet_subnet,
            hyper::Method::POST,
        )
    }

    fn create_subnets_subnet_pool(
        &self,
        subnets_subnet_pool: crate::models::SubnetsSubnetPoolCreateParams,
        groupnet: &str,
        subnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateResponse, Error = Error>> {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("force", &force.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools?{}",
            self.configuration.base_path,
            q,
            Groupnet = groupnet,
            Subnet = subnet
        );

        query(
            self.configuration.borrow(),
            &uri_str,
            &subnets_subnet_pool,
            hyper::Method::POST,
        )
    }

    fn delete_groupnet_subnet(
        &self,
        groupnet_subnet_id: &str,
        groupnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>> {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("force", &force.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/4/network/groupnets/{Groupnet}/subnets/{GroupnetSubnetId}?{}",
            self.configuration.base_path,
            q,
            GroupnetSubnetId = groupnet_subnet_id,
            Groupnet = groupnet
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::DELETE,
        )
    }

    fn delete_subnets_subnet_pool(
        &self,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
    ) -> Box<dyn Future<Item = (), Error = Error>> {
        let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{SubnetsSubnetPoolId}" , self.configuration.base_path, SubnetsSubnetPoolId=subnets_subnet_pool_id, Groupnet=groupnet, Subnet=subnet);
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::DELETE,
        )
    }

    fn get_groupnet_subnet(
        &self,
        groupnet_subnet_id: &str,
        groupnet: &str,
    ) -> Box<dyn Future<Item = crate::models::GroupnetSubnets, Error = Error>> {
        let uri_str = format!(
            "{}/platform/4/network/groupnets/{Groupnet}/subnets/{GroupnetSubnetId}",
            self.configuration.base_path,
            GroupnetSubnetId = groupnet_subnet_id,
            Groupnet = groupnet
        );

        //let parsed: Result<crate::models::GroupnetSubnets, _> = serde_json::from_slice(&body);
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }

    fn get_subnets_subnet_pool(
        &self,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
    ) -> Box<dyn Future<Item = crate::models::SubnetsSubnetPools, Error = Error>> {
        let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{SubnetsSubnetPoolId}" , self.configuration.base_path, SubnetsSubnetPoolId=subnets_subnet_pool_id, Groupnet=groupnet, Subnet=subnet);

        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }

    fn list_groupnet_subnets(
        &self,
        groupnet: &str,
        sort: &str,
        limit: i32,
        dir: &str,
        resume: &str,
    ) -> Box<dyn Future<Item = crate::models::GroupnetSubnetsExtended, 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/4/network/groupnets/{Groupnet}/subnets?{}",
            self.configuration.base_path,
            q,
            Groupnet = groupnet
        );

        //let parsed: Result<crate::models::GroupnetSubnetsExtended, _> =
        //   serde_json::from_slice(&body);
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }

    fn list_subnets_subnet_pools(
        &self,
        groupnet: &str,
        subnet: &str,
        sort: &str,
        resume: &str,
        access_zone: &str,
        alloc_method: &str,
        limit: i32,
        dir: &str,
    ) -> Box<dyn Future<Item = crate::models::SubnetsSubnetPoolsExtended, 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("access_zone", &access_zone.to_string())
            .append_pair("alloc_method", &alloc_method.to_string())
            .append_pair("limit", &limit.to_string())
            .append_pair("dir", &dir.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools?{}",
            self.configuration.base_path,
            q,
            Groupnet = groupnet,
            Subnet = subnet
        );

        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }

    fn update_groupnet_subnet(
        &self,
        groupnet_subnet: crate::models::GroupnetSubnet,
        groupnet_subnet_id: &str,
        groupnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>> {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("force", &force.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/4/network/groupnets/{Groupnet}/subnets/{GroupnetSubnetId}?{}",
            self.configuration.base_path,
            q,
            GroupnetSubnetId = groupnet_subnet_id,
            Groupnet = groupnet
        );

        put(self.configuration.borrow(), &uri_str, &groupnet_subnet)
    }

    fn update_subnets_subnet_pool(
        &self,
        subnets_subnet_pool: crate::models::SubnetsSubnetPool,
        subnets_subnet_pool_id: &str,
        groupnet: &str,
        subnet: &str,
        force: bool,
    ) -> Box<dyn Future<Item = (), Error = Error>> {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("force", &force.to_string())
            .finish();
        let uri_str = format!("{}/platform/3/network/groupnets/{Groupnet}/subnets/{Subnet}/pools/{SubnetsSubnetPoolId}?{}", self.configuration.base_path, q, SubnetsSubnetPoolId=subnets_subnet_pool_id, Groupnet=groupnet, Subnet=subnet);

        put(self.configuration.borrow(), &uri_str, &subnets_subnet_pool)
    }
}