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, query, Error};

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

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

pub trait HardeningApi {
    fn create_hardening_apply_item(
        &self,
        hardening_apply_item: crate::models::HardeningApplyItem,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningApplyItemResponse, Error = Error>>;
    fn create_hardening_resolve_item(
        &self,
        hardening_resolve_item: crate::models::HardeningResolveItem,
        accept: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningResolveItemResponse, Error = Error>>;
    fn create_hardening_revert_item(
        &self,
        hardening_revert_item: crate::models::Empty,
        force: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningRevertItemResponse, Error = Error>>;
    fn get_hardening_state(
        &self,
    ) -> Box<dyn Future<Item = crate::models::HardeningState, Error = Error>>;
    fn get_hardening_status(
        &self,
    ) -> Box<dyn Future<Item = crate::models::HardeningStatus, Error = Error>>;
}

impl<C: hyper::client::connect::Connect + 'static> HardeningApi for HardeningApiClient<C> {
    fn create_hardening_apply_item(
        &self,
        hardening_apply_item: crate::models::HardeningApplyItem,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningApplyItemResponse, Error = Error>>
    {
        let uri_str = format!(
            "{}/platform/3/hardening/apply",
            self.configuration.base_path
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &hardening_apply_item,
            hyper::Method::POST,
        )
    }

    fn create_hardening_resolve_item(
        &self,
        hardening_resolve_item: crate::models::HardeningResolveItem,
        accept: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningResolveItemResponse, Error = Error>>
    {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("accept", &accept.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/3/hardening/resolve?{}",
            self.configuration.base_path, q
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &hardening_resolve_item,
            hyper::Method::POST,
        )
    }

    fn create_hardening_revert_item(
        &self,
        hardening_revert_item: crate::models::Empty,
        force: bool,
    ) -> Box<dyn Future<Item = crate::models::CreateHardeningRevertItemResponse, Error = Error>>
    {
        let q = ::url::form_urlencoded::Serializer::new(String::new())
            .append_pair("force", &force.to_string())
            .finish();
        let uri_str = format!(
            "{}/platform/3/hardening/revert?{}",
            self.configuration.base_path, q
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &hardening_revert_item,
            hyper::Method::POST,
        )
    }

    fn get_hardening_state(
        &self,
    ) -> Box<dyn Future<Item = crate::models::HardeningState, Error = Error>> {
        let uri_str = format!(
            "{}/platform/3/hardening/state",
            self.configuration.base_path
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }

    fn get_hardening_status(
        &self,
    ) -> Box<dyn Future<Item = crate::models::HardeningStatus, Error = Error>> {
        let uri_str = format!(
            "{}/platform/3/hardening/status",
            self.configuration.base_path
        );
        query(
            self.configuration.borrow(),
            &uri_str,
            &"",
            hyper::Method::GET,
        )
    }
}