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

com.pulumi.azurenative.migrate.kotlin.inputs.ManagementSettingsArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.migrate.kotlin.inputs

import com.pulumi.azurenative.migrate.inputs.ManagementSettingsArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Management settings.
 * @property hypervVirtualizationManagementSettings HyperV Virtualization Management Settings.
 * @property otherManagementCostsSettings Other Management Costs Settings.
 * @property thirdPartyManagementSettings Third Party Management Settings.
 * @property vsphereManagementSettings vSphere Management Settings.
 */
public data class ManagementSettingsArgs(
    public val hypervVirtualizationManagementSettings: Output,
    public val otherManagementCostsSettings: Output,
    public val thirdPartyManagementSettings: Output,
    public val vsphereManagementSettings: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.migrate.inputs.ManagementSettingsArgs =
        com.pulumi.azurenative.migrate.inputs.ManagementSettingsArgs.builder()
            .hypervVirtualizationManagementSettings(
                hypervVirtualizationManagementSettings.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .otherManagementCostsSettings(
                otherManagementCostsSettings.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .thirdPartyManagementSettings(
                thirdPartyManagementSettings.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .vsphereManagementSettings(
                vsphereManagementSettings.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [ManagementSettingsArgs].
 */
@PulumiTagMarker
public class ManagementSettingsArgsBuilder internal constructor() {
    private var hypervVirtualizationManagementSettings:
        Output? = null

    private var otherManagementCostsSettings: Output? = null

    private var thirdPartyManagementSettings: Output? = null

    private var vsphereManagementSettings: Output? = null

    /**
     * @param value HyperV Virtualization Management Settings.
     */
    @JvmName("vgywgpkdaeptlmgp")
    public suspend fun hypervVirtualizationManagementSettings(`value`: Output) {
        this.hypervVirtualizationManagementSettings = value
    }

    /**
     * @param value Other Management Costs Settings.
     */
    @JvmName("qcatxqapbqddapfj")
    public suspend fun otherManagementCostsSettings(`value`: Output) {
        this.otherManagementCostsSettings = value
    }

    /**
     * @param value Third Party Management Settings.
     */
    @JvmName("ufwixwcryfhemxwf")
    public suspend fun thirdPartyManagementSettings(`value`: Output) {
        this.thirdPartyManagementSettings = value
    }

    /**
     * @param value vSphere Management Settings.
     */
    @JvmName("hvwjfmsmkvijuqgq")
    public suspend fun vsphereManagementSettings(`value`: Output) {
        this.vsphereManagementSettings = value
    }

    /**
     * @param value HyperV Virtualization Management Settings.
     */
    @JvmName("mngxowfsxpluysot")
    public suspend fun hypervVirtualizationManagementSettings(`value`: HypervVirtualizationManagementSettingsArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hypervVirtualizationManagementSettings = mapped
    }

    /**
     * @param argument HyperV Virtualization Management Settings.
     */
    @JvmName("cojpxalaiijqrdde")
    public suspend fun hypervVirtualizationManagementSettings(argument: suspend HypervVirtualizationManagementSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = HypervVirtualizationManagementSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.hypervVirtualizationManagementSettings = mapped
    }

    /**
     * @param value Other Management Costs Settings.
     */
    @JvmName("suqiphwfdaqhypde")
    public suspend fun otherManagementCostsSettings(`value`: OtherManagementCostsSettingsArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.otherManagementCostsSettings = mapped
    }

    /**
     * @param argument Other Management Costs Settings.
     */
    @JvmName("sspkqbwhuiubrehk")
    public suspend fun otherManagementCostsSettings(argument: suspend OtherManagementCostsSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = OtherManagementCostsSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.otherManagementCostsSettings = mapped
    }

    /**
     * @param value Third Party Management Settings.
     */
    @JvmName("hqdsricvqpyliteo")
    public suspend fun thirdPartyManagementSettings(`value`: ThirdPartyManagementSettingsArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.thirdPartyManagementSettings = mapped
    }

    /**
     * @param argument Third Party Management Settings.
     */
    @JvmName("vyckbhhyqggrfkyb")
    public suspend fun thirdPartyManagementSettings(argument: suspend ThirdPartyManagementSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = ThirdPartyManagementSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.thirdPartyManagementSettings = mapped
    }

    /**
     * @param value vSphere Management Settings.
     */
    @JvmName("ifegcqgiaauyfcqy")
    public suspend fun vsphereManagementSettings(`value`: VsphereManagementSettingsArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vsphereManagementSettings = mapped
    }

    /**
     * @param argument vSphere Management Settings.
     */
    @JvmName("xbpkvukgvvhhxjyu")
    public suspend fun vsphereManagementSettings(argument: suspend VsphereManagementSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = VsphereManagementSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vsphereManagementSettings = mapped
    }

    internal fun build(): ManagementSettingsArgs = ManagementSettingsArgs(
        hypervVirtualizationManagementSettings = hypervVirtualizationManagementSettings ?: throw
            PulumiNullFieldException("hypervVirtualizationManagementSettings"),
        otherManagementCostsSettings = otherManagementCostsSettings ?: throw
            PulumiNullFieldException("otherManagementCostsSettings"),
        thirdPartyManagementSettings = thirdPartyManagementSettings ?: throw
            PulumiNullFieldException("thirdPartyManagementSettings"),
        vsphereManagementSettings = vsphereManagementSettings ?: throw
            PulumiNullFieldException("vsphereManagementSettings"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy