@Generated(value="software.amazon.awssdk:codegen") public final class Integration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Integration.Builder,Integration>
Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
Integration.Builder  | 
| Modifier and Type | Method and Description | 
|---|---|
static Integration.Builder | 
builder()  | 
List<String> | 
cacheKeyParameters()
 Specifies the integration's cache key parameters. 
 | 
String | 
cacheNamespace()
 Specifies the integration's cache namespace. 
 | 
String | 
connectionId()
 | 
ConnectionType | 
connectionType()
 The type of the network connection to the integration endpoint. 
 | 
String | 
connectionTypeAsString()
 The type of the network connection to the integration endpoint. 
 | 
ContentHandlingStrategy | 
contentHandling()
 Specifies how to handle request payload content type conversions. 
 | 
String | 
contentHandlingAsString()
 Specifies how to handle request payload content type conversions. 
 | 
String | 
credentials()
 Specifies the credentials required for the integration, if any. 
 | 
boolean | 
equals(Object obj)  | 
<T> Optional<T> | 
getValueForField(String fieldName,
                Class<T> clazz)  | 
int | 
hashCode()  | 
String | 
httpMethod()
 Specifies the integration's HTTP method type. 
 | 
Map<String,IntegrationResponse> | 
integrationResponses()
 Specifies the integration's responses. 
 | 
String | 
passthroughBehavior() | 
Map<String,String> | 
requestParameters()
 A key-value map specifying request parameters that are passed from the method request to the back end. 
 | 
Map<String,String> | 
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. 
 | 
List<SdkField<?>> | 
sdkFields()  | 
static Class<? extends Integration.Builder> | 
serializableBuilderClass()  | 
Integer | 
timeoutInMillis()
 Custom timeout between 50 and 29,000 milliseconds. 
 | 
Integration.Builder | 
toBuilder()
Take this object and create a builder that contains all of the current property values of this object. 
 | 
String | 
toString()  | 
IntegrationType | 
type()
 Specifies an API method integration type. 
 | 
String | 
typeAsString()
 Specifies an API method integration type. 
 | 
String | 
uri()
 Specifies Uniform Resource Identifier (URI) of the integration endpoint. 
 | 
copypublic IntegrationType type()
Specifies an API method integration type. The valid value is one of the following:
AWS: for integrating the API method request with an AWS service action, including the Lambda
 function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom
 integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with
 the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP
 endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private
 HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP
 proxy integration.MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint without
 invoking any backend.
 For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port
 and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy
 integration with a connectionType of VPC_LINK is referred to as a private integration
 and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
 
 If the service returns an enum value that is not available in the current SDK version, type will return
 IntegrationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
 typeAsString().
 
AWS: for integrating the API method request with an AWS service action, including the
         Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the
         Lambda custom integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY: for integrating the API method request with the Lambda function-invoking
         action with the client request passed through as-is. This integration is also referred to as the Lambda
         proxy integration.HTTP: for integrating the API method request with an HTTP endpoint, including a private
         HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a
         private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred
         to as the HTTP proxy integration.MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint
         without invoking any backend.
         For the HTTP and HTTP proxy integrations, each integration can specify a protocol (
         http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports
         above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK
         is referred to as a private integration and uses a VpcLink to connect API Gateway to a network
         load balancer of a VPC.
IntegrationTypepublic String typeAsString()
Specifies an API method integration type. The valid value is one of the following:
AWS: for integrating the API method request with an AWS service action, including the Lambda
 function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom
 integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with
 the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP
 endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private
 HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP
 proxy integration.MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint without
 invoking any backend.
 For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port
 and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy
 integration with a connectionType of VPC_LINK is referred to as a private integration
 and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
 
 If the service returns an enum value that is not available in the current SDK version, type will return
 IntegrationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from
 typeAsString().
 
AWS: for integrating the API method request with an AWS service action, including the
         Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the
         Lambda custom integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY: for integrating the API method request with the Lambda function-invoking
         action with the client request passed through as-is. This integration is also referred to as the Lambda
         proxy integration.HTTP: for integrating the API method request with an HTTP endpoint, including a private
         HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a
         private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred
         to as the HTTP proxy integration.MOCK: for integrating the API method request with API Gateway as a "loop-back" endpoint
         without invoking any backend.
         For the HTTP and HTTP proxy integrations, each integration can specify a protocol (
         http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports
         above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK
         is referred to as a private integration and uses a VpcLink to connect API Gateway to a network
         load balancer of a VPC.
IntegrationTypepublic String httpMethod()
Specifies the integration's HTTP method type.
public String uri()
Specifies Uniform Resource Identifier (URI) of the integration endpoint.
 For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S)
 URL according to the RFC-3986
 specification, for either standard integration, where connectionType is not
 VPC_LINK, or private integration, where connectionType is VPC_LINK. For a
 private HTTP integration, the URI is not used for routing.
 
 For AWS or AWS_PROXY integrations, the URI is of the form
 arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here,
 {Region} is the API Gateway region (e.g., us-east-1); {service} is the
 name of the integrated AWS service (e.g., s3); and {subdomain} is a designated
 subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS
 service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The
 ensuing {service_api} refers to a supported action {name} plus any required input
 parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing
 service_api refers to the path to an AWS service resource, including the region of the integrated
 AWS service, if applicable. For example, for integration with the S3 API of
 GetObject, the
 uri can be either
 arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or
 arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
 
         For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded
         HTTP(S) URL according to the RFC-3986 specification, for either
         standard integration, where connectionType is not VPC_LINK, or private
         integration, where connectionType is VPC_LINK. For a private HTTP integration,
         the URI is not used for routing.
         
         For AWS or AWS_PROXY integrations, the URI is of the form
         arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here,
         {Region} is the API Gateway region (e.g., us-east-1); {service} is
         the name of the integrated AWS service (e.g., s3); and {subdomain} is a
         designated subdomain supported by certain AWS service for fast host-name lookup. action can
         be used for an AWS service action-based API, using an
         Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing
         {service_api} refers to a supported action {name} plus any required input
         parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing
         service_api refers to the path to an AWS service resource, including the region of the
         integrated AWS service, if applicable. For example, for integration with the S3 API of
         GetObject,
         the uri can be either
         arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or
         arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
         
public ConnectionType connectionType()
 The type of the network connection to the integration endpoint. The valid value is INTERNET for
 connections through the public routable internet or VPC_LINK for private connections between API
 Gateway and a network load balancer in a VPC. The default value is INTERNET.
 
 If the service returns an enum value that is not available in the current SDK version, connectionType
 will return ConnectionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available
 from connectionTypeAsString().
 
INTERNET
         for connections through the public routable internet or VPC_LINK for private connections
         between API Gateway and a network load balancer in a VPC. The default value is INTERNET.ConnectionTypepublic String connectionTypeAsString()
 The type of the network connection to the integration endpoint. The valid value is INTERNET for
 connections through the public routable internet or VPC_LINK for private connections between API
 Gateway and a network load balancer in a VPC. The default value is INTERNET.
 
 If the service returns an enum value that is not available in the current SDK version, connectionType
 will return ConnectionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available
 from connectionTypeAsString().
 
INTERNET
         for connections through the public routable internet or VPC_LINK for private connections
         between API Gateway and a network load balancer in a VPC. The default value is INTERNET.ConnectionTypepublic String connectionId()
public String credentials()
 Specifies the credentials required for the integration, if any. For AWS integrations, three options are
 available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To
 require that the caller's identity be passed through from the request, specify the string
 arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services, specify null.
 
arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services,
         specify null.public Map<String,String> requestParameters()
 A key-value map specifying request parameters that are passed from the method request to the back end. The key is
 an integration request parameter name and the associated value is a method request parameter value or static
 value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request
 parameter value must match the pattern of method.request.{location}.{name}, where
 location is querystring, path, or header and
 name must be a valid and unique method request parameter name.
 
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
method.request.{location}.{name}, where location is querystring,
         path, or header and name must be a valid and unique method request
         parameter name.public Map<String,String> 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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public String passthroughBehavior()
 Specifies how the method request body of an unmapped content type will be passed through the integration request
 to the back end without transformation. A content type is unmapped if no mapping template is defined in the
 integration or the content type does not match any of the mapped content types, as specified in
 requestTemplates. The valid value is one of the following:
 
WHEN_NO_MATCH: passes the method request body through the integration request to the back end
 without transformation when the method request content type does not match any content type associated with the
 mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back
 end without transformation when no mapping template is defined in the integration request. If a template is
 defined when this option is selected, the method request of an unmapped content-type will be rejected with an
 HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response
 when either the method request content type does not match any content type associated with the mapping templates
 defined in the integration request or no mapping template is defined in the integration request.
         Specifies how the method request body of an unmapped content type will be passed through the integration
         request to the back end without transformation. A content type is unmapped if no mapping template is
         defined in the integration or the content type does not match any of the mapped content types, as
         specified in requestTemplates. The valid value is one of the following:
         
WHEN_NO_MATCH: passes the method request body through the integration request to the
         back end without transformation when the method request content type does not match any content type
         associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the
         back end without transformation when no mapping template is defined in the integration request. If a
         template is defined when this option is selected, the method request of an unmapped content-type will be
         rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type
         response when either the method request content type does not match any content type associated with the
         mapping templates defined in the integration request or no mapping template is defined in the integration
         request.public ContentHandlingStrategy contentHandling()
 Specifies how to handle request payload content type conversions. Supported values are
 CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 
 CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding
 binary blob.
 
 CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.
 
 If this property is not defined, the request payload will be passed through from the method request to
 integration request without modification, provided that the passthroughBehaviors is configured to
 support payload pass-through.
 
 If the service returns an enum value that is not available in the current SDK version, contentHandling
 will return ContentHandlingStrategy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is
 available from contentHandlingAsString().
 
CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
         
         CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the
         corresponding binary blob.
         
         CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.
         
         If this property is not defined, the request payload will be passed through from the method request to
         integration request without modification, provided that the passthroughBehaviors is
         configured to support payload pass-through.
ContentHandlingStrategypublic String contentHandlingAsString()
 Specifies how to handle request payload content type conversions. Supported values are
 CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 
 CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding
 binary blob.
 
 CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.
 
 If this property is not defined, the request payload will be passed through from the method request to
 integration request without modification, provided that the passthroughBehaviors is configured to
 support payload pass-through.
 
 If the service returns an enum value that is not available in the current SDK version, contentHandling
 will return ContentHandlingStrategy.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is
 available from contentHandlingAsString().
 
CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
         
         CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the
         corresponding binary blob.
         
         CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.
         
         If this property is not defined, the request payload will be passed through from the method request to
         integration request without modification, provided that the passthroughBehaviors is
         configured to support payload pass-through.
ContentHandlingStrategypublic Integer timeoutInMillis()
Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
public String cacheNamespace()
Specifies the integration's cache namespace.
public List<String> cacheKeyParameters()
Specifies the integration's cache key parameters.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public Map<String,IntegrationResponse> integrationResponses()
Specifies the integration's responses.
 GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
 
 
 
 The successful response returns 200 OK status and a payload as follows:
 
 { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" }
 
 
 Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
 GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
 
 
         
         The successful response returns 200 OK status and a payload as follows:
         
 { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" }
 
         
         public Integration.Builder toBuilder()
ToCopyableBuildertoBuilder in interface ToCopyableBuilder<Integration.Builder,Integration>public static Integration.Builder builder()
public static Class<? extends Integration.Builder> serializableBuilderClass()
Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.