pub struct LinuxVirtualMachineScaleSetArgs {Show 52 fields
pub additional_capabilities: Output<Option<LinuxVirtualMachineScaleSetAdditionalCapabilities>>,
pub admin_password: Output<Option<String>>,
pub admin_ssh_keys: Output<Option<Vec<LinuxVirtualMachineScaleSetAdminSshKey>>>,
pub admin_username: Output<String>,
pub automatic_instance_repair: Output<Option<LinuxVirtualMachineScaleSetAutomaticInstanceRepair>>,
pub automatic_os_upgrade_policy: Output<Option<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy>>,
pub boot_diagnostics: Output<Option<LinuxVirtualMachineScaleSetBootDiagnostics>>,
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<LinuxVirtualMachineScaleSetDataDisk>>>,
pub disable_password_authentication: Output<Option<bool>>,
pub do_not_run_extensions_on_overprovisioned_machines: Output<Option<bool>>,
pub edge_zone: Output<Option<String>>,
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<LinuxVirtualMachineScaleSetExtension>>>,
pub extensions_time_budget: Output<Option<String>>,
pub gallery_applications: Output<Option<Vec<LinuxVirtualMachineScaleSetGalleryApplication>>>,
pub health_probe_id: Output<Option<String>>,
pub host_group_id: Output<Option<String>>,
pub identity: Output<Option<LinuxVirtualMachineScaleSetIdentity>>,
pub instances: Output<Option<i32>>,
pub location: Output<Option<String>>,
pub max_bid_price: Output<Option<f64>>,
pub name: Output<Option<String>>,
pub network_interfaces: Output<Vec<LinuxVirtualMachineScaleSetNetworkInterface>>,
pub os_disk: Output<LinuxVirtualMachineScaleSetOsDisk>,
pub overprovision: Output<Option<bool>>,
pub plan: Output<Option<LinuxVirtualMachineScaleSetPlan>>,
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<LinuxVirtualMachineScaleSetRollingUpgradePolicy>>,
pub scale_in: Output<Option<LinuxVirtualMachineScaleSetScaleIn>>,
pub secrets: Output<Option<Vec<LinuxVirtualMachineScaleSetSecret>>>,
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<LinuxVirtualMachineScaleSetSourceImageReference>>,
pub spot_restore: Output<Option<LinuxVirtualMachineScaleSetSpotRestore>>,
pub tags: Output<Option<HashMap<String, String>>>,
pub termination_notification: Output<Option<LinuxVirtualMachineScaleSetTerminationNotification>>,
pub upgrade_mode: Output<Option<String>>,
pub user_data: Output<Option<String>>,
pub vtpm_enabled: Output<Option<bool>>,
pub zone_balance: Output<Option<bool>>,
pub zones: Output<Option<Vec<String>>>,
}
Fields§
§additional_capabilities: Output<Option<LinuxVirtualMachineScaleSetAdditionalCapabilities>>
An additional_capabilities
block as defined below.
admin_password: Output<Option<String>>
The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.
Note: One of either
admin_password
oradmin_ssh_key
must be specified.
admin_ssh_keys: Output<Option<Vec<LinuxVirtualMachineScaleSetAdminSshKey>>>
One or more admin_ssh_key
blocks as defined below.
Note: One of either
admin_password
oradmin_ssh_key
must be specified.
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<LinuxVirtualMachineScaleSetAutomaticInstanceRepair>>
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 the product documentation.
automatic_os_upgrade_policy: Output<Option<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy>>
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<LinuxVirtualMachineScaleSetBootDiagnostics>>
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<LinuxVirtualMachineScaleSetDataDisk>>>
One or more data_disk
blocks as defined below.
disable_password_authentication: Output<Option<bool>>
Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true
.
In general we’d recommend using SSH Keys for authentication rather than Passwords - but there’s tradeoff’s to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.
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 Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
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 Linux 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<LinuxVirtualMachineScaleSetExtension>>>
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<LinuxVirtualMachineScaleSetGalleryApplication>>>
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<LinuxVirtualMachineScaleSetIdentity>>
An identity
block as defined below.
instances: Output<Option<i32>>
The number of Virtual Machines in the Scale Set. Defaults to 0
.
NOTE: If you’re using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.
location: Output<Option<String>>
The Azure location where the Linux 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 this 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 Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
network_interfaces: Output<Vec<LinuxVirtualMachineScaleSetNetworkInterface>>
One or more network_interface
blocks as defined below.
os_disk: Output<LinuxVirtualMachineScaleSetOsDisk>
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<LinuxVirtualMachineScaleSetPlan>>
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 Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
rolling_upgrade_policy: Output<Option<LinuxVirtualMachineScaleSetRollingUpgradePolicy>>
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<LinuxVirtualMachineScaleSetScaleIn>>
A scale_in
block as defined below.
secrets: Output<Option<Vec<LinuxVirtualMachineScaleSetSecret>>>
One or more secret
blocks as defined below.
secure_boot_enabled: Output<Option<bool>>
Specifies whether secure boot should be enabled on 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<LinuxVirtualMachineScaleSetSourceImageReference>>
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<LinuxVirtualMachineScaleSetSpotRestore>>
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<LinuxVirtualMachineScaleSetTerminationNotification>>
A termination_notification
block as defined below.
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 whether vTPM should be enabled on the virtual machine. 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 Linux 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 LinuxVirtualMachineScaleSetArgs
impl LinuxVirtualMachineScaleSetArgs
sourcepub fn builder() -> LinuxVirtualMachineScaleSetArgsBuilder
pub fn builder() -> LinuxVirtualMachineScaleSetArgsBuilder
Create an instance of LinuxVirtualMachineScaleSetArgs
using the builder syntax
Trait Implementations§
source§impl Clone for LinuxVirtualMachineScaleSetArgs
impl Clone for LinuxVirtualMachineScaleSetArgs
source§fn clone(&self) -> LinuxVirtualMachineScaleSetArgs
fn clone(&self) -> LinuxVirtualMachineScaleSetArgs
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 LinuxVirtualMachineScaleSetArgs
impl RefUnwindSafe for LinuxVirtualMachineScaleSetArgs
impl Send for LinuxVirtualMachineScaleSetArgs
impl Sync for LinuxVirtualMachineScaleSetArgs
impl Unpin for LinuxVirtualMachineScaleSetArgs
impl UnwindSafe for LinuxVirtualMachineScaleSetArgs
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
)