/* * Copyright 2018-2023 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 javax.annotation.Generated; /** *
* Represents an integration response. The status code must map to an existing MethodResponse, and parameters and * templates can be used to transform the back-end response. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateIntegrationResponseResult extends com.amazonaws.AmazonWebServiceResult* Specifies the status code that is used to map the integration response to an existing MethodResponse. *
*/ private String statusCode; /** *
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
* Specifies the templates used to transform the integration response body. Response templates are represented as a * key/value map, with a content-type as the key and a template as the value. *
*/ private java.util.Map
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
*/ private String contentHandling; /** ** Specifies the status code that is used to map the integration response to an existing MethodResponse. *
* * @param statusCode * Specifies the status code that is used to map the integration response to an existing MethodResponse. */ public void setStatusCode(String statusCode) { this.statusCode = statusCode; } /** ** Specifies the status code that is used to map the integration response to an existing MethodResponse. *
* * @return Specifies the status code that is used to map the integration response to an existing MethodResponse. */ public String getStatusCode() { return this.statusCode; } /** ** Specifies the status code that is used to map the integration response to an existing MethodResponse. *
* * @param statusCode * Specifies the status code that is used to map the integration response to an existing MethodResponse. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationResponseResult withStatusCode(String statusCode) { setStatusCode(statusCode); return this; } /** *
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
.+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
*/
public void setSelectionPattern(String selectionPattern) {
this.selectionPattern = selectionPattern;
}
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
.+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
*/
public String getSelectionPattern() {
return this.selectionPattern;
}
/**
*
* Specifies the regular expression (regex) pattern used to choose an integration response based on the response
* from the back end. For example, if the success response returns nothing and the error response returns some
* string, you could use the .+
regex to match error response. However, make sure that the error
* response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda
* function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status
* code is matched.
*
.+
regex to match error response. However, make sure
* that the error response does not contain any newline (\n
) character in such cases. If the
* back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP
* and AWS back ends, the HTTP status code is matched.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResponseResult withSelectionPattern(String selectionPattern) {
setSelectionPattern(selectionPattern);
return this;
}
/**
*
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
method.response.header.{name}
,
* where name
is a valid and unique header name. The mapped non-static value must match the
* pattern of integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
*/
public java.util.Map
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
method.response.header.{name}
, where
* name
is a valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
*/
public void setResponseParameters(java.util.Map
* A key-value map specifying response parameters that are passed to the method response from the back end. The key
* is a method response header parameter name and the mapped value is an integration response header value, a static
* value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The
* mapping key must match the pattern of method.response.header.{name}
, where name
is a
* valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or integration.response.body.{JSON-expression}
,
* where name
is a valid and unique response header name and JSON-expression
is a valid
* JSON expression without the $
prefix.
*
method.response.header.{name}
, where
* name
is a valid and unique header name. The mapped non-static value must match the pattern of
* integration.response.header.{name}
or
* integration.response.body.{JSON-expression}
, where name
is a valid and unique
* response header name and JSON-expression
is a valid JSON expression without the
* $
prefix.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResponseResult withResponseParameters(java.util.Map* Specifies the templates used to transform the integration response body. Response templates are represented as a * key/value map, with a content-type as the key and a template as the value. *
* * @return Specifies the templates used to transform the integration response body. Response templates are * represented as a key/value map, with a content-type as the key and a template as the value. */ public java.util.Map* Specifies the templates used to transform the integration response body. Response templates are represented as a * key/value map, with a content-type as the key and a template as the value. *
* * @param responseTemplates * Specifies the templates used to transform the integration response body. Response templates are * represented as a key/value map, with a content-type as the key and a template as the value. */ public void setResponseTemplates(java.util.Map* Specifies the templates used to transform the integration response body. Response templates are represented as a * key/value map, with a content-type as the key and a template as the value. *
* * @param responseTemplates * Specifies the templates used to transform the integration response body. Response templates are * represented as a key/value map, with a content-type as the key and a template as the value. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationResponseResult withResponseTemplates(java.util.Map
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
* * @param contentHandling * Specifies how to handle response payload content type conversions. Supported values are *CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
* * If this property is not defined, the response payload will be passed through from the integration response * to the method response without modification. * @see ContentHandlingStrategy */ public void setContentHandling(String contentHandling) { this.contentHandling = contentHandling; } /** *
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
* * @return Specifies how to handle response payload content type conversions. Supported values are *CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
* * If this property is not defined, the response payload will be passed through from the integration * response to the method response without modification. * @see ContentHandlingStrategy */ public String getContentHandling() { return this.contentHandling; } /** *
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
* * @param contentHandling * Specifies how to handle response payload content type conversions. Supported values are *CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
* * If this property is not defined, the response payload will be passed through from the integration response * to the method response without modification. * @return Returns a reference to this object so that method calls can be chained together. * @see ContentHandlingStrategy */ public UpdateIntegrationResponseResult withContentHandling(String contentHandling) { setContentHandling(contentHandling); return this; } /** *
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
* * @param contentHandling * Specifies how to handle response payload content type conversions. Supported values are *CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
* * If this property is not defined, the response payload will be passed through from the integration response * to the method response without modification. * @see ContentHandlingStrategy */ public void setContentHandling(ContentHandlingStrategy contentHandling) { withContentHandling(contentHandling); } /** *
* Specifies how to handle response payload content type conversions. Supported values are
* CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
*
* If this property is not defined, the response payload will be passed through from the integration response to the * method response without modification. *
* * @param contentHandling * Specifies how to handle response payload content type conversions. Supported values are *CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
* * If this property is not defined, the response payload will be passed through from the integration response * to the method response without modification. * @return Returns a reference to this object so that method calls can be chained together. * @see ContentHandlingStrategy */ public UpdateIntegrationResponseResult withContentHandling(ContentHandlingStrategy contentHandling) { this.contentHandling = contentHandling.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getStatusCode() != null) sb.append("StatusCode: ").append(getStatusCode()).append(","); if (getSelectionPattern() != null) sb.append("SelectionPattern: ").append(getSelectionPattern()).append(","); if (getResponseParameters() != null) sb.append("ResponseParameters: ").append(getResponseParameters()).append(","); if (getResponseTemplates() != null) sb.append("ResponseTemplates: ").append(getResponseTemplates()).append(","); if (getContentHandling() != null) sb.append("ContentHandling: ").append(getContentHandling()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateIntegrationResponseResult == false) return false; UpdateIntegrationResponseResult other = (UpdateIntegrationResponseResult) obj; if (other.getStatusCode() == null ^ this.getStatusCode() == null) return false; if (other.getStatusCode() != null && other.getStatusCode().equals(this.getStatusCode()) == false) return false; if (other.getSelectionPattern() == null ^ this.getSelectionPattern() == null) return false; if (other.getSelectionPattern() != null && other.getSelectionPattern().equals(this.getSelectionPattern()) == false) return false; if (other.getResponseParameters() == null ^ this.getResponseParameters() == null) return false; if (other.getResponseParameters() != null && other.getResponseParameters().equals(this.getResponseParameters()) == false) return false; if (other.getResponseTemplates() == null ^ this.getResponseTemplates() == null) return false; if (other.getResponseTemplates() != null && other.getResponseTemplates().equals(this.getResponseTemplates()) == false) return false; if (other.getContentHandling() == null ^ this.getContentHandling() == null) return false; if (other.getContentHandling() != null && other.getContentHandling().equals(this.getContentHandling()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStatusCode() == null) ? 0 : getStatusCode().hashCode()); hashCode = prime * hashCode + ((getSelectionPattern() == null) ? 0 : getSelectionPattern().hashCode()); hashCode = prime * hashCode + ((getResponseParameters() == null) ? 0 : getResponseParameters().hashCode()); hashCode = prime * hashCode + ((getResponseTemplates() == null) ? 0 : getResponseTemplates().hashCode()); hashCode = prime * hashCode + ((getContentHandling() == null) ? 0 : getContentHandling().hashCode()); return hashCode; } @Override public UpdateIntegrationResponseResult clone() { try { return (UpdateIntegrationResponseResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }