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.
com.pulumi.aws.apigatewayv2.IntegrationArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.apigatewayv2;
import com.pulumi.aws.apigatewayv2.inputs.IntegrationResponseParameterArgs;
import com.pulumi.aws.apigatewayv2.inputs.IntegrationTlsConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class IntegrationArgs extends com.pulumi.resources.ResourceArgs {
public static final IntegrationArgs Empty = new IntegrationArgs();
/**
* API identifier.
*
*/
@Import(name="apiId", required=true)
private Output apiId;
/**
* @return API identifier.
*
*/
public Output apiId() {
return this.apiId;
}
/**
* ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
*
*/
@Import(name="connectionId")
private @Nullable Output connectionId;
/**
* @return ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
*
*/
public Optional> connectionId() {
return Optional.ofNullable(this.connectionId);
}
/**
* Type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
*
*/
@Import(name="connectionType")
private @Nullable Output connectionType;
/**
* @return Type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
*
*/
public Optional> connectionType() {
return Optional.ofNullable(this.connectionType);
}
/**
* How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
*
*/
@Import(name="contentHandlingStrategy")
private @Nullable Output contentHandlingStrategy;
/**
* @return How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
*
*/
public Optional> contentHandlingStrategy() {
return Optional.ofNullable(this.contentHandlingStrategy);
}
/**
* Credentials required for the integration, if any.
*
*/
@Import(name="credentialsArn")
private @Nullable Output credentialsArn;
/**
* @return Credentials required for the integration, if any.
*
*/
public Optional> credentialsArn() {
return Optional.ofNullable(this.credentialsArn);
}
/**
* Description of the integration.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description of the integration.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Integration's HTTP method. Must be specified if `integration_type` is not `MOCK`.
*
*/
@Import(name="integrationMethod")
private @Nullable Output integrationMethod;
/**
* @return Integration's HTTP method. Must be specified if `integration_type` is not `MOCK`.
*
*/
public Optional> integrationMethod() {
return Optional.ofNullable(this.integrationMethod);
}
/**
* AWS service action to invoke. Supported only for HTTP APIs when `integration_type` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values. Must be between 1 and 128 characters in length.
*
*/
@Import(name="integrationSubtype")
private @Nullable Output integrationSubtype;
/**
* @return AWS service action to invoke. Supported only for HTTP APIs when `integration_type` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values. Must be between 1 and 128 characters in length.
*
*/
public Optional> integrationSubtype() {
return Optional.ofNullable(this.integrationSubtype);
}
/**
* Integration type of an integration.
* Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
*
*/
@Import(name="integrationType", required=true)
private Output integrationType;
/**
* @return Integration type of an integration.
* Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
*
*/
public Output integrationType() {
return this.integrationType;
}
/**
* URI of the Lambda function for a Lambda proxy integration, when `integration_type` is `AWS_PROXY`.
* For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
*
*/
@Import(name="integrationUri")
private @Nullable Output integrationUri;
/**
* @return URI of the Lambda function for a Lambda proxy integration, when `integration_type` is `AWS_PROXY`.
* For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
*
*/
public Optional> integrationUri() {
return Optional.ofNullable(this.integrationUri);
}
/**
* Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `request_templates` attribute.
* Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
*
*/
@Import(name="passthroughBehavior")
private @Nullable Output passthroughBehavior;
/**
* @return Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `request_templates` attribute.
* Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
*
*/
public Optional> passthroughBehavior() {
return Optional.ofNullable(this.passthroughBehavior);
}
/**
* The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
*
*/
@Import(name="payloadFormatVersion")
private @Nullable Output payloadFormatVersion;
/**
* @return The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
*
*/
public Optional> payloadFormatVersion() {
return Optional.ofNullable(this.payloadFormatVersion);
}
/**
* For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
* For HTTP APIs with a specified `integration_subtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
* For HTTP APIs without a specified `integration_subtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
* See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
*
*/
@Import(name="requestParameters")
private @Nullable Output> requestParameters;
/**
* @return For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
* For HTTP APIs with a specified `integration_subtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
* For HTTP APIs without a specified `integration_subtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
* See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
*
*/
public Optional>> requestParameters() {
return Optional.ofNullable(this.requestParameters);
}
/**
* Map of [Velocity](https://velocity.apache.org/) templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
*
*/
@Import(name="requestTemplates")
private @Nullable Output> requestTemplates;
/**
* @return Map of [Velocity](https://velocity.apache.org/) templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
*
*/
public Optional>> requestTemplates() {
return Optional.ofNullable(this.requestTemplates);
}
/**
* Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
*
*/
@Import(name="responseParameters")
private @Nullable Output> responseParameters;
/**
* @return Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
*
*/
public Optional>> responseParameters() {
return Optional.ofNullable(this.responseParameters);
}
/**
* The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
*
*/
@Import(name="templateSelectionExpression")
private @Nullable Output templateSelectionExpression;
/**
* @return The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
*
*/
public Optional> templateSelectionExpression() {
return Optional.ofNullable(this.templateSelectionExpression);
}
/**
* Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
* The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
* this provider will only perform drift detection of its value when present in a configuration.
*
*/
@Import(name="timeoutMilliseconds")
private @Nullable Output timeoutMilliseconds;
/**
* @return Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
* The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
* this provider will only perform drift detection of its value when present in a configuration.
*
*/
public Optional> timeoutMilliseconds() {
return Optional.ofNullable(this.timeoutMilliseconds);
}
/**
* TLS configuration for a private integration. Supported only for HTTP APIs.
*
*/
@Import(name="tlsConfig")
private @Nullable Output tlsConfig;
/**
* @return TLS configuration for a private integration. Supported only for HTTP APIs.
*
*/
public Optional> tlsConfig() {
return Optional.ofNullable(this.tlsConfig);
}
private IntegrationArgs() {}
private IntegrationArgs(IntegrationArgs $) {
this.apiId = $.apiId;
this.connectionId = $.connectionId;
this.connectionType = $.connectionType;
this.contentHandlingStrategy = $.contentHandlingStrategy;
this.credentialsArn = $.credentialsArn;
this.description = $.description;
this.integrationMethod = $.integrationMethod;
this.integrationSubtype = $.integrationSubtype;
this.integrationType = $.integrationType;
this.integrationUri = $.integrationUri;
this.passthroughBehavior = $.passthroughBehavior;
this.payloadFormatVersion = $.payloadFormatVersion;
this.requestParameters = $.requestParameters;
this.requestTemplates = $.requestTemplates;
this.responseParameters = $.responseParameters;
this.templateSelectionExpression = $.templateSelectionExpression;
this.timeoutMilliseconds = $.timeoutMilliseconds;
this.tlsConfig = $.tlsConfig;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(IntegrationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private IntegrationArgs $;
public Builder() {
$ = new IntegrationArgs();
}
public Builder(IntegrationArgs defaults) {
$ = new IntegrationArgs(Objects.requireNonNull(defaults));
}
/**
* @param apiId API identifier.
*
* @return builder
*
*/
public Builder apiId(Output apiId) {
$.apiId = apiId;
return this;
}
/**
* @param apiId API identifier.
*
* @return builder
*
*/
public Builder apiId(String apiId) {
return apiId(Output.of(apiId));
}
/**
* @param connectionId ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
*
* @return builder
*
*/
public Builder connectionId(@Nullable Output connectionId) {
$.connectionId = connectionId;
return this;
}
/**
* @param connectionId ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
*
* @return builder
*
*/
public Builder connectionId(String connectionId) {
return connectionId(Output.of(connectionId));
}
/**
* @param connectionType Type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
*
* @return builder
*
*/
public Builder connectionType(@Nullable Output connectionType) {
$.connectionType = connectionType;
return this;
}
/**
* @param connectionType Type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
*
* @return builder
*
*/
public Builder connectionType(String connectionType) {
return connectionType(Output.of(connectionType));
}
/**
* @param contentHandlingStrategy How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder contentHandlingStrategy(@Nullable Output contentHandlingStrategy) {
$.contentHandlingStrategy = contentHandlingStrategy;
return this;
}
/**
* @param contentHandlingStrategy How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder contentHandlingStrategy(String contentHandlingStrategy) {
return contentHandlingStrategy(Output.of(contentHandlingStrategy));
}
/**
* @param credentialsArn Credentials required for the integration, if any.
*
* @return builder
*
*/
public Builder credentialsArn(@Nullable Output credentialsArn) {
$.credentialsArn = credentialsArn;
return this;
}
/**
* @param credentialsArn Credentials required for the integration, if any.
*
* @return builder
*
*/
public Builder credentialsArn(String credentialsArn) {
return credentialsArn(Output.of(credentialsArn));
}
/**
* @param description Description of the integration.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description of the integration.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param integrationMethod Integration's HTTP method. Must be specified if `integration_type` is not `MOCK`.
*
* @return builder
*
*/
public Builder integrationMethod(@Nullable Output integrationMethod) {
$.integrationMethod = integrationMethod;
return this;
}
/**
* @param integrationMethod Integration's HTTP method. Must be specified if `integration_type` is not `MOCK`.
*
* @return builder
*
*/
public Builder integrationMethod(String integrationMethod) {
return integrationMethod(Output.of(integrationMethod));
}
/**
* @param integrationSubtype AWS service action to invoke. Supported only for HTTP APIs when `integration_type` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values. Must be between 1 and 128 characters in length.
*
* @return builder
*
*/
public Builder integrationSubtype(@Nullable Output integrationSubtype) {
$.integrationSubtype = integrationSubtype;
return this;
}
/**
* @param integrationSubtype AWS service action to invoke. Supported only for HTTP APIs when `integration_type` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values. Must be between 1 and 128 characters in length.
*
* @return builder
*
*/
public Builder integrationSubtype(String integrationSubtype) {
return integrationSubtype(Output.of(integrationSubtype));
}
/**
* @param integrationType Integration type of an integration.
* Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
*
* @return builder
*
*/
public Builder integrationType(Output integrationType) {
$.integrationType = integrationType;
return this;
}
/**
* @param integrationType Integration type of an integration.
* Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
*
* @return builder
*
*/
public Builder integrationType(String integrationType) {
return integrationType(Output.of(integrationType));
}
/**
* @param integrationUri URI of the Lambda function for a Lambda proxy integration, when `integration_type` is `AWS_PROXY`.
* For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
*
* @return builder
*
*/
public Builder integrationUri(@Nullable Output integrationUri) {
$.integrationUri = integrationUri;
return this;
}
/**
* @param integrationUri URI of the Lambda function for a Lambda proxy integration, when `integration_type` is `AWS_PROXY`.
* For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
*
* @return builder
*
*/
public Builder integrationUri(String integrationUri) {
return integrationUri(Output.of(integrationUri));
}
/**
* @param passthroughBehavior Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `request_templates` attribute.
* Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder passthroughBehavior(@Nullable Output passthroughBehavior) {
$.passthroughBehavior = passthroughBehavior;
return this;
}
/**
* @param passthroughBehavior Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `request_templates` attribute.
* Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder passthroughBehavior(String passthroughBehavior) {
return passthroughBehavior(Output.of(passthroughBehavior));
}
/**
* @param payloadFormatVersion The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
*
* @return builder
*
*/
public Builder payloadFormatVersion(@Nullable Output payloadFormatVersion) {
$.payloadFormatVersion = payloadFormatVersion;
return this;
}
/**
* @param payloadFormatVersion The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
*
* @return builder
*
*/
public Builder payloadFormatVersion(String payloadFormatVersion) {
return payloadFormatVersion(Output.of(payloadFormatVersion));
}
/**
* @param requestParameters For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
* For HTTP APIs with a specified `integration_subtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
* For HTTP APIs without a specified `integration_subtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
* See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
*
* @return builder
*
*/
public Builder requestParameters(@Nullable Output> requestParameters) {
$.requestParameters = requestParameters;
return this;
}
/**
* @param requestParameters For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
* For HTTP APIs with a specified `integration_subtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
* For HTTP APIs without a specified `integration_subtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
* See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
*
* @return builder
*
*/
public Builder requestParameters(Map requestParameters) {
return requestParameters(Output.of(requestParameters));
}
/**
* @param requestTemplates Map of [Velocity](https://velocity.apache.org/) templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder requestTemplates(@Nullable Output> requestTemplates) {
$.requestTemplates = requestTemplates;
return this;
}
/**
* @param requestTemplates Map of [Velocity](https://velocity.apache.org/) templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
*
* @return builder
*
*/
public Builder requestTemplates(Map requestTemplates) {
return requestTemplates(Output.of(requestTemplates));
}
/**
* @param responseParameters Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
*
* @return builder
*
*/
public Builder responseParameters(@Nullable Output> responseParameters) {
$.responseParameters = responseParameters;
return this;
}
/**
* @param responseParameters Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
*
* @return builder
*
*/
public Builder responseParameters(List responseParameters) {
return responseParameters(Output.of(responseParameters));
}
/**
* @param responseParameters Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
*
* @return builder
*
*/
public Builder responseParameters(IntegrationResponseParameterArgs... responseParameters) {
return responseParameters(List.of(responseParameters));
}
/**
* @param templateSelectionExpression The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
*
* @return builder
*
*/
public Builder templateSelectionExpression(@Nullable Output templateSelectionExpression) {
$.templateSelectionExpression = templateSelectionExpression;
return this;
}
/**
* @param templateSelectionExpression The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
*
* @return builder
*
*/
public Builder templateSelectionExpression(String templateSelectionExpression) {
return templateSelectionExpression(Output.of(templateSelectionExpression));
}
/**
* @param timeoutMilliseconds Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
* The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
* this provider will only perform drift detection of its value when present in a configuration.
*
* @return builder
*
*/
public Builder timeoutMilliseconds(@Nullable Output timeoutMilliseconds) {
$.timeoutMilliseconds = timeoutMilliseconds;
return this;
}
/**
* @param timeoutMilliseconds Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
* The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
* this provider will only perform drift detection of its value when present in a configuration.
*
* @return builder
*
*/
public Builder timeoutMilliseconds(Integer timeoutMilliseconds) {
return timeoutMilliseconds(Output.of(timeoutMilliseconds));
}
/**
* @param tlsConfig TLS configuration for a private integration. Supported only for HTTP APIs.
*
* @return builder
*
*/
public Builder tlsConfig(@Nullable Output tlsConfig) {
$.tlsConfig = tlsConfig;
return this;
}
/**
* @param tlsConfig TLS configuration for a private integration. Supported only for HTTP APIs.
*
* @return builder
*
*/
public Builder tlsConfig(IntegrationTlsConfigArgs tlsConfig) {
return tlsConfig(Output.of(tlsConfig));
}
public IntegrationArgs build() {
if ($.apiId == null) {
throw new MissingRequiredPropertyException("IntegrationArgs", "apiId");
}
if ($.integrationType == null) {
throw new MissingRequiredPropertyException("IntegrationArgs", "integrationType");
}
return $;
}
}
}