Package com.vmware.bdd.cli.rest

Source Code of com.vmware.bdd.cli.rest.NetworkRestClient

/******************************************************************************
*   Copyright (c) 2012-2014 VMware, Inc. All Rights Reserved.
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
******************************************************************************/
package com.vmware.bdd.cli.rest;

/**
* This class is the realization of Network command.
*/
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;

import com.vmware.bdd.apitypes.NetworkAdd;
import com.vmware.bdd.apitypes.NetworkRead;
import com.vmware.bdd.cli.commands.Constants;
import com.vmware.bdd.utils.CommonUtil;

@Component
public class NetworkRestClient {

   @Autowired
   private RestClient restClient;

   /**
    * Add function of network command.
    *
    * @param networkAdd
    */
   public void add(NetworkAdd networkAdd) {
      final String path = Constants.REST_PATH_NETWORKS;
      final HttpMethod httpverb = HttpMethod.POST;
      restClient.createObject(networkAdd, path, httpverb);
   }

   /**
    * Modify function of network command.
    *
    * @param networkAdd
    */
   public void increaseIPs(NetworkAdd networkAdd) {
      String networkName = CommonUtil.encode(networkAdd.getName());
      final String path = Constants.REST_PATH_NETWORK + "/" + networkName;
      final HttpMethod httpverb = HttpMethod.PUT;
      restClient.update(networkAdd, path, httpverb);
   }

   /**
    * Delete function of network command.
    *
    * @param name
    */
   public void delete(String name) {
      name = CommonUtil.encode(name);
      final String path = Constants.REST_PATH_NETWORK;
      final HttpMethod httpverb = HttpMethod.DELETE;
      restClient.deleteObject(name, path, httpverb);
   }
   /**
    * Find all network information.
    * @return  network list
    */
   public NetworkRead[] getAll(boolean detail) {
      final HttpMethod httpverb = HttpMethod.GET;
      String path = Constants.REST_PATH_NETWORKS;

      return restClient.getAllObjects(NetworkRead[].class, path, httpverb, detail);
   }
   /**
    * Find a network information by name.
    * @param network's name
    * @return a network information
    */
   public NetworkRead get(String name, boolean detail) {
      name = CommonUtil.encode(name);
      final String path = Constants.REST_PATH_NETWORK;
      final HttpMethod httpverb = HttpMethod.GET;

      return restClient.getObject(name, NetworkRead.class, path, httpverb, detail);
   }
}
TOP

Related Classes of com.vmware.bdd.cli.rest.NetworkRestClient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.