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

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

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

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

import com.pulumi.azurenative.migrate.inputs.WorkloadDeploymentModelPropertiesArgs.builder
import com.pulumi.azurenative.migrate.kotlin.enums.WorkloadDeploymentTarget
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Workload deployment model properties.
 * @property customProperties Workload deployment model custom properties.
 * @property displayName Gets or sets the display name.
 * @property targetPlatform Gets or sets the deployment target platform.
 * @property workloadInstanceProperties Workload instance model properties.
 */
public data class WorkloadDeploymentModelPropertiesArgs(
    public val customProperties: Output>? =
        null,
    public val displayName: Output? = null,
    public val targetPlatform: Output>? = null,
    public val workloadInstanceProperties: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.migrate.inputs.WorkloadDeploymentModelPropertiesArgs = com.pulumi.azurenative.migrate.inputs.WorkloadDeploymentModelPropertiesArgs.builder()
        .customProperties(
            customProperties?.applyValue({ args0 ->
                args0.transform({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
            }),
        )
        .displayName(displayName?.applyValue({ args0 -> args0 }))
        .targetPlatform(
            targetPlatform?.applyValue({ args0 ->
                args0.transform({ args0 -> args0 }, { args0 ->
                    args0.let({ args0 -> args0.toJava() })
                })
            }),
        )
        .workloadInstanceProperties(
            workloadInstanceProperties?.applyValue({ args0 ->
                args0.let({ args0 ->
                    args0.toJava()
                })
            }),
        ).build()
}

/**
 * Builder for [WorkloadDeploymentModelPropertiesArgs].
 */
@PulumiTagMarker
public class WorkloadDeploymentModelPropertiesArgsBuilder internal constructor() {
    private var customProperties:
        Output>? =
        null

    private var displayName: Output? = null

    private var targetPlatform: Output>? = null

    private var workloadInstanceProperties: Output? = null

    /**
     * @param value Workload deployment model custom properties.
     */
    @JvmName("soaqagaxqgbcumdy")
    public suspend fun customProperties(`value`: Output>) {
        this.customProperties = value
    }

    /**
     * @param value Gets or sets the display name.
     */
    @JvmName("iqgrqovfmmtukqom")
    public suspend fun displayName(`value`: Output) {
        this.displayName = value
    }

    /**
     * @param value Gets or sets the deployment target platform.
     */
    @JvmName("ltvubgjaobbhauxx")
    public suspend fun targetPlatform(`value`: Output>) {
        this.targetPlatform = value
    }

    /**
     * @param value Workload instance model properties.
     */
    @JvmName("dupmktecfeugmmrk")
    public suspend fun workloadInstanceProperties(`value`: Output) {
        this.workloadInstanceProperties = value
    }

    /**
     * @param value Workload deployment model custom properties.
     */
    @JvmName("duqauorokyxscqdg")
    public suspend fun customProperties(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customProperties = mapped
    }

    /**
     * @param value Workload deployment model custom properties.
     */
    @JvmName("tfykhvrsryewxweq")
    public fun customProperties(`value`: ApacheTomcatAKSWorkloadDeploymentModelCustomPropertiesArgs) {
        val toBeMapped = Either.ofLeft<
            ApacheTomcatAKSWorkloadDeploymentModelCustomPropertiesArgs,
            IISAKSWorkloadDeploymentModelCustomPropertiesArgs,
            >(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customProperties = mapped
    }

    /**
     * @param value Workload deployment model custom properties.
     */
    @JvmName("twusegjmsdkacsww")
    public fun customProperties(`value`: IISAKSWorkloadDeploymentModelCustomPropertiesArgs) {
        val toBeMapped = Either.ofRight<
            ApacheTomcatAKSWorkloadDeploymentModelCustomPropertiesArgs,
            IISAKSWorkloadDeploymentModelCustomPropertiesArgs,
            >(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customProperties = mapped
    }

    /**
     * @param value Gets or sets the display name.
     */
    @JvmName("jewpiniugymueltk")
    public suspend fun displayName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param value Gets or sets the deployment target platform.
     */
    @JvmName("cqwpoohwvuuewlop")
    public suspend fun targetPlatform(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetPlatform = mapped
    }

    /**
     * @param value Gets or sets the deployment target platform.
     */
    @JvmName("cdvbyiwointntlep")
    public fun targetPlatform(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.targetPlatform = mapped
    }

    /**
     * @param value Gets or sets the deployment target platform.
     */
    @JvmName("xebadutocwxrsqmo")
    public fun targetPlatform(`value`: WorkloadDeploymentTarget) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.targetPlatform = mapped
    }

    /**
     * @param value Workload instance model properties.
     */
    @JvmName("nscfaknjuluxinhl")
    public suspend fun workloadInstanceProperties(`value`: WorkloadInstanceModelPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workloadInstanceProperties = mapped
    }

    /**
     * @param argument Workload instance model properties.
     */
    @JvmName("xsbumnuiweulguok")
    public suspend fun workloadInstanceProperties(argument: suspend WorkloadInstanceModelPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkloadInstanceModelPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.workloadInstanceProperties = mapped
    }

    internal fun build(): WorkloadDeploymentModelPropertiesArgs =
        WorkloadDeploymentModelPropertiesArgs(
            customProperties = customProperties,
            displayName = displayName,
            targetPlatform = targetPlatform,
            workloadInstanceProperties = workloadInstanceProperties,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy