pub struct WindowsVirtualMachineScaleSetArgs {Show 55 fields
pub additional_capabilities: Output<Option<WindowsVirtualMachineScaleSetAdditionalCapabilities>>,
pub additional_unattend_contents: Output<Option<Vec<WindowsVirtualMachineScaleSetAdditionalUnattendContent>>>,
pub admin_password: Output<String>,
pub admin_username: Output<String>,
pub automatic_instance_repair: Output<Option<WindowsVirtualMachineScaleSetAutomaticInstanceRepair>>,
pub automatic_os_upgrade_policy: Output<Option<WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy>>,
pub boot_diagnostics: Output<Option<WindowsVirtualMachineScaleSetBootDiagnostics>>,
pub capacity_reservation_group_id: Output<Option<String>>,
pub computer_name_prefix: Output<Option<String>>,
pub custom_data: Output<Option<String>>,
pub data_disks: Output<Option<Vec<WindowsVirtualMachineScaleSetDataDisk>>>,
pub do_not_run_extensions_on_overprovisioned_machines: Output<Option<bool>>,
pub edge_zone: Output<Option<String>>,
pub enable_automatic_updates: Output<Option<bool>>,
pub encryption_at_host_enabled: Output<Option<bool>>,
pub eviction_policy: Output<Option<String>>,
pub extension_operations_enabled: Output<Option<bool>>,
pub extensions: Output<Option<Vec<WindowsVirtualMachineScaleSetExtension>>>,
pub extensions_time_budget: Output<Option<String>>,
pub gallery_applications: Output<Option<Vec<WindowsVirtualMachineScaleSetGalleryApplication>>>,
pub health_probe_id: Output<Option<String>>,
pub host_group_id: Output<Option<String>>,
pub identity: Output<Option<WindowsVirtualMachineScaleSetIdentity>>,
pub instances: Output<i32>,
pub license_type: Output<Option<String>>,
pub location: Output<Option<String>>,
pub max_bid_price: Output<Option<f64>>,
pub name: Output<Option<String>>,
pub network_interfaces: Output<Vec<WindowsVirtualMachineScaleSetNetworkInterface>>,
pub os_disk: Output<WindowsVirtualMachineScaleSetOsDisk>,
pub overprovision: Output<Option<bool>>,
pub plan: Output<Option<WindowsVirtualMachineScaleSetPlan>>,
pub platform_fault_domain_count: Output<Option<i32>>,
pub priority: Output<Option<String>>,
pub provision_vm_agent: Output<Option<bool>>,
pub proximity_placement_group_id: Output<Option<String>>,
pub resource_group_name: Output<String>,
pub rolling_upgrade_policy: Output<Option<WindowsVirtualMachineScaleSetRollingUpgradePolicy>>,
pub scale_in: Output<Option<WindowsVirtualMachineScaleSetScaleIn>>,
pub secrets: Output<Option<Vec<WindowsVirtualMachineScaleSetSecret>>>,
pub secure_boot_enabled: Output<Option<bool>>,
pub single_placement_group: Output<Option<bool>>,
pub sku: Output<String>,
pub source_image_id: Output<Option<String>>,
pub source_image_reference: Output<Option<WindowsVirtualMachineScaleSetSourceImageReference>>,
pub spot_restore: Output<Option<WindowsVirtualMachineScaleSetSpotRestore>>,
pub tags: Output<Option<HashMap<String, String>>>,
pub termination_notification: Output<Option<WindowsVirtualMachineScaleSetTerminationNotification>>,
pub timezone: Output<Option<String>>,
pub upgrade_mode: Output<Option<String>>,
pub user_data: Output<Option<String>>,
pub vtpm_enabled: Output<Option<bool>>,
pub winrm_listeners: Output<Option<Vec<WindowsVirtualMachineScaleSetWinrmListener>>>,
pub zone_balance: Output<Option<bool>>,
pub zones: Output<Option<Vec<String>>>,
}
Fields§
§additional_capabilities: Output<Option<WindowsVirtualMachineScaleSetAdditionalCapabilities>>
An additional_capabilities
block as defined below.
additional_unattend_contents: Output<Option<Vec<WindowsVirtualMachineScaleSetAdditionalUnattendContent>>>
One or more additional_unattend_content
blocks as defined below. Changing this forces a new resource to be created.
admin_password: Output<String>
The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
admin_username: Output<String>
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
automatic_instance_repair: Output<Option<WindowsVirtualMachineScaleSetAutomaticInstanceRepair>>
An automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id
or an Application Health Extension.
Note: For more information about Automatic Instance Repair, please refer to this doc.
automatic_os_upgrade_policy: Output<Option<WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy>>
An automatic_os_upgrade_policy
block as defined below. This can only be specified when upgrade_mode
is set to either Automatic
or Rolling
.
boot_diagnostics: Output<Option<WindowsVirtualMachineScaleSetBootDiagnostics>>
A boot_diagnostics
block as defined below.
capacity_reservation_group_id: Output<Option<String>>
Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.
computer_name_prefix: Output<Option<String>>
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name
field. If the value of the name
field is not a valid computer_name_prefix
, then you must specify computer_name_prefix
. Changing this forces a new resource to be created.
custom_data: Output<Option<String>>
The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it’s not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
data_disks: Output<Option<Vec<WindowsVirtualMachineScaleSetDataDisk>>>
One or more data_disk
blocks as defined below.
do_not_run_extensions_on_overprovisioned_machines: Output<Option<bool>>
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false
.
edge_zone: Output<Option<String>>
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enable_automatic_updates: Output<Option<bool>>
Are automatic updates enabled for this Virtual Machine? Defaults to true
.
encryption_at_host_enabled: Output<Option<bool>>
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
eviction_policy: Output<Option<String>>
Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate
and Delete
. Changing this forces a new resource to be created.
Note: This can only be configured when
priority
is set toSpot
.
extension_operations_enabled: Output<Option<bool>>
Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true
or false
. Defaults to true
. Changing this forces a new Windows Virtual Machine Scale Set to be created.
Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.
extensions: Output<Option<Vec<WindowsVirtualMachineScaleSetExtension>>>
One or more extension
blocks as defined below
extensions_time_budget: Output<Option<String>>
Specifies the duration allocated for all extensions to start. The time duration should be between 15
minutes and 120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M
.
gallery_applications: Output<Option<Vec<WindowsVirtualMachineScaleSetGalleryApplication>>>
One or more gallery_application
blocks as defined below.
health_probe_id: Output<Option<String>>
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode
is set to Automatic
or Rolling
.
host_group_id: Output<Option<String>>
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity: Output<Option<WindowsVirtualMachineScaleSetIdentity>>
An identity
block as defined below.
instances: Output<i32>
The number of Virtual Machines in the Scale Set.
NOTE: If you’re using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.
license_type: Output<Option<String>>
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None
, Windows_Client
and Windows_Server
.
location: Output<Option<String>>
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
max_bid_price: Output<Option<f64>>
The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy
. Defaults to -1
, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
Note: This can only be configured when
priority
is set toSpot
.
name: Output<Option<String>>
The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
network_interfaces: Output<Vec<WindowsVirtualMachineScaleSetNetworkInterface>>
One or more network_interface
blocks as defined below.
os_disk: Output<WindowsVirtualMachineScaleSetOsDisk>
An os_disk
block as defined below.
overprovision: Output<Option<bool>>
Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to true
.
plan: Output<Option<WindowsVirtualMachineScaleSetPlan>>
A plan
block as defined below. Changing this forces a new resource to be created.
Note: When using an image from Azure Marketplace a
plan
must be specified.
platform_fault_domain_count: Output<Option<i32>>
Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
priority: Output<Option<String>>
The Priority of this Virtual Machine Scale Set. Possible values are Regular
and Spot
. Defaults to Regular
. Changing this value forces a new resource.
Note: When
priority
is set toSpot
aneviction_policy
must be specified.
provision_vm_agent: Output<Option<bool>>
Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true
. Changing this value forces a new resource to be created.
proximity_placement_group_id: Output<Option<String>>
The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
resource_group_name: Output<String>
The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
rolling_upgrade_policy: Output<Option<WindowsVirtualMachineScaleSetRollingUpgradePolicy>>
A rolling_upgrade_policy
block as defined below. This is Required and can only be specified when upgrade_mode
is set to Automatic
or Rolling
. Changing this forces a new resource to be created.
scale_in: Output<Option<WindowsVirtualMachineScaleSetScaleIn>>
A scale_in
block as defined below.
secrets: Output<Option<Vec<WindowsVirtualMachineScaleSetSecret>>>
One or more secret
blocks as defined below.
secure_boot_enabled: Output<Option<bool>>
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
single_placement_group: Output<Option<bool>>
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true
.
sku: Output<String>
The Virtual Machine SKU for the Scale Set, such as Standard_F2
.
source_image_id: Output<Option<String>>
The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID
, Shared Image ID
, Shared Image Version ID
, Community Gallery Image ID
, Community Gallery Image Version ID
, Shared Gallery Image ID
and Shared Gallery Image Version ID
.
Note: One of either
source_image_id
orsource_image_reference
must be set.
source_image_reference: Output<Option<WindowsVirtualMachineScaleSetSourceImageReference>>
A source_image_reference
block as defined below.
Note: One of either
source_image_id
orsource_image_reference
must be set.
spot_restore: Output<Option<WindowsVirtualMachineScaleSetSpotRestore>>
A spot_restore
block as defined below.
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
termination_notification: Output<Option<WindowsVirtualMachineScaleSetTerminationNotification>>
A termination_notification
block as defined below.
timezone: Output<Option<String>>
Specifies the time zone of the virtual machine, the possible values are defined here.
upgrade_mode: Output<Option<String>>
§user_data: Output<Option<String>>
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpm_enabled: Output<Option<bool>>
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrm_listeners: Output<Option<Vec<WindowsVirtualMachineScaleSetWinrmListener>>>
One or more winrm_listener
blocks as defined below. Changing this forces a new resource to be created.
zone_balance: Output<Option<bool>>
Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false
. Changing this forces a new resource to be created.
Note: This can only be set to
true
when one or morezones
are configured.
zones: Output<Option<Vec<String>>>
Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.
Note: Updating
zones
to remove an existing zone forces a new Virtual Machine Scale Set to be created.
Implementations§
source§impl WindowsVirtualMachineScaleSetArgs
impl WindowsVirtualMachineScaleSetArgs
sourcepub fn builder() -> WindowsVirtualMachineScaleSetArgsBuilder
pub fn builder() -> WindowsVirtualMachineScaleSetArgsBuilder
Create an instance of WindowsVirtualMachineScaleSetArgs
using the builder syntax
Trait Implementations§
source§impl Clone for WindowsVirtualMachineScaleSetArgs
impl Clone for WindowsVirtualMachineScaleSetArgs
source§fn clone(&self) -> WindowsVirtualMachineScaleSetArgs
fn clone(&self) -> WindowsVirtualMachineScaleSetArgs
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for WindowsVirtualMachineScaleSetArgs
impl RefUnwindSafe for WindowsVirtualMachineScaleSetArgs
impl Send for WindowsVirtualMachineScaleSetArgs
impl Sync for WindowsVirtualMachineScaleSetArgs
impl Unpin for WindowsVirtualMachineScaleSetArgs
impl UnwindSafe for WindowsVirtualMachineScaleSetArgs
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)