/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 a client-facing interface by which the client calls the API to * access back-end resources. A Method resource is integrated with an * Integration resource. Both consist of a request and one or more * responses. The method request takes the client input that is passed to the back * end through the integration request. A method response returns the output from * the back end to the client through an integration response. A method request is * embodied in a Method resource, whereas an integration request is embodied * in an Integration resource. On the other hand, a method response is * represented by a MethodResponse resource, whereas an integration response * is represented by an IntegrationResponse resource.

Example: Retrive the GET method on a specified * resource

Request

The following example request retrieves the * information about the GET method on an API resource (3kzxbg5sa2) of * an API (fugvjdxtri).

GET
   * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
   * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
   * 20160603T210259Z Authorization: AWS4-HMAC-SHA256
   * Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
   * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
   * "curies": [ { "href":
   * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
   * "name": "integration", "templated": true }, { "href":
   * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
   * "name": "integrationresponse", "templated": true }, { "href":
   * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
   * "name": "method", "templated": true }, { "href":
   * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
   * "name": "methodresponse", "templated": true } ], "self": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title":
   * "GET" }, "integration:put": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" },
   * "method:delete": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration":
   * { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" },
   * "method:responses": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name":
   * "200", "title": "200" }, "method:update": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put":
   * { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
   * "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE",
   * "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self":
   * { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" },
   * "integration:delete": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" },
   * "integration:responses": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
   * "name": "200", "title": "200" }, "integration:update": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" },
   * "integrationresponse:put": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
   * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
   * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
   * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": {
   * "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" },
   * "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri":
   * "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "_embedded": {
   * "integration:responses": { "_links": { "self": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
   * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
   * }, "integrationresponse:update": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
   * } }, "responseParameters": { "method.response.header.Content-Type":
   * "'application/xml'" }, "responseTemplates": { "application/json":
   * "$util.urlDecode(\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\")"
   * }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": {
   * "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
   * "name": "200", "title": "200" }, "methodresponse:delete": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" },
   * "methodresponse:update": { "href":
   * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } },
   * "responseModels": { "application/json": "Empty" }, "responseParameters": {
   * "method.response.header.Content-Type": false }, "statusCode": "200" } }
   * }

In the example above, the response template for the 200 * OK response maps the JSON output from the ListStreams action * in the back end to an XML output. The mapping template is URL-encoded as * %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E * and the output is decoded using the $util.urlDecode() * helper function.

See Also:

AWS * API Reference

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's HTTP verb.

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

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

*/ inline const Aws::String& GetAuthorizationType() const{ return m_authorizationType; } /** *

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

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

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

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

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

*/ inline void SetAuthorizationType(const char* value) { m_authorizationType.assign(value); } /** *

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

*/ inline PutMethodResult& WithAuthorizationType(const Aws::String& value) { SetAuthorizationType(value); return *this;} /** *

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

*/ inline PutMethodResult& WithAuthorizationType(Aws::String&& value) { SetAuthorizationType(std::move(value)); return *this;} /** *

The method's authorization type. Valid values are NONE for open * access, AWS_IAM for using AWS IAM permissions, CUSTOM * for using a custom authorizer, or COGNITO_USER_POOLS for using a * Cognito user pool.

*/ inline PutMethodResult& WithAuthorizationType(const char* value) { SetAuthorizationType(value); return *this;} /** *

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

*/ inline const Aws::String& GetAuthorizerId() const{ return m_authorizerId; } /** *

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

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

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

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

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

*/ inline void SetAuthorizerId(const char* value) { m_authorizerId.assign(value); } /** *

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

*/ inline PutMethodResult& WithAuthorizerId(const Aws::String& value) { SetAuthorizerId(value); return *this;} /** *

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

*/ inline PutMethodResult& WithAuthorizerId(Aws::String&& value) { SetAuthorizerId(std::move(value)); return *this;} /** *

The identifier of an Authorizer to use on this method. The * authorizationType must be CUSTOM.

*/ inline PutMethodResult& WithAuthorizerId(const char* value) { SetAuthorizerId(value); return *this;} /** *

A boolean flag specifying whether a valid ApiKey is required to invoke * this method.

*/ inline bool GetApiKeyRequired() const{ return m_apiKeyRequired; } /** *

A boolean flag specifying whether a valid ApiKey is required to invoke * this method.

*/ inline void SetApiKeyRequired(bool value) { m_apiKeyRequired = value; } /** *

A boolean flag specifying whether a valid ApiKey is required to invoke * this method.

*/ inline PutMethodResult& WithApiKeyRequired(bool value) { SetApiKeyRequired(value); return *this;} /** *

The identifier of a RequestValidator for request validation.

*/ inline const Aws::String& GetRequestValidatorId() const{ return m_requestValidatorId; } /** *

The identifier of a RequestValidator for request validation.

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

The identifier of a RequestValidator for request validation.

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

The identifier of a RequestValidator for request validation.

*/ inline void SetRequestValidatorId(const char* value) { m_requestValidatorId.assign(value); } /** *

The identifier of a RequestValidator for request validation.

*/ inline PutMethodResult& WithRequestValidatorId(const Aws::String& value) { SetRequestValidatorId(value); return *this;} /** *

The identifier of a RequestValidator for request validation.

*/ inline PutMethodResult& WithRequestValidatorId(Aws::String&& value) { SetRequestValidatorId(std::move(value)); return *this;} /** *

The identifier of a RequestValidator for request validation.

*/ inline PutMethodResult& WithRequestValidatorId(const char* value) { SetRequestValidatorId(value); return *this;} /** *

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

*/ inline const Aws::String& GetOperationName() const{ return m_operationName; } /** *

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

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

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

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

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

*/ inline void SetOperationName(const char* value) { m_operationName.assign(value); } /** *

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

*/ inline PutMethodResult& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} /** *

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

*/ inline PutMethodResult& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} /** *

A human-friendly operation identifier for the method. For example, you can * assign the operationName of ListPets for the GET * /pets method in the PetStore example.

*/ inline PutMethodResult& WithOperationName(const char* value) { SetOperationName(value); return *this;} /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline const Aws::Map& GetRequestParameters() const{ return m_requestParameters; } /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

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

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

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

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline PutMethodResult& WithRequestParameters(const Aws::Map& value) { SetRequestParameters(value); return *this;} /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline PutMethodResult& WithRequestParameters(Aws::Map&& value) { SetRequestParameters(std::move(value)); return *this;} /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline PutMethodResult& AddRequestParameters(const Aws::String& key, bool value) { m_requestParameters.emplace(key, value); return *this; } /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline PutMethodResult& AddRequestParameters(Aws::String&& key, bool value) { m_requestParameters.emplace(std::move(key), value); return *this; } /** *

A key-value map defining required or optional method request parameters that * can be accepted by API Gateway. A key is a method request parameter name * matching the pattern of method.request.{location}.{name}, where * location is querystring, path, or * header and name is a valid and unique parameter name. * The value associated with the key is a Boolean flag indicating whether the * parameter is required (true) or optional (false). The * method request parameter names defined here are available in Integration * to be mapped to integration request parameters or templates.

*/ inline PutMethodResult& AddRequestParameters(const char* key, bool value) { m_requestParameters.emplace(key, value); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline const Aws::Map& GetRequestModels() const{ return m_requestModels; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

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

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

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

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& WithRequestModels(const Aws::Map& value) { SetRequestModels(value); return *this;} /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& WithRequestModels(Aws::Map&& value) { SetRequestModels(std::move(value)); return *this;} /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(const Aws::String& key, const Aws::String& value) { m_requestModels.emplace(key, value); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(Aws::String&& key, const Aws::String& value) { m_requestModels.emplace(std::move(key), value); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(const Aws::String& key, Aws::String&& value) { m_requestModels.emplace(key, std::move(value)); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(Aws::String&& key, Aws::String&& value) { m_requestModels.emplace(std::move(key), std::move(value)); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(const char* key, Aws::String&& value) { m_requestModels.emplace(key, std::move(value)); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(Aws::String&& key, const char* value) { m_requestModels.emplace(std::move(key), value); return *this; } /** *

A key-value map specifying data schemas, represented by Model * resources, (as the mapped value) of the request payloads of given content types * (as the mapping key).

*/ inline PutMethodResult& AddRequestModels(const char* key, const char* value) { m_requestModels.emplace(key, value); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline const Aws::Map& GetMethodResponses() const{ return m_methodResponses; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

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

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

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

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& WithMethodResponses(const Aws::Map& value) { SetMethodResponses(value); return *this;} /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& WithMethodResponses(Aws::Map&& value) { SetMethodResponses(std::move(value)); return *this;} /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(const Aws::String& key, const MethodResponse& value) { m_methodResponses.emplace(key, value); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(Aws::String&& key, const MethodResponse& value) { m_methodResponses.emplace(std::move(key), value); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(const Aws::String& key, MethodResponse&& value) { m_methodResponses.emplace(key, std::move(value)); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(Aws::String&& key, MethodResponse&& value) { m_methodResponses.emplace(std::move(key), std::move(value)); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(const char* key, MethodResponse&& value) { m_methodResponses.emplace(key, std::move(value)); return *this; } /** *

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a * key-value map, where the key is a response's HTTP status code and the value is a * MethodResponse resource that specifies the response returned to the * caller from the back end through the integration response.

Example: Get * a 200 OK response of a GET method

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
     * "name": "methodresponse", "templated": true }, "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title":
     * "200" }, "methodresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" },
     * "methodresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } },
     * "responseModels": { "application/json": "Empty" }, "responseParameters": {
     * "method.response.header.operator": false, "method.response.header.operand_2":
     * false, "method.response.header.operand_1": false }, "statusCode": "200"
     * }

*/ inline PutMethodResult& AddMethodResponses(const char* key, const MethodResponse& value) { m_methodResponses.emplace(key, value); return *this; } /** *

Gets the method's integration responsible for passing the client-submitted * request to the back end and performing necessary transformations to make the * request compliant with the back end.

Example: *

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": [ { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
     * "name": "integration", "templated": true }, { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true } ], "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:responses": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integration:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integrationresponse:put": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
     * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
     * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
     * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": {
     * "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\":
     * \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" },
     * "type": "AWS", "uri":
     * "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
     * "_embedded": { "integration:responses": { "_links": { "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" },
     * "integrationresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }
     * }, "responseParameters": { "method.response.header.operator":
     * "integration.response.body.op", "method.response.header.operand_2":
     * "integration.response.body.b", "method.response.header.operand_1":
     * "integration.response.body.a" }, "responseTemplates": { "application/json":
     * "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op =>
     * $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
     * \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } }
     * }

*/ inline const Integration& GetMethodIntegration() const{ return m_methodIntegration; } /** *

Gets the method's integration responsible for passing the client-submitted * request to the back end and performing necessary transformations to make the * request compliant with the back end.

Example: *

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": [ { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
     * "name": "integration", "templated": true }, { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true } ], "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:responses": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integration:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integrationresponse:put": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
     * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
     * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
     * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": {
     * "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\":
     * \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" },
     * "type": "AWS", "uri":
     * "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
     * "_embedded": { "integration:responses": { "_links": { "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" },
     * "integrationresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }
     * }, "responseParameters": { "method.response.header.operator":
     * "integration.response.body.op", "method.response.header.operand_2":
     * "integration.response.body.b", "method.response.header.operand_1":
     * "integration.response.body.a" }, "responseTemplates": { "application/json":
     * "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op =>
     * $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
     * \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } }
     * }

*/ inline void SetMethodIntegration(const Integration& value) { m_methodIntegration = value; } /** *

Gets the method's integration responsible for passing the client-submitted * request to the back end and performing necessary transformations to make the * request compliant with the back end.

Example: *

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": [ { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
     * "name": "integration", "templated": true }, { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true } ], "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:responses": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integration:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integrationresponse:put": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
     * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
     * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
     * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": {
     * "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\":
     * \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" },
     * "type": "AWS", "uri":
     * "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
     * "_embedded": { "integration:responses": { "_links": { "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" },
     * "integrationresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }
     * }, "responseParameters": { "method.response.header.operator":
     * "integration.response.body.op", "method.response.header.operand_2":
     * "integration.response.body.b", "method.response.header.operand_1":
     * "integration.response.body.a" }, "responseTemplates": { "application/json":
     * "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op =>
     * $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
     * \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } }
     * }

*/ inline void SetMethodIntegration(Integration&& value) { m_methodIntegration = std::move(value); } /** *

Gets the method's integration responsible for passing the client-submitted * request to the back end and performing necessary transformations to make the * request compliant with the back end.

Example: *

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": [ { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
     * "name": "integration", "templated": true }, { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true } ], "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:responses": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integration:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integrationresponse:put": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
     * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
     * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
     * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": {
     * "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\":
     * \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" },
     * "type": "AWS", "uri":
     * "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
     * "_embedded": { "integration:responses": { "_links": { "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" },
     * "integrationresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }
     * }, "responseParameters": { "method.response.header.operator":
     * "integration.response.body.op", "method.response.header.operand_2":
     * "integration.response.body.b", "method.response.header.operand_1":
     * "integration.response.body.a" }, "responseTemplates": { "application/json":
     * "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op =>
     * $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
     * \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } }
     * }

*/ inline PutMethodResult& WithMethodIntegration(const Integration& value) { SetMethodIntegration(value); return *this;} /** *

Gets the method's integration responsible for passing the client-submitted * request to the back end and performing necessary transformations to make the * request compliant with the back end.

Example: *

Request

GET
     * /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
     * Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
     * Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
     * "curies": [ { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
     * "name": "integration", "templated": true }, { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true } ], "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integration:responses": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integration:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" },
     * "integrationresponse:put": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
     * "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
     * "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
     * "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": {
     * "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\":
     * \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" },
     * "type": "AWS", "uri":
     * "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations",
     * "_embedded": { "integration:responses": { "_links": { "self": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
     * "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" },
     * "integrationresponse:update": { "href":
     * "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }
     * }, "responseParameters": { "method.response.header.operator":
     * "integration.response.body.op", "method.response.header.operand_2":
     * "integration.response.body.b", "method.response.header.operand_1":
     * "integration.response.body.a" }, "responseTemplates": { "application/json":
     * "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op =>
     * $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
     * \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } }
     * }

*/ inline PutMethodResult& WithMethodIntegration(Integration&& value) { SetMethodIntegration(std::move(value)); return *this;} /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline const Aws::Vector& GetAuthorizationScopes() const{ return m_authorizationScopes; } /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline void SetAuthorizationScopes(const Aws::Vector& value) { m_authorizationScopes = value; } /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline void SetAuthorizationScopes(Aws::Vector&& value) { m_authorizationScopes = std::move(value); } /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline PutMethodResult& WithAuthorizationScopes(const Aws::Vector& value) { SetAuthorizationScopes(value); return *this;} /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline PutMethodResult& WithAuthorizationScopes(Aws::Vector&& value) { SetAuthorizationScopes(std::move(value)); return *this;} /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline PutMethodResult& AddAuthorizationScopes(const Aws::String& value) { m_authorizationScopes.push_back(value); return *this; } /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline PutMethodResult& AddAuthorizationScopes(Aws::String&& value) { m_authorizationScopes.push_back(std::move(value)); return *this; } /** *

A list of authorization scopes configured on the method. The scopes are used * with a COGNITO_USER_POOLS authorizer to authorize the method * invocation. The authorization works by matching the method scopes against the * scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the * access token. Otherwise, the invocation is not authorized. When the method scope * is configured, the client must provide an access token instead of an identity * token for authorization purposes.

*/ inline PutMethodResult& AddAuthorizationScopes(const char* value) { m_authorizationScopes.push_back(value); return *this; } private: Aws::String m_httpMethod; Aws::String m_authorizationType; Aws::String m_authorizerId; bool m_apiKeyRequired; Aws::String m_requestValidatorId; Aws::String m_operationName; Aws::Map m_requestParameters; Aws::Map m_requestModels; Aws::Map m_methodResponses; Integration m_methodIntegration; Aws::Vector m_authorizationScopes; }; } // namespace Model } // namespace APIGateway } // namespace Aws