com.pulumi.azurenative.compute.VirtualMachineScaleSetVM Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.compute;
import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.compute.VirtualMachineScaleSetVMArgs;
import com.pulumi.azurenative.compute.outputs.AdditionalCapabilitiesResponse;
import com.pulumi.azurenative.compute.outputs.DiagnosticsProfileResponse;
import com.pulumi.azurenative.compute.outputs.HardwareProfileResponse;
import com.pulumi.azurenative.compute.outputs.NetworkProfileResponse;
import com.pulumi.azurenative.compute.outputs.OSProfileResponse;
import com.pulumi.azurenative.compute.outputs.PlanResponse;
import com.pulumi.azurenative.compute.outputs.SecurityProfileResponse;
import com.pulumi.azurenative.compute.outputs.SkuResponse;
import com.pulumi.azurenative.compute.outputs.StorageProfileResponse;
import com.pulumi.azurenative.compute.outputs.SubResourceResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineExtensionResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineIdentityResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetVMInstanceViewResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetVMProtectionPolicyResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Describes a virtual machine scale set virtual machine.
* Azure REST API version: 2023-03-01. Prior API version in Azure Native 1.x: 2021-03-01.
*
* Other available API versions: 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01.
*
* ## Example Usage
* ### VirtualMachineScaleSetVM_Update_MaximumSet_Gen
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.compute.VirtualMachineScaleSetVM;
* import com.pulumi.azurenative.compute.VirtualMachineScaleSetVMArgs;
* import com.pulumi.azurenative.compute.inputs.AdditionalCapabilitiesArgs;
* import com.pulumi.azurenative.compute.inputs.SubResourceArgs;
* import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
* import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
* import com.pulumi.azurenative.compute.inputs.HardwareProfileArgs;
* import com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs;
* import com.pulumi.azurenative.compute.inputs.NetworkProfileArgs;
* import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs;
* import com.pulumi.azurenative.compute.inputs.OSProfileArgs;
* import com.pulumi.azurenative.compute.inputs.LinuxConfigurationArgs;
* import com.pulumi.azurenative.compute.inputs.LinuxPatchSettingsArgs;
* import com.pulumi.azurenative.compute.inputs.SshConfigurationArgs;
* import com.pulumi.azurenative.compute.inputs.WindowsConfigurationArgs;
* import com.pulumi.azurenative.compute.inputs.PatchSettingsArgs;
* import com.pulumi.azurenative.compute.inputs.WinRMConfigurationArgs;
* import com.pulumi.azurenative.compute.inputs.PlanArgs;
* import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProtectionPolicyArgs;
* import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
* import com.pulumi.azurenative.compute.inputs.UefiSettingsArgs;
* import com.pulumi.azurenative.compute.inputs.StorageProfileArgs;
* import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
* import com.pulumi.azurenative.compute.inputs.OSDiskArgs;
* import com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs;
* import com.pulumi.azurenative.compute.inputs.DiskEncryptionSettingsArgs;
* import com.pulumi.azurenative.compute.inputs.KeyVaultSecretReferenceArgs;
* import com.pulumi.azurenative.compute.inputs.KeyVaultKeyReferenceArgs;
* import com.pulumi.azurenative.compute.inputs.VirtualHardDiskArgs;
* import com.pulumi.azurenative.compute.inputs.ManagedDiskParametersArgs;
* import com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* var virtualMachineScaleSetVM = new VirtualMachineScaleSetVM("virtualMachineScaleSetVM", VirtualMachineScaleSetVMArgs.builder()
* .additionalCapabilities(AdditionalCapabilitiesArgs.builder()
* .hibernationEnabled(true)
* .ultraSSDEnabled(true)
* .build())
* .availabilitySet(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .diagnosticsProfile(DiagnosticsProfileArgs.builder()
* .bootDiagnostics(BootDiagnosticsArgs.builder()
* .enabled(true)
* .storageUri("aaaaaaaaaaaaa")
* .build())
* .build())
* .hardwareProfile(HardwareProfileArgs.builder()
* .vmSize("Basic_A0")
* .vmSizeProperties(VMSizePropertiesArgs.builder()
* .vCPUsAvailable(9)
* .vCPUsPerCore(12)
* .build())
* .build())
* .instanceId("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
* .licenseType("aaaaaaaaaa")
* .location("westus")
* .networkProfile(NetworkProfileArgs.builder()
* .networkApiVersion("2020-11-01")
* .networkInterfaceConfigurations(VirtualMachineNetworkInterfaceConfigurationArgs.builder()
* .deleteOption("Delete")
* .dnsSettings(VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.builder()
* .dnsServers("aaaaaa")
* .build())
* .dscpConfiguration(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .enableAcceleratedNetworking(true)
* .enableFpga(true)
* .enableIPForwarding(true)
* .ipConfigurations(VirtualMachineNetworkInterfaceIPConfigurationArgs.builder()
* .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .applicationSecurityGroups(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .loadBalancerBackendAddressPools(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .name("aa")
* .primary(true)
* .privateIPAddressVersion("IPv4")
* .publicIPAddressConfiguration(VirtualMachinePublicIPAddressConfigurationArgs.builder()
* .deleteOption("Delete")
* .dnsSettings(VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.builder()
* .domainNameLabel("aaaaaaaaaaaaaaaaaaaaaaaaa")
* .build())
* .idleTimeoutInMinutes(2)
* .ipTags(VirtualMachineIpTagArgs.builder()
* .ipTagType("aaaaaaaaaaaaaaaaaaaaaaaaa")
* .tag("aaaaaaaaaaaaaaaaaaaa")
* .build())
* .name("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
* .publicIPAddressVersion("IPv4")
* .publicIPAllocationMethod("Dynamic")
* .publicIPPrefix(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .sku(PublicIPAddressSkuArgs.builder()
* .name("Basic")
* .tier("Regional")
* .build())
* .build())
* .subnet(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .build())
* .name("aaaaaaaaaaa")
* .networkSecurityGroup(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .primary(true)
* .build())
* .networkInterfaces(NetworkInterfaceReferenceArgs.builder()
* .deleteOption("Delete")
* .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415")
* .primary(true)
* .build())
* .build())
* .networkProfileConfiguration(VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.builder()
* .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
* .deleteOption("Delete")
* .dnsSettings(VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.builder()
* .dnsServers()
* .build())
* .enableAcceleratedNetworking(true)
* .enableFpga(true)
* .enableIPForwarding(true)
* .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
* .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .applicationSecurityGroups(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .loadBalancerBackendAddressPools(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .loadBalancerInboundNatPools(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .name("vmsstestnetconfig9693")
* .primary(true)
* .privateIPAddressVersion("IPv4")
* .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
* .deleteOption("Delete")
* .dnsSettings(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.builder()
* .domainNameLabel("aaaaaaaaaaaaaaaaaa")
* .build())
* .idleTimeoutInMinutes(18)
* .ipTags(VirtualMachineScaleSetIpTagArgs.builder()
* .ipTagType("aaaaaaa")
* .tag("aaaaaaaaaaaaaaaaaaaaaaaaaaa")
* .build())
* .name("aaaaaaaaaaaaaaaaaa")
* .publicIPAddressVersion("IPv4")
* .publicIPPrefix(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .sku(PublicIPAddressSkuArgs.builder()
* .name("Basic")
* .tier("Regional")
* .build())
* .build())
* .subnet(ApiEntityReferenceArgs.builder()
* .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503")
* .build())
* .build())
* .name("vmsstestnetconfig5415")
* .networkSecurityGroup(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .primary(true)
* .build())
* .build())
* .osProfile(OSProfileArgs.builder()
* .adminPassword("aaaaaaaaaaaaaaaa")
* .adminUsername("Foo12")
* .allowExtensionOperations(true)
* .computerName("test000000")
* .customData("aaaa")
* .linuxConfiguration(LinuxConfigurationArgs.builder()
* .disablePasswordAuthentication(true)
* .patchSettings(LinuxPatchSettingsArgs.builder()
* .assessmentMode("ImageDefault")
* .patchMode("ImageDefault")
* .build())
* .provisionVMAgent(true)
* .ssh(SshConfigurationArgs.builder()
* .publicKeys(SshPublicKeyArgs.builder()
* .keyData("aaaaaa")
* .path("aaa")
* .build())
* .build())
* .build())
* .requireGuestProvisionSignal(true)
* .secrets()
* .windowsConfiguration(WindowsConfigurationArgs.builder()
* .additionalUnattendContent(AdditionalUnattendContentArgs.builder()
* .componentName("Microsoft-Windows-Shell-Setup")
* .content("aaaaaaaaaaaaaaaaaaaa")
* .passName("OobeSystem")
* .settingName("AutoLogon")
* .build())
* .enableAutomaticUpdates(true)
* .patchSettings(PatchSettingsArgs.builder()
* .assessmentMode("ImageDefault")
* .enableHotpatching(true)
* .patchMode("Manual")
* .build())
* .provisionVMAgent(true)
* .timeZone("aaaaaaaaaaaaaaaaaaaaaaaaaaa")
* .winRM(WinRMConfigurationArgs.builder()
* .listeners(WinRMListenerArgs.builder()
* .certificateUrl("aaaaaaaaaaaaaaaaaaaaaa")
* .protocol("Http")
* .build())
* .build())
* .build())
* .build())
* .plan(PlanArgs.builder()
* .name("aaaaaaaaaa")
* .product("aaaaaaaaaaaaaaaaaaaa")
* .promotionCode("aaaaaaaaaaaaaaaaaaaa")
* .publisher("aaaaaaaaaaaaaaaaaaaaaa")
* .build())
* .protectionPolicy(VirtualMachineScaleSetVMProtectionPolicyArgs.builder()
* .protectFromScaleIn(true)
* .protectFromScaleSetActions(true)
* .build())
* .resourceGroupName("rgcompute")
* .securityProfile(SecurityProfileArgs.builder()
* .encryptionAtHost(true)
* .securityType("TrustedLaunch")
* .uefiSettings(UefiSettingsArgs.builder()
* .secureBootEnabled(true)
* .vTpmEnabled(true)
* .build())
* .build())
* .storageProfile(StorageProfileArgs.builder()
* .dataDisks(DataDiskArgs.builder()
* .caching("None")
* .createOption("Empty")
* .deleteOption("Delete")
* .detachOption("ForceDetach")
* .diskSizeGB(128)
* .image(VirtualHardDiskArgs.builder()
* .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
* .build())
* .lun(1)
* .managedDisk(ManagedDiskParametersArgs.builder()
* .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
* .id("aaaaaaaaaaaa")
* .build())
* .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d")
* .storageAccountType("Standard_LRS")
* .build())
* .name("vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d")
* .toBeDetached(true)
* .vhd(VirtualHardDiskArgs.builder()
* .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
* .build())
* .writeAcceleratorEnabled(true)
* .build())
* .imageReference(ImageReferenceArgs.builder()
* .id("a")
* .offer("WindowsServer")
* .publisher("MicrosoftWindowsServer")
* .sharedGalleryImageId("aaaaaaaaaaaaaaaaaaaa")
* .sku("2012-R2-Datacenter")
* .version("4.127.20180315")
* .build())
* .osDisk(OSDiskArgs.builder()
* .caching("None")
* .createOption("FromImage")
* .deleteOption("Delete")
* .diffDiskSettings(DiffDiskSettingsArgs.builder()
* .option("Local")
* .placement("CacheDisk")
* .build())
* .diskSizeGB(127)
* .encryptionSettings(DiskEncryptionSettingsArgs.builder()
* .diskEncryptionKey(KeyVaultSecretReferenceArgs.builder()
* .secretUrl("aaaaaaaa")
* .sourceVault(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .build())
* .enabled(true)
* .keyEncryptionKey(KeyVaultKeyReferenceArgs.builder()
* .keyUrl("aaaaaaaaaaaaaa")
* .sourceVault(SubResourceArgs.builder()
* .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
* .build())
* .build())
* .build())
* .image(VirtualHardDiskArgs.builder()
* .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
* .build())
* .managedDisk(ManagedDiskParametersArgs.builder()
* .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
* .id("aaaaaaaaaaaa")
* .build())
* .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc")
* .storageAccountType("Standard_LRS")
* .build())
* .name("vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc")
* .osType("Windows")
* .vhd(VirtualHardDiskArgs.builder()
* .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
* .build())
* .writeAcceleratorEnabled(true)
* .build())
* .build())
* .tags()
* .userData("RXhhbXBsZSBVc2VyRGF0YQ==")
* .vmScaleSetName("aaaaaaaaaaaaaa")
* .build());
*
* }
* }
*
* }
*
* ### VirtualMachineScaleSetVM_Update_MinimumSet_Gen
*
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azurenative.compute.VirtualMachineScaleSetVM;
* import com.pulumi.azurenative.compute.VirtualMachineScaleSetVMArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* var virtualMachineScaleSetVM = new VirtualMachineScaleSetVM("virtualMachineScaleSetVM", VirtualMachineScaleSetVMArgs.builder()
* .instanceId("aaaaaaaaaaaaaaaaaaaa")
* .location("westus")
* .resourceGroupName("rgcompute")
* .vmScaleSetName("aaaaaaaaaaaaaaaaaa")
* .build());
*
* }
* }
*
* }
*
*
* ## Import
*
* An existing resource can be imported using its type token, name, and identifier, e.g.
*
* ```sh
* $ pulumi import azure-native:compute:VirtualMachineScaleSetVM {vmss-vm-name} /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}
* ```
*
*/
@ResourceType(type="azure-native:compute:VirtualMachineScaleSetVM")
public class VirtualMachineScaleSetVM extends com.pulumi.resources.CustomResource {
/**
* Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
*
*/
@Export(name="additionalCapabilities", refs={AdditionalCapabilitiesResponse.class}, tree="[0]")
private Output* @Nullable */ AdditionalCapabilitiesResponse> additionalCapabilities;
/**
* @return Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
*
*/
public Output> additionalCapabilities() {
return Codegen.optional(this.additionalCapabilities);
}
/**
* Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
*
*/
@Export(name="availabilitySet", refs={SubResourceResponse.class}, tree="[0]")
private Output* @Nullable */ SubResourceResponse> availabilitySet;
/**
* @return Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
*
*/
public Output> availabilitySet() {
return Codegen.optional(this.availabilitySet);
}
/**
* Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
*
*/
@Export(name="diagnosticsProfile", refs={DiagnosticsProfileResponse.class}, tree="[0]")
private Output* @Nullable */ DiagnosticsProfileResponse> diagnosticsProfile;
/**
* @return Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
*
*/
public Output> diagnosticsProfile() {
return Codegen.optional(this.diagnosticsProfile);
}
/**
* Specifies the hardware settings for the virtual machine.
*
*/
@Export(name="hardwareProfile", refs={HardwareProfileResponse.class}, tree="[0]")
private Output* @Nullable */ HardwareProfileResponse> hardwareProfile;
/**
* @return Specifies the hardware settings for the virtual machine.
*
*/
public Output> hardwareProfile() {
return Codegen.optional(this.hardwareProfile);
}
/**
* The identity of the virtual machine, if configured.
*
*/
@Export(name="identity", refs={VirtualMachineIdentityResponse.class}, tree="[0]")
private Output* @Nullable */ VirtualMachineIdentityResponse> identity;
/**
* @return The identity of the virtual machine, if configured.
*
*/
public Output> identity() {
return Codegen.optional(this.identity);
}
/**
* The virtual machine instance ID.
*
*/
@Export(name="instanceId", refs={String.class}, tree="[0]")
private Output instanceId;
/**
* @return The virtual machine instance ID.
*
*/
public Output instanceId() {
return this.instanceId;
}
/**
* The virtual machine instance view.
*
*/
@Export(name="instanceView", refs={VirtualMachineScaleSetVMInstanceViewResponse.class}, tree="[0]")
private Output instanceView;
/**
* @return The virtual machine instance view.
*
*/
public Output instanceView() {
return this.instanceView;
}
/**
* Specifies whether the latest model has been applied to the virtual machine.
*
*/
@Export(name="latestModelApplied", refs={Boolean.class}, tree="[0]")
private Output latestModelApplied;
/**
* @return Specifies whether the latest model has been applied to the virtual machine.
*
*/
public Output latestModelApplied() {
return this.latestModelApplied;
}
/**
* Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15
*
*/
@Export(name="licenseType", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> licenseType;
/**
* @return Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15
*
*/
public Output> licenseType() {
return Codegen.optional(this.licenseType);
}
/**
* Resource location
*
*/
@Export(name="location", refs={String.class}, tree="[0]")
private Output location;
/**
* @return Resource location
*
*/
public Output location() {
return this.location;
}
/**
* Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
*
*/
@Export(name="modelDefinitionApplied", refs={String.class}, tree="[0]")
private Output modelDefinitionApplied;
/**
* @return Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
*
*/
public Output modelDefinitionApplied() {
return this.modelDefinitionApplied;
}
/**
* Resource name
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return Resource name
*
*/
public Output name() {
return this.name;
}
/**
* Specifies the network interfaces of the virtual machine.
*
*/
@Export(name="networkProfile", refs={NetworkProfileResponse.class}, tree="[0]")
private Output* @Nullable */ NetworkProfileResponse> networkProfile;
/**
* @return Specifies the network interfaces of the virtual machine.
*
*/
public Output> networkProfile() {
return Codegen.optional(this.networkProfile);
}
/**
* Specifies the network profile configuration of the virtual machine.
*
*/
@Export(name="networkProfileConfiguration", refs={VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.class}, tree="[0]")
private Output* @Nullable */ VirtualMachineScaleSetVMNetworkProfileConfigurationResponse> networkProfileConfiguration;
/**
* @return Specifies the network profile configuration of the virtual machine.
*
*/
public Output> networkProfileConfiguration() {
return Codegen.optional(this.networkProfileConfiguration);
}
/**
* Specifies the operating system settings for the virtual machine.
*
*/
@Export(name="osProfile", refs={OSProfileResponse.class}, tree="[0]")
private Output* @Nullable */ OSProfileResponse> osProfile;
/**
* @return Specifies the operating system settings for the virtual machine.
*
*/
public Output> osProfile() {
return Codegen.optional(this.osProfile);
}
/**
* Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**.
*
*/
@Export(name="plan", refs={PlanResponse.class}, tree="[0]")
private Output* @Nullable */ PlanResponse> plan;
/**
* @return Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**.
*
*/
public Output> plan() {
return Codegen.optional(this.plan);
}
/**
* Specifies the protection policy of the virtual machine.
*
*/
@Export(name="protectionPolicy", refs={VirtualMachineScaleSetVMProtectionPolicyResponse.class}, tree="[0]")
private Output* @Nullable */ VirtualMachineScaleSetVMProtectionPolicyResponse> protectionPolicy;
/**
* @return Specifies the protection policy of the virtual machine.
*
*/
public Output> protectionPolicy() {
return Codegen.optional(this.protectionPolicy);
}
/**
* The provisioning state, which only appears in the response.
*
*/
@Export(name="provisioningState", refs={String.class}, tree="[0]")
private Output provisioningState;
/**
* @return The provisioning state, which only appears in the response.
*
*/
public Output provisioningState() {
return this.provisioningState;
}
/**
* The virtual machine child extension resources.
*
*/
@Export(name="resources", refs={List.class,VirtualMachineExtensionResponse.class}, tree="[0,1]")
private Output> resources;
/**
* @return The virtual machine child extension resources.
*
*/
public Output> resources() {
return this.resources;
}
/**
* Specifies the Security related profile settings for the virtual machine.
*
*/
@Export(name="securityProfile", refs={SecurityProfileResponse.class}, tree="[0]")
private Output* @Nullable */ SecurityProfileResponse> securityProfile;
/**
* @return Specifies the Security related profile settings for the virtual machine.
*
*/
public Output> securityProfile() {
return Codegen.optional(this.securityProfile);
}
/**
* The virtual machine SKU.
*
*/
@Export(name="sku", refs={SkuResponse.class}, tree="[0]")
private Output sku;
/**
* @return The virtual machine SKU.
*
*/
public Output sku() {
return this.sku;
}
/**
* Specifies the storage settings for the virtual machine disks.
*
*/
@Export(name="storageProfile", refs={StorageProfileResponse.class}, tree="[0]")
private Output* @Nullable */ StorageProfileResponse> storageProfile;
/**
* @return Specifies the storage settings for the virtual machine disks.
*
*/
public Output> storageProfile() {
return Codegen.optional(this.storageProfile);
}
/**
* Resource tags
*
*/
@Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> tags;
/**
* @return Resource tags
*
*/
public Output>> tags() {
return Codegen.optional(this.tags);
}
/**
* Resource type
*
*/
@Export(name="type", refs={String.class}, tree="[0]")
private Output type;
/**
* @return Resource type
*
*/
public Output type() {
return this.type;
}
/**
* UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01
*
*/
@Export(name="userData", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> userData;
/**
* @return UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01
*
*/
public Output> userData() {
return Codegen.optional(this.userData);
}
/**
* Azure VM unique ID.
*
*/
@Export(name="vmId", refs={String.class}, tree="[0]")
private Output vmId;
/**
* @return Azure VM unique ID.
*
*/
public Output vmId() {
return this.vmId;
}
/**
* The virtual machine zones.
*
*/
@Export(name="zones", refs={List.class,String.class}, tree="[0,1]")
private Output> zones;
/**
* @return The virtual machine zones.
*
*/
public Output> zones() {
return this.zones;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public VirtualMachineScaleSetVM(java.lang.String name) {
this(name, VirtualMachineScaleSetVMArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public VirtualMachineScaleSetVM(java.lang.String name, VirtualMachineScaleSetVMArgs args) {
this(name, args, null);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
* @param options A bag of options that control this resource's behavior.
*/
public VirtualMachineScaleSetVM(java.lang.String name, VirtualMachineScaleSetVMArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:compute:VirtualMachineScaleSetVM", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private VirtualMachineScaleSetVM(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure-native:compute:VirtualMachineScaleSetVM", name, null, makeResourceOptions(options, id), false);
}
private static VirtualMachineScaleSetVMArgs makeArgs(VirtualMachineScaleSetVMArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? VirtualMachineScaleSetVMArgs.Empty : args;
}
private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
.version(Utilities.getVersion())
.aliases(List.of(
Output.of(Alias.builder().type("azure-native:compute/v20171201:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20180401:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20180601:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20181001:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20190301:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20190701:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20191201:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20200601:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20201201:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20210301:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20210401:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20210701:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20211101:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20220301:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20220801:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20221101:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20230301:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20230701:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20230901:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20240301:VirtualMachineScaleSetVM").build()),
Output.of(Alias.builder().type("azure-native:compute/v20240701:VirtualMachineScaleSetVM").build())
))
.build();
return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
}
/**
* Get an existing Host resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static VirtualMachineScaleSetVM get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new VirtualMachineScaleSetVM(name, id, options);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy