/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

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.

See Also:

AWS * API Reference

*/ class GetIntegrationResponseResult { public: AWS_APIGATEWAY_API GetIntegrationResponseResult(); AWS_APIGATEWAY_API GetIntegrationResponseResult(const Aws::AmazonWebServiceResult& result); AWS_APIGATEWAY_API GetIntegrationResponseResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline const Aws::String& GetStatusCode() const{ return m_statusCode; } /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline void SetStatusCode(const Aws::String& value) { m_statusCode = value; } /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline void SetStatusCode(Aws::String&& value) { m_statusCode = std::move(value); } /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline void SetStatusCode(const char* value) { m_statusCode.assign(value); } /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline GetIntegrationResponseResult& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;} /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline GetIntegrationResponseResult& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;} /** *

Specifies the status code that is used to map the integration response to an * existing MethodResponse.

*/ inline GetIntegrationResponseResult& WithStatusCode(const char* value) { SetStatusCode(value); 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.

*/ inline const Aws::String& GetSelectionPattern() const{ return m_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.

*/ inline void SetSelectionPattern(const Aws::String& value) { m_selectionPattern = value; } /** *

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.

*/ inline void SetSelectionPattern(Aws::String&& value) { m_selectionPattern = std::move(value); } /** *

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.

*/ inline void SetSelectionPattern(const char* value) { m_selectionPattern.assign(value); } /** *

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.

*/ inline GetIntegrationResponseResult& WithSelectionPattern(const Aws::String& value) { SetSelectionPattern(value); 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.

*/ inline GetIntegrationResponseResult& WithSelectionPattern(Aws::String&& value) { SetSelectionPattern(std::move(value)); 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.

*/ inline GetIntegrationResponseResult& WithSelectionPattern(const char* value) { SetSelectionPattern(value); 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.

*/ inline const Aws::Map& GetResponseParameters() const{ return m_responseParameters; } /** *

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.

*/ inline void SetResponseParameters(const Aws::Map& value) { m_responseParameters = value; } /** *

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.

*/ inline void SetResponseParameters(Aws::Map&& value) { m_responseParameters = std::move(value); } /** *

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.

*/ inline GetIntegrationResponseResult& WithResponseParameters(const Aws::Map& value) { SetResponseParameters(value); 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.

*/ inline GetIntegrationResponseResult& WithResponseParameters(Aws::Map&& value) { SetResponseParameters(std::move(value)); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(const Aws::String& key, const Aws::String& value) { m_responseParameters.emplace(key, value); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(Aws::String&& key, const Aws::String& value) { m_responseParameters.emplace(std::move(key), value); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(const Aws::String& key, Aws::String&& value) { m_responseParameters.emplace(key, std::move(value)); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(Aws::String&& key, Aws::String&& value) { m_responseParameters.emplace(std::move(key), std::move(value)); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(const char* key, Aws::String&& value) { m_responseParameters.emplace(key, std::move(value)); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(Aws::String&& key, const char* value) { m_responseParameters.emplace(std::move(key), value); 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.

*/ inline GetIntegrationResponseResult& AddResponseParameters(const char* key, const char* value) { m_responseParameters.emplace(key, value); return *this; } /** *

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.

*/ inline const Aws::Map& GetResponseTemplates() const{ return m_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.

*/ inline void SetResponseTemplates(const Aws::Map& value) { m_responseTemplates = value; } /** *

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.

*/ inline void SetResponseTemplates(Aws::Map&& value) { m_responseTemplates = std::move(value); } /** *

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.

*/ inline GetIntegrationResponseResult& WithResponseTemplates(const Aws::Map& value) { SetResponseTemplates(value); return *this;} /** *

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.

*/ inline GetIntegrationResponseResult& WithResponseTemplates(Aws::Map&& value) { SetResponseTemplates(std::move(value)); return *this;} /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(const Aws::String& key, const Aws::String& value) { m_responseTemplates.emplace(key, value); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(Aws::String&& key, const Aws::String& value) { m_responseTemplates.emplace(std::move(key), value); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(const Aws::String& key, Aws::String&& value) { m_responseTemplates.emplace(key, std::move(value)); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(Aws::String&& key, Aws::String&& value) { m_responseTemplates.emplace(std::move(key), std::move(value)); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(const char* key, Aws::String&& value) { m_responseTemplates.emplace(key, std::move(value)); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(Aws::String&& key, const char* value) { m_responseTemplates.emplace(std::move(key), value); return *this; } /** *

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.

*/ inline GetIntegrationResponseResult& AddResponseTemplates(const char* key, const char* value) { m_responseTemplates.emplace(key, value); 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.

*/ inline const ContentHandlingStrategy& GetContentHandling() const{ return m_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.

*/ inline void SetContentHandling(const ContentHandlingStrategy& value) { m_contentHandling = value; } /** *

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.

*/ inline void SetContentHandling(ContentHandlingStrategy&& value) { m_contentHandling = std::move(value); } /** *

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.

*/ inline GetIntegrationResponseResult& WithContentHandling(const ContentHandlingStrategy& value) { SetContentHandling(value); 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.

*/ inline GetIntegrationResponseResult& WithContentHandling(ContentHandlingStrategy&& value) { SetContentHandling(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetIntegrationResponseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetIntegrationResponseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetIntegrationResponseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_statusCode; Aws::String m_selectionPattern; Aws::Map m_responseParameters; Aws::Map m_responseTemplates; ContentHandlingStrategy m_contentHandling; Aws::String m_requestId; }; } // namespace Model } // namespace APIGateway } // namespace Aws