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

com.pulumi.gcp.gkehub.kotlin.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.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.20.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.gkehub.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property enabled Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
 * @property git Git repo configuration for the cluster
 * Structure is documented below.
 * @property oci OCI repo configuration for the cluster
 * Structure is documented below.
 * @property preventDrift Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.
 * @property sourceFormat Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
 */
public data class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs(
    public val enabled: Output? = null,
    public val git: Output? = null,
    public val oci: Output? = null,
    public val preventDrift: Output? = null,
    public val sourceFormat: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs =
        com.pulumi.gcp.gkehub.inputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs.builder()
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .git(git?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .oci(oci?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .preventDrift(preventDrift?.applyValue({ args0 -> args0 }))
            .sourceFormat(sourceFormat?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs].
 */
@PulumiTagMarker
public class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgsBuilder internal constructor() {
    private var enabled: Output? = null

    private var git: Output? = null

    private var oci: Output? = null

    private var preventDrift: Output? = null

    private var sourceFormat: Output? = null

    /**
     * @param value Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
     */
    @JvmName("pkrmpceefxmipgll")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value Git repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("moaqdfbhwmqpyayq")
    public suspend fun git(`value`: Output) {
        this.git = value
    }

    /**
     * @param value OCI repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("fispggdirgbsgpjt")
    public suspend fun oci(`value`: Output) {
        this.oci = value
    }

    /**
     * @param value Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.
     */
    @JvmName("igcbdjeewesqlluw")
    public suspend fun preventDrift(`value`: Output) {
        this.preventDrift = value
    }

    /**
     * @param value Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
     */
    @JvmName("gmcmnuxytuxqtilt")
    public suspend fun sourceFormat(`value`: Output) {
        this.sourceFormat = value
    }

    /**
     * @param value Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.
     */
    @JvmName("jfybmiqnslwidnst")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value Git repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("cekujkqkwbginirh")
    public suspend fun git(`value`: FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.git = mapped
    }

    /**
     * @param argument Git repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("noobfjulgdnyxmpk")
    public suspend fun git(argument: suspend FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgsBuilder.() -> Unit) {
        val toBeMapped =
            FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncGitArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.git = mapped
    }

    /**
     * @param value OCI repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("dbrmccgiuekpqasj")
    public suspend fun oci(`value`: FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oci = mapped
    }

    /**
     * @param argument OCI repo configuration for the cluster
     * Structure is documented below.
     */
    @JvmName("xcfsvnbpqadrvqfr")
    public suspend fun oci(argument: suspend FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgsBuilder.() -> Unit) {
        val toBeMapped =
            FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.oci = mapped
    }

    /**
     * @param value Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.
     */
    @JvmName("evtxsoglvdcrilxx")
    public suspend fun preventDrift(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.preventDrift = mapped
    }

    /**
     * @param value Specifies whether the Config Sync Repo is in hierarchical or unstructured mode
     */
    @JvmName("gcvvbkjjfakrdpje")
    public suspend fun sourceFormat(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceFormat = mapped
    }

    internal fun build(): FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs =
        FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs(
            enabled = enabled,
            git = git,
            oci = oci,
            preventDrift = preventDrift,
            sourceFormat = sourceFormat,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy