All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy