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

Sets up a method's integration.

See Also:

AWS * API Reference

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] The string identifier of the associated RestApi.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's resource ID.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration request's HTTP method.

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

[Required] Specifies a put integration input's type.

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

[Required] Specifies a put integration input's type.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

[Required] Specifies a put integration input's type.

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

[Required] Specifies a put integration input's type.

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

[Required] Specifies a put integration input's type.

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

[Required] Specifies a put integration input's type.

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

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline const Aws::String& GetIntegrationHttpMethod() const{ return m_integrationHttpMethod; } /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline bool IntegrationHttpMethodHasBeenSet() const { return m_integrationHttpMethodHasBeenSet; } /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline void SetIntegrationHttpMethod(const Aws::String& value) { m_integrationHttpMethodHasBeenSet = true; m_integrationHttpMethod = value; } /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline void SetIntegrationHttpMethod(Aws::String&& value) { m_integrationHttpMethodHasBeenSet = true; m_integrationHttpMethod = std::move(value); } /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline void SetIntegrationHttpMethod(const char* value) { m_integrationHttpMethodHasBeenSet = true; m_integrationHttpMethod.assign(value); } /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline PutIntegrationRequest& WithIntegrationHttpMethod(const Aws::String& value) { SetIntegrationHttpMethod(value); return *this;} /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline PutIntegrationRequest& WithIntegrationHttpMethod(Aws::String&& value) { SetIntegrationHttpMethod(std::move(value)); return *this;} /** *

Specifies a put integration HTTP method. When the integration type is HTTP or * AWS, this field is required.

*/ inline PutIntegrationRequest& WithIntegrationHttpMethod(const char* value) { SetIntegrationHttpMethod(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 bool UriHasBeenSet() const { return m_uriHasBeenSet; } /** *

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_uriHasBeenSet = true; 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_uriHasBeenSet = true; 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_uriHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; } /** *

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_connectionTypeHasBeenSet = true; 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_connectionTypeHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 bool ConnectionIdHasBeenSet() const { return m_connectionIdHasBeenSet; } /** *

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

*/ inline void SetConnectionId(const Aws::String& value) { m_connectionIdHasBeenSet = true; 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_connectionIdHasBeenSet = true; 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_connectionIdHasBeenSet = true; m_connectionId.assign(value); } /** *

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

*/ inline PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& WithConnectionId(const char* value) { SetConnectionId(value); return *this;} /** *

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

*/ inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; } /** *

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

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

Specifies whether credentials are required for a put integration.

*/ inline PutIntegrationRequest& 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 bool RequestParametersHasBeenSet() const { return m_requestParametersHasBeenSet; } /** *

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_requestParametersHasBeenSet = true; 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_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& AddRequestParameters(const Aws::String& key, const Aws::String& value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(Aws::String&& key, const Aws::String& value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(const Aws::String& key, Aws::String&& value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(Aws::String&& key, Aws::String&& value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(const char* key, Aws::String&& value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(Aws::String&& key, const char* value) { m_requestParametersHasBeenSet = true; 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 PutIntegrationRequest& AddRequestParameters(const char* key, const char* value) { m_requestParametersHasBeenSet = true; 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 bool RequestTemplatesHasBeenSet() const { return m_requestTemplatesHasBeenSet; } /** *

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_requestTemplatesHasBeenSet = true; 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_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& AddRequestTemplates(const Aws::String& key, const Aws::String& value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(Aws::String&& key, const Aws::String& value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(const Aws::String& key, Aws::String&& value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(Aws::String&& key, Aws::String&& value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(const char* key, Aws::String&& value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(Aws::String&& key, const char* value) { m_requestTemplatesHasBeenSet = true; 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 PutIntegrationRequest& AddRequestTemplates(const char* key, const char* value) { m_requestTemplatesHasBeenSet = true; m_requestTemplates.emplace(key, value); return *this; } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline const Aws::String& GetPassthroughBehavior() const{ return m_passthroughBehavior; } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline bool PassthroughBehaviorHasBeenSet() const { return m_passthroughBehaviorHasBeenSet; } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline void SetPassthroughBehavior(const Aws::String& value) { m_passthroughBehaviorHasBeenSet = true; m_passthroughBehavior = value; } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline void SetPassthroughBehavior(Aws::String&& value) { m_passthroughBehaviorHasBeenSet = true; m_passthroughBehavior = std::move(value); } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline void SetPassthroughBehavior(const char* value) { m_passthroughBehaviorHasBeenSet = true; m_passthroughBehavior.assign(value); } /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline PutIntegrationRequest& WithPassthroughBehavior(const Aws::String& value) { SetPassthroughBehavior(value); return *this;} /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline PutIntegrationRequest& WithPassthroughBehavior(Aws::String&& value) { SetPassthroughBehavior(std::move(value)); return *this;} /** *

Specifies the pass-through behavior for incoming requests based on the * Content-Type header in the request, and the available mapping templates * specified as the requestTemplates property on the Integration * resource. There are three valid values: WHEN_NO_MATCH, * WHEN_NO_TEMPLATES, and NEVER.

    *
  • WHEN_NO_MATCH passes the request body for unmapped content * types through to the integration back end without transformation.

  • *
  • NEVER rejects unmapped content types with an HTTP 415 * 'Unsupported Media Type' response.

  • *
  • WHEN_NO_TEMPLATES allows pass-through when the integration * has NO content types mapped to templates. However if there is at least one * content type defined, unmapped content types will be rejected with the same 415 * response.

*/ inline PutIntegrationRequest& WithPassthroughBehavior(const char* value) { SetPassthroughBehavior(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 bool CacheNamespaceHasBeenSet() const { return m_cacheNamespaceHasBeenSet; } /** *

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_cacheNamespaceHasBeenSet = true; 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_cacheNamespaceHasBeenSet = true; 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_cacheNamespaceHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 bool CacheKeyParametersHasBeenSet() const { return m_cacheKeyParametersHasBeenSet; } /** *

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_cacheKeyParametersHasBeenSet = true; 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_cacheKeyParametersHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 PutIntegrationRequest& AddCacheKeyParameters(const Aws::String& value) { m_cacheKeyParametersHasBeenSet = true; 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 PutIntegrationRequest& AddCacheKeyParameters(Aws::String&& value) { m_cacheKeyParametersHasBeenSet = true; 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 PutIntegrationRequest& AddCacheKeyParameters(const char* value) { m_cacheKeyParametersHasBeenSet = true; m_cacheKeyParameters.push_back(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 bool ContentHandlingHasBeenSet() const { return m_contentHandlingHasBeenSet; } /** *

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_contentHandlingHasBeenSet = true; 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_contentHandlingHasBeenSet = true; 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 PutIntegrationRequest& 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 PutIntegrationRequest& 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 bool TimeoutInMillisHasBeenSet() const { return m_timeoutInMillisHasBeenSet; } /** *

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

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

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

*/ inline PutIntegrationRequest& WithTimeoutInMillis(int value) { SetTimeoutInMillis(value); return *this;} inline const TlsConfig& GetTlsConfig() const{ return m_tlsConfig; } inline bool TlsConfigHasBeenSet() const { return m_tlsConfigHasBeenSet; } inline void SetTlsConfig(const TlsConfig& value) { m_tlsConfigHasBeenSet = true; m_tlsConfig = value; } inline void SetTlsConfig(TlsConfig&& value) { m_tlsConfigHasBeenSet = true; m_tlsConfig = std::move(value); } inline PutIntegrationRequest& WithTlsConfig(const TlsConfig& value) { SetTlsConfig(value); return *this;} inline PutIntegrationRequest& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(std::move(value)); return *this;} private: Aws::String m_restApiId; bool m_restApiIdHasBeenSet; Aws::String m_resourceId; bool m_resourceIdHasBeenSet; Aws::String m_httpMethod; bool m_httpMethodHasBeenSet; IntegrationType m_type; bool m_typeHasBeenSet; Aws::String m_integrationHttpMethod; bool m_integrationHttpMethodHasBeenSet; Aws::String m_uri; bool m_uriHasBeenSet; ConnectionType m_connectionType; bool m_connectionTypeHasBeenSet; Aws::String m_connectionId; bool m_connectionIdHasBeenSet; Aws::String m_credentials; bool m_credentialsHasBeenSet; Aws::Map m_requestParameters; bool m_requestParametersHasBeenSet; Aws::Map m_requestTemplates; bool m_requestTemplatesHasBeenSet; Aws::String m_passthroughBehavior; bool m_passthroughBehaviorHasBeenSet; Aws::String m_cacheNamespace; bool m_cacheNamespaceHasBeenSet; Aws::Vector m_cacheKeyParameters; bool m_cacheKeyParametersHasBeenSet; ContentHandlingStrategy m_contentHandling; bool m_contentHandlingHasBeenSet; int m_timeoutInMillis; bool m_timeoutInMillisHasBeenSet; TlsConfig m_tlsConfig; bool m_tlsConfigHasBeenSet; }; } // namespace Model } // namespace APIGateway } // namespace Aws