![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.apigatewayv2.kotlin.outputs.GetIntegrationResult.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.apigatewayv2.kotlin.outputs
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
/**
*
* @property connectionId The ID of the VPC link for a private integration. Supported only for HTTP APIs.
* @property connectionType The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
* @property contentHandlingStrategy Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT.
* @property credentialsArn Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, don't specify this parameter.
* @property description The description of the integration.
* @property integrationId The integration ID.
* @property integrationMethod Specifies the integration's HTTP method type.
* @property integrationSubtype Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke.
* @property integrationType The integration type of an integration.
* @property integrationUri For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
* @property passthroughBehavior Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
* @property payloadFormatVersion Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are 1.0 and 2.0 For all other integrations, 1.0 is the only supported value.
* @property requestParameters A key-value map specifying parameters.
* @property requestTemplates 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.
* @property responseParameters Parameters that transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
* @property templateSelectionExpression The template selection expression for the integration. Supported only for WebSocket APIs.
* @property timeoutInMillis Custom timeout between 50 and 29000 milliseconds for WebSocket APIs and between 50 and 30000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
* @property tlsConfig The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
* */
*/
public data class GetIntegrationResult(
public val connectionId: String? = null,
public val connectionType: String? = null,
public val contentHandlingStrategy: String? = null,
public val credentialsArn: String? = null,
public val description: String? = null,
public val integrationId: String? = null,
public val integrationMethod: String? = null,
public val integrationSubtype: String? = null,
public val integrationType: String? = null,
public val integrationUri: String? = null,
public val passthroughBehavior: String? = null,
public val payloadFormatVersion: String? = null,
public val requestParameters: Map? = null,
public val requestTemplates: Map? = null,
public val responseParameters: Map? = null,
public val templateSelectionExpression: String? = null,
public val timeoutInMillis: Int? = null,
public val tlsConfig: IntegrationTlsConfig? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.apigatewayv2.outputs.GetIntegrationResult): GetIntegrationResult = GetIntegrationResult(
connectionId = javaType.connectionId().map({ args0 -> args0 }).orElse(null),
connectionType = javaType.connectionType().map({ args0 -> args0 }).orElse(null),
contentHandlingStrategy = javaType.contentHandlingStrategy().map({ args0 -> args0 }).orElse(null),
credentialsArn = javaType.credentialsArn().map({ args0 -> args0 }).orElse(null),
description = javaType.description().map({ args0 -> args0 }).orElse(null),
integrationId = javaType.integrationId().map({ args0 -> args0 }).orElse(null),
integrationMethod = javaType.integrationMethod().map({ args0 -> args0 }).orElse(null),
integrationSubtype = javaType.integrationSubtype().map({ args0 -> args0 }).orElse(null),
integrationType = javaType.integrationType().map({ args0 -> args0 }).orElse(null),
integrationUri = javaType.integrationUri().map({ args0 -> args0 }).orElse(null),
passthroughBehavior = javaType.passthroughBehavior().map({ args0 -> args0 }).orElse(null),
payloadFormatVersion = javaType.payloadFormatVersion().map({ args0 -> args0 }).orElse(null),
requestParameters = javaType.requestParameters().map({ args0 ->
args0.key.to(args0.value)
}).toMap(),
requestTemplates = javaType.requestTemplates().map({ args0 -> args0.key.to(args0.value) }).toMap(),
responseParameters = javaType.responseParameters().map({ args0 ->
args0.key.to(
args0.value.let({ args0 ->
com.pulumi.awsnative.apigatewayv2.kotlin.outputs.IntegrationResponseParameterMap.Companion.toKotlin(args0)
}),
)
}).toMap(),
templateSelectionExpression = javaType.templateSelectionExpression().map({ args0 ->
args0
}).orElse(null),
timeoutInMillis = javaType.timeoutInMillis().map({ args0 -> args0 }).orElse(null),
tlsConfig = javaType.tlsConfig().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.apigatewayv2.kotlin.outputs.IntegrationTlsConfig.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy