com.huawei.openstack4j.model.senlin.builder.ClusterActionCreateBuilder Maven / Gradle / Ivy
/*******************************************************************************
* Copyright 2016 ContainX and OpenStack4j
*
* 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.huawei.openstack4j.model.senlin.builder;
import java.util.ArrayList;
import java.util.Map;
import com.huawei.openstack4j.common.Buildable;
import com.huawei.openstack4j.model.senlin.ClusterActionCreate;
/**
* This interface describes a builder for {@link ClusterActionCreate} objects
*
* @author lion
*/
public interface ClusterActionCreateBuilder extends Buildable.Builder {
/**
* Add one or more nodes, as a list, to a cluster
*
* @param addNodes the list of node
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder addNodes(Map> addNodes);
/**
* Delete one or more nodes, as a list, from a cluster
*
* @param delNodes the list of node
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder delNodes(Map> delNodes);
/**
* Enlarge the cluster by count number of nodes
*
* @param scaleOut count number of nodes
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder scaleOut(Map scaleOut);
/**
* Shrink the cluster by count number of nodes
*
* @param scaleIn count number of nodes
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder scaleIn(Map scaleIn);
/**
* Change the size of the cluster
*
* @param resize size of the cluster
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder resize(Map resize);
/**
* Check the health status of a cluster
*
* @param check check info
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder check(Map check);
/**
* Recover a cluster from its current unhealthy status
*
* @param recover its current unhealthy status
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder recover(Map recover);
/**
* Attach a policy to a cluster
*
* @param policyAttach parameters for the policy attachment
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder policyAttach(Map policyAttach);
/**
* Detach a policy from a cluster
*
* @param policyDetach parameters for the policy attachment
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder policyDetach(Map policyDetach);
/**
* Update the policy attachment
*
* @param policyUpdate property settings
* @return ClusterActionCreateBuilder
*/
ClusterActionCreateBuilder policyUpdate(Map policyUpdate);
}