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

com.pulumi.azurenative.azurefleet.kotlin.inputs.BaseVirtualMachineProfileArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.azurefleet.kotlin.inputs

import com.pulumi.azurenative.azurefleet.inputs.BaseVirtualMachineProfileArgs.builder
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

/**
 * Describes the base virtual machine profile for fleet
 * @property applicationProfile Specifies the gallery applications that should be made available to the VM/VMSS
 * @property capacityReservation Specifies the capacity reservation related details of a scale set. Minimum
 * api-version: 2021-04-01.
 * @property diagnosticsProfile Specifies the boot diagnostic settings state.
 * @property extensionProfile Specifies a collection of settings for extensions installed on virtual machines
 * in the scale set.
 * @property hardwareProfile Specifies the hardware profile related details of a scale set. Minimum
 * api-version: 2021-11-01.
 * @property licenseType Specifies that the image or disk that is being used was licensed on-premises.
 * 

Possible values for Windows Server operating system are:

* Windows_Client

Windows_Server

Possible values for Linux * Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS * (for SUSE)

For more information, see [Azure Hybrid Use Benefit for * Windows * Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) *

[Azure Hybrid Use Benefit for Linux * Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) *

Minimum api-version: 2015-06-15 * @property networkProfile Specifies properties of the network interfaces of the virtual machines in the * scale set. * @property osProfile Specifies the operating system settings for the virtual machines in the scale * set. * @property scheduledEventsProfile Specifies Scheduled Event related configurations. * @property securityPostureReference Specifies the security posture to be used for all virtual machines in the scale * set. Minimum api-version: 2023-03-01 * @property securityProfile Specifies the Security related profile settings for the virtual machines in the * scale set. * @property serviceArtifactReference Specifies the service artifact reference id used to set same image version for * all virtual machines in the scale set when using 'latest' image version. * Minimum api-version: 2022-11-01 * @property storageProfile Specifies the storage settings for the virtual machine disks. * @property userData UserData for the virtual machines in the scale set, which must be base-64 * encoded. Customer should not pass any secrets in here. Minimum api-version: * 2021-03-01. */ public data class BaseVirtualMachineProfileArgs( public val applicationProfile: Output? = null, public val capacityReservation: Output? = null, public val diagnosticsProfile: Output? = null, public val extensionProfile: Output? = null, public val hardwareProfile: Output? = null, public val licenseType: Output? = null, public val networkProfile: Output? = null, public val osProfile: Output? = null, public val scheduledEventsProfile: Output? = null, public val securityPostureReference: Output? = null, public val securityProfile: Output? = null, public val serviceArtifactReference: Output? = null, public val storageProfile: Output? = null, public val userData: Output? = null, ) : ConvertibleToJava { override fun toJava(): com.pulumi.azurenative.azurefleet.inputs.BaseVirtualMachineProfileArgs = com.pulumi.azurenative.azurefleet.inputs.BaseVirtualMachineProfileArgs.builder() .applicationProfile( applicationProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .capacityReservation( capacityReservation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .diagnosticsProfile( diagnosticsProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .extensionProfile(extensionProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .hardwareProfile(hardwareProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .licenseType(licenseType?.applyValue({ args0 -> args0 })) .networkProfile(networkProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .osProfile(osProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .scheduledEventsProfile( scheduledEventsProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .securityPostureReference( securityPostureReference?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .securityProfile(securityProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .serviceArtifactReference( serviceArtifactReference?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .storageProfile(storageProfile?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .userData(userData?.applyValue({ args0 -> args0 })).build() } /** * Builder for [BaseVirtualMachineProfileArgs]. */ @PulumiTagMarker public class BaseVirtualMachineProfileArgsBuilder internal constructor() { private var applicationProfile: Output? = null private var capacityReservation: Output? = null private var diagnosticsProfile: Output? = null private var extensionProfile: Output? = null private var hardwareProfile: Output? = null private var licenseType: Output? = null private var networkProfile: Output? = null private var osProfile: Output? = null private var scheduledEventsProfile: Output? = null private var securityPostureReference: Output? = null private var securityProfile: Output? = null private var serviceArtifactReference: Output? = null private var storageProfile: Output? = null private var userData: Output? = null /** * @param value Specifies the gallery applications that should be made available to the VM/VMSS */ @JvmName("ydtyelppeubqajew") public suspend fun applicationProfile(`value`: Output) { this.applicationProfile = value } /** * @param value Specifies the capacity reservation related details of a scale set. Minimum * api-version: 2021-04-01. */ @JvmName("dbbnrwyvhhoydyni") public suspend fun capacityReservation(`value`: Output) { this.capacityReservation = value } /** * @param value Specifies the boot diagnostic settings state. */ @JvmName("bwpjmyragunhdvjg") public suspend fun diagnosticsProfile(`value`: Output) { this.diagnosticsProfile = value } /** * @param value Specifies a collection of settings for extensions installed on virtual machines * in the scale set. */ @JvmName("livsxvmiytshgqwa") public suspend fun extensionProfile(`value`: Output) { this.extensionProfile = value } /** * @param value Specifies the hardware profile related details of a scale set. Minimum * api-version: 2021-11-01. */ @JvmName("cprdpccikhovkckx") public suspend fun hardwareProfile(`value`: Output) { this.hardwareProfile = value } /** * @param value Specifies that the image or disk that is being used was licensed on-premises. *

Possible values for Windows Server operating system are:

* Windows_Client

Windows_Server

Possible values for Linux * Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS * (for SUSE)

For more information, see [Azure Hybrid Use Benefit for * Windows * Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) *

[Azure Hybrid Use Benefit for Linux * Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) *

Minimum api-version: 2015-06-15 */ @JvmName("mjotpgulqsenjvdc") public suspend fun licenseType(`value`: Output) { this.licenseType = value } /** * @param value Specifies properties of the network interfaces of the virtual machines in the * scale set. */ @JvmName("daddoytbgujjobmh") public suspend fun networkProfile(`value`: Output) { this.networkProfile = value } /** * @param value Specifies the operating system settings for the virtual machines in the scale * set. */ @JvmName("xbjteaahmotxbdas") public suspend fun osProfile(`value`: Output) { this.osProfile = value } /** * @param value Specifies Scheduled Event related configurations. */ @JvmName("xaimpkumqmvlscfq") public suspend fun scheduledEventsProfile(`value`: Output) { this.scheduledEventsProfile = value } /** * @param value Specifies the security posture to be used for all virtual machines in the scale * set. Minimum api-version: 2023-03-01 */ @JvmName("anuufnvwkaachhoa") public suspend fun securityPostureReference(`value`: Output) { this.securityPostureReference = value } /** * @param value Specifies the Security related profile settings for the virtual machines in the * scale set. */ @JvmName("bknhgyhwouitxlxg") public suspend fun securityProfile(`value`: Output) { this.securityProfile = value } /** * @param value Specifies the service artifact reference id used to set same image version for * all virtual machines in the scale set when using 'latest' image version. * Minimum api-version: 2022-11-01 */ @JvmName("uxhcavxdkcdbmhlx") public suspend fun serviceArtifactReference(`value`: Output) { this.serviceArtifactReference = value } /** * @param value Specifies the storage settings for the virtual machine disks. */ @JvmName("lbdtotjsqdbfsvxh") public suspend fun storageProfile(`value`: Output) { this.storageProfile = value } /** * @param value UserData for the virtual machines in the scale set, which must be base-64 * encoded. Customer should not pass any secrets in here. Minimum api-version: * 2021-03-01. */ @JvmName("edmjtuvqoyorxdbw") public suspend fun userData(`value`: Output) { this.userData = value } /** * @param value Specifies the gallery applications that should be made available to the VM/VMSS */ @JvmName("bculymlyudhqfvyu") public suspend fun applicationProfile(`value`: ApplicationProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.applicationProfile = mapped } /** * @param argument Specifies the gallery applications that should be made available to the VM/VMSS */ @JvmName("yboitufbqbarermt") public suspend fun applicationProfile(argument: suspend ApplicationProfileArgsBuilder.() -> Unit) { val toBeMapped = ApplicationProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.applicationProfile = mapped } /** * @param value Specifies the capacity reservation related details of a scale set. Minimum * api-version: 2021-04-01. */ @JvmName("obktmxxkvniuqtyk") public suspend fun capacityReservation(`value`: CapacityReservationProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.capacityReservation = mapped } /** * @param argument Specifies the capacity reservation related details of a scale set. Minimum * api-version: 2021-04-01. */ @JvmName("wupblnnlilnnkixm") public suspend fun capacityReservation(argument: suspend CapacityReservationProfileArgsBuilder.() -> Unit) { val toBeMapped = CapacityReservationProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.capacityReservation = mapped } /** * @param value Specifies the boot diagnostic settings state. */ @JvmName("bigmhxusicafaquf") public suspend fun diagnosticsProfile(`value`: DiagnosticsProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.diagnosticsProfile = mapped } /** * @param argument Specifies the boot diagnostic settings state. */ @JvmName("fmpoxifrlgcuxnsw") public suspend fun diagnosticsProfile(argument: suspend DiagnosticsProfileArgsBuilder.() -> Unit) { val toBeMapped = DiagnosticsProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.diagnosticsProfile = mapped } /** * @param value Specifies a collection of settings for extensions installed on virtual machines * in the scale set. */ @JvmName("mubvwtkavmbxybix") public suspend fun extensionProfile(`value`: VirtualMachineScaleSetExtensionProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.extensionProfile = mapped } /** * @param argument Specifies a collection of settings for extensions installed on virtual machines * in the scale set. */ @JvmName("tmfxrbbrljqarruf") public suspend fun extensionProfile(argument: suspend VirtualMachineScaleSetExtensionProfileArgsBuilder.() -> Unit) { val toBeMapped = VirtualMachineScaleSetExtensionProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.extensionProfile = mapped } /** * @param value Specifies the hardware profile related details of a scale set. Minimum * api-version: 2021-11-01. */ @JvmName("rcdljyjtrfdvsiqr") public suspend fun hardwareProfile(`value`: VirtualMachineScaleSetHardwareProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.hardwareProfile = mapped } /** * @param argument Specifies the hardware profile related details of a scale set. Minimum * api-version: 2021-11-01. */ @JvmName("lcemajkwrswfyvcv") public suspend fun hardwareProfile(argument: suspend VirtualMachineScaleSetHardwareProfileArgsBuilder.() -> Unit) { val toBeMapped = VirtualMachineScaleSetHardwareProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.hardwareProfile = mapped } /** * @param value Specifies that the image or disk that is being used was licensed on-premises. *

Possible values for Windows Server operating system are:

* Windows_Client

Windows_Server

Possible values for Linux * Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS * (for SUSE)

For more information, see [Azure Hybrid Use Benefit for * Windows * Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) *

[Azure Hybrid Use Benefit for Linux * Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) *

Minimum api-version: 2015-06-15 */ @JvmName("khhkirebbyikecmv") public suspend fun licenseType(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.licenseType = mapped } /** * @param value Specifies properties of the network interfaces of the virtual machines in the * scale set. */ @JvmName("musffmnfidlthooh") public suspend fun networkProfile(`value`: VirtualMachineScaleSetNetworkProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.networkProfile = mapped } /** * @param argument Specifies properties of the network interfaces of the virtual machines in the * scale set. */ @JvmName("nbqxbvupaodruxkh") public suspend fun networkProfile(argument: suspend VirtualMachineScaleSetNetworkProfileArgsBuilder.() -> Unit) { val toBeMapped = VirtualMachineScaleSetNetworkProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.networkProfile = mapped } /** * @param value Specifies the operating system settings for the virtual machines in the scale * set. */ @JvmName("olxgclqewqjiiitu") public suspend fun osProfile(`value`: VirtualMachineScaleSetOSProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.osProfile = mapped } /** * @param argument Specifies the operating system settings for the virtual machines in the scale * set. */ @JvmName("ljkoxkqgsrdamwxc") public suspend fun osProfile(argument: suspend VirtualMachineScaleSetOSProfileArgsBuilder.() -> Unit) { val toBeMapped = VirtualMachineScaleSetOSProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.osProfile = mapped } /** * @param value Specifies Scheduled Event related configurations. */ @JvmName("klqgdabgdxeytxlq") public suspend fun scheduledEventsProfile(`value`: ScheduledEventsProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.scheduledEventsProfile = mapped } /** * @param argument Specifies Scheduled Event related configurations. */ @JvmName("umuwsmqaipihnhne") public suspend fun scheduledEventsProfile(argument: suspend ScheduledEventsProfileArgsBuilder.() -> Unit) { val toBeMapped = ScheduledEventsProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.scheduledEventsProfile = mapped } /** * @param value Specifies the security posture to be used for all virtual machines in the scale * set. Minimum api-version: 2023-03-01 */ @JvmName("luuqmgofaaaxbudr") public suspend fun securityPostureReference(`value`: SecurityPostureReferenceArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.securityPostureReference = mapped } /** * @param argument Specifies the security posture to be used for all virtual machines in the scale * set. Minimum api-version: 2023-03-01 */ @JvmName("tgflqpnjnmpsdcvq") public suspend fun securityPostureReference(argument: suspend SecurityPostureReferenceArgsBuilder.() -> Unit) { val toBeMapped = SecurityPostureReferenceArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.securityPostureReference = mapped } /** * @param value Specifies the Security related profile settings for the virtual machines in the * scale set. */ @JvmName("qqdfjuaigtdymxdv") public suspend fun securityProfile(`value`: SecurityProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.securityProfile = mapped } /** * @param argument Specifies the Security related profile settings for the virtual machines in the * scale set. */ @JvmName("hnxjcxpjfdnlboyk") public suspend fun securityProfile(argument: suspend SecurityProfileArgsBuilder.() -> Unit) { val toBeMapped = SecurityProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.securityProfile = mapped } /** * @param value Specifies the service artifact reference id used to set same image version for * all virtual machines in the scale set when using 'latest' image version. * Minimum api-version: 2022-11-01 */ @JvmName("pylddweyxjfeybuj") public suspend fun serviceArtifactReference(`value`: ServiceArtifactReferenceArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.serviceArtifactReference = mapped } /** * @param argument Specifies the service artifact reference id used to set same image version for * all virtual machines in the scale set when using 'latest' image version. * Minimum api-version: 2022-11-01 */ @JvmName("fagbovtfwvqnujkq") public suspend fun serviceArtifactReference(argument: suspend ServiceArtifactReferenceArgsBuilder.() -> Unit) { val toBeMapped = ServiceArtifactReferenceArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.serviceArtifactReference = mapped } /** * @param value Specifies the storage settings for the virtual machine disks. */ @JvmName("kkafancsfxxxrjgq") public suspend fun storageProfile(`value`: VirtualMachineScaleSetStorageProfileArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.storageProfile = mapped } /** * @param argument Specifies the storage settings for the virtual machine disks. */ @JvmName("occobxjiboruonbx") public suspend fun storageProfile(argument: suspend VirtualMachineScaleSetStorageProfileArgsBuilder.() -> Unit) { val toBeMapped = VirtualMachineScaleSetStorageProfileArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.storageProfile = mapped } /** * @param value UserData for the virtual machines in the scale set, which must be base-64 * encoded. Customer should not pass any secrets in here. Minimum api-version: * 2021-03-01. */ @JvmName("lrmmkdplxqqkeoii") public suspend fun userData(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.userData = mapped } internal fun build(): BaseVirtualMachineProfileArgs = BaseVirtualMachineProfileArgs( applicationProfile = applicationProfile, capacityReservation = capacityReservation, diagnosticsProfile = diagnosticsProfile, extensionProfile = extensionProfile, hardwareProfile = hardwareProfile, licenseType = licenseType, networkProfile = networkProfile, osProfile = osProfile, scheduledEventsProfile = scheduledEventsProfile, securityPostureReference = securityPostureReference, securityProfile = securityProfile, serviceArtifactReference = serviceArtifactReference, storageProfile = storageProfile, userData = userData, ) }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy