pulumi_wasm_providers_azure_mini::compute::windows_virtual_machine_scale_set

Struct WindowsVirtualMachineScaleSetArgs

source
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 with proximity_placement_group_id

Note: single_placement_group must be set to false when capacity_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 to Spot.

§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 to false if there are no extensions defined in the extension 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 to Spot.

§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 to Spot an eviction_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 or source_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 or source_image_reference must be set.

§spot_restore: Output<Option<WindowsVirtualMachineScaleSetSpotRestore>>

A spot_restore block as defined below.

§tags: Output<Option<HashMap<String, String>>>

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 more zones 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§

Trait Implementations§

source§

impl Clone for WindowsVirtualMachineScaleSetArgs

source§

fn clone(&self) -> WindowsVirtualMachineScaleSetArgs

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.