/** * 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 { namespace APIGateway { namespace Model { /** *

Request to add a MethodResponse to an existing Method resource.

See * Also:

AWS * API Reference

*/ class PutMethodResponseRequest : public APIGatewayRequest { public: AWS_APIGATEWAY_API PutMethodResponseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutMethodResponse"; } AWS_APIGATEWAY_API Aws::String SerializePayload() const override; /** *

The string identifier of the associated RestApi.

*/ inline const Aws::String& GetRestApiId() const{ return m_restApiId; } /** *

The string identifier of the associated RestApi.

*/ inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); } /** *

The string identifier of the associated RestApi.

*/ inline PutMethodResponseRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline PutMethodResponseRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline PutMethodResponseRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;} /** *

The Resource identifier for the Method resource.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The Resource identifier for the Method resource.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The Resource identifier for the Method resource.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The Resource identifier for the Method resource.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The Resource identifier for the Method resource.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The Resource identifier for the Method resource.

*/ inline PutMethodResponseRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The Resource identifier for the Method resource.

*/ inline PutMethodResponseRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The Resource identifier for the Method resource.

*/ inline PutMethodResponseRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The HTTP verb of the Method resource.

*/ inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; } /** *

The HTTP verb of the Method resource.

*/ inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; } /** *

The HTTP verb of the Method resource.

*/ inline void SetHttpMethod(const Aws::String& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; } /** *

The HTTP verb of the Method resource.

*/ inline void SetHttpMethod(Aws::String&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); } /** *

The HTTP verb of the Method resource.

*/ inline void SetHttpMethod(const char* value) { m_httpMethodHasBeenSet = true; m_httpMethod.assign(value); } /** *

The HTTP verb of the Method resource.

*/ inline PutMethodResponseRequest& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;} /** *

The HTTP verb of the Method resource.

*/ inline PutMethodResponseRequest& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;} /** *

The HTTP verb of the Method resource.

*/ inline PutMethodResponseRequest& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;} /** *

The method response's status code.

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

The method response's status code.

*/ inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } /** *

The method response's status code.

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

The method response's status code.

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

The method response's status code.

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

The method response's status code.

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

The method response's status code.

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

The method response's status code.

*/ inline PutMethodResponseRequest& WithStatusCode(const char* value) { SetStatusCode(value); return *this;} /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

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

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline bool ResponseParametersHasBeenSet() const { return m_responseParametersHasBeenSet; } /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

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

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

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

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline PutMethodResponseRequest& WithResponseParameters(const Aws::Map& value) { SetResponseParameters(value); return *this;} /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline PutMethodResponseRequest& WithResponseParameters(Aws::Map&& value) { SetResponseParameters(std::move(value)); return *this;} /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline PutMethodResponseRequest& AddResponseParameters(const Aws::String& key, bool value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; } /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline PutMethodResponseRequest& AddResponseParameters(Aws::String&& key, bool value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), value); return *this; } /** *

A key-value map specifying required or optional response parameters that API * Gateway can send back to the caller. A key defines a method response header name * and the associated value is a Boolean flag indicating whether the method * response parameter is required or not. The method response header names must * match the pattern of method.response.header.{name}, where * name is a valid and unique header name. The response parameter * names defined here are available in the integration response to be mapped from * an integration response header expressed in * integration.response.header.{name}, a static value enclosed within * a pair of single quotes (e.g., 'application/json'), or a JSON * expression from the back-end response payload in the form of * integration.response.body.{JSON-expression}, where * JSON-expression is a valid JSON expression without the * $ prefix.)

*/ inline PutMethodResponseRequest& AddResponseParameters(const char* key, bool value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline const Aws::Map& GetResponseModels() const{ return m_responseModels; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline bool ResponseModelsHasBeenSet() const { return m_responseModelsHasBeenSet; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline void SetResponseModels(const Aws::Map& value) { m_responseModelsHasBeenSet = true; m_responseModels = value; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline void SetResponseModels(Aws::Map&& value) { m_responseModelsHasBeenSet = true; m_responseModels = std::move(value); } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& WithResponseModels(const Aws::Map& value) { SetResponseModels(value); return *this;} /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& WithResponseModels(Aws::Map&& value) { SetResponseModels(std::move(value)); return *this;} /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(const Aws::String& key, const Aws::String& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, value); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(Aws::String&& key, const Aws::String& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), value); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(const Aws::String& key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, std::move(value)); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(Aws::String&& key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(const char* key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, std::move(value)); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(Aws::String&& key, const char* value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), value); return *this; } /** *

Specifies the Model resources used for the response's content type. Response * models are represented as a key/value map, with a content type as the key and a * Model name as the value.

*/ inline PutMethodResponseRequest& AddResponseModels(const char* key, const char* value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, value); return *this; } private: Aws::String m_restApiId; bool m_restApiIdHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_httpMethod; bool m_httpMethodHasBeenSet = false; Aws::String m_statusCode; bool m_statusCodeHasBeenSet = false; Aws::Map m_responseParameters; bool m_responseParametersHasBeenSet = false; Aws::Map m_responseModels; bool m_responseModelsHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws