/** * 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 #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.

In the API Gateway console, the built-in Lambda integration is * an AWS integration.

See Also:

AWS * API Reference

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

Specifies an API method integration type. The valid value is one of the * following:

  • AWS: for integrating the API method request * with an AWS service action, including the Lambda function-invoking action. With * the Lambda function-invoking action, this is referred to as the Lambda custom * integration. With any other AWS service action, this is known as AWS * integration.
  • AWS_PROXY: for integrating the API method * request with the Lambda function-invoking action with the client request passed * through as-is. This integration is also referred to as the Lambda proxy * integration.
  • HTTP: for integrating the API method request * with an HTTP endpoint, including a private HTTP endpoint within a VPC. This * integration is also referred to as the HTTP custom integration.
  • *
  • HTTP_PROXY: for integrating the API method request with an HTTP * endpoint, including a private HTTP endpoint within a VPC, with the client * request passed through as-is. This is also referred to as the HTTP proxy * integration.
  • MOCK: for integrating the API method request * with API Gateway as a "loop-back" endpoint without invoking any backend.
  • *

For the HTTP and HTTP proxy integrations, each integration can specify * a protocol (http/https), port and path. Standard 80 and 443 ports * are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API * Gateway to a network load balancer of a VPC.

*/ inline const IntegrationType& GetType() const{ return m_type; } /** *

Specifies an API method integration type. The valid value is one of the * following:

  • AWS: for integrating the API method request * with an AWS service action, including the Lambda function-invoking action. With * the Lambda function-invoking action, this is referred to as the Lambda custom * integration. With any other AWS service action, this is known as AWS * integration.
  • AWS_PROXY: for integrating the API method * request with the Lambda function-invoking action with the client request passed * through as-is. This integration is also referred to as the Lambda proxy * integration.
  • HTTP: for integrating the API method request * with an HTTP endpoint, including a private HTTP endpoint within a VPC. This * integration is also referred to as the HTTP custom integration.
  • *
  • HTTP_PROXY: for integrating the API method request with an HTTP * endpoint, including a private HTTP endpoint within a VPC, with the client * request passed through as-is. This is also referred to as the HTTP proxy * integration.
  • MOCK: for integrating the API method request * with API Gateway as a "loop-back" endpoint without invoking any backend.
  • *

For the HTTP and HTTP proxy integrations, each integration can specify * a protocol (http/https), port and path. Standard 80 and 443 ports * are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API * Gateway to a network load balancer of a VPC.

*/ inline void SetType(const IntegrationType& value) { m_type = value; } /** *

Specifies an API method integration type. The valid value is one of the * following:

  • AWS: for integrating the API method request * with an AWS service action, including the Lambda function-invoking action. With * the Lambda function-invoking action, this is referred to as the Lambda custom * integration. With any other AWS service action, this is known as AWS * integration.
  • AWS_PROXY: for integrating the API method * request with the Lambda function-invoking action with the client request passed * through as-is. This integration is also referred to as the Lambda proxy * integration.
  • HTTP: for integrating the API method request * with an HTTP endpoint, including a private HTTP endpoint within a VPC. This * integration is also referred to as the HTTP custom integration.
  • *
  • HTTP_PROXY: for integrating the API method request with an HTTP * endpoint, including a private HTTP endpoint within a VPC, with the client * request passed through as-is. This is also referred to as the HTTP proxy * integration.
  • MOCK: for integrating the API method request * with API Gateway as a "loop-back" endpoint without invoking any backend.
  • *

For the HTTP and HTTP proxy integrations, each integration can specify * a protocol (http/https), port and path. Standard 80 and 443 ports * are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API * Gateway to a network load balancer of a VPC.

*/ inline void SetType(IntegrationType&& value) { m_type = std::move(value); } /** *

Specifies an API method integration type. The valid value is one of the * following:

  • AWS: for integrating the API method request * with an AWS service action, including the Lambda function-invoking action. With * the Lambda function-invoking action, this is referred to as the Lambda custom * integration. With any other AWS service action, this is known as AWS * integration.
  • AWS_PROXY: for integrating the API method * request with the Lambda function-invoking action with the client request passed * through as-is. This integration is also referred to as the Lambda proxy * integration.
  • HTTP: for integrating the API method request * with an HTTP endpoint, including a private HTTP endpoint within a VPC. This * integration is also referred to as the HTTP custom integration.
  • *
  • HTTP_PROXY: for integrating the API method request with an HTTP * endpoint, including a private HTTP endpoint within a VPC, with the client * request passed through as-is. This is also referred to as the HTTP proxy * integration.
  • MOCK: for integrating the API method request * with API Gateway as a "loop-back" endpoint without invoking any backend.
  • *

For the HTTP and HTTP proxy integrations, each integration can specify * a protocol (http/https), port and path. Standard 80 and 443 ports * are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API * Gateway to a network load balancer of a VPC.

*/ inline PutIntegrationResult& WithType(const IntegrationType& value) { SetType(value); return *this;} /** *

Specifies an API method integration type. The valid value is one of the * following:

  • AWS: for integrating the API method request * with an AWS service action, including the Lambda function-invoking action. With * the Lambda function-invoking action, this is referred to as the Lambda custom * integration. With any other AWS service action, this is known as AWS * integration.
  • AWS_PROXY: for integrating the API method * request with the Lambda function-invoking action with the client request passed * through as-is. This integration is also referred to as the Lambda proxy * integration.
  • HTTP: for integrating the API method request * with an HTTP endpoint, including a private HTTP endpoint within a VPC. This * integration is also referred to as the HTTP custom integration.
  • *
  • HTTP_PROXY: for integrating the API method request with an HTTP * endpoint, including a private HTTP endpoint within a VPC, with the client * request passed through as-is. This is also referred to as the HTTP proxy * integration.
  • MOCK: for integrating the API method request * with API Gateway as a "loop-back" endpoint without invoking any backend.
  • *

For the HTTP and HTTP proxy integrations, each integration can specify * a protocol (http/https), port and path. Standard 80 and 443 ports * are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API * Gateway to a network load balancer of a VPC.

*/ inline PutIntegrationResult& WithType(IntegrationType&& value) { SetType(std::move(value)); return *this;} /** *

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    *
*/ inline const Aws::String& GetUri() const{ return m_uri; } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

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

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

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

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    *
*/ inline void SetUri(const char* value) { m_uri.assign(value); } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    *
*/ inline PutIntegrationResult& WithUri(const Aws::String& value) { SetUri(value); return *this;} /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    *
*/ inline PutIntegrationResult& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*
  • For HTTP or HTTP_PROXY integrations, the * URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 * specification, for either standard integration, where * connectionType is not VPC_LINK, or private * integration, where connectionType is VPC_LINK. For a * private HTTP integration, the URI is not used for routing.

  • * For AWS or AWS_PROXY integrations, the URI is of the * form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., * us-east-1); {service} is the name of the integrated * AWS service (e.g., s3); and {subdomain} is a * designated subdomain supported by certain AWS service for fast host-name lookup. * action can be used for an AWS service action-based API, using an * Action={name}&{p1}={v1}&p2={v2}... query string. The * ensuing {service_api} refers to a supported action * {name} plus any required input parameters. Alternatively, * path can be used for an AWS service path-based API. The ensuing * service_api refers to the path to an AWS service resource, * including the region of the integrated AWS service, if applicable. For example, * for integration with the S3 API of GetObject, * the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

    *
*/ inline PutIntegrationResult& WithUri(const char* value) { SetUri(value); return *this;} /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline void SetConnectionType(const ConnectionType& value) { m_connectionType = value; } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline void SetConnectionType(ConnectionType&& value) { m_connectionType = std::move(value); } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline PutIntegrationResult& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline PutIntegrationResult& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} /** *

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline const Aws::String& GetConnectionId() const{ return m_connectionId; } /** *

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

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

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

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

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline void SetConnectionId(const char* value) { m_connectionId.assign(value); } /** *

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline PutIntegrationResult& WithConnectionId(const Aws::String& value) { SetConnectionId(value); return *this;} /** *

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline PutIntegrationResult& WithConnectionId(Aws::String&& value) { SetConnectionId(std::move(value)); return *this;} /** *

The (id) * of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline PutIntegrationResult& WithConnectionId(const char* value) { SetConnectionId(value); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline const Aws::String& GetCredentials() const{ return m_credentials; } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

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

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

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

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline void SetCredentials(const char* value) { m_credentials.assign(value); } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline PutIntegrationResult& WithCredentials(const Aws::String& value) { SetCredentials(value); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline PutIntegrationResult& WithCredentials(Aws::String&& value) { SetCredentials(std::move(value)); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline PutIntegrationResult& WithCredentials(const char* value) { SetCredentials(value); return *this;} /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

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

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline const Aws::Map& GetRequestTemplates() const{ return m_requestTemplates; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

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

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

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

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& WithRequestTemplates(const Aws::Map& value) { SetRequestTemplates(value); return *this;} /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& WithRequestTemplates(Aws::Map&& value) { SetRequestTemplates(std::move(value)); return *this;} /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(const Aws::String& key, const Aws::String& value) { m_requestTemplates.emplace(key, value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(Aws::String&& key, const Aws::String& value) { m_requestTemplates.emplace(std::move(key), value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(const Aws::String& key, Aws::String&& value) { m_requestTemplates.emplace(key, std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(Aws::String&& key, Aws::String&& value) { m_requestTemplates.emplace(std::move(key), std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(const char* key, Aws::String&& value) { m_requestTemplates.emplace(key, std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(Aws::String&& key, const char* value) { m_requestTemplates.emplace(std::move(key), value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline PutIntegrationResult& AddRequestTemplates(const char* key, const char* value) { m_requestTemplates.emplace(key, value); return *this; } /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline const Aws::String& GetPassthroughBehavior() const{ return m_passthroughBehavior; } /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline void SetPassthroughBehavior(const Aws::String& value) { m_passthroughBehavior = value; } /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline void SetPassthroughBehavior(Aws::String&& value) { m_passthroughBehavior = std::move(value); } /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline void SetPassthroughBehavior(const char* value) { m_passthroughBehavior.assign(value); } /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline PutIntegrationResult& WithPassthroughBehavior(const Aws::String& value) { SetPassthroughBehavior(value); return *this;} /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline PutIntegrationResult& WithPassthroughBehavior(Aws::String&& value) { SetPassthroughBehavior(std::move(value)); return *this;} /** *

Specifies how the method request body of an unmapped content type will * be passed through the integration request to the back end without * transformation. A content type is unmapped if no mapping template is defined in * the integration or the content type does not match any of the mapped content * types, as specified in requestTemplates. The valid value is one of * the following:

  • WHEN_NO_MATCH: passes the method * request body through the integration request to the back end without * transformation when the method request content type does not match any content * type associated with the mapping templates defined in the integration request. *
  • WHEN_NO_TEMPLATES: passes the method request body * through the integration request to the back end without transformation when no * mapping template is defined in the integration request. If a template is defined * when this option is selected, the method request of an unmapped content-type * will be rejected with an HTTP 415 Unsupported Media Type response. *
  • NEVER: rejects the method request with an HTTP 415 * Unsupported Media Type response when either the method request content * type does not match any content type associated with the mapping templates * defined in the integration request or no mapping template is defined in the * integration request.
*/ inline PutIntegrationResult& WithPassthroughBehavior(const char* value) { SetPassthroughBehavior(value); return *this;} /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

  • CONVERT_TO_BINARY: * Converts a request payload from a Base64-encoded string to the corresponding * binary blob.

  • CONVERT_TO_TEXT: Converts a request * payload from a binary blob to a Base64-encoded string.

If this * property is not defined, the request payload will be passed through from the * method request to integration request without modification, provided that the * passthroughBehavior is configured to support payload * pass-through.

*/ inline const ContentHandlingStrategy& GetContentHandling() const{ return m_contentHandling; } /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

  • CONVERT_TO_BINARY: * Converts a request payload from a Base64-encoded string to the corresponding * binary blob.

  • CONVERT_TO_TEXT: Converts a request * payload from a binary blob to a Base64-encoded string.

If this * property is not defined, the request payload will be passed through from the * method request to integration request without modification, provided that the * passthroughBehavior is configured to support payload * pass-through.

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

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

  • CONVERT_TO_BINARY: * Converts a request payload from a Base64-encoded string to the corresponding * binary blob.

  • CONVERT_TO_TEXT: Converts a request * payload from a binary blob to a Base64-encoded string.

If this * property is not defined, the request payload will be passed through from the * method request to integration request without modification, provided that the * passthroughBehavior is configured to support payload * pass-through.

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

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

  • CONVERT_TO_BINARY: * Converts a request payload from a Base64-encoded string to the corresponding * binary blob.

  • CONVERT_TO_TEXT: Converts a request * payload from a binary blob to a Base64-encoded string.

If this * property is not defined, the request payload will be passed through from the * method request to integration request without modification, provided that the * passthroughBehavior is configured to support payload * pass-through.

*/ inline PutIntegrationResult& WithContentHandling(const ContentHandlingStrategy& value) { SetContentHandling(value); return *this;} /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

  • CONVERT_TO_BINARY: * Converts a request payload from a Base64-encoded string to the corresponding * binary blob.

  • CONVERT_TO_TEXT: Converts a request * payload from a binary blob to a Base64-encoded string.

If this * property is not defined, the request payload will be passed through from the * method request to integration request without modification, provided that the * passthroughBehavior is configured to support payload * pass-through.

*/ inline PutIntegrationResult& WithContentHandling(ContentHandlingStrategy&& value) { SetContentHandling(std::move(value)); return *this;} /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline int GetTimeoutInMillis() const{ return m_timeoutInMillis; } /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline void SetTimeoutInMillis(int value) { m_timeoutInMillis = value; } /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline PutIntegrationResult& WithTimeoutInMillis(int value) { SetTimeoutInMillis(value); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline const Aws::String& GetCacheNamespace() const{ return m_cacheNamespace; } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

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

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

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

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline void SetCacheNamespace(const char* value) { m_cacheNamespace.assign(value); } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline PutIntegrationResult& WithCacheNamespace(const Aws::String& value) { SetCacheNamespace(value); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline PutIntegrationResult& WithCacheNamespace(Aws::String&& value) { SetCacheNamespace(std::move(value)); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline PutIntegrationResult& WithCacheNamespace(const char* value) { SetCacheNamespace(value); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline const Aws::Vector& GetCacheKeyParameters() const{ return m_cacheKeyParameters; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

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

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

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

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline PutIntegrationResult& WithCacheKeyParameters(const Aws::Vector& value) { SetCacheKeyParameters(value); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline PutIntegrationResult& WithCacheKeyParameters(Aws::Vector&& value) { SetCacheKeyParameters(std::move(value)); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline PutIntegrationResult& AddCacheKeyParameters(const Aws::String& value) { m_cacheKeyParameters.push_back(value); return *this; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline PutIntegrationResult& AddCacheKeyParameters(Aws::String&& value) { m_cacheKeyParameters.push_back(std::move(value)); return *this; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline PutIntegrationResult& AddCacheKeyParameters(const char* value) { m_cacheKeyParameters.push_back(value); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline const Aws::Map& GetIntegrationResponses() const{ return m_integrationResponses; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

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

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

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

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& WithIntegrationResponses(const Aws::Map& value) { SetIntegrationResponses(value); return *this;} /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& WithIntegrationResponses(Aws::Map&& value) { SetIntegrationResponses(std::move(value)); return *this;} /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(const Aws::String& key, const IntegrationResponse& value) { m_integrationResponses.emplace(key, value); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(Aws::String&& key, const IntegrationResponse& value) { m_integrationResponses.emplace(std::move(key), value); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(const Aws::String& key, IntegrationResponse&& value) { m_integrationResponses.emplace(key, std::move(value)); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(Aws::String&& key, IntegrationResponse&& value) { m_integrationResponses.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(const char* key, IntegrationResponse&& value) { m_integrationResponses.emplace(key, std::move(value)); return *this; } /** *

Specifies the integration's responses.

*

Example: Get integration responses of a method

Request

*

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

The successful response returns 200 OK status * and a payload as follows:

{ "_links": { "curies": { "href":
     * "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
     * "name": "integrationresponse", "templated": true }, "self": { "href":
     * "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/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" }

*/ inline PutIntegrationResult& AddIntegrationResponses(const char* key, const IntegrationResponse& value) { m_integrationResponses.emplace(key, value); return *this; } /** *

Specifies the TLS configuration for an integration.

*/ inline const TlsConfig& GetTlsConfig() const{ return m_tlsConfig; } /** *

Specifies the TLS configuration for an integration.

*/ inline void SetTlsConfig(const TlsConfig& value) { m_tlsConfig = value; } /** *

Specifies the TLS configuration for an integration.

*/ inline void SetTlsConfig(TlsConfig&& value) { m_tlsConfig = std::move(value); } /** *

Specifies the TLS configuration for an integration.

*/ inline PutIntegrationResult& WithTlsConfig(const TlsConfig& value) { SetTlsConfig(value); return *this;} /** *

Specifies the TLS configuration for an integration.

*/ inline PutIntegrationResult& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(std::move(value)); return *this;} private: IntegrationType m_type; Aws::String m_httpMethod; Aws::String m_uri; ConnectionType m_connectionType; Aws::String m_connectionId; Aws::String m_credentials; Aws::Map m_requestParameters; Aws::Map m_requestTemplates; Aws::String m_passthroughBehavior; ContentHandlingStrategy m_contentHandling; int m_timeoutInMillis; Aws::String m_cacheNamespace; Aws::Vector m_cacheKeyParameters; Aws::Map m_integrationResponses; TlsConfig m_tlsConfig; }; } // namespace Model } // namespace APIGateway } // namespace Aws