/**
* Copyright (C) 2009-2015 Dell, Inc.
* See annotations for authorship information
*
* ====================================================================
* 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 org.dasein.cloud.compute;
/**
* @author Cameron Stokes (http://github.com/clstokes)
* @since 2013-11-18
*/
public class AutoScalingGroupOptions {
private String name;
private String launchConfigurationId;
private Integer minServers;
private Integer maxServers;
private Integer cooldown;
private Integer desiredCapacity;
private Integer healthCheckGracePeriod;
private String healthCheckType;
private AutoScalingTag[] tags;
private String[] providerLoadBalancerIds;
private String[] providerSubnetIds;
private String[] providerDataCenterIds;
public AutoScalingGroupOptions(final String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getLaunchConfigurationId() {
return launchConfigurationId;
}
public Integer getMinServers() {
return minServers;
}
public Integer getMaxServers() {
return maxServers;
}
public Integer getCooldown() {
return cooldown;
}
public Integer getDesiredCapacity() {
return desiredCapacity;
}
public Integer getHealthCheckGracePeriod() {
return healthCheckGracePeriod;
}
public String getHealthCheckType() {
return healthCheckType;
}
public AutoScalingTag[] getTags() {
return tags;
}
public String[] getProviderLoadBalancerIds() {
return providerLoadBalancerIds;
}
public String[] getProviderSubnetIds() {
return providerSubnetIds;
}
public String[] getProviderDataCenterIds() {
return providerDataCenterIds;
}
public AutoScalingGroupOptions withLaunchConfigurationId(final String launchConfigurationId) {
this.launchConfigurationId = launchConfigurationId;
return this;
}
public AutoScalingGroupOptions withMinServers(final Integer minServers) {
this.minServers = minServers;
return this;
}
public AutoScalingGroupOptions withMaxServers(final Integer maxServers) {
this.maxServers = maxServers;
return this;
}
public AutoScalingGroupOptions withCooldown(final Integer cooldown) {
this.cooldown = cooldown;
return this;
}
public AutoScalingGroupOptions withDesiredCapacity(final Integer desiredCapacity) {
this.desiredCapacity = desiredCapacity;
return this;
}
public AutoScalingGroupOptions withHealthCheckGracePeriod(final Integer healthCheckGracePeriod) {
this.healthCheckGracePeriod = healthCheckGracePeriod;
return this;
}
public AutoScalingGroupOptions withHealthCheckType(final String healthCheckType) {
this.healthCheckType = healthCheckType;
return this;
}
public AutoScalingGroupOptions withTags(final AutoScalingTag[] tags) {
this.tags = tags;
return this;
}
public AutoScalingGroupOptions withProviderLoadBalancerIds(final String[] providerLoadBalancerIds) {
this.providerLoadBalancerIds = providerLoadBalancerIds;
return this;
}
public AutoScalingGroupOptions withProviderSubnetIds(final String[] providerSubnetIds) {
this.providerSubnetIds = providerSubnetIds;
return this;
}
public AutoScalingGroupOptions withProviderDataCenterIds(final String[] providerDataCenterIds) {
this.providerDataCenterIds = providerDataCenterIds;
return this;
}
}