/** * 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 API resource.

See Also:

AWS * API Reference

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

The resource's identifier.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The resource's identifier.

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

The resource's identifier.

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

The resource's identifier.

*/ inline void SetId(const char* value) { m_id.assign(value); } /** *

The resource's identifier.

*/ inline GetResourceResult& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The resource's identifier.

*/ inline GetResourceResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The resource's identifier.

*/ inline GetResourceResult& WithId(const char* value) { SetId(value); return *this;} /** *

The parent resource's identifier.

*/ inline const Aws::String& GetParentId() const{ return m_parentId; } /** *

The parent resource's identifier.

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

The parent resource's identifier.

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

The parent resource's identifier.

*/ inline void SetParentId(const char* value) { m_parentId.assign(value); } /** *

The parent resource's identifier.

*/ inline GetResourceResult& WithParentId(const Aws::String& value) { SetParentId(value); return *this;} /** *

The parent resource's identifier.

*/ inline GetResourceResult& WithParentId(Aws::String&& value) { SetParentId(std::move(value)); return *this;} /** *

The parent resource's identifier.

*/ inline GetResourceResult& WithParentId(const char* value) { SetParentId(value); return *this;} /** *

The last path segment for this resource.

*/ inline const Aws::String& GetPathPart() const{ return m_pathPart; } /** *

The last path segment for this resource.

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

The last path segment for this resource.

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

The last path segment for this resource.

*/ inline void SetPathPart(const char* value) { m_pathPart.assign(value); } /** *

The last path segment for this resource.

*/ inline GetResourceResult& WithPathPart(const Aws::String& value) { SetPathPart(value); return *this;} /** *

The last path segment for this resource.

*/ inline GetResourceResult& WithPathPart(Aws::String&& value) { SetPathPart(std::move(value)); return *this;} /** *

The last path segment for this resource.

*/ inline GetResourceResult& WithPathPart(const char* value) { SetPathPart(value); return *this;} /** *

The full path for this resource.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The full path for this resource.

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

The full path for this resource.

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

The full path for this resource.

*/ inline void SetPath(const char* value) { m_path.assign(value); } /** *

The full path for this resource.

*/ inline GetResourceResult& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The full path for this resource.

*/ inline GetResourceResult& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The full path for this resource.

*/ inline GetResourceResult& WithPath(const char* value) { SetPath(value); return *this;} /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline const Aws::Map& GetResourceMethods() const{ return m_resourceMethods; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

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

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

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

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& WithResourceMethods(const Aws::Map& value) { SetResourceMethods(value); return *this;} /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& WithResourceMethods(Aws::Map&& value) { SetResourceMethods(std::move(value)); return *this;} /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(const Aws::String& key, const Method& value) { m_resourceMethods.emplace(key, value); return *this; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(Aws::String&& key, const Method& value) { m_resourceMethods.emplace(std::move(key), value); return *this; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(const Aws::String& key, Method&& value) { m_resourceMethods.emplace(key, std::move(value)); return *this; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(Aws::String&& key, Method&& value) { m_resourceMethods.emplace(std::move(key), std::move(value)); return *this; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(const char* key, Method&& value) { m_resourceMethods.emplace(key, std::move(value)); return *this; } /** *

Gets an API resource's method of a given HTTP verb.

*

The resource methods are a map of methods indexed by methods' HTTP verbs * enabled on the resource. This method map is included in the 200 OK * response of the GET /restapis/{restapi_id}/resources/{resource_id} * or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods * request.

Example: Get the GET method of an API resource

*
Request
GET
     * /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
     * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
     * 20170223T031827Z Authorization: AWS4-HMAC-SHA256
     * Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
     * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
*
Response
{ "_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": false, "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#foreach($stream in
     * $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
     * }, "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" } }
     * }

If the OPTIONS is enabled on the resource, you * can follow the example here to get that method. Just replace the * GET of the last path segment in the request URL with * OPTIONS.

*/ inline GetResourceResult& AddResourceMethods(const char* key, const Method& value) { m_resourceMethods.emplace(key, value); return *this; } private: Aws::String m_id; Aws::String m_parentId; Aws::String m_pathPart; Aws::String m_path; Aws::Map m_resourceMethods; }; } // namespace Model } // namespace APIGateway } // namespace Aws