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

com.pulumi.gcp.osconfig.kotlin.inputs.GuestPoliciesPackageArgs.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.osconfig.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageArgs.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

/**
 *
 * @property desiredState The desiredState the agent should maintain for this package. The default is to ensure the package is installed.
 * Possible values are: `INSTALLED`, `UPDATED`, `REMOVED`.
 * @property manager Type of package manager that can be used to install this package. If a system does not have the package manager,
 * the package is not installed or removed no error message is returned. By default, or if you specify ANY,
 * the agent attempts to install and remove this package using the default package manager.
 * This is useful when creating a policy that applies to different types of systems.
 * The default behavior is ANY.
 * Default value is `ANY`.
 * Possible values are: `ANY`, `APT`, `YUM`, `ZYPPER`, `GOO`.
 * @property name The name of the package. A package is uniquely identified for conflict validation
 * by checking the package name and the manager(s) that the package targets.
 */
public data class GuestPoliciesPackageArgs(
    public val desiredState: Output? = null,
    public val manager: Output? = null,
    public val name: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageArgs =
        com.pulumi.gcp.osconfig.inputs.GuestPoliciesPackageArgs.builder()
            .desiredState(desiredState?.applyValue({ args0 -> args0 }))
            .manager(manager?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [GuestPoliciesPackageArgs].
 */
@PulumiTagMarker
public class GuestPoliciesPackageArgsBuilder internal constructor() {
    private var desiredState: Output? = null

    private var manager: Output? = null

    private var name: Output? = null

    /**
     * @param value The desiredState the agent should maintain for this package. The default is to ensure the package is installed.
     * Possible values are: `INSTALLED`, `UPDATED`, `REMOVED`.
     */
    @JvmName("ardheuvywapwirlx")
    public suspend fun desiredState(`value`: Output) {
        this.desiredState = value
    }

    /**
     * @param value Type of package manager that can be used to install this package. If a system does not have the package manager,
     * the package is not installed or removed no error message is returned. By default, or if you specify ANY,
     * the agent attempts to install and remove this package using the default package manager.
     * This is useful when creating a policy that applies to different types of systems.
     * The default behavior is ANY.
     * Default value is `ANY`.
     * Possible values are: `ANY`, `APT`, `YUM`, `ZYPPER`, `GOO`.
     */
    @JvmName("idtnvhmpfbavdfrb")
    public suspend fun manager(`value`: Output) {
        this.manager = value
    }

    /**
     * @param value The name of the package. A package is uniquely identified for conflict validation
     * by checking the package name and the manager(s) that the package targets.
     */
    @JvmName("mrewuljsqoguwqdo")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The desiredState the agent should maintain for this package. The default is to ensure the package is installed.
     * Possible values are: `INSTALLED`, `UPDATED`, `REMOVED`.
     */
    @JvmName("xsmgxqhaqguasjlb")
    public suspend fun desiredState(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.desiredState = mapped
    }

    /**
     * @param value Type of package manager that can be used to install this package. If a system does not have the package manager,
     * the package is not installed or removed no error message is returned. By default, or if you specify ANY,
     * the agent attempts to install and remove this package using the default package manager.
     * This is useful when creating a policy that applies to different types of systems.
     * The default behavior is ANY.
     * Default value is `ANY`.
     * Possible values are: `ANY`, `APT`, `YUM`, `ZYPPER`, `GOO`.
     */
    @JvmName("fsndltwhqyyabtwh")
    public suspend fun manager(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manager = mapped
    }

    /**
     * @param value The name of the package. A package is uniquely identified for conflict validation
     * by checking the package name and the manager(s) that the package targets.
     */
    @JvmName("ylifcjwujqaygoku")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    internal fun build(): GuestPoliciesPackageArgs = GuestPoliciesPackageArgs(
        desiredState = desiredState,
        manager = manager,
        name = name ?: throw PulumiNullFieldException("name"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy