com.amazonaws.services.apigateway.model.PutRestApiRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-api-gateway Show documentation
/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights
 * Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.apigateway.model;
import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
/**
 * 
 * A PUT request to update an existing API, with external API definitions
 * specified as the request body.
 * 
 */
public class PutRestApiRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {
    /**
     * 
     * The identifier of the RestApi to be updated.
     * 
     */
    private String restApiId;
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     */
    private String mode;
    /**
     * 
     * A query parameter to indicate whether to rollback the API update (
     * true) or not (false) when a warning is
     * encountered. The default value is false.
     * 
     */
    private Boolean failOnWarnings;
    /**
     * 
     * Custom headers supplied as part of the request.
     * 
     */
    private java.util.Map parameters;
    /**
     * 
     * The PUT request body containing external API definitions. Currently, only
     * Swagger definition JSON files are supported.
     * 
     */
    private java.nio.ByteBuffer body;
    /**
     * 
     * The identifier of the RestApi to be updated.
     * 
     * 
     * @param restApiId
     *        The identifier of the RestApi to be updated.
     */
    public void setRestApiId(String restApiId) {
        this.restApiId = restApiId;
    }
    /**
     * 
     * The identifier of the RestApi to be updated.
     * 
     * 
     * @return The identifier of the RestApi to be updated.
     */
    public String getRestApiId() {
        return this.restApiId;
    }
    /**
     * 
     * The identifier of the RestApi to be updated.
     * 
     * 
     * @param restApiId
     *        The identifier of the RestApi to be updated.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutRestApiRequest withRestApiId(String restApiId) {
        setRestApiId(restApiId);
        return this;
    }
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     * 
     * @param mode
     *        The mode query parameter to specify the update mode.
     *        Valid values are "merge" and "overwrite". By default, the update
     *        mode is "merge".
     * @see PutMode
     */
    public void setMode(String mode) {
        this.mode = mode;
    }
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     * 
     * @return The mode query parameter to specify the update mode.
     *         Valid values are "merge" and "overwrite". By default, the update
     *         mode is "merge".
     * @see PutMode
     */
    public String getMode() {
        return this.mode;
    }
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     * 
     * @param mode
     *        The mode query parameter to specify the update mode.
     *        Valid values are "merge" and "overwrite". By default, the update
     *        mode is "merge".
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     * @see PutMode
     */
    public PutRestApiRequest withMode(String mode) {
        setMode(mode);
        return this;
    }
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     * 
     * @param mode
     *        The mode query parameter to specify the update mode.
     *        Valid values are "merge" and "overwrite". By default, the update
     *        mode is "merge".
     * @see PutMode
     */
    public void setMode(PutMode mode) {
        this.mode = mode.toString();
    }
    /**
     * 
     * The mode query parameter to specify the update mode. Valid
     * values are "merge" and "overwrite". By default, the update mode is
     * "merge".
     * 
     * 
     * @param mode
     *        The mode query parameter to specify the update mode.
     *        Valid values are "merge" and "overwrite". By default, the update
     *        mode is "merge".
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     * @see PutMode
     */
    public PutRestApiRequest withMode(PutMode mode) {
        setMode(mode);
        return this;
    }
    /**
     * 
     * A query parameter to indicate whether to rollback the API update (
     * true) or not (false) when a warning is
     * encountered. The default value is false.
     * 
     * 
     * @param failOnWarnings
     *        A query parameter to indicate whether to rollback the API update (
     *        true) or not (false) when a warning is
     *        encountered. The default value is false.
     */
    public void setFailOnWarnings(Boolean failOnWarnings) {
        this.failOnWarnings = failOnWarnings;
    }
    /**
     * 
     * A query parameter to indicate whether to rollback the API update (
     * true) or not (false) when a warning is
     * encountered. The default value is false.
     * 
     * 
     * @return A query parameter to indicate whether to rollback the API update
     *         (true) or not (false) when a warning is
     *         encountered. The default value is false.
     */
    public Boolean getFailOnWarnings() {
        return this.failOnWarnings;
    }
    /**
     * 
     * A query parameter to indicate whether to rollback the API update (
     * true) or not (false) when a warning is
     * encountered. The default value is false.
     * 
     * 
     * @param failOnWarnings
     *        A query parameter to indicate whether to rollback the API update (
     *        true) or not (false) when a warning is
     *        encountered. The default value is false.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutRestApiRequest withFailOnWarnings(Boolean failOnWarnings) {
        setFailOnWarnings(failOnWarnings);
        return this;
    }
    /**
     * 
     * A query parameter to indicate whether to rollback the API update (
     * true) or not (false) when a warning is
     * encountered. The default value is false.
     * 
     * 
     * @return A query parameter to indicate whether to rollback the API update
     *         (true) or not (false) when a warning is
     *         encountered. The default value is false.
     */
    public Boolean isFailOnWarnings() {
        return this.failOnWarnings;
    }
    /**
     * 
     * Custom headers supplied as part of the request.
     * 
     * 
     * @return Custom headers supplied as part of the request.
     */
    public java.util.Map getParameters() {
        return parameters;
    }
    /**
     * 
     * Custom headers supplied as part of the request.
     * 
     * 
     * @param parameters
     *        Custom headers supplied as part of the request.
     */
    public void setParameters(java.util.Map parameters) {
        this.parameters = parameters;
    }
    /**
     * 
     * Custom headers supplied as part of the request.
     * 
     * 
     * @param parameters
     *        Custom headers supplied as part of the request.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutRestApiRequest withParameters(
            java.util.Map parameters) {
        setParameters(parameters);
        return this;
    }
    public PutRestApiRequest addParametersEntry(String key, String value) {
        if (null == this.parameters) {
            this.parameters = new java.util.HashMap();
        }
        if (this.parameters.containsKey(key))
            throw new IllegalArgumentException("Duplicated keys ("
                    + key.toString() + ") are provided.");
        this.parameters.put(key, value);
        return this;
    }
    /**
     * Removes all the entries added into Parameters. <p> Returns a reference
     * to this object so that method calls can be chained together.
     */
    public PutRestApiRequest clearParametersEntries() {
        this.parameters = null;
        return this;
    }
    /**
     * 
     * The PUT request body containing external API definitions. Currently, only
     * Swagger definition JSON files are supported.
     * 
     * 
     * AWS SDK for Java performs a Base64 encoding on this field before sending
     * this request to AWS service by default. Users of the SDK should not
     * perform Base64 encoding on this field.
     * 
     * 
     * Warning: ByteBuffers returned by the SDK are mutable. Changes to the
     * content or position of the byte buffer will be seen by all objects that
     * have a reference to this object. It is recommended to call
     * ByteBuffer.duplicate() or ByteBuffer.asReadOnlyBuffer() before using or
     * reading from the buffer. This behavior will be changed in a future major
     * version of the SDK.
     * 
     * 
     * @param body
     *        The PUT request body containing external API definitions.
     *        Currently, only Swagger definition JSON files are supported.
     */
    public void setBody(java.nio.ByteBuffer body) {
        this.body = body;
    }
    /**
     * 
     * The PUT request body containing external API definitions. Currently, only
     * Swagger definition JSON files are supported.
     * 
     * 
     * {@code ByteBuffer}s are stateful. Calling their {@code get} methods
     * changes their {@code position}. We recommend using
     * {@link java.nio.ByteBuffer#asReadOnlyBuffer()} to create a read-only view
     * of the buffer with an independent {@code position}, and calling
     * {@code get} methods on this rather than directly on the returned
     * {@code ByteBuffer}. Doing so will ensure that anyone else using the
     * {@code ByteBuffer} will not be affected by changes to the {@code position}
     * .
     * 
     * 
     * @return The PUT request body containing external API definitions.
     *         Currently, only Swagger definition JSON files are supported.
     */
    public java.nio.ByteBuffer getBody() {
        return this.body;
    }
    /**
     * 
     * The PUT request body containing external API definitions. Currently, only
     * Swagger definition JSON files are supported.
     * 
     * 
     * @param body
     *        The PUT request body containing external API definitions.
     *        Currently, only Swagger definition JSON files are supported.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public PutRestApiRequest withBody(java.nio.ByteBuffer body) {
        setBody(body);
        return this;
    }
    /**
     * Returns a string representation of this object; useful for testing and
     * debugging.
     *
     * @return A string representation of this object.
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getRestApiId() != null)
            sb.append("RestApiId: " + getRestApiId() + ",");
        if (getMode() != null)
            sb.append("Mode: " + getMode() + ",");
        if (getFailOnWarnings() != null)
            sb.append("FailOnWarnings: " + getFailOnWarnings() + ",");
        if (getParameters() != null)
            sb.append("Parameters: " + getParameters() + ",");
        if (getBody() != null)
            sb.append("Body: " + getBody());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof PutRestApiRequest == false)
            return false;
        PutRestApiRequest other = (PutRestApiRequest) obj;
        if (other.getRestApiId() == null ^ this.getRestApiId() == null)
            return false;
        if (other.getRestApiId() != null
                && other.getRestApiId().equals(this.getRestApiId()) == false)
            return false;
        if (other.getMode() == null ^ this.getMode() == null)
            return false;
        if (other.getMode() != null
                && other.getMode().equals(this.getMode()) == false)
            return false;
        if (other.getFailOnWarnings() == null
                ^ this.getFailOnWarnings() == null)
            return false;
        if (other.getFailOnWarnings() != null
                && other.getFailOnWarnings().equals(this.getFailOnWarnings()) == false)
            return false;
        if (other.getParameters() == null ^ this.getParameters() == null)
            return false;
        if (other.getParameters() != null
                && other.getParameters().equals(this.getParameters()) == false)
            return false;
        if (other.getBody() == null ^ this.getBody() == null)
            return false;
        if (other.getBody() != null
                && other.getBody().equals(this.getBody()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime * hashCode
                + ((getRestApiId() == null) ? 0 : getRestApiId().hashCode());
        hashCode = prime * hashCode
                + ((getMode() == null) ? 0 : getMode().hashCode());
        hashCode = prime
                * hashCode
                + ((getFailOnWarnings() == null) ? 0 : getFailOnWarnings()
                        .hashCode());
        hashCode = prime * hashCode
                + ((getParameters() == null) ? 0 : getParameters().hashCode());
        hashCode = prime * hashCode
                + ((getBody() == null) ? 0 : getBody().hashCode());
        return hashCode;
    }
    @Override
    public PutRestApiRequest clone() {
        return (PutRestApiRequest) super.clone();
    }
}