New-AzVmssConfig
Creates a VMSS configuration object.
Syntax
New-AzVmssConfig
[[-Overprovision] <Boolean>]
[[-Location] <String>]
[[-Tag] <Hashtable>]
[[-SkuName] <String>]
[[-SkuTier] <String>]
[[-SkuCapacity] <Int32>]
[[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>]
[[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>]
[-SinglePlacementGroup <Boolean>]
[-Zone <String[]>]
[-PlanName <String>]
[-PlanPublisher <String>]
[-PlanProduct <String>]
[-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>]
[-AutoOSUpgrade]
[-HealthProbeId <String>]
[-BootDiagnostic <BootDiagnostics>]
[-LicenseType <String>]
[-Priority <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzVmssConfig
[[-Overprovision] <Boolean>]
[[-Location] <String>]
[[-Tag] <Hashtable>]
[[-SkuName] <String>]
[[-SkuTier] <String>]
[[-SkuCapacity] <Int32>]
[[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>]
[[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>]
[-SinglePlacementGroup <Boolean>]
[-Zone <String[]>]
[-PlanName <String>]
[-PlanPublisher <String>]
[-PlanProduct <String>]
[-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>]
[-AutoOSUpgrade]
[-HealthProbeId <String>]
[-BootDiagnostic <BootDiagnostics>]
[-LicenseType <String>]
[-Priority <String>]
-IdentityType <ResourceIdentityType>
[-IdentityId <String[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzVmssConfig
[[-Overprovision] <Boolean>]
[[-Location] <String>]
[[-Tag] <Hashtable>]
[[-SkuName] <String>]
[[-SkuTier] <String>]
[[-SkuCapacity] <Int32>]
[[-UpgradePolicyMode] <UpgradeMode>]
[[-OsProfile] <VirtualMachineScaleSetOSProfile>]
[[-StorageProfile] <VirtualMachineScaleSetStorageProfile>]
[[-NetworkInterfaceConfiguration] <VirtualMachineScaleSetNetworkConfiguration[]>]
[[-Extension] <VirtualMachineScaleSetExtension[]>]
[-SinglePlacementGroup <Boolean>]
[-Zone <String[]>]
[-PlanName <String>]
[-PlanPublisher <String>]
[-PlanProduct <String>]
[-PlanPromotionCode <String>]
[-RollingUpgradePolicy <RollingUpgradePolicy>]
[-AutoOSUpgrade]
[-HealthProbeId <String>]
[-BootDiagnostic <BootDiagnostics>]
[-LicenseType <String>]
[-Priority <String>]
[-AssignIdentity]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The New-AzVmssConfig cmdlet creates a configurable local Virtual Manager Scale Set (VMSS) object. Other cmdlets are needed to configure the VMSS object. These cmdlets are:
- Set-AzVmssOsProfile
- Set-AzVmssStorageProfile
- Add-AzVmssNetworkInterfaceConfiguration
- Add-AzVmssExtension
Examples
Example 1: Create a VMSS configuration object
PS C:\> $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg `
| Add-AzVmssNetworkInterfaceConfiguration -Name "Test" -Primary $True -IPConfiguration $IPCfg `
| Set-AzVmssOSProfile -ComputerNamePrefix "Test" -AdminUsername $adminUsername -AdminPassword $AdminPassword `
| Set-AzVmssStorageProfile -Name "Test" -OsDiskCreateOption "FromImage" -OsDiskCaching "None" `
-ImageReferenceOffer $ImgRef.Offer -ImageReferenceSku $ImgRef.Skus -ImageReferenceVersion $ImgRef.Version `
-ImageReferencePublisher $ImgRef.PublisherName -VhdContainer $VHDContainer `
| Add-AzVmssAdditionalUnattendContent -ComponentName $AUCComponentName -Content $AUCContent -PassName $AUCPassName -SettingName $AUCSetting `
| Remove-AzVmssAdditionalUnattendContent -ComponentName $AUCComponentName;
New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $VMSS;
This example creates a VMSS configuration object. The first command uses the New-AzVmssConfig cmdlet to create a VMSS configuration object and stores the result in the variable named $VMSS. The second command uses the New-AzVmss cmdlet to create a VMSS that uses the VMSS configuration object created in the first command.
Parameters
-AssignIdentity
Specify the system assigned identity for the virtual machine scale set.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoOSUpgrade
Sets whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BootDiagnostic
Specifies the virtual machine scale set boot diagnostics profile.
Type: | BootDiagnostics |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with azure.
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Extension
Specifies the extension information object for the VMSS. You can use the Add-AzVmssExtension cmdlet to add this object.
Type: | VirtualMachineScaleSetExtension[] |
Position: | 10 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-HealthProbeId
Specifies the ID of a load balancer probe used to determine the health of an instance in the virtual machine scale set. HealthProbeId is in the form of '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
Specifies the list of user identities associated with the virtual machine scale set. The user identity references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityType
Specifies the type of identity used for the virtual machine scale set. The type 'SystemAssignedUserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. The acceptable values for this parameter are:
- SystemAssigned
- UserAssigned
- SystemAssignedUserAssigned
- None
Type: | ResourceIdentityType |
Accepted values: | SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LicenseType
Specify the license type, which is for bringing your own license scenario.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Location
Specifies the Azure location where the VMSS is created.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NetworkInterfaceConfiguration
Specifies the network profile object that contains the networking properties for the VMSS configuration. You can use the Add-AzVmssNetworkInterfaceConfiguration cmdlet to add this object.
Type: | VirtualMachineScaleSetNetworkConfiguration[] |
Position: | 9 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OsProfile
Specifies the operating system profile object that contains the operating system properties for the VMSS configuration. You can use the Set-AzVmssOsProfile cmdlet to set this object.
Type: | VirtualMachineScaleSetOSProfile |
Position: | 7 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Overprovision
Indicates whether the cmdlet overprovisions the VMSS.
Type: | Boolean |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PlanName
Specifies the plan name.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PlanProduct
Specifies the plan product.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PlanPromotionCode
Specifies the plan promotion code.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PlanPublisher
Specifies the plan publisher.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
Specifies the priority for the virtual machines in the scale set.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RollingUpgradePolicy
Specifies the rolling upgrade policy.
Type: | RollingUpgradePolicy |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SinglePlacementGroup
Specifies the single placement group.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SkuCapacity
Specifies the number of instances in the VMSS.
Type: | Int32 |
Position: | 5 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SkuName
Specifies the size of all the instances of VMSS.
Type: | String |
Aliases: | AccountType |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SkuTier
Specifies the tier of VMSS. The acceptable values for this parameter are:
- Standard
- Basic
Type: | String |
Position: | 4 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-StorageProfile
Specifies the storage profile object that contains the disk properties for the VMSS configuration. You can use the Set-AzVmssStorageProfile cmdlet to set this object.
Type: | VirtualMachineScaleSetStorageProfile |
Position: | 8 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Tag
Key-value pairs in the form of a hash table. For example:
@{key0="value0";key1=$null;key2="value2"}
Type: | Hashtable |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UpgradePolicyMode
Specified the mode of an upgrade to virtual machines in the scale set.
The acceptable values for this parameter are:
- Automatic
- Manual
Type: | UpgradeMode |
Accepted values: | Automatic, Manual, Rolling |
Position: | 6 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Zone
Specifies the zone list for the virtual machine scale set.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
None
This cmdlet does not accept any input.