/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace ApiGatewayV2 { namespace Model { class UpdateIntegrationResult { public: AWS_APIGATEWAYV2_API UpdateIntegrationResult(); AWS_APIGATEWAYV2_API UpdateIntegrationResult(const Aws::AmazonWebServiceResult& result); AWS_APIGATEWAYV2_API UpdateIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Specifies whether an integration is managed by API Gateway. If you created an * API using using quick create, the resulting integration is managed by API * Gateway. You can update a managed integration, but you can't delete it.

*/ inline bool GetApiGatewayManaged() const{ return m_apiGatewayManaged; } /** *

Specifies whether an integration is managed by API Gateway. If you created an * API using using quick create, the resulting integration is managed by API * Gateway. You can update a managed integration, but you can't delete it.

*/ inline void SetApiGatewayManaged(bool value) { m_apiGatewayManaged = value; } /** *

Specifies whether an integration is managed by API Gateway. If you created an * API using using quick create, the resulting integration is managed by API * Gateway. You can update a managed integration, but you can't delete it.

*/ inline UpdateIntegrationResult& WithApiGatewayManaged(bool value) { SetApiGatewayManaged(value); return *this;} /** *

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The ID of the VPC link for a private integration. Supported only for HTTP * APIs.

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

The type of the network connection to the integration endpoint. Specify * INTERNET for connections through the public routable internet or VPC_LINK for * private connections between API Gateway and resources 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. Specify * INTERNET for connections through the public routable internet or VPC_LINK for * private connections between API Gateway and resources 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. Specify * INTERNET for connections through the public routable internet or VPC_LINK for * private connections between API Gateway and resources 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. Specify * INTERNET for connections through the public routable internet or VPC_LINK for * private connections between API Gateway and resources in a VPC. The default * value is INTERNET.

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

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

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

Supported only for WebSocket APIs. Specifies how to handle response payload * content type conversions. Supported values are CONVERT_TO_BINARY and * CONVERT_TO_TEXT, with the following behaviors:

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

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

If this property is not defined, the * response payload will be passed through from the integration response to the * route response or method response without modification.

*/ inline const ContentHandlingStrategy& GetContentHandlingStrategy() const{ return m_contentHandlingStrategy; } /** *

Supported only for WebSocket APIs. Specifies how to handle response payload * content type conversions. Supported values are CONVERT_TO_BINARY and * CONVERT_TO_TEXT, with the following behaviors:

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

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

If this property is not defined, the * response payload will be passed through from the integration response to the * route response or method response without modification.

*/ inline void SetContentHandlingStrategy(const ContentHandlingStrategy& value) { m_contentHandlingStrategy = value; } /** *

Supported only for WebSocket APIs. Specifies how to handle response payload * content type conversions. Supported values are CONVERT_TO_BINARY and * CONVERT_TO_TEXT, with the following behaviors:

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

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

If this property is not defined, the * response payload will be passed through from the integration response to the * route response or method response without modification.

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

Supported only for WebSocket APIs. Specifies how to handle response payload * content type conversions. Supported values are CONVERT_TO_BINARY and * CONVERT_TO_TEXT, with the following behaviors:

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

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

If this property is not defined, the * response payload will be passed through from the integration response to the * route response or method response without modification.

*/ inline UpdateIntegrationResult& WithContentHandlingStrategy(const ContentHandlingStrategy& value) { SetContentHandlingStrategy(value); return *this;} /** *

Supported only for WebSocket APIs. Specifies how to handle response payload * content type conversions. Supported values are CONVERT_TO_BINARY and * CONVERT_TO_TEXT, with the following behaviors:

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

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

If this property is not defined, the * response payload will be passed through from the integration response to the * route response or method response without modification.

*/ inline UpdateIntegrationResult& WithContentHandlingStrategy(ContentHandlingStrategy&& value) { SetContentHandlingStrategy(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 const Aws::String& GetCredentialsArn() const{ return m_credentialsArn; } /** *

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 SetCredentialsArn(const Aws::String& value) { m_credentialsArn = 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 SetCredentialsArn(Aws::String&& value) { m_credentialsArn = 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 SetCredentialsArn(const char* value) { m_credentialsArn.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 UpdateIntegrationResult& WithCredentialsArn(const Aws::String& value) { SetCredentialsArn(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 UpdateIntegrationResult& WithCredentialsArn(Aws::String&& value) { SetCredentialsArn(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 UpdateIntegrationResult& WithCredentialsArn(const char* value) { SetCredentialsArn(value); return *this;} /** *

Represents the description of an integration.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Represents the description of an integration.

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

Represents the description of an integration.

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

Represents the description of an integration.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

Represents the description of an integration.

*/ inline UpdateIntegrationResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Represents the description of an integration.

*/ inline UpdateIntegrationResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Represents the description of an integration.

*/ inline UpdateIntegrationResult& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Represents the identifier of an integration.

*/ inline const Aws::String& GetIntegrationId() const{ return m_integrationId; } /** *

Represents the identifier of an integration.

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

Represents the identifier of an integration.

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

Represents the identifier of an integration.

*/ inline void SetIntegrationId(const char* value) { m_integrationId.assign(value); } /** *

Represents the identifier of an integration.

*/ inline UpdateIntegrationResult& WithIntegrationId(const Aws::String& value) { SetIntegrationId(value); return *this;} /** *

Represents the identifier of an integration.

*/ inline UpdateIntegrationResult& WithIntegrationId(Aws::String&& value) { SetIntegrationId(std::move(value)); return *this;} /** *

Represents the identifier of an integration.

*/ inline UpdateIntegrationResult& WithIntegrationId(const char* value) { SetIntegrationId(value); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline const Aws::String& GetIntegrationMethod() const{ return m_integrationMethod; } /** *

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

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

Specifies the integration's HTTP method type.

*/ inline void SetIntegrationMethod(const char* value) { m_integrationMethod.assign(value); } /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithIntegrationMethod(const Aws::String& value) { SetIntegrationMethod(value); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithIntegrationMethod(Aws::String&& value) { SetIntegrationMethod(std::move(value)); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithIntegrationMethod(const char* value) { SetIntegrationMethod(value); return *this;} /** *

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

*/ inline const Aws::String& GetIntegrationResponseSelectionExpression() const{ return m_integrationResponseSelectionExpression; } /** *

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

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

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

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

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

*/ inline void SetIntegrationResponseSelectionExpression(const char* value) { m_integrationResponseSelectionExpression.assign(value); } /** *

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

*/ inline UpdateIntegrationResult& WithIntegrationResponseSelectionExpression(const Aws::String& value) { SetIntegrationResponseSelectionExpression(value); return *this;} /** *

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

*/ inline UpdateIntegrationResult& WithIntegrationResponseSelectionExpression(Aws::String&& value) { SetIntegrationResponseSelectionExpression(std::move(value)); return *this;} /** *

The integration response selection expression for the integration. Supported * only for WebSocket APIs. See Integration * Response Selection Expressions.

*/ inline UpdateIntegrationResult& WithIntegrationResponseSelectionExpression(const char* value) { SetIntegrationResponseSelectionExpression(value); return *this;} /** *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

*/ inline const Aws::String& GetIntegrationSubtype() const{ return m_integrationSubtype; } /** *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

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

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

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

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

*/ inline void SetIntegrationSubtype(const char* value) { m_integrationSubtype.assign(value); } /** *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

*/ inline UpdateIntegrationResult& WithIntegrationSubtype(const Aws::String& value) { SetIntegrationSubtype(value); return *this;} /** *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

*/ inline UpdateIntegrationResult& WithIntegrationSubtype(Aws::String&& value) { SetIntegrationSubtype(std::move(value)); return *this;} /** *

Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service * action to invoke. To learn more, see Integration * subtype reference.

*/ inline UpdateIntegrationResult& WithIntegrationSubtype(const char* value) { SetIntegrationSubtype(value); return *this;} /** *

The integration type of an integration. One of the following:

AWS: for * integrating the route or 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. Supported only for WebSocket APIs.

*

AWS_PROXY: for integrating the route or method request with a Lambda function * or other AWS service action. This integration is also referred to as a Lambda * proxy integration.

HTTP: for integrating the route or method request with * an HTTP endpoint. This integration is also referred to as the HTTP custom * integration. Supported only for WebSocket APIs.

HTTP_PROXY: for * integrating the route or method request with an HTTP endpoint, with the client * request passed through as-is. This is also referred to as HTTP proxy * integration.

MOCK: for integrating the route or method request with API * Gateway as a "loopback" endpoint without invoking any backend. Supported only * for WebSocket APIs.

*/ inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } /** *

The integration type of an integration. One of the following:

AWS: for * integrating the route or 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. Supported only for WebSocket APIs.

*

AWS_PROXY: for integrating the route or method request with a Lambda function * or other AWS service action. This integration is also referred to as a Lambda * proxy integration.

HTTP: for integrating the route or method request with * an HTTP endpoint. This integration is also referred to as the HTTP custom * integration. Supported only for WebSocket APIs.

HTTP_PROXY: for * integrating the route or method request with an HTTP endpoint, with the client * request passed through as-is. This is also referred to as HTTP proxy * integration.

MOCK: for integrating the route or method request with API * Gateway as a "loopback" endpoint without invoking any backend. Supported only * for WebSocket APIs.

*/ inline void SetIntegrationType(const IntegrationType& value) { m_integrationType = value; } /** *

The integration type of an integration. One of the following:

AWS: for * integrating the route or 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. Supported only for WebSocket APIs.

*

AWS_PROXY: for integrating the route or method request with a Lambda function * or other AWS service action. This integration is also referred to as a Lambda * proxy integration.

HTTP: for integrating the route or method request with * an HTTP endpoint. This integration is also referred to as the HTTP custom * integration. Supported only for WebSocket APIs.

HTTP_PROXY: for * integrating the route or method request with an HTTP endpoint, with the client * request passed through as-is. This is also referred to as HTTP proxy * integration.

MOCK: for integrating the route or method request with API * Gateway as a "loopback" endpoint without invoking any backend. Supported only * for WebSocket APIs.

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

The integration type of an integration. One of the following:

AWS: for * integrating the route or 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. Supported only for WebSocket APIs.

*

AWS_PROXY: for integrating the route or method request with a Lambda function * or other AWS service action. This integration is also referred to as a Lambda * proxy integration.

HTTP: for integrating the route or method request with * an HTTP endpoint. This integration is also referred to as the HTTP custom * integration. Supported only for WebSocket APIs.

HTTP_PROXY: for * integrating the route or method request with an HTTP endpoint, with the client * request passed through as-is. This is also referred to as HTTP proxy * integration.

MOCK: for integrating the route or method request with API * Gateway as a "loopback" endpoint without invoking any backend. Supported only * for WebSocket APIs.

*/ inline UpdateIntegrationResult& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} /** *

The integration type of an integration. One of the following:

AWS: for * integrating the route or 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. Supported only for WebSocket APIs.

*

AWS_PROXY: for integrating the route or method request with a Lambda function * or other AWS service action. This integration is also referred to as a Lambda * proxy integration.

HTTP: for integrating the route or method request with * an HTTP endpoint. This integration is also referred to as the HTTP custom * integration. Supported only for WebSocket APIs.

HTTP_PROXY: for * integrating the route or method request with an HTTP endpoint, with the client * request passed through as-is. This is also referred to as HTTP proxy * integration.

MOCK: for integrating the route or method request with API * Gateway as a "loopback" endpoint without invoking any backend. Supported only * for WebSocket APIs.

*/ inline UpdateIntegrationResult& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} /** *

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

*/ inline const Aws::String& GetIntegrationUri() const{ return m_integrationUri; } /** *

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

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

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

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

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

*/ inline void SetIntegrationUri(const char* value) { m_integrationUri.assign(value); } /** *

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

*/ inline UpdateIntegrationResult& WithIntegrationUri(const Aws::String& value) { SetIntegrationUri(value); return *this;} /** *

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

*/ inline UpdateIntegrationResult& WithIntegrationUri(Aws::String&& value) { SetIntegrationUri(std::move(value)); return *this;} /** *

For a Lambda integration, specify the URI of a Lambda function.

For an * HTTP integration, specify a fully-qualified URL.

For an HTTP API private * integration, specify the ARN of an Application Load Balancer listener, Network * Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an * AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. * You can use query parameters to target specific resources. To learn more, see DiscoverInstances. * For private integrations, all resources must be owned by the same AWS * account.

*/ inline UpdateIntegrationResult& WithIntegrationUri(const char* value) { SetIntegrationUri(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. Supported * only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for * unmapped content types through to the integration backend 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 HTTP 415 Unsupported Media Type response.

*/ inline const PassthroughBehavior& 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. Supported * only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for * unmapped content types through to the integration backend 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 HTTP 415 Unsupported Media Type response.

*/ inline void SetPassthroughBehavior(const PassthroughBehavior& value) { 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. Supported * only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for * unmapped content types through to the integration backend 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 HTTP 415 Unsupported Media Type response.

*/ inline void SetPassthroughBehavior(PassthroughBehavior&& value) { 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. Supported * only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for * unmapped content types through to the integration backend 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 HTTP 415 Unsupported Media Type response.

*/ inline UpdateIntegrationResult& WithPassthroughBehavior(const PassthroughBehavior& 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. Supported * only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for * unmapped content types through to the integration backend 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 HTTP 415 Unsupported Media Type response.

*/ inline UpdateIntegrationResult& WithPassthroughBehavior(PassthroughBehavior&& value) { SetPassthroughBehavior(std::move(value)); return *this;} /** *

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

*/ inline const Aws::String& GetPayloadFormatVersion() const{ return m_payloadFormatVersion; } /** *

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

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

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

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

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

*/ inline void SetPayloadFormatVersion(const char* value) { m_payloadFormatVersion.assign(value); } /** *

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

*/ inline UpdateIntegrationResult& WithPayloadFormatVersion(const Aws::String& value) { SetPayloadFormatVersion(value); return *this;} /** *

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

*/ inline UpdateIntegrationResult& WithPayloadFormatVersion(Aws::String&& value) { SetPayloadFormatVersion(std::move(value)); return *this;} /** *

Specifies the format of the payload sent to an integration. Required for HTTP * APIs.

*/ inline UpdateIntegrationResult& WithPayloadFormatVersion(const char* value) { SetPayloadFormatVersion(value); return *this;} /** *

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

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

For WebSocket APIs, a key-value map specifying request parameters that are * passed from the method request to the backend. 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 backend. 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.

For HTTP API integrations with a specified * integrationSubtype, request parameters are a key-value map specifying parameters * that are passed to AWS_PROXY integrations. You can provide static values, or map * request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Working * with AWS service integrations for HTTP APIs.

For HTTP API * integrations, without a specified integrationSubtype request parameters are a * key-value map specifying how to transform HTTP requests before sending them to * backend integrations. The key should follow the pattern * <action>:<header|querystring|path>.<location>. The action can * be append, overwrite or remove. For values, you can provide static values, or * map request data, stage variables, or context variables that are evaluated at * runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ 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. Supported only for WebSocket APIs.

*/ 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. Supported only for WebSocket APIs.

*/ 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

*/ inline UpdateIntegrationResult& 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. Supported only for WebSocket APIs.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

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

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(const Aws::String& key, const Aws::Map& value) { m_responseParameters.emplace(key, value); return *this; } /** *

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(Aws::String&& key, const Aws::Map& value) { m_responseParameters.emplace(std::move(key), value); return *this; } /** *

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(const Aws::String& key, Aws::Map&& value) { m_responseParameters.emplace(key, std::move(value)); return *this; } /** *

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(Aws::String&& key, Aws::Map&& value) { m_responseParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(const char* key, Aws::Map&& value) { m_responseParameters.emplace(key, std::move(value)); return *this; } /** *

Supported only for HTTP APIs. You use response parameters to transform the * HTTP response from a backend integration before returning the response to * clients. Specify a key-value map from a selection key to response parameters. * The selection key must be a valid HTTP status code within the range of 200-599. * Response parameters are a key-value map. The key must match pattern * <action>:<header>.<location> or overwrite.statuscode. The * action can be append, overwrite or remove. The value can be a static value, or * map to response data, stage variables, or context variables that are evaluated * at runtime. To learn more, see Transforming * API requests and responses.

*/ inline UpdateIntegrationResult& AddResponseParameters(const char* key, const Aws::Map& value) { m_responseParameters.emplace(key, value); return *this; } /** *

The template selection expression for the integration. Supported only for * WebSocket APIs.

*/ inline const Aws::String& GetTemplateSelectionExpression() const{ return m_templateSelectionExpression; } /** *

The template selection expression for the integration. Supported only for * WebSocket APIs.

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

The template selection expression for the integration. Supported only for * WebSocket APIs.

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

The template selection expression for the integration. Supported only for * WebSocket APIs.

*/ inline void SetTemplateSelectionExpression(const char* value) { m_templateSelectionExpression.assign(value); } /** *

The template selection expression for the integration. Supported only for * WebSocket APIs.

*/ inline UpdateIntegrationResult& WithTemplateSelectionExpression(const Aws::String& value) { SetTemplateSelectionExpression(value); return *this;} /** *

The template selection expression for the integration. Supported only for * WebSocket APIs.

*/ inline UpdateIntegrationResult& WithTemplateSelectionExpression(Aws::String&& value) { SetTemplateSelectionExpression(std::move(value)); return *this;} /** *

The template selection expression for the integration. Supported only for * WebSocket APIs.

*/ inline UpdateIntegrationResult& WithTemplateSelectionExpression(const char* value) { SetTemplateSelectionExpression(value); return *this;} /** *

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and * between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 * seconds for WebSocket APIs and 30 seconds for HTTP APIs.

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

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and * between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 * seconds for WebSocket APIs and 30 seconds for HTTP APIs.

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

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and * between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 * seconds for WebSocket APIs and 30 seconds for HTTP APIs.

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

The TLS configuration for a private integration. If you specify a TLS * configuration, private integration traffic uses the HTTPS protocol. Supported * only for HTTP APIs.

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

The TLS configuration for a private integration. If you specify a TLS * configuration, private integration traffic uses the HTTPS protocol. Supported * only for HTTP APIs.

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

The TLS configuration for a private integration. If you specify a TLS * configuration, private integration traffic uses the HTTPS protocol. Supported * only for HTTP APIs.

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

The TLS configuration for a private integration. If you specify a TLS * configuration, private integration traffic uses the HTTPS protocol. Supported * only for HTTP APIs.

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

The TLS configuration for a private integration. If you specify a TLS * configuration, private integration traffic uses the HTTPS protocol. Supported * only for HTTP APIs.

*/ inline UpdateIntegrationResult& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline UpdateIntegrationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline UpdateIntegrationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline UpdateIntegrationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: bool m_apiGatewayManaged; Aws::String m_connectionId; ConnectionType m_connectionType; ContentHandlingStrategy m_contentHandlingStrategy; Aws::String m_credentialsArn; Aws::String m_description; Aws::String m_integrationId; Aws::String m_integrationMethod; Aws::String m_integrationResponseSelectionExpression; Aws::String m_integrationSubtype; IntegrationType m_integrationType; Aws::String m_integrationUri; PassthroughBehavior m_passthroughBehavior; Aws::String m_payloadFormatVersion; Aws::Map m_requestParameters; Aws::Map m_requestTemplates; Aws::Map> m_responseParameters; Aws::String m_templateSelectionExpression; int m_timeoutInMillis; TlsConfig m_tlsConfig; Aws::String m_requestId; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws