
shiver.me.timbers.aws.autoscaling.AutoScalingGroup Maven / Gradle / Ivy
package shiver.me.timbers.aws.autoscaling;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import shiver.me.timbers.aws.Property;
/**
* AutoScalingGroup
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"AutoScalingGroupName",
"AvailabilityZones",
"Cooldown",
"DesiredCapacity",
"HealthCheckGracePeriod",
"HealthCheckType",
"InstanceId",
"LaunchConfigurationName",
"LaunchTemplate",
"LifecycleHookSpecificationList",
"LoadBalancerNames",
"MaxInstanceLifetime",
"MaxSize",
"MetricsCollection",
"MinSize",
"MixedInstancesPolicy",
"NotificationConfigurations",
"PlacementGroup",
"ServiceLinkedRoleARN",
"Tags",
"TargetGroupARNs",
"TerminationPolicies",
"VPCZoneIdentifier"
})
public class AutoScalingGroup {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname
*
*/
@JsonProperty("AutoScalingGroupName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname")
private CharSequence autoScalingGroupName;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones
*
*/
@JsonProperty("AvailabilityZones")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones")
private List availabilityZones = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown
*
*/
@JsonProperty("Cooldown")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown")
private CharSequence cooldown;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity
*
*/
@JsonProperty("DesiredCapacity")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity")
private CharSequence desiredCapacity;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod
*
*/
@JsonProperty("HealthCheckGracePeriod")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod")
private Number healthCheckGracePeriod;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype
*
*/
@JsonProperty("HealthCheckType")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype")
private CharSequence healthCheckType;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid
*
*/
@JsonProperty("InstanceId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid")
private CharSequence instanceId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname
*
*/
@JsonProperty("LaunchConfigurationName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname")
private CharSequence launchConfigurationName;
/**
* AutoScalingGroupLaunchTemplateSpecification
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html
*
*/
@JsonProperty("LaunchTemplate")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html")
private Property launchTemplate;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist
*
*/
@JsonProperty("LifecycleHookSpecificationList")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist")
private List> lifecycleHookSpecificationList = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames
*
*/
@JsonProperty("LoadBalancerNames")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames")
private List loadBalancerNames = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime
*
*/
@JsonProperty("MaxInstanceLifetime")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime")
private Number maxInstanceLifetime;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize
*
*/
@JsonProperty("MaxSize")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize")
private CharSequence maxSize;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection
*
*/
@JsonProperty("MetricsCollection")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection")
private List> metricsCollection = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize
*
*/
@JsonProperty("MinSize")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize")
private CharSequence minSize;
/**
* AutoScalingGroupMixedInstancesPolicy
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html
*
*/
@JsonProperty("MixedInstancesPolicy")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html")
private Property mixedInstancesPolicy;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations
*
*/
@JsonProperty("NotificationConfigurations")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations")
private List> notificationConfigurations = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup
*
*/
@JsonProperty("PlacementGroup")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup")
private CharSequence placementGroup;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn
*
*/
@JsonProperty("ServiceLinkedRoleARN")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn")
private CharSequence serviceLinkedRoleARN;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags
*
*/
@JsonProperty("Tags")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags")
private List> tags = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns
*
*/
@JsonProperty("TargetGroupARNs")
@JsonDeserialize(as = java.util.LinkedHashSet.class)
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns")
private Set targetGroupARNs = new LinkedHashSet();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy
*
*/
@JsonProperty("TerminationPolicies")
@JsonDeserialize(as = java.util.LinkedHashSet.class)
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy")
private Set terminationPolicies = new LinkedHashSet();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier
*
*/
@JsonProperty("VPCZoneIdentifier")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier")
private List vPCZoneIdentifier = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname
*
*/
@JsonIgnore
public CharSequence getAutoScalingGroupName() {
return autoScalingGroupName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname
*
*/
@JsonIgnore
public void setAutoScalingGroupName(CharSequence autoScalingGroupName) {
this.autoScalingGroupName = autoScalingGroupName;
}
public AutoScalingGroup withAutoScalingGroupName(CharSequence autoScalingGroupName) {
this.autoScalingGroupName = autoScalingGroupName;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones
*
*/
@JsonIgnore
public List getAvailabilityZones() {
return availabilityZones;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones
*
*/
@JsonIgnore
public void setAvailabilityZones(List availabilityZones) {
this.availabilityZones = availabilityZones;
}
public AutoScalingGroup withAvailabilityZones(List availabilityZones) {
this.availabilityZones = availabilityZones;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown
*
*/
@JsonIgnore
public CharSequence getCooldown() {
return cooldown;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown
*
*/
@JsonIgnore
public void setCooldown(CharSequence cooldown) {
this.cooldown = cooldown;
}
public AutoScalingGroup withCooldown(CharSequence cooldown) {
this.cooldown = cooldown;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity
*
*/
@JsonIgnore
public CharSequence getDesiredCapacity() {
return desiredCapacity;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity
*
*/
@JsonIgnore
public void setDesiredCapacity(CharSequence desiredCapacity) {
this.desiredCapacity = desiredCapacity;
}
public AutoScalingGroup withDesiredCapacity(CharSequence desiredCapacity) {
this.desiredCapacity = desiredCapacity;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod
*
*/
@JsonIgnore
public Number getHealthCheckGracePeriod() {
return healthCheckGracePeriod;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod
*
*/
@JsonIgnore
public void setHealthCheckGracePeriod(Number healthCheckGracePeriod) {
this.healthCheckGracePeriod = healthCheckGracePeriod;
}
public AutoScalingGroup withHealthCheckGracePeriod(Number healthCheckGracePeriod) {
this.healthCheckGracePeriod = healthCheckGracePeriod;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype
*
*/
@JsonIgnore
public CharSequence getHealthCheckType() {
return healthCheckType;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype
*
*/
@JsonIgnore
public void setHealthCheckType(CharSequence healthCheckType) {
this.healthCheckType = healthCheckType;
}
public AutoScalingGroup withHealthCheckType(CharSequence healthCheckType) {
this.healthCheckType = healthCheckType;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid
*
*/
@JsonIgnore
public CharSequence getInstanceId() {
return instanceId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid
*
*/
@JsonIgnore
public void setInstanceId(CharSequence instanceId) {
this.instanceId = instanceId;
}
public AutoScalingGroup withInstanceId(CharSequence instanceId) {
this.instanceId = instanceId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname
*
*/
@JsonIgnore
public CharSequence getLaunchConfigurationName() {
return launchConfigurationName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname
*
*/
@JsonIgnore
public void setLaunchConfigurationName(CharSequence launchConfigurationName) {
this.launchConfigurationName = launchConfigurationName;
}
public AutoScalingGroup withLaunchConfigurationName(CharSequence launchConfigurationName) {
this.launchConfigurationName = launchConfigurationName;
return this;
}
/**
* AutoScalingGroupLaunchTemplateSpecification
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html
*
*/
@JsonIgnore
public Property getLaunchTemplate() {
return launchTemplate;
}
/**
* AutoScalingGroupLaunchTemplateSpecification
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html
*
*/
@JsonIgnore
public void setLaunchTemplate(Property launchTemplate) {
this.launchTemplate = launchTemplate;
}
public AutoScalingGroup withLaunchTemplate(Property launchTemplate) {
this.launchTemplate = launchTemplate;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist
*
*/
@JsonIgnore
public List> getLifecycleHookSpecificationList() {
return lifecycleHookSpecificationList;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist
*
*/
@JsonIgnore
public void setLifecycleHookSpecificationList(List> lifecycleHookSpecificationList) {
this.lifecycleHookSpecificationList = lifecycleHookSpecificationList;
}
public AutoScalingGroup withLifecycleHookSpecificationList(List> lifecycleHookSpecificationList) {
this.lifecycleHookSpecificationList = lifecycleHookSpecificationList;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames
*
*/
@JsonIgnore
public List getLoadBalancerNames() {
return loadBalancerNames;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames
*
*/
@JsonIgnore
public void setLoadBalancerNames(List loadBalancerNames) {
this.loadBalancerNames = loadBalancerNames;
}
public AutoScalingGroup withLoadBalancerNames(List loadBalancerNames) {
this.loadBalancerNames = loadBalancerNames;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime
*
*/
@JsonIgnore
public Number getMaxInstanceLifetime() {
return maxInstanceLifetime;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxinstancelifetime
*
*/
@JsonIgnore
public void setMaxInstanceLifetime(Number maxInstanceLifetime) {
this.maxInstanceLifetime = maxInstanceLifetime;
}
public AutoScalingGroup withMaxInstanceLifetime(Number maxInstanceLifetime) {
this.maxInstanceLifetime = maxInstanceLifetime;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize
*
*/
@JsonIgnore
public CharSequence getMaxSize() {
return maxSize;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize
*
*/
@JsonIgnore
public void setMaxSize(CharSequence maxSize) {
this.maxSize = maxSize;
}
public AutoScalingGroup withMaxSize(CharSequence maxSize) {
this.maxSize = maxSize;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection
*
*/
@JsonIgnore
public List> getMetricsCollection() {
return metricsCollection;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection
*
*/
@JsonIgnore
public void setMetricsCollection(List> metricsCollection) {
this.metricsCollection = metricsCollection;
}
public AutoScalingGroup withMetricsCollection(List> metricsCollection) {
this.metricsCollection = metricsCollection;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize
*
*/
@JsonIgnore
public CharSequence getMinSize() {
return minSize;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize
*
*/
@JsonIgnore
public void setMinSize(CharSequence minSize) {
this.minSize = minSize;
}
public AutoScalingGroup withMinSize(CharSequence minSize) {
this.minSize = minSize;
return this;
}
/**
* AutoScalingGroupMixedInstancesPolicy
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html
*
*/
@JsonIgnore
public Property getMixedInstancesPolicy() {
return mixedInstancesPolicy;
}
/**
* AutoScalingGroupMixedInstancesPolicy
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html
*
*/
@JsonIgnore
public void setMixedInstancesPolicy(Property mixedInstancesPolicy) {
this.mixedInstancesPolicy = mixedInstancesPolicy;
}
public AutoScalingGroup withMixedInstancesPolicy(Property mixedInstancesPolicy) {
this.mixedInstancesPolicy = mixedInstancesPolicy;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations
*
*/
@JsonIgnore
public List> getNotificationConfigurations() {
return notificationConfigurations;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations
*
*/
@JsonIgnore
public void setNotificationConfigurations(List> notificationConfigurations) {
this.notificationConfigurations = notificationConfigurations;
}
public AutoScalingGroup withNotificationConfigurations(List> notificationConfigurations) {
this.notificationConfigurations = notificationConfigurations;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup
*
*/
@JsonIgnore
public CharSequence getPlacementGroup() {
return placementGroup;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup
*
*/
@JsonIgnore
public void setPlacementGroup(CharSequence placementGroup) {
this.placementGroup = placementGroup;
}
public AutoScalingGroup withPlacementGroup(CharSequence placementGroup) {
this.placementGroup = placementGroup;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn
*
*/
@JsonIgnore
public CharSequence getServiceLinkedRoleARN() {
return serviceLinkedRoleARN;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn
*
*/
@JsonIgnore
public void setServiceLinkedRoleARN(CharSequence serviceLinkedRoleARN) {
this.serviceLinkedRoleARN = serviceLinkedRoleARN;
}
public AutoScalingGroup withServiceLinkedRoleARN(CharSequence serviceLinkedRoleARN) {
this.serviceLinkedRoleARN = serviceLinkedRoleARN;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags
*
*/
@JsonIgnore
public List> getTags() {
return tags;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags
*
*/
@JsonIgnore
public void setTags(List> tags) {
this.tags = tags;
}
public AutoScalingGroup withTags(List> tags) {
this.tags = tags;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns
*
*/
@JsonIgnore
public Set getTargetGroupARNs() {
return targetGroupARNs;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns
*
*/
@JsonIgnore
public void setTargetGroupARNs(Set targetGroupARNs) {
this.targetGroupARNs = targetGroupARNs;
}
public AutoScalingGroup withTargetGroupARNs(Set targetGroupARNs) {
this.targetGroupARNs = targetGroupARNs;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy
*
*/
@JsonIgnore
public Set getTerminationPolicies() {
return terminationPolicies;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy
*
*/
@JsonIgnore
public void setTerminationPolicies(Set terminationPolicies) {
this.terminationPolicies = terminationPolicies;
}
public AutoScalingGroup withTerminationPolicies(Set terminationPolicies) {
this.terminationPolicies = terminationPolicies;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier
*
*/
@JsonIgnore
public List getVPCZoneIdentifier() {
return vPCZoneIdentifier;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier
*
*/
@JsonIgnore
public void setVPCZoneIdentifier(List vPCZoneIdentifier) {
this.vPCZoneIdentifier = vPCZoneIdentifier;
}
public AutoScalingGroup withVPCZoneIdentifier(List vPCZoneIdentifier) {
this.vPCZoneIdentifier = vPCZoneIdentifier;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("autoScalingGroupName", autoScalingGroupName).append("availabilityZones", availabilityZones).append("cooldown", cooldown).append("desiredCapacity", desiredCapacity).append("healthCheckGracePeriod", healthCheckGracePeriod).append("healthCheckType", healthCheckType).append("instanceId", instanceId).append("launchConfigurationName", launchConfigurationName).append("launchTemplate", launchTemplate).append("lifecycleHookSpecificationList", lifecycleHookSpecificationList).append("loadBalancerNames", loadBalancerNames).append("maxInstanceLifetime", maxInstanceLifetime).append("maxSize", maxSize).append("metricsCollection", metricsCollection).append("minSize", minSize).append("mixedInstancesPolicy", mixedInstancesPolicy).append("notificationConfigurations", notificationConfigurations).append("placementGroup", placementGroup).append("serviceLinkedRoleARN", serviceLinkedRoleARN).append("tags", tags).append("targetGroupARNs", targetGroupARNs).append("terminationPolicies", terminationPolicies).append("vPCZoneIdentifier", vPCZoneIdentifier).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(healthCheckType).append(loadBalancerNames).append(metricsCollection).append(terminationPolicies).append(availabilityZones).append(maxSize).append(targetGroupARNs).append(maxInstanceLifetime).append(serviceLinkedRoleARN).append(tags).append(launchConfigurationName).append(notificationConfigurations).append(autoScalingGroupName).append(mixedInstancesPolicy).append(instanceId).append(healthCheckGracePeriod).append(cooldown).append(launchTemplate).append(minSize).append(placementGroup).append(desiredCapacity).append(lifecycleHookSpecificationList).append(vPCZoneIdentifier).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof AutoScalingGroup) == false) {
return false;
}
AutoScalingGroup rhs = ((AutoScalingGroup) other);
return new EqualsBuilder().append(healthCheckType, rhs.healthCheckType).append(loadBalancerNames, rhs.loadBalancerNames).append(metricsCollection, rhs.metricsCollection).append(terminationPolicies, rhs.terminationPolicies).append(availabilityZones, rhs.availabilityZones).append(maxSize, rhs.maxSize).append(targetGroupARNs, rhs.targetGroupARNs).append(maxInstanceLifetime, rhs.maxInstanceLifetime).append(serviceLinkedRoleARN, rhs.serviceLinkedRoleARN).append(tags, rhs.tags).append(launchConfigurationName, rhs.launchConfigurationName).append(notificationConfigurations, rhs.notificationConfigurations).append(autoScalingGroupName, rhs.autoScalingGroupName).append(mixedInstancesPolicy, rhs.mixedInstancesPolicy).append(instanceId, rhs.instanceId).append(healthCheckGracePeriod, rhs.healthCheckGracePeriod).append(cooldown, rhs.cooldown).append(launchTemplate, rhs.launchTemplate).append(minSize, rhs.minSize).append(placementGroup, rhs.placementGroup).append(desiredCapacity, rhs.desiredCapacity).append(lifecycleHookSpecificationList, rhs.lifecycleHookSpecificationList).append(vPCZoneIdentifier, rhs.vPCZoneIdentifier).isEquals();
}
}