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

com.pulumi.googlenative.apigee.v1.kotlin.inputs.GoogleCloudApigeeV1GraphQLOperationArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.apigee.v1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1GraphQLOperationArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Represents the pairing of GraphQL operation types and the GraphQL operation name.
 * @property operation GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
 * @property operationTypes GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
 */
public data class GoogleCloudApigeeV1GraphQLOperationArgs(
    public val operation: Output? = null,
    public val operationTypes: Output>,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1GraphQLOperationArgs =
        com.pulumi.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1GraphQLOperationArgs.builder()
            .operation(operation?.applyValue({ args0 -> args0 }))
            .operationTypes(operationTypes.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [GoogleCloudApigeeV1GraphQLOperationArgs].
 */
@PulumiTagMarker
public class GoogleCloudApigeeV1GraphQLOperationArgsBuilder internal constructor() {
    private var operation: Output? = null

    private var operationTypes: Output>? = null

    /**
     * @param value GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
     */
    @JvmName("omxbljkliyicoumj")
    public suspend fun operation(`value`: Output) {
        this.operation = value
    }

    /**
     * @param value GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
     */
    @JvmName("yexeupjjgukhhyyi")
    public suspend fun operationTypes(`value`: Output>) {
        this.operationTypes = value
    }

    @JvmName("kbvnqhrbpitsoiyk")
    public suspend fun operationTypes(vararg values: Output) {
        this.operationTypes = Output.all(values.asList())
    }

    /**
     * @param values GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
     */
    @JvmName("wfmqsvnrfqllakxk")
    public suspend fun operationTypes(values: List>) {
        this.operationTypes = Output.all(values)
    }

    /**
     * @param value GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
     */
    @JvmName("extxyaypvfxeocdc")
    public suspend fun operation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.operation = mapped
    }

    /**
     * @param value GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
     */
    @JvmName("evyrrwlituomxhef")
    public suspend fun operationTypes(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.operationTypes = mapped
    }

    /**
     * @param values GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
     */
    @JvmName("nlomrcfgqlmddgcr")
    public suspend fun operationTypes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.operationTypes = mapped
    }

    internal fun build(): GoogleCloudApigeeV1GraphQLOperationArgs =
        GoogleCloudApigeeV1GraphQLOperationArgs(
            operation = operation,
            operationTypes = operationTypes ?: throw PulumiNullFieldException("operationTypes"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy