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

com.pulumi.googlenative.secretmanager.v1beta1.kotlin.inputs.ExprArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.secretmanager.v1beta1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.secretmanager.v1beta1.inputs.ExprArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
 * @property description Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
 * @property expression Textual representation of an expression in Common Expression Language syntax.
 * @property location Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
 * @property title Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
 */
public data class ExprArgs(
    public val description: Output? = null,
    public val expression: Output? = null,
    public val location: Output? = null,
    public val title: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.secretmanager.v1beta1.inputs.ExprArgs =
        com.pulumi.googlenative.secretmanager.v1beta1.inputs.ExprArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .expression(expression?.applyValue({ args0 -> args0 }))
            .location(location?.applyValue({ args0 -> args0 }))
            .title(title?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ExprArgs].
 */
@PulumiTagMarker
public class ExprArgsBuilder internal constructor() {
    private var description: Output? = null

    private var expression: Output? = null

    private var location: Output? = null

    private var title: Output? = null

    /**
     * @param value Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
     */
    @JvmName("dtqtoxdjrjjoduuj")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Textual representation of an expression in Common Expression Language syntax.
     */
    @JvmName("yflcmkrmhriklxfo")
    public suspend fun expression(`value`: Output) {
        this.expression = value
    }

    /**
     * @param value Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
     */
    @JvmName("gagnknejlgxyocsa")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
     */
    @JvmName("xsmfmrgvlujtnqub")
    public suspend fun title(`value`: Output) {
        this.title = value
    }

    /**
     * @param value Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
     */
    @JvmName("daoalkokrpfbyhda")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Textual representation of an expression in Common Expression Language syntax.
     */
    @JvmName("pndyodwoeawadqye")
    public suspend fun expression(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.expression = mapped
    }

    /**
     * @param value Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
     */
    @JvmName("ublgjhmwuhyyfqbm")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
     */
    @JvmName("tcwgjrpvxaskvexb")
    public suspend fun title(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.title = mapped
    }

    internal fun build(): ExprArgs = ExprArgs(
        description = description,
        expression = expression,
        location = location,
        title = title,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy