diff --git a/azurerm/internal/services/compute/windows_virtual_machine_resource.go b/azurerm/internal/services/compute/windows_virtual_machine_resource.go index 03d22f785852..2425d6266d42 100644 --- a/azurerm/internal/services/compute/windows_virtual_machine_resource.go +++ b/azurerm/internal/services/compute/windows_virtual_machine_resource.go @@ -276,6 +276,14 @@ func resourceWindowsVirtualMachine() *schema.Resource { ValidateFunc: computeValidate.VirtualMachineScaleSetID, }, + "platform_fault_domain": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + RequiredWith: []string{"virtual_machine_scale_set_id"}, + ValidateFunc: validation.IntAtLeast(0), + }, + "winrm_listener": winRmListenerSchema(), "zone": { @@ -515,6 +523,10 @@ func resourceWindowsVirtualMachineCreate(d *schema.ResourceData, meta interface{ } } + if v, ok := d.GetOk("platform_fault_domain"); ok { + params.PlatformFaultDomain = utils.Int32(int32(v.(int))) + } + if v, ok := d.GetOk("timezone"); ok { params.VirtualMachineProperties.OsProfile.WindowsConfiguration.TimeZone = utils.String(v.(string)) } @@ -644,6 +656,7 @@ func resourceWindowsVirtualMachineRead(d *schema.ResourceData, meta interface{}) virtualMachineScaleSetId = *props.VirtualMachineScaleSet.ID } d.Set("virtual_machine_scale_set_id", virtualMachineScaleSetId) + d.Set("platform_fault_domain", props.PlatformFaultDomain) if profile := props.OsProfile; profile != nil { d.Set("admin_username", profile.AdminUsername)