com.pulumi.gcp.kms.kotlin.inputs.GetCryptoKeysPlainArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.kms.kotlin.inputs
import com.pulumi.gcp.kms.inputs.GetCryptoKeysPlainArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* A collection of arguments for invoking getCryptoKeys.
* @property filter The filter argument is used to add a filter query parameter that limits which keys are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
* Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}.
* * `"name:my-key-"` will retrieve keys that contain "my-key-" anywhere in their name.
* * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1"` will only retrieve a key with that exact name.
* [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
* @property keyRing The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
*/
public data class GetCryptoKeysPlainArgs(
public val filter: String? = null,
public val keyRing: String,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.kms.inputs.GetCryptoKeysPlainArgs =
com.pulumi.gcp.kms.inputs.GetCryptoKeysPlainArgs.builder()
.filter(filter?.let({ args0 -> args0 }))
.keyRing(keyRing.let({ args0 -> args0 })).build()
}
/**
* Builder for [GetCryptoKeysPlainArgs].
*/
@PulumiTagMarker
public class GetCryptoKeysPlainArgsBuilder internal constructor() {
private var filter: String? = null
private var keyRing: String? = null
/**
* @param value The filter argument is used to add a filter query parameter that limits which keys are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
* Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}.
* * `"name:my-key-"` will retrieve keys that contain "my-key-" anywhere in their name.
* * `"name=projects/my-project/locations/global/keyRings/my-key-ring/cryptoKeys/my-key-1"` will only retrieve a key with that exact name.
* [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
*/
@JvmName("tcgtlwjhommkqpbc")
public suspend fun filter(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.filter = mapped
}
/**
* @param value The key ring that the keys belongs to. Format: 'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'.,
*/
@JvmName("kcrwimlqffwqmldf")
public suspend fun keyRing(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> args0 })
this.keyRing = mapped
}
internal fun build(): GetCryptoKeysPlainArgs = GetCryptoKeysPlainArgs(
filter = filter,
keyRing = keyRing ?: throw PulumiNullFieldException("keyRing"),
)
}