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

shiver.me.timbers.aws.apigateway.UsagePlan Maven / Gradle / Ivy


package shiver.me.timbers.aws.apigateway;

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


/**
 * UsagePlan
 * 

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html * */ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonPropertyOrder({ "ApiStages", "Description", "Quota", "Throttle", "UsagePlanName" }) public class UsagePlan { /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages * */ @JsonProperty("ApiStages") @JsonDeserialize(as = java.util.LinkedHashSet.class) @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages") private Set> apiStages = new LinkedHashSet>(); /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description * */ @JsonProperty("Description") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description") private CharSequence description; /** * UsagePlanQuotaSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html * */ @JsonProperty("Quota") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html") private Property quota; /** * UsagePlanThrottleSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html * */ @JsonProperty("Throttle") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html") private Property throttle; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname * */ @JsonProperty("UsagePlanName") @JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname") private CharSequence usagePlanName; /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages * */ @JsonIgnore public Set> getApiStages() { return apiStages; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages * */ @JsonIgnore public void setApiStages(Set> apiStages) { this.apiStages = apiStages; } public UsagePlan withApiStages(Set> apiStages) { this.apiStages = apiStages; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description * */ @JsonIgnore public CharSequence getDescription() { return description; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description * */ @JsonIgnore public void setDescription(CharSequence description) { this.description = description; } public UsagePlan withDescription(CharSequence description) { this.description = description; return this; } /** * UsagePlanQuotaSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html * */ @JsonIgnore public Property getQuota() { return quota; } /** * UsagePlanQuotaSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html * */ @JsonIgnore public void setQuota(Property quota) { this.quota = quota; } public UsagePlan withQuota(Property quota) { this.quota = quota; return this; } /** * UsagePlanThrottleSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html * */ @JsonIgnore public Property getThrottle() { return throttle; } /** * UsagePlanThrottleSettings *

* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html * */ @JsonIgnore public void setThrottle(Property throttle) { this.throttle = throttle; } public UsagePlan withThrottle(Property throttle) { this.throttle = throttle; return this; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname * */ @JsonIgnore public CharSequence getUsagePlanName() { return usagePlanName; } /** * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname * */ @JsonIgnore public void setUsagePlanName(CharSequence usagePlanName) { this.usagePlanName = usagePlanName; } public UsagePlan withUsagePlanName(CharSequence usagePlanName) { this.usagePlanName = usagePlanName; return this; } @Override public String toString() { return new ToStringBuilder(this).append("apiStages", apiStages).append("description", description).append("quota", quota).append("throttle", throttle).append("usagePlanName", usagePlanName).toString(); } @Override public int hashCode() { return new HashCodeBuilder().append(description).append(throttle).append(apiStages).append(usagePlanName).append(quota).toHashCode(); } @Override public boolean equals(Object other) { if (other == this) { return true; } if ((other instanceof UsagePlan) == false) { return false; } UsagePlan rhs = ((UsagePlan) other); return new EqualsBuilder().append(description, rhs.description).append(throttle, rhs.throttle).append(apiStages, rhs.apiStages).append(usagePlanName, rhs.usagePlanName).append(quota, rhs.quota).isEquals(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy