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

com.pulumi.gcp.edgecontainer.kotlin.inputs.ClusterControlPlaneLocalArgs.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.

There is a newer version: 8.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.edgecontainer.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.edgecontainer.inputs.ClusterControlPlaneLocalArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property machineFilter Only machines matching this filter will be allowed to host control
 * plane nodes. The filtering language accepts strings like "name=",
 * and is documented here: [AIP-160](https://google.aip.dev/160).
 * @property nodeCount The number of nodes to serve as replicas of the Control Plane.
 * Only 1 and 3 are supported.
 * @property nodeLocation Name of the Google Distributed Cloud Edge zones where this node pool
 * will be created. For example: `us-central1-edge-customer-a`.
 * @property sharedDeploymentPolicy Policy configuration about how user applications are deployed.
 * Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
 */
public data class ClusterControlPlaneLocalArgs(
    public val machineFilter: Output? = null,
    public val nodeCount: Output? = null,
    public val nodeLocation: Output? = null,
    public val sharedDeploymentPolicy: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.edgecontainer.inputs.ClusterControlPlaneLocalArgs =
        com.pulumi.gcp.edgecontainer.inputs.ClusterControlPlaneLocalArgs.builder()
            .machineFilter(machineFilter?.applyValue({ args0 -> args0 }))
            .nodeCount(nodeCount?.applyValue({ args0 -> args0 }))
            .nodeLocation(nodeLocation?.applyValue({ args0 -> args0 }))
            .sharedDeploymentPolicy(sharedDeploymentPolicy?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ClusterControlPlaneLocalArgs].
 */
@PulumiTagMarker
public class ClusterControlPlaneLocalArgsBuilder internal constructor() {
    private var machineFilter: Output? = null

    private var nodeCount: Output? = null

    private var nodeLocation: Output? = null

    private var sharedDeploymentPolicy: Output? = null

    /**
     * @param value Only machines matching this filter will be allowed to host control
     * plane nodes. The filtering language accepts strings like "name=",
     * and is documented here: [AIP-160](https://google.aip.dev/160).
     */
    @JvmName("eoyskotkmpijkmhx")
    public suspend fun machineFilter(`value`: Output) {
        this.machineFilter = value
    }

    /**
     * @param value The number of nodes to serve as replicas of the Control Plane.
     * Only 1 and 3 are supported.
     */
    @JvmName("kmwgubvcssdvagab")
    public suspend fun nodeCount(`value`: Output) {
        this.nodeCount = value
    }

    /**
     * @param value Name of the Google Distributed Cloud Edge zones where this node pool
     * will be created. For example: `us-central1-edge-customer-a`.
     */
    @JvmName("eqkwlgsbqfepfdlt")
    public suspend fun nodeLocation(`value`: Output) {
        this.nodeLocation = value
    }

    /**
     * @param value Policy configuration about how user applications are deployed.
     * Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
     */
    @JvmName("qxxlupgjtlhibufl")
    public suspend fun sharedDeploymentPolicy(`value`: Output) {
        this.sharedDeploymentPolicy = value
    }

    /**
     * @param value Only machines matching this filter will be allowed to host control
     * plane nodes. The filtering language accepts strings like "name=",
     * and is documented here: [AIP-160](https://google.aip.dev/160).
     */
    @JvmName("hnaciwkydukxjlvg")
    public suspend fun machineFilter(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.machineFilter = mapped
    }

    /**
     * @param value The number of nodes to serve as replicas of the Control Plane.
     * Only 1 and 3 are supported.
     */
    @JvmName("bnxjdmcdvcbtjvaw")
    public suspend fun nodeCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nodeCount = mapped
    }

    /**
     * @param value Name of the Google Distributed Cloud Edge zones where this node pool
     * will be created. For example: `us-central1-edge-customer-a`.
     */
    @JvmName("vnijqmivchxqdaks")
    public suspend fun nodeLocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nodeLocation = mapped
    }

    /**
     * @param value Policy configuration about how user applications are deployed.
     * Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
     */
    @JvmName("tdeothvysajmmetk")
    public suspend fun sharedDeploymentPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sharedDeploymentPolicy = mapped
    }

    internal fun build(): ClusterControlPlaneLocalArgs = ClusterControlPlaneLocalArgs(
        machineFilter = machineFilter,
        nodeCount = nodeCount,
        nodeLocation = nodeLocation,
        sharedDeploymentPolicy = sharedDeploymentPolicy,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy