com.pulumi.aws.apigateway.kotlin.BasePathMappingArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.apigateway.kotlin
import com.pulumi.aws.apigateway.BasePathMappingArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Connects a custom domain name registered via `aws.apigateway.DomainName`
* with a deployed API so that its methods can be called via the
* custom domain name.
* ## Import
* For a non-root `base_path`:
* Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example:
* For an empty `base_path` or, in other words, a root path (`/`):
* ```sh
* $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/
* ```
* For a non-root `base_path`:
* ```sh
* $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path
* ```
* @property basePath Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
* @property domainName Already-registered domain name to connect the API to.
* @property restApi ID of the API to connect.
* @property stageName Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
*/
public data class BasePathMappingArgs(
public val basePath: Output? = null,
public val domainName: Output? = null,
public val restApi: Output? = null,
public val stageName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.apigateway.BasePathMappingArgs =
com.pulumi.aws.apigateway.BasePathMappingArgs.builder()
.basePath(basePath?.applyValue({ args0 -> args0 }))
.domainName(domainName?.applyValue({ args0 -> args0 }))
.restApi(restApi?.applyValue({ args0 -> args0 }))
.stageName(stageName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BasePathMappingArgs].
*/
@PulumiTagMarker
public class BasePathMappingArgsBuilder internal constructor() {
private var basePath: Output? = null
private var domainName: Output? = null
private var restApi: Output? = null
private var stageName: Output? = null
/**
* @param value Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
*/
@JvmName("fdrabsiamalivetf")
public suspend fun basePath(`value`: Output) {
this.basePath = value
}
/**
* @param value Already-registered domain name to connect the API to.
*/
@JvmName("mvrbttcyocrxhnsx")
public suspend fun domainName(`value`: Output) {
this.domainName = value
}
/**
* @param value ID of the API to connect.
*/
@JvmName("deiqriompdffwtrj")
public suspend fun restApi(`value`: Output) {
this.restApi = value
}
/**
* @param value Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
*/
@JvmName("xrifalnjjcnykcrd")
public suspend fun stageName(`value`: Output) {
this.stageName = value
}
/**
* @param value Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
*/
@JvmName("xqseawhngqheitgt")
public suspend fun basePath(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.basePath = mapped
}
/**
* @param value Already-registered domain name to connect the API to.
*/
@JvmName("ubvoneaxqcmesauj")
public suspend fun domainName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.domainName = mapped
}
/**
* @param value ID of the API to connect.
*/
@JvmName("vtdxjdwpvwqxjrts")
public suspend fun restApi(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.restApi = mapped
}
/**
* @param value Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
*/
@JvmName("fwjbdbkrfvbhrbpx")
public suspend fun stageName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.stageName = mapped
}
internal fun build(): BasePathMappingArgs = BasePathMappingArgs(
basePath = basePath,
domainName = domainName,
restApi = restApi,
stageName = stageName,
)
}