@Generated(value="software.amazon.awssdk:codegen") public final class PutIntegrationRequest extends ApiGatewayRequest implements ToCopyableBuilder<PutIntegrationRequest.Builder,PutIntegrationRequest>
Sets up a method's integration.
Modifier and Type | Class and Description |
---|---|
static interface |
PutIntegrationRequest.Builder |
Modifier and Type | Method and Description |
---|---|
static PutIntegrationRequest.Builder |
builder() |
List<String> |
cacheKeyParameters()
Specifies a put integration input's cache key parameters.
|
String |
cacheNamespace()
Specifies a put integration input'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 whether credentials are required for a put integration.
|
boolean |
equals(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz)
Used to retrieve the value of a field from any class that extends
SdkRequest . |
int |
hashCode() |
String |
httpMethod()
[Required] Specifies a put integration request's HTTP method.
|
String |
integrationHttpMethod()
Specifies a put integration HTTP method.
|
String |
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. |
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.
|
String |
resourceId()
[Required] Specifies a put integration request's resource ID.
|
String |
restApiId()
[Required] The string identifier of the associated RestApi.
|
List<SdkField<?>> |
sdkFields() |
static Class<? extends PutIntegrationRequest.Builder> |
serializableBuilderClass() |
Integer |
timeoutInMillis()
Custom timeout between 50 and 29,000 milliseconds.
|
PutIntegrationRequest.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
IntegrationType |
type()
[Required] Specifies a put integration input's type.
|
String |
typeAsString()
[Required] Specifies a put integration input's type.
|
String |
uri()
Specifies Uniform Resource Identifier (URI) of the integration endpoint.
|
overrideConfiguration
copy
public String restApiId()
[Required] The string identifier of the associated RestApi.
public String resourceId()
[Required] Specifies a put integration request's resource ID.
public String httpMethod()
[Required] Specifies a put integration request's HTTP method.
public IntegrationType type()
[Required] Specifies a put integration input's type.
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()
.
IntegrationType
public String typeAsString()
[Required] Specifies a put integration input's type.
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()
.
IntegrationType
public String integrationHttpMethod()
Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
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
.ConnectionType
public 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
.ConnectionType
public String connectionId()
public String credentials()
Specifies whether credentials are required for a put integration.
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 the pass-through behavior for incoming requests based on the Content-Type header in the request, and
the available mapping templates specified as the requestTemplates
property on the Integration
resource. There are three valid values: WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and
NEVER
.
WHEN_NO_MATCH
passes the request body for unmapped content types through to the integration back end
without transformation.
NEVER
rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response.
WHEN_NO_TEMPLATES
allows pass-through when the integration has NO content types mapped to templates.
However if there is at least one content type defined, unmapped content types will be rejected with the same 415
response.
requestTemplates
property on
the Integration resource. There are three valid values: WHEN_NO_MATCH
,
WHEN_NO_TEMPLATES
, and NEVER
.
WHEN_NO_MATCH
passes the request body for unmapped content types through to the integration
back end without transformation.
NEVER
rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response.
WHEN_NO_TEMPLATES
allows pass-through when the integration has NO content types mapped to
templates. However if there is at least one content type defined, unmapped content types will be rejected
with the same 415 response.
public String cacheNamespace()
Specifies a put integration input's cache namespace.
public List<String> cacheKeyParameters()
Specifies a put integration input's cache key parameters.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
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.
ContentHandlingStrategy
public 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.
ContentHandlingStrategy
public Integer timeoutInMillis()
Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
public PutIntegrationRequest.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<PutIntegrationRequest.Builder,PutIntegrationRequest>
toBuilder
in class ApiGatewayRequest
public static PutIntegrationRequest.Builder builder()
public static Class<? extends PutIntegrationRequest.Builder> serializableBuilderClass()
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
SdkRequest
SdkRequest
. The field name
specified should match the member name from the corresponding service-2.json model specified in the
codegen-resources folder for a given service. The class specifies what class to cast the returned value to.
If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class)
method will
again be available.getValueForField
in class SdkRequest
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.