/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.apigatewayv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* Updates an Integration. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateIntegrationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** The API identifier. *
*/ private String apiId; /** ** The ID of the VPC link for a private integration. Supported only for HTTP APIs. *
*/ private String connectionId; /** ** 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. *
*/ private String connectionType; /** ** 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. *
*/ private String contentHandlingStrategy; /** ** 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. *
*/ private String credentialsArn; /** ** The description of the integration *
*/ private String description; /** ** The integration ID. *
*/ private String integrationId; /** ** Specifies the integration's HTTP method type. *
*/ private String integrationMethod; /** ** Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, * see Integration subtype reference. *
*/ private String integrationSubtype; /** ** 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. For HTTP API private integrations, use an * 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. *
*/ private String integrationType; /** ** 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. *
*/ private String integrationUri; /** ** 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. *
*/ private String passthroughBehavior; /** ** Specifies the format of the payload sent to an integration. Required for HTTP APIs. *
*/ private String payloadFormatVersion; /** *
* 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.
* 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 the backend. The key should follow the pattern * <action>:<header|querystring|path>.<location> where 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. *
*/ private java.util.Map* 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. *
*/ private java.util.Map* 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. *
*/ private java.util.Map* The template selection expression for the integration. *
*/ private String templateSelectionExpression; /** ** 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. *
*/ private Integer timeoutInMillis; /** ** 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. *
*/ private TlsConfigInput tlsConfig; /** ** The API identifier. *
* * @param apiId * The API identifier. */ public void setApiId(String apiId) { this.apiId = apiId; } /** ** The API identifier. *
* * @return The API identifier. */ public String getApiId() { return this.apiId; } /** ** The API identifier. *
* * @param apiId * The API identifier. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withApiId(String apiId) { setApiId(apiId); return this; } /** ** The ID of the VPC link for a private integration. Supported only for HTTP APIs. *
* * @param connectionId * The ID of the VPC link for a private integration. Supported only for HTTP APIs. */ public void setConnectionId(String connectionId) { this.connectionId = connectionId; } /** ** The ID of the VPC link for a private integration. Supported only for HTTP APIs. *
* * @return The ID of the VPC link for a private integration. Supported only for HTTP APIs. */ public String getConnectionId() { return this.connectionId; } /** ** The ID of the VPC link for a private integration. Supported only for HTTP APIs. *
* * @param connectionId * The ID of the VPC link for a private integration. Supported only for HTTP APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withConnectionId(String connectionId) { setConnectionId(connectionId); 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. *
* * @param 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. * @see ConnectionType */ public void setConnectionType(String connectionType) { this.connectionType = 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. *
* * @return 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. * @see ConnectionType */ public String getConnectionType() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ConnectionType */ public UpdateIntegrationRequest withConnectionType(String connectionType) { setConnectionType(connectionType); 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ConnectionType */ public UpdateIntegrationRequest withConnectionType(ConnectionType connectionType) { this.connectionType = connectionType.toString(); 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. *
* * @param 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. * @see ContentHandlingStrategy */ public void setContentHandlingStrategy(String contentHandlingStrategy) { this.contentHandlingStrategy = 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. *
* * @return 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. * @see ContentHandlingStrategy */ public String getContentHandlingStrategy() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ContentHandlingStrategy */ public UpdateIntegrationRequest withContentHandlingStrategy(String contentHandlingStrategy) { setContentHandlingStrategy(contentHandlingStrategy); 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ContentHandlingStrategy */ public UpdateIntegrationRequest withContentHandlingStrategy(ContentHandlingStrategy contentHandlingStrategy) { this.contentHandlingStrategy = contentHandlingStrategy.toString(); 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. *
* * @param 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. */ public void setCredentialsArn(String credentialsArn) { this.credentialsArn = 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. *
* * @return 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. */ public String getCredentialsArn() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withCredentialsArn(String credentialsArn) { setCredentialsArn(credentialsArn); return this; } /** ** The description of the integration *
* * @param description * The description of the integration */ public void setDescription(String description) { this.description = description; } /** ** The description of the integration *
* * @return The description of the integration */ public String getDescription() { return this.description; } /** ** The description of the integration *
* * @param description * The description of the integration * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withDescription(String description) { setDescription(description); return this; } /** ** The integration ID. *
* * @param integrationId * The integration ID. */ public void setIntegrationId(String integrationId) { this.integrationId = integrationId; } /** ** The integration ID. *
* * @return The integration ID. */ public String getIntegrationId() { return this.integrationId; } /** ** The integration ID. *
* * @param integrationId * The integration ID. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withIntegrationId(String integrationId) { setIntegrationId(integrationId); return this; } /** ** Specifies the integration's HTTP method type. *
* * @param integrationMethod * Specifies the integration's HTTP method type. */ public void setIntegrationMethod(String integrationMethod) { this.integrationMethod = integrationMethod; } /** ** Specifies the integration's HTTP method type. *
* * @return Specifies the integration's HTTP method type. */ public String getIntegrationMethod() { return this.integrationMethod; } /** ** Specifies the integration's HTTP method type. *
* * @param integrationMethod * Specifies the integration's HTTP method type. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withIntegrationMethod(String integrationMethod) { setIntegrationMethod(integrationMethod); return this; } /** ** Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, * see Integration subtype reference. *
* * @param integrationSubtype * Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn * more, see Integration subtype reference. */ public void setIntegrationSubtype(String integrationSubtype) { this.integrationSubtype = integrationSubtype; } /** ** Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, * see Integration subtype reference. *
* * @return Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn * more, see Integration subtype reference. */ public String getIntegrationSubtype() { return this.integrationSubtype; } /** ** Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, * see Integration subtype reference. *
* * @param integrationSubtype * Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn * more, see Integration subtype reference. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withIntegrationSubtype(String integrationSubtype) { setIntegrationSubtype(integrationSubtype); 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. For HTTP API private integrations, use an * 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. *
* * @param 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. For HTTP API private * integrations, use an 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. * @see IntegrationType */ public void setIntegrationType(String integrationType) { this.integrationType = 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. For HTTP API private integrations, use an * 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. *
* * @return 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. For HTTP API private * integrations, use an 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. * @see IntegrationType */ public String getIntegrationType() { return this.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. For HTTP API private integrations, use an * 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. *
* * @param 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. For HTTP API private * integrations, use an 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. * @return Returns a reference to this object so that method calls can be chained together. * @see IntegrationType */ public UpdateIntegrationRequest withIntegrationType(String integrationType) { setIntegrationType(integrationType); 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. For HTTP API private integrations, use an * 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. *
* * @param 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. For HTTP API private * integrations, use an 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. * @return Returns a reference to this object so that method calls can be chained together. * @see IntegrationType */ public UpdateIntegrationRequest withIntegrationType(IntegrationType integrationType) { this.integrationType = integrationType.toString(); 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. *
* * @param 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. */ public void setIntegrationUri(String integrationUri) { this.integrationUri = 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. *
* * @return 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. */ public String getIntegrationUri() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withIntegrationUri(String integrationUri) { setIntegrationUri(integrationUri); 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. *
* * @param 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. * @see PassthroughBehavior */ public void setPassthroughBehavior(String passthroughBehavior) { this.passthroughBehavior = 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. *
* * @return 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. * @see PassthroughBehavior */ public String getPassthroughBehavior() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see PassthroughBehavior */ public UpdateIntegrationRequest withPassthroughBehavior(String passthroughBehavior) { setPassthroughBehavior(passthroughBehavior); 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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see PassthroughBehavior */ public UpdateIntegrationRequest withPassthroughBehavior(PassthroughBehavior passthroughBehavior) { this.passthroughBehavior = passthroughBehavior.toString(); return this; } /** *
* Specifies the format of the payload sent to an integration. Required for HTTP APIs. *
* * @param payloadFormatVersion * Specifies the format of the payload sent to an integration. Required for HTTP APIs. */ public void setPayloadFormatVersion(String payloadFormatVersion) { this.payloadFormatVersion = payloadFormatVersion; } /** ** Specifies the format of the payload sent to an integration. Required for HTTP APIs. *
* * @return Specifies the format of the payload sent to an integration. Required for HTTP APIs. */ public String getPayloadFormatVersion() { return this.payloadFormatVersion; } /** ** Specifies the format of the payload sent to an integration. Required for HTTP APIs. *
* * @param payloadFormatVersion * Specifies the format of the payload sent to an integration. Required for HTTP APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateIntegrationRequest withPayloadFormatVersion(String payloadFormatVersion) { setPayloadFormatVersion(payloadFormatVersion); 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.
* 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 the backend. The key should follow the pattern * <action>:<header|querystring|path>.<location> where 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. *
* * @return 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.* 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 the backend. The key should follow the
* pattern <action>:<header|querystring|path>.<location> where 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.
*/
public java.util.Map
* 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.
* 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 the backend. The key should follow the pattern
* <action>:<header|querystring|path>.<location> where 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.
*
* 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 the backend. The key should follow the
* pattern <action>:<header|querystring|path>.<location> where 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.
*/
public void setRequestParameters(java.util.Map
* 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.
* 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 the backend. The key should follow the pattern
* <action>:<header|querystring|path>.<location> where 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.
*
* 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 the backend. The key should follow the
* pattern <action>:<header|querystring|path>.<location> where 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationRequest withRequestParameters(java.util.Map
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* The template selection expression for the integration.
*
* The template selection expression for the integration.
*
* The template selection expression for the integration.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*