shiver.me.timbers.aws.imagebuilder.InfrastructureConfiguration Maven / Gradle / Ivy
Show all versions of smt-cloudformation-objects Show documentation
package shiver.me.timbers.aws.imagebuilder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
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 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;
/**
* InfrastructureConfiguration
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"Name",
"Description",
"InstanceTypes",
"SecurityGroupIds",
"Logging",
"SubnetId",
"KeyPair",
"TerminateInstanceOnFailure",
"InstanceProfileName",
"SnsTopicArn",
"Tags"
})
public class InfrastructureConfiguration {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name
*
*/
@JsonProperty("Name")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name")
private CharSequence name;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description
*
*/
@JsonProperty("Description")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description")
private CharSequence description;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes
*
*/
@JsonProperty("InstanceTypes")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes")
private List instanceTypes = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids
*
*/
@JsonProperty("SecurityGroupIds")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids")
private List securityGroupIds = new ArrayList();
/**
* InfrastructureConfigurationLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html
*
*/
@JsonProperty("Logging")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html")
private Property logging;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid
*
*/
@JsonProperty("SubnetId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid")
private CharSequence subnetId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair
*
*/
@JsonProperty("KeyPair")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair")
private CharSequence keyPair;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure
*
*/
@JsonProperty("TerminateInstanceOnFailure")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure")
private CharSequence terminateInstanceOnFailure;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename
*
*/
@JsonProperty("InstanceProfileName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename")
private CharSequence instanceProfileName;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn
*
*/
@JsonProperty("SnsTopicArn")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn")
private CharSequence snsTopicArn;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags
*
*/
@JsonProperty("Tags")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags")
private Map tags;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name
*
*/
@JsonIgnore
public CharSequence getName() {
return name;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name
*
*/
@JsonIgnore
public void setName(CharSequence name) {
this.name = name;
}
public InfrastructureConfiguration withName(CharSequence name) {
this.name = name;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description
*
*/
@JsonIgnore
public CharSequence getDescription() {
return description;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description
*
*/
@JsonIgnore
public void setDescription(CharSequence description) {
this.description = description;
}
public InfrastructureConfiguration withDescription(CharSequence description) {
this.description = description;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes
*
*/
@JsonIgnore
public List getInstanceTypes() {
return instanceTypes;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes
*
*/
@JsonIgnore
public void setInstanceTypes(List instanceTypes) {
this.instanceTypes = instanceTypes;
}
public InfrastructureConfiguration withInstanceTypes(List instanceTypes) {
this.instanceTypes = instanceTypes;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids
*
*/
@JsonIgnore
public List getSecurityGroupIds() {
return securityGroupIds;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids
*
*/
@JsonIgnore
public void setSecurityGroupIds(List securityGroupIds) {
this.securityGroupIds = securityGroupIds;
}
public InfrastructureConfiguration withSecurityGroupIds(List securityGroupIds) {
this.securityGroupIds = securityGroupIds;
return this;
}
/**
* InfrastructureConfigurationLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html
*
*/
@JsonIgnore
public Property getLogging() {
return logging;
}
/**
* InfrastructureConfigurationLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html
*
*/
@JsonIgnore
public void setLogging(Property logging) {
this.logging = logging;
}
public InfrastructureConfiguration withLogging(Property logging) {
this.logging = logging;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid
*
*/
@JsonIgnore
public CharSequence getSubnetId() {
return subnetId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid
*
*/
@JsonIgnore
public void setSubnetId(CharSequence subnetId) {
this.subnetId = subnetId;
}
public InfrastructureConfiguration withSubnetId(CharSequence subnetId) {
this.subnetId = subnetId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair
*
*/
@JsonIgnore
public CharSequence getKeyPair() {
return keyPair;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair
*
*/
@JsonIgnore
public void setKeyPair(CharSequence keyPair) {
this.keyPair = keyPair;
}
public InfrastructureConfiguration withKeyPair(CharSequence keyPair) {
this.keyPair = keyPair;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure
*
*/
@JsonIgnore
public CharSequence getTerminateInstanceOnFailure() {
return terminateInstanceOnFailure;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure
*
*/
@JsonIgnore
public void setTerminateInstanceOnFailure(CharSequence terminateInstanceOnFailure) {
this.terminateInstanceOnFailure = terminateInstanceOnFailure;
}
public InfrastructureConfiguration withTerminateInstanceOnFailure(CharSequence terminateInstanceOnFailure) {
this.terminateInstanceOnFailure = terminateInstanceOnFailure;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename
*
*/
@JsonIgnore
public CharSequence getInstanceProfileName() {
return instanceProfileName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename
*
*/
@JsonIgnore
public void setInstanceProfileName(CharSequence instanceProfileName) {
this.instanceProfileName = instanceProfileName;
}
public InfrastructureConfiguration withInstanceProfileName(CharSequence instanceProfileName) {
this.instanceProfileName = instanceProfileName;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn
*
*/
@JsonIgnore
public CharSequence getSnsTopicArn() {
return snsTopicArn;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn
*
*/
@JsonIgnore
public void setSnsTopicArn(CharSequence snsTopicArn) {
this.snsTopicArn = snsTopicArn;
}
public InfrastructureConfiguration withSnsTopicArn(CharSequence snsTopicArn) {
this.snsTopicArn = snsTopicArn;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags
*
*/
@JsonIgnore
public Map getTags() {
return tags;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags
*
*/
@JsonIgnore
public void setTags(Map tags) {
this.tags = tags;
}
public InfrastructureConfiguration withTags(Map tags) {
this.tags = tags;
return this;
}
@Override
public java.lang.String toString() {
return new ToStringBuilder(this).append("name", name).append("description", description).append("instanceTypes", instanceTypes).append("securityGroupIds", securityGroupIds).append("logging", logging).append("subnetId", subnetId).append("keyPair", keyPair).append("terminateInstanceOnFailure", terminateInstanceOnFailure).append("instanceProfileName", instanceProfileName).append("snsTopicArn", snsTopicArn).append("tags", tags).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(subnetId).append(terminateInstanceOnFailure).append(instanceTypes).append(snsTopicArn).append(securityGroupIds).append(instanceProfileName).append(name).append(description).append(logging).append(keyPair).append(tags).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof InfrastructureConfiguration) == false) {
return false;
}
InfrastructureConfiguration rhs = ((InfrastructureConfiguration) other);
return new EqualsBuilder().append(subnetId, rhs.subnetId).append(terminateInstanceOnFailure, rhs.terminateInstanceOnFailure).append(instanceTypes, rhs.instanceTypes).append(snsTopicArn, rhs.snsTopicArn).append(securityGroupIds, rhs.securityGroupIds).append(instanceProfileName, rhs.instanceProfileName).append(name, rhs.name).append(description, rhs.description).append(logging, rhs.logging).append(keyPair, rhs.keyPair).append(tags, rhs.tags).isEquals();
}
}