shiver.me.timbers.aws.ses.ReceiptRuleAction Maven / Gradle / Ivy
package shiver.me.timbers.aws.ses;
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;
/**
* ReceiptRuleAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"BounceAction",
"S3Action",
"StopAction",
"SNSAction",
"WorkmailAction",
"AddHeaderAction",
"LambdaAction"
})
public class ReceiptRuleAction implements Property
{
/**
* ReceiptRuleBounceAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html
*
*/
@JsonProperty("BounceAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html")
private Property bounceAction;
/**
* ReceiptRuleS3Action
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html
*
*/
@JsonProperty("S3Action")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html")
private Property s3Action;
/**
* ReceiptRuleStopAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html
*
*/
@JsonProperty("StopAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html")
private Property stopAction;
/**
* ReceiptRuleSNSAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html
*
*/
@JsonProperty("SNSAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html")
private Property sNSAction;
/**
* ReceiptRuleWorkmailAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html
*
*/
@JsonProperty("WorkmailAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html")
private Property workmailAction;
/**
* ReceiptRuleAddHeaderAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html
*
*/
@JsonProperty("AddHeaderAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html")
private Property addHeaderAction;
/**
* ReceiptRuleLambdaAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html
*
*/
@JsonProperty("LambdaAction")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html")
private Property lambdaAction;
/**
* ReceiptRuleBounceAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html
*
*/
@JsonIgnore
public Property getBounceAction() {
return bounceAction;
}
/**
* ReceiptRuleBounceAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html
*
*/
@JsonIgnore
public void setBounceAction(Property bounceAction) {
this.bounceAction = bounceAction;
}
public ReceiptRuleAction withBounceAction(Property bounceAction) {
this.bounceAction = bounceAction;
return this;
}
/**
* ReceiptRuleS3Action
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html
*
*/
@JsonIgnore
public Property getS3Action() {
return s3Action;
}
/**
* ReceiptRuleS3Action
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html
*
*/
@JsonIgnore
public void setS3Action(Property s3Action) {
this.s3Action = s3Action;
}
public ReceiptRuleAction withS3Action(Property s3Action) {
this.s3Action = s3Action;
return this;
}
/**
* ReceiptRuleStopAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html
*
*/
@JsonIgnore
public Property getStopAction() {
return stopAction;
}
/**
* ReceiptRuleStopAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html
*
*/
@JsonIgnore
public void setStopAction(Property stopAction) {
this.stopAction = stopAction;
}
public ReceiptRuleAction withStopAction(Property stopAction) {
this.stopAction = stopAction;
return this;
}
/**
* ReceiptRuleSNSAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html
*
*/
@JsonIgnore
public Property getSNSAction() {
return sNSAction;
}
/**
* ReceiptRuleSNSAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html
*
*/
@JsonIgnore
public void setSNSAction(Property sNSAction) {
this.sNSAction = sNSAction;
}
public ReceiptRuleAction withSNSAction(Property sNSAction) {
this.sNSAction = sNSAction;
return this;
}
/**
* ReceiptRuleWorkmailAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html
*
*/
@JsonIgnore
public Property getWorkmailAction() {
return workmailAction;
}
/**
* ReceiptRuleWorkmailAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html
*
*/
@JsonIgnore
public void setWorkmailAction(Property workmailAction) {
this.workmailAction = workmailAction;
}
public ReceiptRuleAction withWorkmailAction(Property workmailAction) {
this.workmailAction = workmailAction;
return this;
}
/**
* ReceiptRuleAddHeaderAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html
*
*/
@JsonIgnore
public Property getAddHeaderAction() {
return addHeaderAction;
}
/**
* ReceiptRuleAddHeaderAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html
*
*/
@JsonIgnore
public void setAddHeaderAction(Property addHeaderAction) {
this.addHeaderAction = addHeaderAction;
}
public ReceiptRuleAction withAddHeaderAction(Property addHeaderAction) {
this.addHeaderAction = addHeaderAction;
return this;
}
/**
* ReceiptRuleLambdaAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html
*
*/
@JsonIgnore
public Property getLambdaAction() {
return lambdaAction;
}
/**
* ReceiptRuleLambdaAction
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html
*
*/
@JsonIgnore
public void setLambdaAction(Property lambdaAction) {
this.lambdaAction = lambdaAction;
}
public ReceiptRuleAction withLambdaAction(Property lambdaAction) {
this.lambdaAction = lambdaAction;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("bounceAction", bounceAction).append("s3Action", s3Action).append("stopAction", stopAction).append("sNSAction", sNSAction).append("workmailAction", workmailAction).append("addHeaderAction", addHeaderAction).append("lambdaAction", lambdaAction).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(workmailAction).append(addHeaderAction).append(stopAction).append(lambdaAction).append(sNSAction).append(bounceAction).append(s3Action).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof ReceiptRuleAction) == false) {
return false;
}
ReceiptRuleAction rhs = ((ReceiptRuleAction) other);
return new EqualsBuilder().append(workmailAction, rhs.workmailAction).append(addHeaderAction, rhs.addHeaderAction).append(stopAction, rhs.stopAction).append(lambdaAction, rhs.lambdaAction).append(sNSAction, rhs.sNSAction).append(bounceAction, rhs.bounceAction).append(s3Action, rhs.s3Action).isEquals();
}
}