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.googlenative.metastore.v1alpha.kotlin.FederationArgs.kt Maven / Gradle / Ivy
Go to download
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.googlenative.metastore.v1alpha.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.metastore.v1alpha.FederationArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Creates a metastore federation in a project and location.
* @property backendMetastores A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.
* @property federationId Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
* @property labels User-defined labels for the metastore federation.
* @property location
* @property name Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.
* @property project
* @property requestId Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
* @property version Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version.
*/
public data class FederationArgs(
public val backendMetastores: Output>? = null,
public val federationId: Output? = null,
public val labels: Output>? = null,
public val location: Output? = null,
public val name: Output? = null,
public val project: Output? = null,
public val requestId: Output? = null,
public val version: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.metastore.v1alpha.FederationArgs =
com.pulumi.googlenative.metastore.v1alpha.FederationArgs.builder()
.backendMetastores(
backendMetastores?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.federationId(federationId?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.project(project?.applyValue({ args0 -> args0 }))
.requestId(requestId?.applyValue({ args0 -> args0 }))
.version(version?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FederationArgs].
*/
@PulumiTagMarker
public class FederationArgsBuilder internal constructor() {
private var backendMetastores: Output>? = null
private var federationId: Output? = null
private var labels: Output>? = null
private var location: Output? = null
private var name: Output? = null
private var project: Output? = null
private var requestId: Output? = null
private var version: Output? = null
/**
* @param value A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.
*/
@JvmName("jnxxmwhwksuufqmp")
public suspend fun backendMetastores(`value`: Output>) {
this.backendMetastores = value
}
/**
* @param value Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
*/
@JvmName("pbxjrigjkjrogdyl")
public suspend fun federationId(`value`: Output) {
this.federationId = value
}
/**
* @param value User-defined labels for the metastore federation.
*/
@JvmName("wqnetxukemnmqlxi")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value
*/
@JvmName("vgyekffldnmsgjos")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.
*/
@JvmName("hysypbukotqewxxd")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value
*/
@JvmName("rgarnprxinddixyw")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
*/
@JvmName("bhwntkydavifkphw")
public suspend fun requestId(`value`: Output) {
this.requestId = value
}
/**
* @param value Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version.
*/
@JvmName("pabpwairmfirguvt")
public suspend fun version(`value`: Output) {
this.version = value
}
/**
* @param value A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.
*/
@JvmName("wljridxsjruqsaub")
public suspend fun backendMetastores(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.backendMetastores = mapped
}
/**
* @param values A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.
*/
@JvmName("fxnkvjchlwvhifvp")
public fun backendMetastores(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.backendMetastores = mapped
}
/**
* @param value Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.
*/
@JvmName("uecbxxktkqylwbul")
public suspend fun federationId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.federationId = mapped
}
/**
* @param value User-defined labels for the metastore federation.
*/
@JvmName("wdqhucubhweddfnw")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values User-defined labels for the metastore federation.
*/
@JvmName("hoeqmwexfuehbwqs")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value
*/
@JvmName("dffhmscyjylxweco")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.
*/
@JvmName("vrwtslkoqjrchqec")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value
*/
@JvmName("ygqmqwuvgdjghsfu")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
*/
@JvmName("axvtvcglpsvouwne")
public suspend fun requestId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requestId = mapped
}
/**
* @param value Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version.
*/
@JvmName("eubgrcftidsfahwj")
public suspend fun version(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.version = mapped
}
internal fun build(): FederationArgs = FederationArgs(
backendMetastores = backendMetastores,
federationId = federationId,
labels = labels,
location = location,
name = name,
project = project,
requestId = requestId,
version = version,
)
}