
com.amazonaws.services.apigatewayv2.model.UpdateIntegrationResult Maven / Gradle / Ivy
/*
* Copyright 2015-2020 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;
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateIntegrationResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable {
/**
*
* 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.
*
*/
private Boolean apiGatewayManaged;
/**
*
* 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;
/**
*
* Represents the description of an integration.
*
*/
private String description;
/**
*
* Represents the identifier of an integration.
*
*/
private String integrationId;
/**
*
* Specifies the integration's HTTP method type.
*
*/
private String integrationMethod;
/**
*
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*
*/
private String integrationResponseSelectionExpression;
/**
*
* 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.
*
*
* 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.{location} .{name} , where
* {location} is querystring, path, or header; and {name} must
* be a valid and unique method request parameter name.
*
*
* For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*
*/
private java.util.Map requestParameters;
/**
*
* 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 requestTemplates;
/**
*
* The template selection expression for the integration. Supported only for WebSocket APIs.
*
*/
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 TlsConfig tlsConfig;
/**
*
* 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.
*
*
* @param 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.
*/
public void setApiGatewayManaged(Boolean apiGatewayManaged) {
this.apiGatewayManaged = 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.
*
*
* @return 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.
*/
public Boolean getApiGatewayManaged() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withApiGatewayManaged(Boolean apiGatewayManaged) {
setApiGatewayManaged(apiGatewayManaged);
return this;
}
/**
*
* 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.
*
*
* @return 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.
*/
public Boolean isApiGatewayManaged() {
return this.apiGatewayManaged;
}
/**
*
* 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult withCredentialsArn(String credentialsArn) {
setCredentialsArn(credentialsArn);
return this;
}
/**
*
* Represents the description of an integration.
*
*
* @param description
* Represents the description of an integration.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* Represents the description of an integration.
*
*
* @return Represents the description of an integration.
*/
public String getDescription() {
return this.description;
}
/**
*
* Represents the description of an integration.
*
*
* @param description
* Represents the description of an integration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* Represents the identifier of an integration.
*
*
* @param integrationId
* Represents the identifier of an integration.
*/
public void setIntegrationId(String integrationId) {
this.integrationId = integrationId;
}
/**
*
* Represents the identifier of an integration.
*
*
* @return Represents the identifier of an integration.
*/
public String getIntegrationId() {
return this.integrationId;
}
/**
*
* Represents the identifier of an integration.
*
*
* @param integrationId
* Represents the identifier of an integration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult 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 UpdateIntegrationResult withIntegrationMethod(String integrationMethod) {
setIntegrationMethod(integrationMethod);
return this;
}
/**
*
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*
*
* @param integrationResponseSelectionExpression
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See
* Integration Response Selection Expressions.
*/
public void setIntegrationResponseSelectionExpression(String integrationResponseSelectionExpression) {
this.integrationResponseSelectionExpression = integrationResponseSelectionExpression;
}
/**
*
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*
*
* @return The integration response selection expression for the integration. Supported only for WebSocket APIs. See
* Integration Response Selection Expressions.
*/
public String getIntegrationResponseSelectionExpression() {
return this.integrationResponseSelectionExpression;
}
/**
*
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*
*
* @param integrationResponseSelectionExpression
* The integration response selection expression for the integration. Supported only for WebSocket APIs. See
* Integration Response Selection Expressions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withIntegrationResponseSelectionExpression(String integrationResponseSelectionExpression) {
setIntegrationResponseSelectionExpression(integrationResponseSelectionExpression);
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 UpdateIntegrationResult 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.
*
*
* 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.
*
*
* 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.
*
*
* 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.
*
*
* 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.
*
*
* 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.
*
*
* 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 UpdateIntegrationResult 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.
*
*
* 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.
*
*
* 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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 UpdateIntegrationResult 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.{location} .{name} , where
* {location} is querystring, path, or header; and {name} must
* be a valid and unique method request parameter name.
*
*
* For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*
*
* @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.{location} .{name} , where
* {location} is querystring, path, or header; and
* {name} must be a valid and unique method request parameter name.
*
* For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*/
public java.util.Map getRequestParameters() {
return 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 APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*
*
* @param 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 APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*/
public void setRequestParameters(java.util.Map requestParameters) {
this.requestParameters = 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 APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
*
*
* @param 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 APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY
* integrations with a specified integrationSubtype. 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withRequestParameters(java.util.Map requestParameters) {
setRequestParameters(requestParameters);
return this;
}
/**
* Add a single RequestParameters entry
*
* @see UpdateIntegrationResult#withRequestParameters
* @returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult addRequestParametersEntry(String key, String value) {
if (null == this.requestParameters) {
this.requestParameters = new java.util.HashMap();
}
if (this.requestParameters.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.requestParameters.put(key, value);
return this;
}
/**
* Removes all the entries added into RequestParameters.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult clearRequestParametersEntries() {
this.requestParameters = null;
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.
*
*
* @return 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.
*/
public java.util.Map getRequestTemplates() {
return 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.
*
*
* @param 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.
*/
public void setRequestTemplates(java.util.Map requestTemplates) {
this.requestTemplates = 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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withRequestTemplates(java.util.Map requestTemplates) {
setRequestTemplates(requestTemplates);
return this;
}
/**
* Add a single RequestTemplates entry
*
* @see UpdateIntegrationResult#withRequestTemplates
* @returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult addRequestTemplatesEntry(String key, String value) {
if (null == this.requestTemplates) {
this.requestTemplates = new java.util.HashMap();
}
if (this.requestTemplates.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.requestTemplates.put(key, value);
return this;
}
/**
* Removes all the entries added into RequestTemplates.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult clearRequestTemplatesEntries() {
this.requestTemplates = null;
return this;
}
/**
*
* The template selection expression for the integration. Supported only for WebSocket APIs.
*
*
* @param templateSelectionExpression
* The template selection expression for the integration. Supported only for WebSocket APIs.
*/
public void setTemplateSelectionExpression(String templateSelectionExpression) {
this.templateSelectionExpression = templateSelectionExpression;
}
/**
*
* The template selection expression for the integration. Supported only for WebSocket APIs.
*
*
* @return The template selection expression for the integration. Supported only for WebSocket APIs.
*/
public String getTemplateSelectionExpression() {
return this.templateSelectionExpression;
}
/**
*
* The template selection expression for the integration. Supported only for WebSocket APIs.
*
*
* @param templateSelectionExpression
* The template selection expression for the integration. Supported only for WebSocket APIs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withTemplateSelectionExpression(String templateSelectionExpression) {
setTemplateSelectionExpression(templateSelectionExpression);
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.
*
*
* @param 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.
*/
public void setTimeoutInMillis(Integer timeoutInMillis) {
this.timeoutInMillis = 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.
*
*
* @return 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.
*/
public Integer getTimeoutInMillis() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withTimeoutInMillis(Integer timeoutInMillis) {
setTimeoutInMillis(timeoutInMillis);
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.
*
*
* @param 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.
*/
public void setTlsConfig(TlsConfig tlsConfig) {
this.tlsConfig = 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.
*
*
* @return 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.
*/
public TlsConfig getTlsConfig() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateIntegrationResult withTlsConfig(TlsConfig tlsConfig) {
setTlsConfig(tlsConfig);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getApiGatewayManaged() != null)
sb.append("ApiGatewayManaged: ").append(getApiGatewayManaged()).append(",");
if (getConnectionId() != null)
sb.append("ConnectionId: ").append(getConnectionId()).append(",");
if (getConnectionType() != null)
sb.append("ConnectionType: ").append(getConnectionType()).append(",");
if (getContentHandlingStrategy() != null)
sb.append("ContentHandlingStrategy: ").append(getContentHandlingStrategy()).append(",");
if (getCredentialsArn() != null)
sb.append("CredentialsArn: ").append(getCredentialsArn()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getIntegrationId() != null)
sb.append("IntegrationId: ").append(getIntegrationId()).append(",");
if (getIntegrationMethod() != null)
sb.append("IntegrationMethod: ").append(getIntegrationMethod()).append(",");
if (getIntegrationResponseSelectionExpression() != null)
sb.append("IntegrationResponseSelectionExpression: ").append(getIntegrationResponseSelectionExpression()).append(",");
if (getIntegrationSubtype() != null)
sb.append("IntegrationSubtype: ").append(getIntegrationSubtype()).append(",");
if (getIntegrationType() != null)
sb.append("IntegrationType: ").append(getIntegrationType()).append(",");
if (getIntegrationUri() != null)
sb.append("IntegrationUri: ").append(getIntegrationUri()).append(",");
if (getPassthroughBehavior() != null)
sb.append("PassthroughBehavior: ").append(getPassthroughBehavior()).append(",");
if (getPayloadFormatVersion() != null)
sb.append("PayloadFormatVersion: ").append(getPayloadFormatVersion()).append(",");
if (getRequestParameters() != null)
sb.append("RequestParameters: ").append(getRequestParameters()).append(",");
if (getRequestTemplates() != null)
sb.append("RequestTemplates: ").append(getRequestTemplates()).append(",");
if (getTemplateSelectionExpression() != null)
sb.append("TemplateSelectionExpression: ").append(getTemplateSelectionExpression()).append(",");
if (getTimeoutInMillis() != null)
sb.append("TimeoutInMillis: ").append(getTimeoutInMillis()).append(",");
if (getTlsConfig() != null)
sb.append("TlsConfig: ").append(getTlsConfig());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof UpdateIntegrationResult == false)
return false;
UpdateIntegrationResult other = (UpdateIntegrationResult) obj;
if (other.getApiGatewayManaged() == null ^ this.getApiGatewayManaged() == null)
return false;
if (other.getApiGatewayManaged() != null && other.getApiGatewayManaged().equals(this.getApiGatewayManaged()) == false)
return false;
if (other.getConnectionId() == null ^ this.getConnectionId() == null)
return false;
if (other.getConnectionId() != null && other.getConnectionId().equals(this.getConnectionId()) == false)
return false;
if (other.getConnectionType() == null ^ this.getConnectionType() == null)
return false;
if (other.getConnectionType() != null && other.getConnectionType().equals(this.getConnectionType()) == false)
return false;
if (other.getContentHandlingStrategy() == null ^ this.getContentHandlingStrategy() == null)
return false;
if (other.getContentHandlingStrategy() != null && other.getContentHandlingStrategy().equals(this.getContentHandlingStrategy()) == false)
return false;
if (other.getCredentialsArn() == null ^ this.getCredentialsArn() == null)
return false;
if (other.getCredentialsArn() != null && other.getCredentialsArn().equals(this.getCredentialsArn()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getIntegrationId() == null ^ this.getIntegrationId() == null)
return false;
if (other.getIntegrationId() != null && other.getIntegrationId().equals(this.getIntegrationId()) == false)
return false;
if (other.getIntegrationMethod() == null ^ this.getIntegrationMethod() == null)
return false;
if (other.getIntegrationMethod() != null && other.getIntegrationMethod().equals(this.getIntegrationMethod()) == false)
return false;
if (other.getIntegrationResponseSelectionExpression() == null ^ this.getIntegrationResponseSelectionExpression() == null)
return false;
if (other.getIntegrationResponseSelectionExpression() != null
&& other.getIntegrationResponseSelectionExpression().equals(this.getIntegrationResponseSelectionExpression()) == false)
return false;
if (other.getIntegrationSubtype() == null ^ this.getIntegrationSubtype() == null)
return false;
if (other.getIntegrationSubtype() != null && other.getIntegrationSubtype().equals(this.getIntegrationSubtype()) == false)
return false;
if (other.getIntegrationType() == null ^ this.getIntegrationType() == null)
return false;
if (other.getIntegrationType() != null && other.getIntegrationType().equals(this.getIntegrationType()) == false)
return false;
if (other.getIntegrationUri() == null ^ this.getIntegrationUri() == null)
return false;
if (other.getIntegrationUri() != null && other.getIntegrationUri().equals(this.getIntegrationUri()) == false)
return false;
if (other.getPassthroughBehavior() == null ^ this.getPassthroughBehavior() == null)
return false;
if (other.getPassthroughBehavior() != null && other.getPassthroughBehavior().equals(this.getPassthroughBehavior()) == false)
return false;
if (other.getPayloadFormatVersion() == null ^ this.getPayloadFormatVersion() == null)
return false;
if (other.getPayloadFormatVersion() != null && other.getPayloadFormatVersion().equals(this.getPayloadFormatVersion()) == false)
return false;
if (other.getRequestParameters() == null ^ this.getRequestParameters() == null)
return false;
if (other.getRequestParameters() != null && other.getRequestParameters().equals(this.getRequestParameters()) == false)
return false;
if (other.getRequestTemplates() == null ^ this.getRequestTemplates() == null)
return false;
if (other.getRequestTemplates() != null && other.getRequestTemplates().equals(this.getRequestTemplates()) == false)
return false;
if (other.getTemplateSelectionExpression() == null ^ this.getTemplateSelectionExpression() == null)
return false;
if (other.getTemplateSelectionExpression() != null && other.getTemplateSelectionExpression().equals(this.getTemplateSelectionExpression()) == false)
return false;
if (other.getTimeoutInMillis() == null ^ this.getTimeoutInMillis() == null)
return false;
if (other.getTimeoutInMillis() != null && other.getTimeoutInMillis().equals(this.getTimeoutInMillis()) == false)
return false;
if (other.getTlsConfig() == null ^ this.getTlsConfig() == null)
return false;
if (other.getTlsConfig() != null && other.getTlsConfig().equals(this.getTlsConfig()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getApiGatewayManaged() == null) ? 0 : getApiGatewayManaged().hashCode());
hashCode = prime * hashCode + ((getConnectionId() == null) ? 0 : getConnectionId().hashCode());
hashCode = prime * hashCode + ((getConnectionType() == null) ? 0 : getConnectionType().hashCode());
hashCode = prime * hashCode + ((getContentHandlingStrategy() == null) ? 0 : getContentHandlingStrategy().hashCode());
hashCode = prime * hashCode + ((getCredentialsArn() == null) ? 0 : getCredentialsArn().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getIntegrationId() == null) ? 0 : getIntegrationId().hashCode());
hashCode = prime * hashCode + ((getIntegrationMethod() == null) ? 0 : getIntegrationMethod().hashCode());
hashCode = prime * hashCode + ((getIntegrationResponseSelectionExpression() == null) ? 0 : getIntegrationResponseSelectionExpression().hashCode());
hashCode = prime * hashCode + ((getIntegrationSubtype() == null) ? 0 : getIntegrationSubtype().hashCode());
hashCode = prime * hashCode + ((getIntegrationType() == null) ? 0 : getIntegrationType().hashCode());
hashCode = prime * hashCode + ((getIntegrationUri() == null) ? 0 : getIntegrationUri().hashCode());
hashCode = prime * hashCode + ((getPassthroughBehavior() == null) ? 0 : getPassthroughBehavior().hashCode());
hashCode = prime * hashCode + ((getPayloadFormatVersion() == null) ? 0 : getPayloadFormatVersion().hashCode());
hashCode = prime * hashCode + ((getRequestParameters() == null) ? 0 : getRequestParameters().hashCode());
hashCode = prime * hashCode + ((getRequestTemplates() == null) ? 0 : getRequestTemplates().hashCode());
hashCode = prime * hashCode + ((getTemplateSelectionExpression() == null) ? 0 : getTemplateSelectionExpression().hashCode());
hashCode = prime * hashCode + ((getTimeoutInMillis() == null) ? 0 : getTimeoutInMillis().hashCode());
hashCode = prime * hashCode + ((getTlsConfig() == null) ? 0 : getTlsConfig().hashCode());
return hashCode;
}
@Override
public UpdateIntegrationResult clone() {
try {
return (UpdateIntegrationResult) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}