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

com.pulumi.azure.siterecovery.kotlin.inputs.ProtectionContainerMappingAutomaticUpdateArgs.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.siterecovery.kotlin.inputs

import com.pulumi.azure.siterecovery.inputs.ProtectionContainerMappingAutomaticUpdateArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property authenticationType The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`.
 * > **Note:** `RunAsAccount` of `authentication_type` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).
 * > **Note:**: `authentication_type` will default to `SystemAssignedIdentity` in version 4.0.
 * @property automationAccountId The automation account ID which holds the automatic update runbook and authenticates to Azure resources.
 * > **Note:** `automation_account_id` is required when `enabled` is specified.
 * @property enabled Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.
 * > **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)
 */
public data class ProtectionContainerMappingAutomaticUpdateArgs(
    public val authenticationType: Output? = null,
    public val automationAccountId: Output? = null,
    public val enabled: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.siterecovery.inputs.ProtectionContainerMappingAutomaticUpdateArgs =
        com.pulumi.azure.siterecovery.inputs.ProtectionContainerMappingAutomaticUpdateArgs.builder()
            .authenticationType(authenticationType?.applyValue({ args0 -> args0 }))
            .automationAccountId(automationAccountId?.applyValue({ args0 -> args0 }))
            .enabled(enabled?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ProtectionContainerMappingAutomaticUpdateArgs].
 */
@PulumiTagMarker
public class ProtectionContainerMappingAutomaticUpdateArgsBuilder internal constructor() {
    private var authenticationType: Output? = null

    private var automationAccountId: Output? = null

    private var enabled: Output? = null

    /**
     * @param value The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`.
     * > **Note:** `RunAsAccount` of `authentication_type` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).
     * > **Note:**: `authentication_type` will default to `SystemAssignedIdentity` in version 4.0.
     */
    @JvmName("aqpqkmucsuqdavqf")
    public suspend fun authenticationType(`value`: Output) {
        this.authenticationType = value
    }

    /**
     * @param value The automation account ID which holds the automatic update runbook and authenticates to Azure resources.
     * > **Note:** `automation_account_id` is required when `enabled` is specified.
     */
    @JvmName("kxcsxvebwgnfkuxi")
    public suspend fun automationAccountId(`value`: Output) {
        this.automationAccountId = value
    }

    /**
     * @param value Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.
     * > **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)
     */
    @JvmName("egtspnrsxwflofdr")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`.
     * > **Note:** `RunAsAccount` of `authentication_type` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).
     * > **Note:**: `authentication_type` will default to `SystemAssignedIdentity` in version 4.0.
     */
    @JvmName("jlkwywuhsheogsyn")
    public suspend fun authenticationType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value The automation account ID which holds the automatic update runbook and authenticates to Azure resources.
     * > **Note:** `automation_account_id` is required when `enabled` is specified.
     */
    @JvmName("fqnhlccovesbjois")
    public suspend fun automationAccountId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.automationAccountId = mapped
    }

    /**
     * @param value Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.
     * > **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)
     */
    @JvmName("hdsfiwcnmqatvxgh")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    internal fun build(): ProtectionContainerMappingAutomaticUpdateArgs =
        ProtectionContainerMappingAutomaticUpdateArgs(
            authenticationType = authenticationType,
            automationAccountId = automationAccountId,
            enabled = enabled,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy