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.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.apigatewayv2.kotlin
import com.pulumi.awsnative.apigatewayv2.RouteArgs.builder
import com.pulumi.awsnative.apigatewayv2.kotlin.inputs.RouteParameterConstraintsArgs
import com.pulumi.awsnative.apigatewayv2.kotlin.inputs.RouteParameterConstraintsArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API.
* @property apiId The API identifier.
* @property apiKeyRequired Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
* @property authorizationScopes The authorization scopes supported by this route.
* @property authorizationType The authorization type for the route. For WebSocket APIs, valid values are ``NONE`` for open access, ``AWS_IAM`` for using AWS IAM permissions, and ``CUSTOM`` for using a Lambda authorizer. For HTTP APIs, valid values are ``NONE`` for open access, ``JWT`` for using JSON Web Tokens, ``AWS_IAM`` for using AWS IAM permissions, and ``CUSTOM`` for using a Lambda authorizer.
* @property authorizerId The identifier of the ``Authorizer`` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
* @property modelSelectionExpression The model selection expression for the route. Supported only for WebSocket APIs.
* @property operationName The operation name for the route.
* @property requestModels The request models for the route. Supported only for WebSocket APIs.
* Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGatewayV2::Route` for more information about the expected schema for this property.
* @property requestParameters The request parameters for the route. Supported only for WebSocket APIs.
* @property routeKey The route key for the route. For HTTP APIs, the route key can be either ``$default``, or a combination of an HTTP method and resource path, for example, ``GET /pets``.
* @property routeResponseSelectionExpression The route response selection expression for the route. Supported only for WebSocket APIs.
* @property target The target for the route.
*/
public data class RouteArgs(
public val apiId: Output? = null,
public val apiKeyRequired: Output? = null,
public val authorizationScopes: Output>? = null,
public val authorizationType: Output? = null,
public val authorizerId: Output? = null,
public val modelSelectionExpression: Output? = null,
public val operationName: Output? = null,
public val requestModels: Output? = null,
public val requestParameters: Output>? = null,
public val routeKey: Output? = null,
public val routeResponseSelectionExpression: Output? = null,
public val target: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.apigatewayv2.RouteArgs =
com.pulumi.awsnative.apigatewayv2.RouteArgs.builder()
.apiId(apiId?.applyValue({ args0 -> args0 }))
.apiKeyRequired(apiKeyRequired?.applyValue({ args0 -> args0 }))
.authorizationScopes(authorizationScopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.authorizationType(authorizationType?.applyValue({ args0 -> args0 }))
.authorizerId(authorizerId?.applyValue({ args0 -> args0 }))
.modelSelectionExpression(modelSelectionExpression?.applyValue({ args0 -> args0 }))
.operationName(operationName?.applyValue({ args0 -> args0 }))
.requestModels(requestModels?.applyValue({ args0 -> args0 }))
.requestParameters(
requestParameters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.routeKey(routeKey?.applyValue({ args0 -> args0 }))
.routeResponseSelectionExpression(routeResponseSelectionExpression?.applyValue({ args0 -> args0 }))
.target(target?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RouteArgs].
*/
@PulumiTagMarker
public class RouteArgsBuilder internal constructor() {
private var apiId: Output? = null
private var apiKeyRequired: Output? = null
private var authorizationScopes: Output>? = null
private var authorizationType: Output? = null
private var authorizerId: Output? = null
private var modelSelectionExpression: Output? = null
private var operationName: Output? = null
private var requestModels: Output? = null
private var requestParameters: Output>? = null
private var routeKey: Output? = null
private var routeResponseSelectionExpression: Output? = null
private var target: Output? = null
/**
* @param value The API identifier.
*/
@JvmName("yaibsaenujftcsyp")
public suspend fun apiId(`value`: Output) {
this.apiId = value
}
/**
* @param value Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
*/
@JvmName("vmqcbkotyobyiewm")
public suspend fun apiKeyRequired(`value`: Output) {
this.apiKeyRequired = value
}
/**
* @param value The authorization scopes supported by this route.
*/
@JvmName("qcnomhmfbwhqlwhb")
public suspend fun authorizationScopes(`value`: Output>) {
this.authorizationScopes = value
}
@JvmName("fbuwnmttuastjbqo")
public suspend fun authorizationScopes(vararg values: Output) {
this.authorizationScopes = Output.all(values.asList())
}
/**
* @param values The authorization scopes supported by this route.
*/
@JvmName("egfhskcxshnmafno")
public suspend fun authorizationScopes(values: List