All Downloads are FREE. Search and download functionalities are using the official Maven repository.

shiver.me.timbers.aws.wafregional.RateBasedRule Maven / Gradle / Ivy


package shiver.me.timbers.aws.wafregional;

import java.util.ArrayList;
import java.util.List;
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;


/**
 * RateBasedRule
 * 

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html * */ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonPropertyOrder({ "MetricName", "RateLimit", "MatchPredicates", "RateKey", "Name" }) public class RateBasedRule { /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname * */ @JsonProperty("MetricName") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname") private CharSequence metricName; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit * */ @JsonProperty("RateLimit") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit") private Number rateLimit; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates * */ @JsonProperty("MatchPredicates") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates") private List> matchPredicates = new ArrayList>(); /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey * */ @JsonProperty("RateKey") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey") private CharSequence rateKey; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name * */ @JsonProperty("Name") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name") private CharSequence name; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname * */ @JsonIgnore public CharSequence getMetricName() { return metricName; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname * */ @JsonIgnore public void setMetricName(CharSequence metricName) { this.metricName = metricName; } public RateBasedRule withMetricName(CharSequence metricName) { this.metricName = metricName; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit * */ @JsonIgnore public Number getRateLimit() { return rateLimit; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit * */ @JsonIgnore public void setRateLimit(Number rateLimit) { this.rateLimit = rateLimit; } public RateBasedRule withRateLimit(Number rateLimit) { this.rateLimit = rateLimit; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates * */ @JsonIgnore public List> getMatchPredicates() { return matchPredicates; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates * */ @JsonIgnore public void setMatchPredicates(List> matchPredicates) { this.matchPredicates = matchPredicates; } public RateBasedRule withMatchPredicates(List> matchPredicates) { this.matchPredicates = matchPredicates; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey * */ @JsonIgnore public CharSequence getRateKey() { return rateKey; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey * */ @JsonIgnore public void setRateKey(CharSequence rateKey) { this.rateKey = rateKey; } public RateBasedRule withRateKey(CharSequence rateKey) { this.rateKey = rateKey; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name * */ @JsonIgnore public CharSequence getName() { return name; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name * */ @JsonIgnore public void setName(CharSequence name) { this.name = name; } public RateBasedRule withName(CharSequence name) { this.name = name; return this; } @Override public String toString() { return new ToStringBuilder(this).append("metricName", metricName).append("rateLimit", rateLimit).append("matchPredicates", matchPredicates).append("rateKey", rateKey).append("name", name).toString(); } @Override public int hashCode() { return new HashCodeBuilder().append(name).append(matchPredicates).append(rateKey).append(metricName).append(rateLimit).toHashCode(); } @Override public boolean equals(Object other) { if (other == this) { return true; } if ((other instanceof RateBasedRule) == false) { return false; } RateBasedRule rhs = ((RateBasedRule) other); return new EqualsBuilder().append(name, rhs.name).append(matchPredicates, rhs.matchPredicates).append(rateKey, rhs.rateKey).append(metricName, rhs.metricName).append(rateLimit, rhs.rateLimit).isEquals(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy