Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.apigateway.model.PutIntegrationRequest Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Amazon API Gateway module holds the client classes that are used for communicating
with Amazon API
Gateway
/*
* Copyright 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 software.amazon.awssdk.services.apigateway.model;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Sets up a method's integration.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class PutIntegrationRequest extends ApiGatewayRequest implements
ToCopyableBuilder {
private static final SdkField REST_API_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::restApiId)).setter(setter(Builder::restApiId))
.traits(LocationTrait.builder().location(MarshallLocation.PATH).locationName("restapi_id").build()).build();
private static final SdkField RESOURCE_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::resourceId)).setter(setter(Builder::resourceId))
.traits(LocationTrait.builder().location(MarshallLocation.PATH).locationName("resource_id").build()).build();
private static final SdkField HTTP_METHOD_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::httpMethod)).setter(setter(Builder::httpMethod))
.traits(LocationTrait.builder().location(MarshallLocation.PATH).locationName("http_method").build()).build();
private static final SdkField TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::typeAsString)).setter(setter(Builder::type))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("type").build()).build();
private static final SdkField INTEGRATION_HTTP_METHOD_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::integrationHttpMethod)).setter(setter(Builder::integrationHttpMethod))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("httpMethod").build()).build();
private static final SdkField URI_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::uri)).setter(setter(Builder::uri))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("uri").build()).build();
private static final SdkField CONNECTION_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::connectionTypeAsString)).setter(setter(Builder::connectionType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("connectionType").build()).build();
private static final SdkField CONNECTION_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::connectionId)).setter(setter(Builder::connectionId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("connectionId").build()).build();
private static final SdkField CREDENTIALS_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::credentials)).setter(setter(Builder::credentials))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("credentials").build()).build();
private static final SdkField> REQUEST_PARAMETERS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.getter(getter(PutIntegrationRequest::requestParameters))
.setter(setter(Builder::requestParameters))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("requestParameters").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField> REQUEST_TEMPLATES_FIELD = SdkField
.> builder(MarshallingType.MAP)
.getter(getter(PutIntegrationRequest::requestTemplates))
.setter(setter(Builder::requestTemplates))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("requestTemplates").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField PASSTHROUGH_BEHAVIOR_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::passthroughBehavior)).setter(setter(Builder::passthroughBehavior))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("passthroughBehavior").build())
.build();
private static final SdkField CACHE_NAMESPACE_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::cacheNamespace)).setter(setter(Builder::cacheNamespace))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("cacheNamespace").build()).build();
private static final SdkField> CACHE_KEY_PARAMETERS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.getter(getter(PutIntegrationRequest::cacheKeyParameters))
.setter(setter(Builder::cacheKeyParameters))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("cacheKeyParameters").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField CONTENT_HANDLING_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(PutIntegrationRequest::contentHandlingAsString)).setter(setter(Builder::contentHandling))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("contentHandling").build()).build();
private static final SdkField TIMEOUT_IN_MILLIS_FIELD = SdkField. builder(MarshallingType.INTEGER)
.getter(getter(PutIntegrationRequest::timeoutInMillis)).setter(setter(Builder::timeoutInMillis))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("timeoutInMillis").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(REST_API_ID_FIELD,
RESOURCE_ID_FIELD, HTTP_METHOD_FIELD, TYPE_FIELD, INTEGRATION_HTTP_METHOD_FIELD, URI_FIELD, CONNECTION_TYPE_FIELD,
CONNECTION_ID_FIELD, CREDENTIALS_FIELD, REQUEST_PARAMETERS_FIELD, REQUEST_TEMPLATES_FIELD,
PASSTHROUGH_BEHAVIOR_FIELD, CACHE_NAMESPACE_FIELD, CACHE_KEY_PARAMETERS_FIELD, CONTENT_HANDLING_FIELD,
TIMEOUT_IN_MILLIS_FIELD));
private final String restApiId;
private final String resourceId;
private final String httpMethod;
private final String type;
private final String integrationHttpMethod;
private final String uri;
private final String connectionType;
private final String connectionId;
private final String credentials;
private final Map requestParameters;
private final Map requestTemplates;
private final String passthroughBehavior;
private final String cacheNamespace;
private final List cacheKeyParameters;
private final String contentHandling;
private final Integer timeoutInMillis;
private PutIntegrationRequest(BuilderImpl builder) {
super(builder);
this.restApiId = builder.restApiId;
this.resourceId = builder.resourceId;
this.httpMethod = builder.httpMethod;
this.type = builder.type;
this.integrationHttpMethod = builder.integrationHttpMethod;
this.uri = builder.uri;
this.connectionType = builder.connectionType;
this.connectionId = builder.connectionId;
this.credentials = builder.credentials;
this.requestParameters = builder.requestParameters;
this.requestTemplates = builder.requestTemplates;
this.passthroughBehavior = builder.passthroughBehavior;
this.cacheNamespace = builder.cacheNamespace;
this.cacheKeyParameters = builder.cacheKeyParameters;
this.contentHandling = builder.contentHandling;
this.timeoutInMillis = builder.timeoutInMillis;
}
/**
*
* [Required] The string identifier of the associated RestApi .
*
*
* @return [Required] The string identifier of the associated RestApi .
*/
public String restApiId() {
return restApiId;
}
/**
*
* [Required] Specifies a put integration request's resource ID.
*
*
* @return [Required] Specifies a put integration request's resource ID.
*/
public String resourceId() {
return resourceId;
}
/**
*
* [Required] Specifies a put integration request's HTTP method.
*
*
* @return [Required] Specifies a put integration request's HTTP method.
*/
public String httpMethod() {
return httpMethod;
}
/**
*
* [Required] Specifies a put integration input's type.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #type} will return
* {@link IntegrationType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #typeAsString}.
*
*
* @return [Required] Specifies a put integration input's type.
* @see IntegrationType
*/
public IntegrationType type() {
return IntegrationType.fromValue(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, {@link #type} will return
* {@link IntegrationType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #typeAsString}.
*
*
* @return [Required] Specifies a put integration input's type.
* @see IntegrationType
*/
public String typeAsString() {
return type;
}
/**
*
* Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
*
*
* @return Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is
* required.
*/
public String integrationHttpMethod() {
return integrationHttpMethod;
}
/**
*
* 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}
*
*
*
*
* @return 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}
*
*
*/
public String uri() {
return uri;
}
/**
*
* 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, {@link #connectionType}
* will return {@link ConnectionType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #connectionTypeAsString}.
*
*
* @return 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
.
* @see ConnectionType
*/
public ConnectionType connectionType() {
return ConnectionType.fromValue(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, {@link #connectionType}
* will return {@link ConnectionType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #connectionTypeAsString}.
*
*
* @return 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
.
* @see ConnectionType
*/
public String connectionTypeAsString() {
return connectionType;
}
/**
*
* The (id
) of
* the VpcLink used for the integration when connectionType=VPC_LINK
and undefined, otherwise.
*
*
* @return The (id
* ) of the VpcLink used for the integration when connectionType=VPC_LINK
and
* undefined, otherwise.
*/
public String connectionId() {
return connectionId;
}
/**
*
* Specifies whether credentials are required for a put integration.
*
*
* @return Specifies whether credentials are required for a put integration.
*/
public String credentials() {
return credentials;
}
/**
* Returns true if the RequestParameters property was specified by the sender (it may be empty), or false if the
* sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS
* service.
*/
public boolean hasRequestParameters() {
return requestParameters != null && !(requestParameters instanceof SdkAutoConstructMap);
}
/**
*
* 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.
*
*
* You can use {@link #hasRequestParameters()} to see if a value was sent in this field.
*
*
* @return 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.
*/
public Map requestParameters() {
return requestParameters;
}
/**
* Returns true if the RequestTemplates property was specified by the sender (it may be empty), or false if the
* sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS
* service.
*/
public boolean hasRequestTemplates() {
return requestTemplates != null && !(requestTemplates instanceof SdkAutoConstructMap);
}
/**
*
* 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.
*
*
* You can use {@link #hasRequestTemplates()} to see if a value was sent in this field.
*
*
* @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.
*/
public Map requestTemplates() {
return requestTemplates;
}
/**
*
* 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.
*
*
*
*
* @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
.
*
*
*
* 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 passthroughBehavior() {
return passthroughBehavior;
}
/**
*
* A list of request parameters whose values are to be cached.
*
*
* @return A list of request parameters whose values are to be cached.
*/
public String cacheNamespace() {
return cacheNamespace;
}
/**
* Returns true if the CacheKeyParameters property was specified by the sender (it may be empty), or false if the
* sender did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS
* service.
*/
public boolean hasCacheKeyParameters() {
return cacheKeyParameters != null && !(cacheKeyParameters instanceof SdkAutoConstructList);
}
/**
*
* An API-specific tag group of related cached parameters.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* You can use {@link #hasCacheKeyParameters()} to see if a value was sent in this field.
*
*
* @return An API-specific tag group of related cached parameters.
*/
public List cacheKeyParameters() {
return cacheKeyParameters;
}
/**
*
* 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 passthroughBehavior
is configured to
* support payload pass-through.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #contentHandling}
* will return {@link ContentHandlingStrategy#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #contentHandlingAsString}.
*
*
* @return 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 passthroughBehavior
is
* configured to support payload pass-through.
* @see ContentHandlingStrategy
*/
public ContentHandlingStrategy contentHandling() {
return ContentHandlingStrategy.fromValue(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 passthroughBehavior
is configured to
* support payload pass-through.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #contentHandling}
* will return {@link ContentHandlingStrategy#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #contentHandlingAsString}.
*
*
* @return 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 passthroughBehavior
is
* configured to support payload pass-through.
* @see ContentHandlingStrategy
*/
public String contentHandlingAsString() {
return contentHandling;
}
/**
*
* Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
*
*
* @return Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29
* seconds.
*/
public Integer timeoutInMillis() {
return timeoutInMillis;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(restApiId());
hashCode = 31 * hashCode + Objects.hashCode(resourceId());
hashCode = 31 * hashCode + Objects.hashCode(httpMethod());
hashCode = 31 * hashCode + Objects.hashCode(typeAsString());
hashCode = 31 * hashCode + Objects.hashCode(integrationHttpMethod());
hashCode = 31 * hashCode + Objects.hashCode(uri());
hashCode = 31 * hashCode + Objects.hashCode(connectionTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(connectionId());
hashCode = 31 * hashCode + Objects.hashCode(credentials());
hashCode = 31 * hashCode + Objects.hashCode(requestParameters());
hashCode = 31 * hashCode + Objects.hashCode(requestTemplates());
hashCode = 31 * hashCode + Objects.hashCode(passthroughBehavior());
hashCode = 31 * hashCode + Objects.hashCode(cacheNamespace());
hashCode = 31 * hashCode + Objects.hashCode(cacheKeyParameters());
hashCode = 31 * hashCode + Objects.hashCode(contentHandlingAsString());
hashCode = 31 * hashCode + Objects.hashCode(timeoutInMillis());
return hashCode;
}
@Override
public boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof PutIntegrationRequest)) {
return false;
}
PutIntegrationRequest other = (PutIntegrationRequest) obj;
return Objects.equals(restApiId(), other.restApiId()) && Objects.equals(resourceId(), other.resourceId())
&& Objects.equals(httpMethod(), other.httpMethod()) && Objects.equals(typeAsString(), other.typeAsString())
&& Objects.equals(integrationHttpMethod(), other.integrationHttpMethod()) && Objects.equals(uri(), other.uri())
&& Objects.equals(connectionTypeAsString(), other.connectionTypeAsString())
&& Objects.equals(connectionId(), other.connectionId()) && Objects.equals(credentials(), other.credentials())
&& Objects.equals(requestParameters(), other.requestParameters())
&& Objects.equals(requestTemplates(), other.requestTemplates())
&& Objects.equals(passthroughBehavior(), other.passthroughBehavior())
&& Objects.equals(cacheNamespace(), other.cacheNamespace())
&& Objects.equals(cacheKeyParameters(), other.cacheKeyParameters())
&& Objects.equals(contentHandlingAsString(), other.contentHandlingAsString())
&& Objects.equals(timeoutInMillis(), other.timeoutInMillis());
}
/**
* 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.
*/
@Override
public String toString() {
return ToString.builder("PutIntegrationRequest").add("RestApiId", restApiId()).add("ResourceId", resourceId())
.add("HttpMethod", httpMethod()).add("Type", typeAsString())
.add("IntegrationHttpMethod", integrationHttpMethod()).add("Uri", uri())
.add("ConnectionType", connectionTypeAsString()).add("ConnectionId", connectionId())
.add("Credentials", credentials()).add("RequestParameters", requestParameters())
.add("RequestTemplates", requestTemplates()).add("PassthroughBehavior", passthroughBehavior())
.add("CacheNamespace", cacheNamespace()).add("CacheKeyParameters", cacheKeyParameters())
.add("ContentHandling", contentHandlingAsString()).add("TimeoutInMillis", timeoutInMillis()).build();
}
public Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "restApiId":
return Optional.ofNullable(clazz.cast(restApiId()));
case "resourceId":
return Optional.ofNullable(clazz.cast(resourceId()));
case "httpMethod":
return Optional.ofNullable(clazz.cast(httpMethod()));
case "type":
return Optional.ofNullable(clazz.cast(typeAsString()));
case "integrationHttpMethod":
return Optional.ofNullable(clazz.cast(integrationHttpMethod()));
case "uri":
return Optional.ofNullable(clazz.cast(uri()));
case "connectionType":
return Optional.ofNullable(clazz.cast(connectionTypeAsString()));
case "connectionId":
return Optional.ofNullable(clazz.cast(connectionId()));
case "credentials":
return Optional.ofNullable(clazz.cast(credentials()));
case "requestParameters":
return Optional.ofNullable(clazz.cast(requestParameters()));
case "requestTemplates":
return Optional.ofNullable(clazz.cast(requestTemplates()));
case "passthroughBehavior":
return Optional.ofNullable(clazz.cast(passthroughBehavior()));
case "cacheNamespace":
return Optional.ofNullable(clazz.cast(cacheNamespace()));
case "cacheKeyParameters":
return Optional.ofNullable(clazz.cast(cacheKeyParameters()));
case "contentHandling":
return Optional.ofNullable(clazz.cast(contentHandlingAsString()));
case "timeoutInMillis":
return Optional.ofNullable(clazz.cast(timeoutInMillis()));
default:
return Optional.empty();
}
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((PutIntegrationRequest) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends ApiGatewayRequest.Builder, SdkPojo, CopyableBuilder {
/**
*
* [Required] The string identifier of the associated RestApi .
*
*
* @param restApiId
* [Required] The string identifier of the associated RestApi .
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder restApiId(String restApiId);
/**
*
* [Required] Specifies a put integration request's resource ID.
*
*
* @param resourceId
* [Required] Specifies a put integration request's resource ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder resourceId(String resourceId);
/**
*
* [Required] Specifies a put integration request's HTTP method.
*
*
* @param httpMethod
* [Required] Specifies a put integration request's HTTP method.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder httpMethod(String httpMethod);
/**
*
* [Required] Specifies a put integration input's type.
*
*
* @param type
* [Required] Specifies a put integration input's type.
* @see IntegrationType
* @return Returns a reference to this object so that method calls can be chained together.
* @see IntegrationType
*/
Builder type(String type);
/**
*
* [Required] Specifies a put integration input's type.
*
*
* @param type
* [Required] Specifies a put integration input's type.
* @see IntegrationType
* @return Returns a reference to this object so that method calls can be chained together.
* @see IntegrationType
*/
Builder type(IntegrationType type);
/**
*
* Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
*
*
* @param integrationHttpMethod
* Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is
* required.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder integrationHttpMethod(String integrationHttpMethod);
/**
*
* 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}
*
*
*
*
* @param 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}
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder uri(String uri);
/**
*
* 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
.
*
*
* @param 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
.
* @see ConnectionType
* @return Returns a reference to this object so that method calls can be chained together.
* @see ConnectionType
*/
Builder connectionType(String 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
.
*
*
* @param 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
.
* @see ConnectionType
* @return Returns a reference to this object so that method calls can be chained together.
* @see ConnectionType
*/
Builder connectionType(ConnectionType connectionType);
/**
*
* The (id
* ) of the VpcLink used for the integration when connectionType=VPC_LINK
and undefined,
* otherwise.
*
*
* @param connectionId
* The (
* id
) of the VpcLink used for the integration when
* connectionType=VPC_LINK
and undefined, otherwise.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder connectionId(String connectionId);
/**
*
* Specifies whether credentials are required for a put integration.
*
*
* @param credentials
* Specifies whether credentials are required for a put integration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder credentials(String credentials);
/**
*
* 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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder requestParameters(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.
*
*
* @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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder requestTemplates(Map requestTemplates);
/**
*
* 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.
*
*
*
*
* @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
.
*
*
*
* 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder passthroughBehavior(String passthroughBehavior);
/**
*
* A list of request parameters whose values are to be cached.
*
*
* @param cacheNamespace
* A list of request parameters whose values are to be cached.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder cacheNamespace(String cacheNamespace);
/**
*
* An API-specific tag group of related cached parameters.
*
*
* @param cacheKeyParameters
* An API-specific tag group of related cached parameters.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder cacheKeyParameters(Collection cacheKeyParameters);
/**
*
* An API-specific tag group of related cached parameters.
*
*
* @param cacheKeyParameters
* An API-specific tag group of related cached parameters.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder cacheKeyParameters(String... cacheKeyParameters);
/**
*
* 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 passthroughBehavior
is configured to
* support payload pass-through.
*
*
* @param 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 passthroughBehavior
is
* configured to support payload pass-through.
* @see ContentHandlingStrategy
* @return Returns a reference to this object so that method calls can be chained together.
* @see ContentHandlingStrategy
*/
Builder contentHandling(String 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 passthroughBehavior
is configured to
* support payload pass-through.
*
*
* @param 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 passthroughBehavior
is
* configured to support payload pass-through.
* @see ContentHandlingStrategy
* @return Returns a reference to this object so that method calls can be chained together.
* @see ContentHandlingStrategy
*/
Builder contentHandling(ContentHandlingStrategy contentHandling);
/**
*
* Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
*
*
* @param timeoutInMillis
* Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29
* seconds.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder timeoutInMillis(Integer timeoutInMillis);
@Override
Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration);
@Override
Builder overrideConfiguration(Consumer builderConsumer);
}
static final class BuilderImpl extends ApiGatewayRequest.BuilderImpl implements Builder {
private String restApiId;
private String resourceId;
private String httpMethod;
private String type;
private String integrationHttpMethod;
private String uri;
private String connectionType;
private String connectionId;
private String credentials;
private Map requestParameters = DefaultSdkAutoConstructMap.getInstance();
private Map requestTemplates = DefaultSdkAutoConstructMap.getInstance();
private String passthroughBehavior;
private String cacheNamespace;
private List cacheKeyParameters = DefaultSdkAutoConstructList.getInstance();
private String contentHandling;
private Integer timeoutInMillis;
private BuilderImpl() {
}
private BuilderImpl(PutIntegrationRequest model) {
super(model);
restApiId(model.restApiId);
resourceId(model.resourceId);
httpMethod(model.httpMethod);
type(model.type);
integrationHttpMethod(model.integrationHttpMethod);
uri(model.uri);
connectionType(model.connectionType);
connectionId(model.connectionId);
credentials(model.credentials);
requestParameters(model.requestParameters);
requestTemplates(model.requestTemplates);
passthroughBehavior(model.passthroughBehavior);
cacheNamespace(model.cacheNamespace);
cacheKeyParameters(model.cacheKeyParameters);
contentHandling(model.contentHandling);
timeoutInMillis(model.timeoutInMillis);
}
public final String getRestApiId() {
return restApiId;
}
@Override
public final Builder restApiId(String restApiId) {
this.restApiId = restApiId;
return this;
}
public final void setRestApiId(String restApiId) {
this.restApiId = restApiId;
}
public final String getResourceId() {
return resourceId;
}
@Override
public final Builder resourceId(String resourceId) {
this.resourceId = resourceId;
return this;
}
public final void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
public final String getHttpMethod() {
return httpMethod;
}
@Override
public final Builder httpMethod(String httpMethod) {
this.httpMethod = httpMethod;
return this;
}
public final void setHttpMethod(String httpMethod) {
this.httpMethod = httpMethod;
}
public final String getType() {
return type;
}
@Override
public final Builder type(String type) {
this.type = type;
return this;
}
@Override
public final Builder type(IntegrationType type) {
this.type(type == null ? null : type.toString());
return this;
}
public final void setType(String type) {
this.type = type;
}
public final String getIntegrationHttpMethod() {
return integrationHttpMethod;
}
@Override
public final Builder integrationHttpMethod(String integrationHttpMethod) {
this.integrationHttpMethod = integrationHttpMethod;
return this;
}
public final void setIntegrationHttpMethod(String integrationHttpMethod) {
this.integrationHttpMethod = integrationHttpMethod;
}
public final String getUri() {
return uri;
}
@Override
public final Builder uri(String uri) {
this.uri = uri;
return this;
}
public final void setUri(String uri) {
this.uri = uri;
}
public final String getConnectionType() {
return connectionType;
}
@Override
public final Builder connectionType(String connectionType) {
this.connectionType = connectionType;
return this;
}
@Override
public final Builder connectionType(ConnectionType connectionType) {
this.connectionType(connectionType == null ? null : connectionType.toString());
return this;
}
public final void setConnectionType(String connectionType) {
this.connectionType = connectionType;
}
public final String getConnectionId() {
return connectionId;
}
@Override
public final Builder connectionId(String connectionId) {
this.connectionId = connectionId;
return this;
}
public final void setConnectionId(String connectionId) {
this.connectionId = connectionId;
}
public final String getCredentials() {
return credentials;
}
@Override
public final Builder credentials(String credentials) {
this.credentials = credentials;
return this;
}
public final void setCredentials(String credentials) {
this.credentials = credentials;
}
public final Map getRequestParameters() {
return requestParameters;
}
@Override
public final Builder requestParameters(Map requestParameters) {
this.requestParameters = MapOfStringToStringCopier.copy(requestParameters);
return this;
}
public final void setRequestParameters(Map requestParameters) {
this.requestParameters = MapOfStringToStringCopier.copy(requestParameters);
}
public final Map getRequestTemplates() {
return requestTemplates;
}
@Override
public final Builder requestTemplates(Map requestTemplates) {
this.requestTemplates = MapOfStringToStringCopier.copy(requestTemplates);
return this;
}
public final void setRequestTemplates(Map requestTemplates) {
this.requestTemplates = MapOfStringToStringCopier.copy(requestTemplates);
}
public final String getPassthroughBehavior() {
return passthroughBehavior;
}
@Override
public final Builder passthroughBehavior(String passthroughBehavior) {
this.passthroughBehavior = passthroughBehavior;
return this;
}
public final void setPassthroughBehavior(String passthroughBehavior) {
this.passthroughBehavior = passthroughBehavior;
}
public final String getCacheNamespace() {
return cacheNamespace;
}
@Override
public final Builder cacheNamespace(String cacheNamespace) {
this.cacheNamespace = cacheNamespace;
return this;
}
public final void setCacheNamespace(String cacheNamespace) {
this.cacheNamespace = cacheNamespace;
}
public final Collection getCacheKeyParameters() {
return cacheKeyParameters;
}
@Override
public final Builder cacheKeyParameters(Collection cacheKeyParameters) {
this.cacheKeyParameters = ListOfStringCopier.copy(cacheKeyParameters);
return this;
}
@Override
@SafeVarargs
public final Builder cacheKeyParameters(String... cacheKeyParameters) {
cacheKeyParameters(Arrays.asList(cacheKeyParameters));
return this;
}
public final void setCacheKeyParameters(Collection cacheKeyParameters) {
this.cacheKeyParameters = ListOfStringCopier.copy(cacheKeyParameters);
}
public final String getContentHandling() {
return contentHandling;
}
@Override
public final Builder contentHandling(String contentHandling) {
this.contentHandling = contentHandling;
return this;
}
@Override
public final Builder contentHandling(ContentHandlingStrategy contentHandling) {
this.contentHandling(contentHandling == null ? null : contentHandling.toString());
return this;
}
public final void setContentHandling(String contentHandling) {
this.contentHandling = contentHandling;
}
public final Integer getTimeoutInMillis() {
return timeoutInMillis;
}
@Override
public final Builder timeoutInMillis(Integer timeoutInMillis) {
this.timeoutInMillis = timeoutInMillis;
return this;
}
public final void setTimeoutInMillis(Integer timeoutInMillis) {
this.timeoutInMillis = timeoutInMillis;
}
@Override
public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) {
super.overrideConfiguration(overrideConfiguration);
return this;
}
@Override
public Builder overrideConfiguration(Consumer builderConsumer) {
super.overrideConfiguration(builderConsumer);
return this;
}
@Override
public PutIntegrationRequest build() {
return new PutIntegrationRequest(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}