Criar ou atualizar um conjunto de dimensionamento de VMs.
HTTP
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2023-03-01
Parâmetros de URI
Nome
Em
Obrigatório
Tipo
Description
resourceGroupName
path
True
string
O nome do grupo de recursos.
subscriptionId
path
True
string
Credenciais de assinatura que identificam exclusivamente a assinatura do Microsoft Azure. A ID da assinatura faz parte do URI para cada chamada de serviço.
vmScaleSetName
path
True
string
O nome do conjunto de dimensionamento de VMs a ser criado ou atualizado.
Especifica informações sobre a imagem do marketplace usada para criar a máquina virtual. Esse elemento só é usado para imagens do marketplace. Antes de usar uma imagem do marketplace de uma API, você deve habilitar a imagem para uso programático. No portal do Azure, localize a imagem do marketplace que você deseja usar e clique em Deseja implantar programaticamente, Introdução ->. Insira as informações necessárias e clique em Salvar.
Especifica recursos adicionais habilitados ou desabilitados no Máquinas Virtuais no Conjunto de Dimensionamento de Máquinas Virtuais. Por exemplo: se o Máquinas Virtuais tem a capacidade de dar suporte à anexação de discos de dados gerenciados com UltraSSD_LRS tipo de conta de armazenamento.
Propriedade opcional que deve ser definida como True ou omitida.
properties.doNotRunExtensionsOnOverprovisionedVMs
boolean
Quando o Overprovision está habilitado, as extensões são iniciadas somente no número solicitado de VMs que são finalmente mantidas. Portanto, essa propriedade garantirá que as extensões não sejam executadas nas VMs com excesso de provisionamento extra.
Especifica informações sobre o grupo de hosts dedicado no qual o conjunto de dimensionamento de máquinas virtuais reside. Versão mínima da api: 2020-06-01.
Especifica informações sobre o grupo de posicionamento por proximidade ao qual o conjunto de dimensionamento de máquinas virtuais deve ser atribuído. Versão mínima da api: 2018-04-01.
Especifica as políticas aplicadas ao dimensionar em Máquinas Virtuais no Conjunto de Dimensionamento de Máquinas Virtuais.
properties.singlePlacementGroup
boolean
Quando true, isso limita o conjunto de dimensionamento a um único grupo de posicionamento, de tamanho máximo de 100 máquinas virtuais. OBSERVAÇÃO: se singlePlacementGroup for true, ele poderá ser modificado para false. No entanto, se singlePlacementGroup for false, ele não poderá ser modificado para true.
Se deve forçar estritamente até mesmo a distribuição da Máquina Virtual entre zonas x, caso haja interrupção de zona. A propriedade zoneBalance só poderá ser definida se a propriedade zones do conjunto de dimensionamento contiver mais de uma zona. Se não houver zonas ou apenas uma zona especificada, a propriedade zoneBalance não deverá ser definida.
O sku do conjunto de dimensionamento de máquinas virtuais.
tags
object
Marcações de recursos
zones
string[]
As zonas do conjunto de dimensionamento de máquinas virtuais. OBSERVAÇÃO: as zonas de disponibilidade só podem ser definidas quando você cria o conjunto de dimensionamento
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_CustomImageFromAnUnmanagedGeneralizedOsImage.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Name = "osDisk",
Caching = CachingType.ReadWrite,
ImageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"),
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_PlatformImageWithUnmanagedOsDisks.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Name = "osDisk",
Caching = CachingType.ReadWrite,
VhdContainers =
{
"http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer","http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_FromACustomImage.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_FromAGeneralizedSharedImage.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_FromASpecializedSharedImage.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_FromWithDisableTcpStateTrackingNetworkInterface.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{nicConfig1-name}")
{
Primary = true,
EnableAcceleratedNetworking = true,
IsTcpStateTrackingDisabled = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
},new VirtualMachineScaleSetNetworkConfiguration("{nicConfig2-name}")
{
Primary = false,
EnableAcceleratedNetworking = false,
IsTcpStateTrackingDisabled = false,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{nicConfig2-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}"),
Primary = true,
PrivateIPAddressVersion = IPVersion.IPv4,
}
},
EnableIPForwarding = false,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithAMarketplaceImagePlan.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
Plan = new ComputePlan()
{
Name = "windows2016",
Publisher = "microsoft-ads",
Product = "windows-data-science-vm",
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "microsoft-ads",
Offer = "windows-data-science-vm",
Sku = "windows2016",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithAzureApplicationGateway.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
ApplicationGatewayBackendAddressPools =
{
new WritableSubResource()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"),
}
},
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithAzureLoadBalancer.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
PublicIPAddressConfiguration = new VirtualMachineScaleSetPublicIPAddressConfiguration("{vmss-name}")
{
PublicIPAddressVersion = IPVersion.IPv4,
},
LoadBalancerBackendAddressPools =
{
new WritableSubResource()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"),
}
},
LoadBalancerInboundNatPools =
{
new WritableSubResource()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"),
}
},
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithApplicationProfile.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
GalleryApplications =
{
new VirtualMachineGalleryApplication("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0")
{
Tags = "myTag1",
Order = 1,
ConfigurationReference = "https://mystorageaccount.blob.core.windows.net/configurations/settings.config",
TreatFailureAsDeploymentFailure = true,
EnableAutomaticUpgrade = false,
},new VirtualMachineGalleryApplication("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1")
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithAutomaticRepairs.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
AutomaticRepairsPolicy = new AutomaticRepairsPolicy()
{
Enabled = true,
GracePeriod = "PT10M",
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithBootDiagnostics.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
BootDiagnostics = new BootDiagnostics()
{
Enabled = true,
StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"),
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithDiskControllerType.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
DiskControllerType = "NVMe",
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
HardwareVmSizeProperties = new VirtualMachineSizeProperties()
{
VCpusAvailable = 1,
VCpusPerCore = 1,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithDiskEncryptionSetResource.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DS1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"),
},
},
DataDisks =
{
new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty)
{
Caching = CachingType.ReadWrite,
DiskSizeGB = 1023,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"),
},
}
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithEmptyDataDisksOnEachVm.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D2_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
DiskSizeGB = 512,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
DataDisks =
{
new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty)
{
DiskSizeGB = 1023,
},new VirtualMachineScaleSetDataDisk(1,DiskCreateOptionType.Empty)
{
DiskSizeGB = 1023,
}
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_CreateA_WithDiffOsDiskUsingDiffDiskPlacement.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DS1_v2",
Tier = "Standard",
Capacity = 3,
},
Plan = new ComputePlan()
{
Name = "windows2016",
Publisher = "microsoft-ads",
Product = "windows-data-science-vm",
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "microsoft-ads",
Offer = "windows-data-science-vm",
Sku = "windows2016",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadOnly,
DiffDiskSettings = new DiffDiskSettings()
{
Option = DiffDiskOption.Local,
Placement = DiffDiskPlacement.ResourceDisk,
},
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithDiffOsDisk.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DS1_v2",
Tier = "Standard",
Capacity = 3,
},
Plan = new ComputePlan()
{
Name = "windows2016",
Publisher = "microsoft-ads",
Product = "windows-data-science-vm",
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "microsoft-ads",
Offer = "windows-data-science-vm",
Sku = "windows2016",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadOnly,
DiffDiskSettings = new DiffDiskSettings()
{
Option = DiffDiskOption.Local,
},
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithExtensionsTimeBudget.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
BootDiagnostics = new BootDiagnostics()
{
Enabled = true,
StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"),
},
ExtensionProfile = new VirtualMachineScaleSetExtensionProfile()
{
Extensions =
{
new VirtualMachineScaleSetExtensionData()
{
Publisher = "{extension-Publisher}",
ExtensionType = "{extension-Type}",
TypeHandlerVersion = "{handler-version}",
AutoUpgradeMinorVersion = false,
Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
{
}),
}
},
ExtensionsTimeBudget = "PT1H20M",
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_FromWithFpgaNetworkInterface.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Id = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
},new VirtualMachineScaleSetNetworkConfiguration("{fpgaNic-Name}")
{
Primary = false,
EnableAcceleratedNetworking = false,
EnableFpga = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{fpgaNic-Name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"),
Primary = true,
PrivateIPAddressVersion = IPVersion.IPv4,
}
},
EnableIPForwarding = false,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithEncryptionAtHost.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DS1_v2",
Tier = "Standard",
Capacity = 3,
},
Plan = new ComputePlan()
{
Name = "windows2016",
Publisher = "microsoft-ads",
Product = "windows-data-science-vm",
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "microsoft-ads",
Offer = "windows-data-science-vm",
Sku = "windows2016",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadOnly,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
SecurityProfile = new SecurityProfile()
{
EncryptionAtHost = true,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithManagedBootDiagnostics.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
BootDiagnostics = new BootDiagnostics()
{
Enabled = true,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithOSImageScheduledEventEnabled.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
ScheduledEventsProfile = new ComputeScheduledEventsProfile()
{
OSImageNotificationProfile = new OSImageNotificationProfile()
{
NotBeforeTimeout = "PT15M",
Enable = true,
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithPasswordAuthentication.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithPremiumStorage.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.PremiumLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithPriorityMixPolicy.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_A8m_v2",
Tier = "Standard",
Capacity = 10,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
Priority = VirtualMachinePriorityType.Spot,
EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate,
BillingMaxPrice = -1,
},
SinglePlacementGroup = false,
OrchestrationMode = OrchestrationMode.Flexible,
PriorityMixPolicy = new VirtualMachineScaleSetPriorityMixPolicy()
{
BaseRegularPriorityCount = 4,
RegularPriorityPercentageAboveBase = 50,
},
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithScaleInPolicy.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
ScaleInPolicy = new ScaleInPolicy()
{
Rules =
{
VirtualMachineScaleSetScaleInRule.OldestVm
},
ForceDeletion = true,
},
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityPostureReference.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("eastus2euap"))
{
Sku = new ComputeSku()
{
Name = "Standard_A1",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Automatic,
AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy()
{
EnableAutomaticOSUpgrade = true,
},
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2022-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Name = "osDisk",
Caching = CachingType.ReadWrite,
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
SecurityPostureReference = new ComputeSecurityPostureReference()
{
Id = new ResourceIdentifier("/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"),
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityTypeConfidentialVM.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DC2as_v5",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "2019-datacenter-cvm",
Sku = "windows-cvm",
Version = "17763.2183.2109130127",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadOnly,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardSsdLrs,
SecurityProfile = new VirtualMachineDiskSecurityProfile()
{
SecurityEncryptionType = SecurityEncryptionType.VmGuestStateOnly,
},
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
SecurityProfile = new SecurityProfile()
{
UefiSettings = new UefiSettings()
{
IsSecureBootEnabled = true,
IsVirtualTpmEnabled = true,
},
SecurityType = SecurityType.ConfidentialVm,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithServiceArtifactReference.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("eastus2euap"))
{
Sku = new ComputeSku()
{
Name = "Standard_A1",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Automatic,
AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy()
{
EnableAutomaticOSUpgrade = true,
},
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2022-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Name = "osDisk",
Caching = CachingType.ReadWrite,
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
ServiceArtifactReferenceId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName"),
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSpotRestorePolicy.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_A8m_v2",
Tier = "Standard",
Capacity = 2,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
Priority = VirtualMachinePriorityType.Spot,
EvictionPolicy = VirtualMachineEvictionPolicyType.Deallocate,
BillingMaxPrice = -1,
},
Overprovision = true,
SpotRestorePolicy = new SpotRestorePolicy()
{
Enabled = true,
RestoreTimeout = "PT1H",
},
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSshAuthentication.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
LinuxConfiguration = new LinuxConfiguration()
{
IsPasswordAuthenticationDisabled = true,
SshPublicKeys =
{
new SshPublicKeyConfiguration()
{
Path = "/home/{your-username}/.ssh/authorized_keys",
KeyData = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1",
}
},
},
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithTerminateScheduledEventEnabled.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
ScheduledEventsProfile = new ComputeScheduledEventsProfile()
{
TerminateNotificationProfile = new TerminateNotificationProfile()
{
NotBeforeTimeout = "PT5M",
Enable = true,
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithUefiSettings.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D2s_v3",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "windowsserver-gen2preview-preview",
Sku = "windows10-tvm",
Version = "18363.592.2001092016",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadOnly,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardSsdLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
SecurityProfile = new SecurityProfile()
{
UefiSettings = new UefiSettings()
{
IsSecureBootEnabled = true,
IsVirtualTpmEnabled = true,
},
SecurityType = SecurityType.TrustedLaunch,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithUserData.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithVMsInDifferentZones.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("centralus"))
{
Sku = new ComputeSku()
{
Name = "Standard_A1_v2",
Tier = "Standard",
Capacity = 2,
},
Zones =
{
"1","3"
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Automatic,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
DiskSizeGB = 512,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
DataDisks =
{
new VirtualMachineScaleSetDataDisk(0,DiskCreateOptionType.Empty)
{
DiskSizeGB = 1023,
},new VirtualMachineScaleSetDataDisk(1,DiskCreateOptionType.Empty)
{
DiskSizeGB = 1023,
}
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithVMSizeProperties.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
HardwareVmSizeProperties = new VirtualMachineSizeProperties()
{
VCpusAvailable = 1,
VCpusPerCore = 1,
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithExtensionsSuppressFailuresEnabled.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
BootDiagnostics = new BootDiagnostics()
{
Enabled = true,
StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"),
},
ExtensionProfile = new VirtualMachineScaleSetExtensionProfile()
{
Extensions =
{
new VirtualMachineScaleSetExtensionData()
{
Publisher = "{extension-Publisher}",
ExtensionType = "{extension-Type}",
TypeHandlerVersion = "{handler-version}",
AutoUpgradeMinorVersion = false,
Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
{
}),
SuppressFailures = true,
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithProtectedSettingsFromKeyVault.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_D1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
BootDiagnostics = new BootDiagnostics()
{
Enabled = true,
StorageUri = new Uri("http://{existing-storage-account-name}.blob.core.windows.net"),
},
ExtensionProfile = new VirtualMachineScaleSetExtensionProfile()
{
Extensions =
{
new VirtualMachineScaleSetExtensionData()
{
Publisher = "{extension-Publisher}",
ExtensionType = "{extension-Type}",
TypeHandlerVersion = "{handler-version}",
AutoUpgradeMinorVersion = false,
Settings = BinaryData.FromObjectAsJson(new Dictionary<string, object>()
{
}),
KeyVaultProtectedSettings = new KeyVaultSecretReference(new Uri("https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e"),new WritableSubResource()
{
Id = new ResourceIdentifier("/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName"),
}),
}
},
},
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2023-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithCapacityReservation.json// this example is just showing the usage of "VirtualMachineScaleSets_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "myResourceGroup";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this VirtualMachineScaleSetResource
VirtualMachineScaleSetCollection collection = resourceGroupResource.GetVirtualMachineScaleSets();
// invoke the operationstring virtualMachineScaleSetName = "{vmss-name}";
VirtualMachineScaleSetData data = new VirtualMachineScaleSetData(new AzureLocation("westus"))
{
Sku = new ComputeSku()
{
Name = "Standard_DS1_v2",
Tier = "Standard",
Capacity = 3,
},
UpgradePolicy = new VirtualMachineScaleSetUpgradePolicy()
{
Mode = VirtualMachineScaleSetUpgradeMode.Manual,
},
VirtualMachineProfile = new VirtualMachineScaleSetVmProfile()
{
OSProfile = new VirtualMachineScaleSetOSProfile()
{
ComputerNamePrefix = "{vmss-name}",
AdminUsername = "{your-username}",
AdminPassword = "{your-password}",
},
StorageProfile = new VirtualMachineScaleSetStorageProfile()
{
ImageReference = new ImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter",
Version = "latest",
},
OSDisk = new VirtualMachineScaleSetOSDisk(DiskCreateOptionType.FromImage)
{
Caching = CachingType.ReadWrite,
ManagedDisk = new VirtualMachineScaleSetManagedDisk()
{
StorageAccountType = StorageAccountType.StandardLrs,
},
},
},
NetworkProfile = new VirtualMachineScaleSetNetworkProfile()
{
NetworkInterfaceConfigurations =
{
new VirtualMachineScaleSetNetworkConfiguration("{vmss-name}")
{
Primary = true,
IPConfigurations =
{
new VirtualMachineScaleSetIPConfiguration("{vmss-name}")
{
SubnetId = new ResourceIdentifier("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
}
},
EnableIPForwarding = true,
}
},
},
CapacityReservationGroupId = new ResourceIdentifier("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"),
},
Overprovision = true,
};
ArmOperation<VirtualMachineScaleSetResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, virtualMachineScaleSetName, data);
VirtualMachineScaleSetResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well// but just for demo, we get its data from this resource instance
VirtualMachineScaleSetData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
Especifica informações adicionais formatadas em XML que podem ser incluídas no arquivo Unattend.xml, que é usado pela Instalação do Windows. O conteúdo é definido pela configuração de nome, nome do componente e a passagem na qual o conteúdo é aplicado.
O Diagnóstico de Inicialização é um recurso de depuração que permite exibir a Saída do Console e a Captura de Tela para diagnosticar status de VM. Você pode exibir facilmente a saída do log do console. O Azure também permite que você veja uma captura de tela da VM do hipervisor.
Especifica os requisitos de cache. Os valores possíveis são: None,ReadOnly,ReadWrite. Os valores padrão são: Nenhum para armazenamento Standard. ReadOnly para armazenamento Premium.
Descreve os parâmetros das configurações de disco efêmero que podem ser especificadas para o disco do sistema operacional.
Nota: As configurações de disco efêmero só podem ser especificadas para o disco gerenciado.
Especifica como as máquinas virtuais no conjunto de dimensionamento devem ser criadas. O único valor permitido é: FromImage. Esse valor é usado quando você está usando uma imagem para criar a máquina virtual. Se você estiver usando uma imagem de plataforma, também usará o elemento imageReference descrito acima. Se você estiver usando uma imagem do marketplace, também usará o elemento plan descrito anteriormente.
Especifica se o Disco do SISTEMA Operacional deve ser excluído ou desanexado após a exclusão do VMSS Flex (esse recurso está disponível apenas para VMSS com OrchestrationMode Flexível).
Valores possíveis:
Excluir Se esse valor for usado, o disco do sistema operacional será excluído quando a VM VM Flex do VMSS for excluída.
Desanexar Se esse valor for usado, o disco do sistema operacional será retido após a exclusão da VM do VMSS Flex.
O valor padrão é definido como Excluir. Para um Disco do SO Efêmero, o valor padrão é definido como Excluir. O usuário não pode alterar a opção de exclusão para Disco do SO Efêmero.
Descreve o parâmetro da ID de recurso do conjunto de criptografia de disco gerenciado pelo cliente que pode ser especificada para o disco.
Nota: A ID do recurso do conjunto de criptografia de disco só pode ser especificada para o disco gerenciado.
https://aka.ms/mdssewithcmkoverview Consulte para obter mais detalhes.
Especifica informações sobre a imagem a ser usada. Você pode especificar informações sobre imagens de plataforma, imagens do marketplace ou imagens de máquina virtual. Esse elemento é necessário quando você deseja usar uma imagem de plataforma, uma imagem do marketplace ou uma imagem de máquina virtual, mas não é usado em outras operações de criação. OBSERVAÇÃO: a oferta e o editor de referência de imagem só podem ser definidos quando você cria o conjunto de dimensionamento.
Disponível de Api-Version 2019-07-01 em diante, ele representa se a ipconfiguração específica é IPv4 ou IPv6. O padrão é usado como IPv4. Os valores possíveis são: 'IPv4' e 'IPv6'.
Especifica as configurações do sistema operacional Linux na máquina virtual. Para obter uma lista de distribuições do Linux com suporte, consulte Linux em distribuições Azure-Endorsed.
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
ImageDefault - A configuração de aplicação de patch padrão da máquina virtual é usada.
AutomaticByPlatform – a máquina virtual será atualizada automaticamente pela plataforma. A propriedade provisionVMAgent deve ser verdadeira
especifica a versão da API Microsoft.Network usada ao criar recursos de rede nas Configurações de Interface de Rede para o Conjunto de Dimensionamento de Máquinas Virtuais com o modo de orquestração 'Flexível'
Essa propriedade permite que você especifique o tipo do sistema operacional incluído no disco se estiver criando uma VM com base na imagem do usuário ou em um VHD especializado. Os valores possíveis são: Windows,Linux.
Especifica informações sobre a imagem do marketplace usada para criar a máquina virtual. Esse elemento só é usado para imagens do marketplace. Antes de usar uma imagem do marketplace de uma API, você deve habilitar a imagem para uso programático. No portal do Azure, localize a imagem do marketplace que você deseja usar e clique em Deseja implantar programaticamente, Introdução ->. Insira as informações necessárias e clique em Salvar.
Especifica as divisões de destino para VMs spot e prioridade regular em um conjunto de dimensionamento com modo de orquestração flexível. Com essa propriedade, o cliente é capaz de especificar o número base de VMs de prioridade regular criadas à medida que a instância flex do VMSS é expandida e a divisão entre VMs spot e prioridade regular depois que esse destino base é atingido.
Tipo de ação de reparo (substituir, reiniciar, reimagem) que será usada para reparar máquinas virtuais não íntegras no conjunto de dimensionamento. O valor padrão é replace.
O tipo de identidade usado para o conjunto de dimensionamento de máquinas virtuais. O tipo "SystemAssigned, UserAssigned" inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá todas as identidades do conjunto de dimensionamento de máquinas virtuais.
Especifica o EncryptionType do disco gerenciado. Ele é definido como DiskWithVMGuestState para criptografia do disco gerenciado junto com o blob VMGuestState e VMGuestStateOnly para criptografia apenas do blob VMGuestState.
Nota: Ele pode ser definido apenas para VMs confidenciais.
Especifica o SecurityType da máquina virtual. Ele precisa ser definido como qualquer valor especificado para habilitar UefiSettings. O comportamento padrão é: UefiSettings não será habilitado, a menos que essa propriedade esteja definida.
Especifica a ID de referência do artefato de serviço usada para definir a mesma versão de imagem para todas as máquinas virtuais no conjunto de dimensionamento ao usar a versão de imagem 'mais recente'. Versão mínima da API: 2022-11-01
Descreve um SKU de conjunto de dimensionamento de máquinas virtuais. OBSERVAÇÃO: se não houver suporte para a nova SKU de VM no hardware em que o conjunto de dimensionamento está atualmente, você precisará desalocar as VMs no conjunto de dimensionamento antes de modificar o nome da SKU.
Especifica as propriedades Spot-Try-Restore para o conjunto de dimensionamento de máquinas virtuais. Com essa propriedade, o cliente pode habilitar ou desabilitar a restauração automática das instâncias de VM do Spot VMSS removidas de forma oportunista com base na disponibilidade da capacidade e na restrição de preços.
Especifica o tipo de conta de armazenamento para o disco gerenciado. OBSERVAÇÃO: UltraSSD_LRS só pode ser usado com discos de dados, ele não pode ser usado com o disco do sistema operacional.
Especifica as configurações de segurança, como inicialização segura e vTPM usadas durante a criação da máquina virtual. Versão mínima da api: 2020-12-01.
A lista de identidades de usuário associadas à Máquina Virtual. As referências de chave de dicionário de identidade do usuário serão IDs de recurso do ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Especifica a política de remoção para a máquina virtual spot do Azure e o conjunto de dimensionamento spot do Azure. Para máquinas virtuais spot do Azure, há suporte para 'Desalocar' e 'Excluir' e a versão mínima da api é 2019-03-01. Para conjuntos de dimensionamento spot do Azure, há suporte para 'Desalocar' e 'Excluir' e a versão mínima da api é 2017-10-30-preview.
As regras a serem seguidas ao dimensionar em um conjunto de dimensionamento de máquinas virtuais.
Os valores possíveis são:
Padrão Quando um conjunto de dimensionamento de máquinas virtuais é dimensionado, o conjunto de dimensionamento será balanceado primeiro entre zonas se for um conjunto de dimensionamento zonal. Em seguida, ele será balanceado entre domínios de falha o mais longe possível. Em cada Domínio de Falha, as máquinas virtuais escolhidas para remoção serão as mais recentes que não estão protegidas contra redução horizontal.
OldestVM Quando um conjunto de dimensionamento de máquinas virtuais está sendo dimensionado, as máquinas virtuais mais antigas que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Em cada zona, as máquinas virtuais mais antigas que não estão protegidas serão escolhidas para remoção.
NewestVM Quando um conjunto de dimensionamento de máquinas virtuais estiver sendo dimensionado, as máquinas virtuais mais recentes que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Dentro de cada zona, as máquinas virtuais mais recentes que não estão protegidas serão escolhidas para remoção.
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
Manual – você controla a aplicação de patches em uma máquina virtual. Faça isso aplicando patches manualmente dentro da VM. Nesse modo, as atualizações automáticas estão desabilitadas; a propriedade WindowsConfiguration.enableAutomaticUpdates deve ser false
AutomaticByOS – a máquina virtual será atualizada automaticamente pelo sistema operacional. A propriedade WindowsConfiguration.enableAutomaticUpdates deve ser true.
AutomaticByPlatform – a máquina virtual será atualizada automaticamente pela plataforma. As propriedades provisionVMAgent e WindowsConfiguration.enableAutomaticUpdates devem ser verdadeiras
Descreve o protocolo e a impressão digital do ouvinte de Gerenciamento Remoto do Windows
AdditionalCapabilities
Habilita ou desabilita uma funcionalidade na máquina virtual ou no conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
hibernationEnabled
boolean
O sinalizador que habilita ou desabilita a funcionalidade de hibernação na VM.
ultraSSDEnabled
boolean
O sinalizador que habilita ou desabilita um recurso para ter um ou mais discos de dados gerenciados com UltraSSD_LRS tipo de conta de armazenamento na VM ou VMSS. Discos gerenciados com tipo de conta de armazenamento UltraSSD_LRS podem ser adicionados a uma máquina virtual ou conjunto de dimensionamento de máquinas virtuais somente se essa propriedade estiver habilitada.
AdditionalUnattendContent
Especifica informações adicionais formatadas em XML que podem ser incluídas no arquivo Unattend.xml, que é usado pela Instalação do Windows. O conteúdo é definido pela configuração de nome, nome do componente e a passagem na qual o conteúdo é aplicado.
O nome do componente. Atualmente, o único valor permitido é Microsoft-Windows-Shell-Setup.
content
string
Especifica o conteúdo formatado em XML adicionado ao arquivo unattend.xml para o caminho e o componente especificados. O XML deve ter menos de 4KB e deve incluir o elemento raiz para a configuração ou recurso que está sendo inserido.
Especifica os aplicativos da galeria que devem ser disponibilizados para a VM/VMSS
AutomaticOSUpgradePolicy
Os parâmetros de configuração usados para executar a atualização automática do sistema operacional.
Nome
Tipo
Description
disableAutomaticRollback
boolean
Se o recurso de reversão de imagem do sistema operacional deve ser desabilitado. O valor padrão é false.
enableAutomaticOSUpgrade
boolean
Indica se as atualizações do sistema operacional devem ser aplicadas automaticamente às instâncias do conjunto de dimensionamento de maneira sem interrupção quando uma versão mais recente da imagem do sistema operacional estiver disponível. O valor padrão é false. Se isso for definido como true para conjuntos de dimensionamento baseados no Windows, enableAutomaticUpdates será automaticamente definido como false e não poderá ser definido como true.
useRollingUpgradePolicy
boolean
Indica se a política de atualização sem interrupção deve ser usada durante a atualização automática do sistema operacional. O valor padrão é false. A atualização automática do sistema operacional fará fallback para a política padrão se nenhuma política for definida no VMSS.
AutomaticRepairsPolicy
Especifica os parâmetros de configuração para reparos automáticos no conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
enabled
boolean
Especifica se os reparos automáticos devem ser habilitados no conjunto de dimensionamento de máquinas virtuais. O valor padrão é false.
gracePeriod
string
A quantidade de tempo para a qual os reparos automáticos são suspensos devido a uma alteração de estado na VM. O tempo de carência começa após a conclusão da alteração de estado. Isso ajuda a evitar reparos prematuros ou acidentais. A duração do tempo deve ser especificada no formato ISO 8601. O período de carência mínimo permitido é de 10 minutos (PT10M), que também é o valor padrão. O período de carência máximo permitido é de 90 minutos (PT90M).
Tipo de ação de reparo (substituir, reiniciar, refazer imagem) que será usada para reparar máquinas virtuais não íntegras no conjunto de dimensionamento. O valor padrão é replace.
BillingProfile
Especifica os detalhes relacionados à cobrança de uma VM spot ou VMSS do Azure. Versão mínima da api: 2019-03-01.
Nome
Tipo
Description
maxPrice
number
Especifica o preço máximo que você está disposto a pagar por uma VM/VM do Azure Spot/VMSS. Este preço está em dólares americanos.
Esse preço será comparado com o preço spot atual do Azure para o tamanho da VM. Além disso, os preços são comparados no momento da criação/atualização da VM/VMSS spot do Azure e a operação só terá êxito se maxPrice for maior que o preço spot atual do Azure.
O maxPrice também será usado para remover uma VM/VM do Azure Spot/VMSS se o preço atual do Spot do Azure ultrapassar o maxPrice após a criação da VM/VMSS.
Os valores possíveis são:
- Qualquer valor decimal maior que zero. Exemplo: 0.01538
-1 – indica que o preço padrão será atualizado sob demanda.
Você pode definir o maxPrice como -1 para indicar que a VM/VMSS spot do Azure não deve ser removida por motivos de preço. Além disso, o preço máximo padrão será -1 se não for fornecido por você.
Versão mínima da api: 2019-03-01.
BootDiagnostics
O Diagnóstico de Inicialização é um recurso de depuração que permite exibir a Saída do Console e a Captura de Tela para diagnosticar status de VM. Você pode exibir facilmente a saída do log do console. O Azure também permite que você veja uma captura de tela da VM do hipervisor.
Nome
Tipo
Description
enabled
boolean
Se a inicialização diagnóstico deve ser habilitada na Máquina Virtual.
storageUri
string
URI da conta de armazenamento a ser usada para colocar a saída do console e a captura de tela. Se storageUri não for especificado ao habilitar diagnóstico de inicialização, o armazenamento gerenciado será usado.
CachingTypes
Especifica os requisitos de cache. Os valores possíveis são: None,ReadOnly,ReadWrite. Os valores padrão são: Nenhum para armazenamento Standard. ReadOnly para armazenamento Premium.
Nome
Tipo
Description
None
string
ReadOnly
string
ReadWrite
string
CapacityReservationProfile
Os parâmetros de um perfil de reserva de capacidade.
Especifica a ID de recurso do grupo de reservas de capacidade que deve ser usada para alocar as instâncias de VM de máquina virtual ou de conjunto de dimensionamento, desde que a capacidade suficiente tenha sido reservada. Consulte para https://aka.ms/CapacityReservation obter mais detalhes.
O Diagnóstico de Inicialização é um recurso de depuração que permite exibir a Saída do Console e a Captura de Tela para diagnosticar status de VM.
OBSERVAÇÃO: se storageUri estiver sendo especificado, verifique se a conta de armazenamento está na mesma região e assinatura que a VM. Você pode exibir facilmente a saída do log do console. O Azure também permite que você veja uma captura de tela da VM do hipervisor.
DiffDiskOptions
Especifica as configurações de disco efêmero para o disco do sistema operacional.
Descreve os parâmetros das configurações de disco efêmero que podem ser especificadas para o disco do sistema operacional.
Nota: As configurações de disco efêmero só podem ser especificadas para o disco gerenciado.
Especifica o posicionamento de disco efêmero para o disco do sistema operacional. Os valores possíveis são: CacheDisk,ResourceDisk. O comportamento padrão é: CacheDisk se um estiver configurado para o tamanho da VM, caso contrário, ResourceDisk será usado. Consulte a documentação de tamanho da VM para VM do Windows em https://docs.microsoft.com/azure/virtual-machines/windows/sizes e VM linux em https://docs.microsoft.com/azure/virtual-machines/linux/sizes para marcar quais tamanhos de VM expõem um disco de cache.
DiskControllerTypes
Nome
Tipo
Description
NVMe
string
SCSI
string
DiskCreateOptionTypes
Especifica como as máquinas virtuais no conjunto de dimensionamento devem ser criadas. O único valor permitido é: FromImage. Esse valor é usado quando você está usando uma imagem para criar a máquina virtual. Se você estiver usando uma imagem de plataforma, também usará o elemento imageReference descrito acima. Se você estiver usando uma imagem do marketplace, também usará o elemento plan descrito anteriormente.
Nome
Tipo
Description
Attach
string
Empty
string
FromImage
string
DiskDeleteOptionTypes
Especifica se o Disco do SISTEMA Operacional deve ser excluído ou desanexado após a exclusão do VMSS Flex (esse recurso está disponível apenas para VMSS com OrchestrationMode Flexível).
Valores possíveis:
Excluir Se esse valor for usado, o disco do sistema operacional será excluído quando a VM VM Flex do VMSS for excluída.
Desanexar Se esse valor for usado, o disco do sistema operacional será retido após a exclusão da VM do VMSS Flex.
O valor padrão é definido como Excluir. Para um Disco do SO Efêmero, o valor padrão é definido como Excluir. O usuário não pode alterar a opção de exclusão para Disco do SO Efêmero.
Nome
Tipo
Description
Delete
string
Detach
string
DiskEncryptionSetParameters
Descreve o parâmetro da ID de recurso do conjunto de criptografia de disco gerenciado pelo cliente que pode ser especificada para o disco.
Nota: A ID do recurso do conjunto de criptografia de disco só pode ser especificada para o disco gerenciado.
https://aka.ms/mdssewithcmkoverview Consulte para obter mais detalhes.
Especifica informações sobre a imagem a ser usada. Você pode especificar informações sobre imagens de plataforma, imagens do marketplace ou imagens de máquina virtual. Esse elemento é necessário quando você deseja usar uma imagem de plataforma, uma imagem do marketplace ou uma imagem de máquina virtual, mas não é usado em outras operações de criação. OBSERVAÇÃO: a oferta e o editor de referência de imagem só podem ser definidos quando você cria o conjunto de dimensionamento.
Nome
Tipo
Description
communityGalleryImageId
string
Especificamos a ID exclusiva da imagem da galeria da comunidade para implantação de VM. Isso pode ser buscado na chamada GET da imagem da galeria da comunidade.
exactVersion
string
Especifica em números decimais, a versão da imagem da plataforma ou da imagem do marketplace usada para criar a máquina virtual. Esse campo somente leitura difere de 'version', somente se o valor especificado no campo 'version' for 'latest'.
id
string
ID do recurso
offer
string
Especifica a oferta da imagem da plataforma ou da imagem do marketplace usada para criar a máquina virtual.
publisher
string
O editor de imagens.
sharedGalleryImageId
string
Especificamos a ID exclusiva da imagem da galeria compartilhada para implantação de VM. Isso pode ser buscado na chamada GET da imagem da galeria compartilhada.
sku
string
A SKU da imagem.
version
string
Especifica a versão da imagem da plataforma ou da imagem do marketplace usada para criar a máquina virtual. Os formatos permitidos são Major.Minor.Build ou 'latest'. Major, Minor e Build são números decimais. Especifique 'mais recente' para usar a versão mais recente de uma imagem disponível no momento da implantação. Mesmo que você use "mais recente", a imagem da VM não será atualizada automaticamente após o tempo de implantação, mesmo que uma nova versão fique disponível. Não use o campo 'version' para implantação de imagem da galeria, a imagem da galeria sempre deve usar o campo 'id' para implantação, para usar a versão 'mais recente' da imagem da galeria, basta definir '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' no campo 'id' sem entrada de versão.
A mensagem de status detalhada, inclusive para alertas e mensagens de erro.
time
string
A hora do status.
IPVersion
Disponível de Api-Version 2019-07-01 em diante, ele representa se a ipconfiguração específica é IPv4 ou IPv6. O padrão é usado como IPv4. Os valores possíveis são: 'IPv4' e 'IPv6'.
Nome
Tipo
Description
IPv4
string
IPv6
string
KeyVaultSecretReference
Descreve uma referência a Key Vault Secret
Nome
Tipo
Description
secretUrl
string
A URL que faz referência a um segredo em um Key Vault.
Especifica as configurações do sistema operacional Linux na máquina virtual. Para obter uma lista de distribuições do Linux com suporte, consulte Linux em distribuições Azure-Endorsed.
Nome
Tipo
Description
disablePasswordAuthentication
boolean
Especifica se a autenticação de senha deve ser desabilitada.
enableVMAgentPlatformUpdates
boolean
Indica se o Atualizações da Plataforma VMAgent está habilitado para a máquina virtual linux. O valor padrão é false.
[Versão prévia do recurso] Especifica as configurações relacionadas à Aplicação de Patch de Convidado da VM no Linux.
provisionVMAgent
boolean
Indica se o agente da máquina virtual deve ser provisionado na máquina virtual. Quando essa propriedade não é especificada no corpo da solicitação, o comportamento padrão é defini-la como true. Isso garantirá que o Agente de VM esteja instalado na VM para que as extensões possam ser adicionadas à VM posteriormente.
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
ImageDefault - A configuração de aplicação de patch padrão da máquina virtual é usada.
AutomaticByPlatform – A máquina virtual será atualizada automaticamente pela plataforma. A propriedade provisionVMAgent deve ser true
LinuxVMGuestPatchAutomaticByPlatformRebootSetting
Especifica a configuração de reinicialização para todas as operações de instalação de patch AutomaticByPlatform.
Nome
Tipo
Description
Always
string
IfRequired
string
Never
string
Unknown
string
LinuxVMGuestPatchAutomaticByPlatformSettings
Especifica configurações adicionais a serem aplicadas quando o modo de patch AutomaticByPlatform é selecionado nas configurações de patch do Linux.
Nome
Tipo
Description
bypassPlatformSafetyChecksOnUserSchedule
boolean
Permite que o cliente agende a aplicação de patch sem atualizações acidentais
Especifica a configuração de reinicialização para todas as operações de instalação de patch AutomaticByPlatform.
LinuxVMGuestPatchMode
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
ImageDefault - A configuração de aplicação de patch padrão da máquina virtual é usada.
AutomaticByPlatform – a máquina virtual será atualizada automaticamente pela plataforma. A propriedade provisionVMAgent deve ser verdadeira
Nome
Tipo
Description
AutomaticByPlatform
string
ImageDefault
string
NetworkApiVersion
especifica a versão da API Microsoft.Network usada ao criar recursos de rede nas Configurações de Interface de Rede para o Conjunto de Dimensionamento de Máquinas Virtuais com o modo de orquestração 'Flexível'
Nome
Tipo
Description
2020-11-01
string
OperatingSystemTypes
Essa propriedade permite que você especifique o tipo do sistema operacional incluído no disco se estiver criando uma VM com base na imagem do usuário ou em um VHD especializado. Os valores possíveis são: Windows,Linux.
Nome
Tipo
Description
Linux
string
Windows
string
OrchestrationMode
Especifica o modo de orquestração para o conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
Flexible
string
Uniform
string
OSImageNotificationProfile
Nome
Tipo
Description
enable
boolean
Especifica se o evento Agendada da Imagem do Sistema Operacional está habilitado ou desabilitado.
notBeforeTimeout
string
O período de tempo em que uma Máquina Virtual está sendo refeitar ou ter seu sistema operacional atualizado terá que aprovar potencialmente o evento agendado de imagem do sistema operacional antes que o evento seja aprovado automaticamente (tempo limite limite). A configuração é especificada no formato ISO 8601 e o valor deve ser de 15 minutos (PT15M)
PassNames
O nome da passagem. Atualmente, o único valor permitido é OobeSystem.
Nome
Tipo
Description
OobeSystem
string
PatchSettings
Especifica as configurações relacionadas à Aplicação de Patch de Convidado de VM no Windows.
Especifica configurações adicionais para o modo de patch AutomaticByPlatform na Aplicação de Patch de Convidado da VM no Windows.
enableHotpatching
boolean
Permite que os clientes corrijam suas VMs do Azure sem exigir uma reinicialização. Para enableHotpatching, o 'provisionVMAgent' deve ser definido como true e 'patchMode' deve ser definido como 'AutomaticByPlatform'.
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
Manual – você controla a aplicação de patches em uma máquina virtual. Faça isso aplicando patches manualmente dentro da VM. Nesse modo, as atualizações automáticas são desabilitadas; a propriedade WindowsConfiguration.enableAutomaticUpdates deve ser false
AutomaticByOS – a máquina virtual será atualizada automaticamente pelo sistema operacional. A propriedade WindowsConfiguration.enableAutomaticUpdates deve ser verdadeira.
AutomaticByPlatform – a máquina virtual será atualizada automaticamente pela plataforma. As propriedades provisionVMAgent e WindowsConfiguration.enableAutomaticUpdates devem ser verdadeiras
Plan
Especifica informações sobre a imagem do marketplace usada para criar a máquina virtual. Esse elemento só é usado para imagens do marketplace. Antes de usar uma imagem do marketplace de uma API, você deve habilitar a imagem para uso programático. No portal do Azure, localize a imagem do marketplace que você deseja usar e clique em Deseja implantar programaticamente, Introdução ->. Insira as informações necessárias e clique em Salvar.
Nome
Tipo
Description
name
string
A ID do plano.
product
string
Especifica o produto da imagem do marketplace. Esse é o mesmo valor que Offer no elemento imageReference.
promotionCode
string
O código da promoção.
publisher
string
A ID do editor.
PriorityMixPolicy
Especifica as divisões de destino para VMs spot e prioridade regular em um conjunto de dimensionamento com modo de orquestração flexível. Com essa propriedade, o cliente é capaz de especificar o número base de VMs de prioridade regular criadas à medida que a instância flex do VMSS é expandida e a divisão entre VMs spot e prioridade regular depois que esse destino base é atingido.
Nome
Tipo
Description
baseRegularPriorityCount
integer
O número base de VMs de prioridade regular que serão criadas nesse conjunto de dimensionamento conforme ele é dimensionado.
regularPriorityPercentageAboveBase
integer
O percentual de instâncias de VM, depois que a contagem de prioridade regular base tiver sido atingida, que deverá usar a prioridade regular.
ProtocolTypes
Especifica o protocolo do ouvinte WinRM. Os valores possíveis são: http,https.
Nome
Tipo
Description
Http
string
Https
string
PublicIPAddressSku
Descreve o Sku de IP público. Ele só pode ser definido com OrchestrationMode como Flexível.
Tipo de ação de reparo (substituir, reiniciar, reimagem) que será usada para reparar máquinas virtuais não íntegras no conjunto de dimensionamento. O valor padrão é replace.
Nome
Tipo
Description
Reimage
string
Replace
string
Restart
string
ResourceIdentityType
O tipo de identidade usado para o conjunto de dimensionamento de máquinas virtuais. O tipo "SystemAssigned, UserAssigned" inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá todas as identidades do conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
None
string
SystemAssigned
string
SystemAssigned, UserAssigned
string
UserAssigned
string
RollingUpgradePolicy
Os parâmetros de configuração usados durante a execução de uma atualização sem interrupção.
Nome
Tipo
Description
enableCrossZoneUpgrade
boolean
Permitir que o VMSS ignore os limites do AZ ao construir lotes de atualização. Leve em consideração o Domínio de Atualização e maxBatchInstancePercent para determinar o tamanho do lote.
maxBatchInstancePercent
integer
A porcentagem máxima do total de instâncias de máquina virtual que serão atualizadas simultaneamente pela atualização sem interrupção em um lote. Como isso é um máximo, instâncias não íntegras em lotes anteriores ou futuros podem fazer com que o percentual de instâncias em um lote diminua para garantir maior confiabilidade. O valor padrão para esse parâmetro é 20%.
maxSurge
boolean
Crie novas máquinas virtuais para atualizar o conjunto de dimensionamento, em vez de atualizar as máquinas virtuais existentes. As máquinas virtuais existentes serão excluídas depois que as novas máquinas virtuais forem criadas para cada lote.
maxUnhealthyInstancePercent
integer
O percentual máximo do total de instâncias de máquina virtual no conjunto de dimensionamento que pode ser simultaneamente não íntegro, seja como resultado da atualização ou por ser encontrado em um estado não íntegro pelas verificações de integridade da máquina virtual antes que a atualização sem interrupção seja anulada. Essa restrição será verificada antes de iniciar qualquer lote. O valor padrão para esse parâmetro é 20%.
maxUnhealthyUpgradedInstancePercent
integer
O percentual máximo de instâncias de máquina virtual atualizadas que podem ser encontradas em um estado não íntegro. Esse marcar ocorrerá depois que cada lote for atualizado. Se esse percentual for excedido, a atualização sem interrupção será anulada. O valor padrão para esse parâmetro é 20%.
pauseTimeBetweenBatches
string
O tempo de espera entre concluir a atualização de todas as máquinas virtuais em um lote e iniciar o próximo lote. A duração do tempo deve ser especificada no formato ISO 8601. O valor padrão é 0 segundos (PT0S).
prioritizeUnhealthyInstances
boolean
Atualize todas as instâncias não íntegras em um conjunto de dimensionamento antes de qualquer instância íntegra.
rollbackFailedInstancesOnPolicyBreach
boolean
Reverter instâncias com falha para o modelo anterior se a política de Atualização Sem Interrupção for violada.
ScaleInPolicy
Descreve uma política de redução horizontal para um conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
forceDeletion
boolean
Essa propriedade permite que você especifique se as máquinas virtuais escolhidas para remoção precisam ser excluídas à força quando um conjunto de dimensionamento de máquinas virtuais está sendo dimensionado. (Recurso em versão prévia)
As regras a serem seguidas ao dimensionar em um conjunto de dimensionamento de máquinas virtuais.
Os valores possíveis são:
Padrão Quando um conjunto de dimensionamento de máquinas virtuais é dimensionado, o conjunto de dimensionamento será balanceado primeiro entre zonas se for um conjunto de dimensionamento zonal. Em seguida, ele será balanceado entre domínios de falha o mais longe possível. Em cada Domínio de Falha, as máquinas virtuais escolhidas para remoção serão as mais recentes que não estão protegidas contra redução horizontal.
OldestVM Quando um conjunto de dimensionamento de máquinas virtuais está sendo dimensionado, as máquinas virtuais mais antigas que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Em cada zona, as máquinas virtuais mais antigas que não estão protegidas serão escolhidas para remoção.
NewestVM Quando um conjunto de dimensionamento de máquinas virtuais estiver sendo dimensionado, as máquinas virtuais mais recentes que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Dentro de cada zona, as máquinas virtuais mais recentes que não estão protegidas serão escolhidas para remoção.
Especifica encerrar configurações relacionadas a eventos agendados.
securityEncryptionTypes
Especifica o EncryptionType do disco gerenciado. Ele é definido como DiskWithVMGuestState para criptografia do disco gerenciado junto com o blob VMGuestState e VMGuestStateOnly para criptografia apenas do blob VMGuestState.
Nota: Ele pode ser definido apenas para VMs confidenciais.
Nome
Tipo
Description
DiskWithVMGuestState
string
VMGuestStateOnly
string
SecurityPostureReference
Especifica a postura de segurança a ser usada para todas as máquinas virtuais no conjunto de dimensionamento. Versão mínima da api: 2023-03-01
Lista de extensões de máquina virtual a serem excluídas ao aplicar a Postura de Segurança.
id
string
A ID de referência da postura de segurança na forma de /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest
SecurityProfile
Especifica as configurações de perfil de segurança para a máquina virtual ou o conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
encryptionAtHost
boolean
Essa propriedade pode ser usada pelo usuário na solicitação para habilitar ou desabilitar a Criptografia de Host para a máquina virtual ou conjunto de dimensionamento de máquinas virtuais. Isso habilitará a criptografia para todos os discos, incluindo o disco Resource/Temp no próprio host. O comportamento padrão é: a Criptografia no host será desabilitada, a menos que essa propriedade seja definida como true para o recurso.
Especifica o SecurityType da máquina virtual. Ele precisa ser definido como qualquer valor especificado para habilitar UefiSettings. O comportamento padrão é: UefiSettings não será habilitado, a menos que essa propriedade esteja definida.
Especifica as configurações de segurança, como inicialização segura e vTPM usadas durante a criação da máquina virtual. Versão mínima da api: 2020-12-01.
SecurityTypes
Especifica o SecurityType da máquina virtual. Ele precisa ser definido como qualquer valor especificado para habilitar UefiSettings. O comportamento padrão é: UefiSettings não será habilitado, a menos que essa propriedade esteja definida.
Nome
Tipo
Description
ConfidentialVM
string
TrustedLaunch
string
ServiceArtifactReference
Especifica a ID de referência do artefato de serviço usada para definir a mesma versão de imagem para todas as máquinas virtuais no conjunto de dimensionamento ao usar a versão de imagem 'mais recente'. Versão mínima da API: 2022-11-01
Nome
Tipo
Description
id
string
A ID de referência do artefato de serviço na forma de /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
SettingNames
Especifica o nome da configuração ao qual se aplica o conteúdo. Os valores possíveis são: FirstLogonCommands e AutoLogon.
Nome
Tipo
Description
AutoLogon
string
FirstLogonCommands
string
Sku
Descreve um SKU de conjunto de dimensionamento de máquinas virtuais. OBSERVAÇÃO: se não houver suporte para a nova SKU de VM no hardware em que o conjunto de dimensionamento está atualmente, você precisará desalocar as VMs no conjunto de dimensionamento antes de modificar o nome da SKU.
Nome
Tipo
Description
capacity
integer
Especifica o número de máquinas virtuais no conjunto de dimensionamento.
name
string
O nome da SKU.
tier
string
Especifica a camada de máquinas virtuais em um conjunto de dimensionamento.
Valores possíveis:
Standard
Basic
SpotRestorePolicy
Especifica as propriedades Spot-Try-Restore para o conjunto de dimensionamento de máquinas virtuais. Com essa propriedade, o cliente pode habilitar ou desabilitar a restauração automática das instâncias de VM do Spot VMSS removidas de forma oportunista com base na disponibilidade da capacidade e na restrição de preços.
Nome
Tipo
Description
enabled
boolean
Habilita o recurso Spot-Try-Restore em que as instâncias SPOT do VMSS removidas serão tentadas para serem restauradas de forma oportunista com base na disponibilidade da capacidade e nas restrições de preços
restoreTimeout
string
Valor de tempo limite expresso como uma duração de tempo ISO 8601 após a qual a plataforma não tentará restaurar as instâncias spot do VMSS
SshConfiguration
Configuração de SSH para VMs baseadas em Linux em execução no Azure
A lista de chaves públicas SSH usadas para autenticar com VMs baseadas em Linux.
SshPublicKey
Contém informações sobre a chave pública do certificado SSH e o caminho na VM do Linux em que a chave pública é colocada.
Nome
Tipo
Description
keyData
string
Certificado de chave pública SSH usado para autenticar com a VM por meio de ssh. A chave precisa ter pelo menos 2048 bits e estar no formato ssh-rsa. Para criar chaves ssh, consulte [Criar chaves SSH em VMs Linux e Mac para Linux no Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
path
string
Especifica o caminho completo na VM criada em que a chave pública ssh é armazenada. Se o arquivo já existir, a chave especificada será anexada ao arquivo. Exemplo: /home/user/.ssh/authorized_keys
StatusLevelTypes
O código de nível.
Nome
Tipo
Description
Error
string
Info
string
Warning
string
StorageAccountTypes
Especifica o tipo de conta de armazenamento para o disco gerenciado. OBSERVAÇÃO: UltraSSD_LRS só pode ser usado com discos de dados, ele não pode ser usado com o disco do sistema operacional.
Nome
Tipo
Description
PremiumV2_LRS
string
Premium_LRS
string
Premium_ZRS
string
StandardSSD_LRS
string
StandardSSD_ZRS
string
Standard_LRS
string
UltraSSD_LRS
string
SubResource
Nome
Tipo
Description
id
string
ID do recurso
TerminateNotificationProfile
Nome
Tipo
Description
enable
boolean
Especifica se o evento Terminate Scheduled está habilitado ou desabilitado.
notBeforeTimeout
string
O período configurável de tempo que uma Máquina Virtual que está sendo excluída terá que aprovar potencialmente o Evento Agendado de Término antes que o evento seja aprovado automaticamente (tempo limite limite). A configuração deve ser especificada no formato ISO 8601, o valor padrão é 5 minutos (PT5M)
UefiSettings
Especifica as configurações de segurança, como inicialização segura e vTPM usadas durante a criação da máquina virtual. Versão mínima da api: 2020-12-01.
Nome
Tipo
Description
secureBootEnabled
boolean
Especifica se a inicialização segura deve ser habilitada na máquina virtual. Versão mínima da api: 2020-12-01.
vTpmEnabled
boolean
Especifica se o vTPM deve ser habilitado na máquina virtual. Versão mínima da api: 2020-12-01.
UpgradeMode
Especifica o modo de uma atualização para máquinas virtuais no conjunto de dimensionamento.
Os valores possíveis são:
Manual – você controla a aplicação de atualizações para máquinas virtuais no conjunto de dimensionamento. Faça isso usando a ação manualUpgrade.
Automático – todas as máquinas virtuais no conjunto de dimensionamento são atualizadas automaticamente ao mesmo tempo.
Nome
Tipo
Description
Automatic
string
Manual
string
Rolling
string
UpgradePolicy
Descreve uma política de atualização – automática, manual ou sem interrupção.
Os parâmetros de configuração usados durante a execução de uma atualização sem interrupção.
UserAssignedIdentities
A lista de identidades de usuário associadas à Máquina Virtual. As referências de chave de dicionário de identidade do usuário serão IDs de recurso do ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Nome
Tipo
Description
VaultCertificate
Descreve uma única referência de certificado em um Key Vault e onde o certificado deve residir na VM.
Nome
Tipo
Description
certificateStore
string
Para VMs do Windows, especifica o repositório de certificados na Máquina Virtual à qual o certificado deve ser adicionado. O repositório de certificados especificado está implicitamente na conta LocalMachine. Para VMs linux, o arquivo de certificado é colocado no diretório /var/lib/waagent, com o nome <de arquivo UppercaseThumbprint.crt> para o arquivo de certificado X509 e <UppercaseThumbprint.prv> para chave privada. Ambos os arquivos são formatados em .pem.
certificateUrl
string
Essa é a URL de um certificado que foi carregado para Key Vault como um segredo. Para adicionar um segredo ao Key Vault, consulte Adicionar uma chave ou segredo ao cofre de chaves. Nesse caso, seu certificado precisa ser a codificação Base64 do seguinte objeto JSON codificado em UTF-8:
A lista de referências do cofre de chaves no SourceVault que contêm certificados.
VirtualHardDisk
Descreve o uri de um disco.
Nome
Tipo
Description
uri
string
Especifica o uri do disco rígido virtual.
VirtualMachineEvictionPolicyTypes
Especifica a política de remoção para a máquina virtual spot do Azure e o conjunto de dimensionamento spot do Azure. Para máquinas virtuais spot do Azure, há suporte para 'Desalocar' e 'Excluir' e a versão mínima da api é 2019-03-01. Para conjuntos de dimensionamento spot do Azure, há suporte para 'Desalocar' e 'Excluir' e a versão mínima da api é 2017-10-30-preview.
Nome
Tipo
Description
Deallocate
string
Delete
string
VirtualMachineExtension
Descreve uma extensão de máquina virtual.
Nome
Tipo
Description
id
string
ID do recurso
location
string
Localização do recurso
name
string
Nome do recurso
properties.autoUpgradeMinorVersion
boolean
Indica se a extensão deve usar uma versão secundária mais recente se uma estiver disponível no momento da implantação. Após a implantação, no entanto, a extensão não atualizará as versões secundárias, a menos que seja reimplantada, mesmo com essa propriedade definida como verdadeira.
properties.enableAutomaticUpgrade
boolean
Indica se a extensão deve ser atualizada automaticamente pela plataforma se houver uma versão mais recente da extensão disponível.
properties.forceUpdateTag
string
Como o manipulador de extensão deve ser forçado a atualizar mesmo que a configuração da extensão não tenha sido alterada.
As extensões protegeram as configurações que são passadas por referência e consumidas do cofre de chaves
properties.provisionAfterExtensions
string[]
Coleção de nomes de extensão após os quais essa extensão precisa ser provisionada.
properties.provisioningState
string
O estado de provisionamento, que aparece apenas na resposta.
properties.publisher
string
O nome do editor do manipulador de extensão.
properties.settings
object
Configurações públicas formatadas em Json para a extensão.
properties.suppressFailures
boolean
Indica se as falhas decorrentes da extensão serão suprimidas (falhas operacionais como não se conectar à VM não serão suprimidas, independentemente desse valor). O padrão é false.
properties.type
string
Especifica o tipo da extensão; um exemplo é "CustomScriptExtension".
properties.typeHandlerVersion
string
Especifica a versão do manipulador de script.
tags
object
Marcações de recursos
type
string
Tipo de recurso
VirtualMachineExtensionInstanceView
A exibição de instância de uma extensão de máquina virtual.
Especifica informações sobre a imagem do marketplace usada para criar a máquina virtual. Esse elemento só é usado para imagens do marketplace. Antes de usar uma imagem do marketplace de uma API, você deve habilitar a imagem para uso programático. No portal do Azure, localize a imagem do marketplace que você deseja usar e clique em Deseja implantar programaticamente, Introdução ->. Insira as informações necessárias e clique em Salvar.
Especifica recursos adicionais habilitados ou desabilitados no Máquinas Virtuais no Conjunto de Dimensionamento de Máquinas Virtuais. Por exemplo: se o Máquinas Virtuais tem a capacidade de dar suporte à anexação de discos de dados gerenciados com UltraSSD_LRS tipo de conta de armazenamento.
Propriedade opcional que deve ser definida como True ou omitida.
properties.doNotRunExtensionsOnOverprovisionedVMs
boolean
Quando o Overprovision está habilitado, as extensões são iniciadas somente no número solicitado de VMs que são finalmente mantidas. Essa propriedade garantirá, portanto, que as extensões não sejam executadas nas VMs extras superprovisionadas.
Especifica informações sobre o grupo de hosts dedicado no qual reside o conjunto de dimensionamento de máquinas virtuais. Versão mínima da api: 2020-06-01.
Especifica informações sobre o grupo de posicionamento por proximidade ao qual o conjunto de dimensionamento de máquinas virtuais deve ser atribuído. Versão mínima da api: 2018-04-01.
Especifica as políticas aplicadas ao dimensionar em Máquinas Virtuais no Conjunto de Dimensionamento de Máquinas Virtuais.
properties.singlePlacementGroup
boolean
Quando true, isso limita o conjunto de dimensionamento a um único grupo de posicionamento, de tamanho máximo de 100 máquinas virtuais. OBSERVAÇÃO: se singlePlacementGroup for true, ele poderá ser modificado para false. No entanto, se singlePlacementGroup for false, ele não poderá ser modificado para true.
Se é necessário forçar estritamente até mesmo a distribuição de Máquina Virtual entre zonas x, caso haja uma interrupção de zona. A propriedade zoneBalance só poderá ser definida se a propriedade zones do conjunto de dimensionamento contiver mais de uma zona. Se não houver zonas ou apenas uma zona especificada, a propriedade zoneBalance não deverá ser definida.
O SKU do conjunto de dimensionamento de máquinas virtuais.
tags
object
Marcações de recursos
type
string
Tipo de recurso
zones
string[]
As zonas do conjunto de dimensionamento de máquinas virtuais. OBSERVAÇÃO: as zonas de disponibilidade só podem ser definidas quando você cria o conjunto de dimensionamento
VirtualMachineScaleSetDataDisk
Descreve um disco de dados do conjunto de dimensionamento de máquinas virtuais.
Especifica os requisitos de cache. Os valores possíveis são: None,ReadOnly,ReadWrite. Os valores padrão são: Nenhum para armazenamento Standard. ReadOnly para armazenamento Premium.
Especifica se o disco de dados deve ser excluído ou desanexado após a exclusão do VMSS Flex (esse recurso está disponível apenas para VMSS com OrchestrationMode Flexível).
Valores possíveis:
Excluir Se esse valor for usado, o disco de dados será excluído quando a VM VMSS Flex for excluída.
Desanexar Se esse valor for usado, o disco de dados será retido depois que a VM VMSS Flex for excluída.
O valor padrão é definido como Excluir.
diskIOPSReadWrite
integer
Especifica o Read-Write IOPS para o disco gerenciado. Deve ser usado somente quando StorageAccountType é UltraSSD_LRS. Se não for especificado, um valor padrão será atribuído com base em diskSizeGB.
diskMBpsReadWrite
integer
Especifica a largura de banda em MB por segundo para o disco gerenciado. Deve ser usado somente quando StorageAccountType é UltraSSD_LRS. Se não for especificado, um valor padrão será atribuído com base em diskSizeGB.
diskSizeGB
integer
Especifica o tamanho de um disco de dados vazio em gigabytes. Esse elemento pode ser usado para substituir o tamanho do disco em uma imagem de máquina virtual. A propriedade diskSizeGB é o número de bytes x 1024^3 para o disco e o valor não pode ser maior que 1023.
lun
integer
Especifica o número da unidade lógica do disco de dados. Esse valor é usado para identificar discos de dados dentro da VM e, portanto, deve ser exclusivo para cada disco de dados anexado a uma VM.
Especifica se writeAccelerator deve ser habilitado ou desabilitado no disco.
VirtualMachineScaleSetExtension
Descreve uma extensão do conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
id
string
ID do recurso
name
string
O nome da extensão.
properties.autoUpgradeMinorVersion
boolean
Indica se a extensão deve usar uma versão secundária mais recente se uma estiver disponível no momento da implantação. Após a implantação, no entanto, a extensão não atualizará as versões secundárias, a menos que seja reimplantada, mesmo com essa propriedade definida como verdadeira.
properties.enableAutomaticUpgrade
boolean
Indica se a extensão deve ser atualizada automaticamente pela plataforma se houver uma versão mais recente da extensão disponível.
properties.forceUpdateTag
string
Se um valor for fornecido e for diferente do valor anterior, o manipulador de extensão será forçado a atualizar mesmo que a configuração da extensão não tenha sido alterada.
properties.protectedSettings
object
A extensão pode conter protectedSettings ou protectedSettingsFromKeyVault ou nenhuma configuração protegida.
As configurações protegidas por extensões que são passadas por referência e consumidas do cofre de chaves
properties.provisionAfterExtensions
string[]
Coleção de nomes de extensão após os quais essa extensão precisa ser provisionada.
properties.provisioningState
string
O estado de provisionamento, que aparece apenas na resposta.
properties.publisher
string
O nome do editor do manipulador de extensão.
properties.settings
object
Configurações públicas formatadas em Json para a extensão.
properties.suppressFailures
boolean
Indica se as falhas decorrentes da extensão serão suprimidas (falhas operacionais, como não se conectar à VM, não serão suprimidas, independentemente desse valor). O padrão é false.
properties.type
string
Especifica o tipo da extensão; um exemplo é "CustomScriptExtension".
properties.typeHandlerVersion
string
Especifica a versão do manipulador de script.
type
string
Tipo de recurso
VirtualMachineScaleSetExtensionProfile
Descreve um perfil de extensão do conjunto de dimensionamento de máquinas virtuais.
Os recursos de extensão filho do conjunto de dimensionamento de máquinas virtuais.
extensionsTimeBudget
string
Especifica o tempo alocado para que todas as extensões comecem. A duração do tempo deve ser entre 15 minutos e 120 minutos (inclusivo) e deve ser especificada no formato ISO 8601. O valor padrão é 90 minutos (PT1H30M). Versão mínima da api: 2020-06-01.
VirtualMachineScaleSetHardwareProfile
Especifica as configurações de hardware para o conjunto de dimensionamento de máquinas virtuais.
Especifica as propriedades para personalizar o tamanho da máquina virtual. Versão mínima da api: 2021-11-01. Siga as instruções em Personalização de VM para obter mais detalhes.
VirtualMachineScaleSetIdentity
Identidade do conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
principalId
string
A ID principal da identidade do conjunto de dimensionamento de máquinas virtuais. Essa propriedade só será fornecida para uma identidade atribuída pelo sistema.
tenantId
string
A ID do locatário associada ao conjunto de dimensionamento de máquinas virtuais. Essa propriedade só será fornecida para uma identidade atribuída pelo sistema.
O tipo de identidade usado para o conjunto de dimensionamento de máquinas virtuais. O tipo "SystemAssigned, UserAssigned" inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' removerá todas as identidades do conjunto de dimensionamento de máquinas virtuais.
A lista de identidades de usuário associadas ao conjunto de dimensionamento de máquinas virtuais. As referências de chave de dicionário de identidade do usuário serão IDs de recurso do ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
VirtualMachineScaleSetIPConfiguration
Descreve a configuração de IP de um perfil de rede do conjunto de dimensionamento de máquinas virtuais.
Especifica uma matriz de referências para pools de endereços de back-end de gateways de aplicativo. Um conjunto de dimensionamento pode referenciar pools de endereços de back-end de vários gateways de aplicativo. Vários conjuntos de dimensionamento não podem usar o mesmo gateway de aplicativo.
Especifica uma matriz de referências a pools de endereços de back-end de balanceadores de carga. Um conjunto de dimensionamento pode referenciar pools de endereços de back-end de um balanceador de carga interno e público. Vários conjuntos de dimensionamento não podem usar o mesmo balanceador de carga de SKU básico.
Especifica uma matriz de referências para pools Nat de entrada dos balanceadores de carga. Um conjunto de dimensionamento pode referenciar pools nat de entrada de um balanceador de carga interno e público. Vários conjuntos de dimensionamento não podem usar o mesmo balanceador de carga de SKU básico.
properties.primary
boolean
Especifica o adaptador de rede primário caso a máquina virtual tenha mais de 1 adaptador de rede.
Disponível de Api-Version 2017-03-30 em diante, ele representa se a ipconfiguração específica é IPv4 ou IPv6. O padrão é usado como IPv4. Os valores possíveis são: 'IPv4' e 'IPv6'.
Especifica o tipo de conta de armazenamento para o disco gerenciado. OBSERVAÇÃO: UltraSSD_LRS só pode ser usado com discos de dados, ele não pode ser usado com disco do sistema operacional.
VirtualMachineScaleSetNetworkConfiguration
Descreve as configurações de rede de um perfil de rede do conjunto de dimensionamento de máquinas virtuais.
Uma referência a uma investigação de balanceador de carga usada para determinar a integridade de uma instância no conjunto de dimensionamento de máquinas virtuais. A referência estará no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
especifica a versão da API Microsoft.Network usada ao criar recursos de rede nas Configurações de Interface de Rede para Conjunto de Dimensionamento de Máquinas Virtuais com o modo de orquestração 'Flexível'
Especifica os requisitos de cache. Os valores possíveis são: None,ReadOnly,ReadWrite. Os valores padrão são: Nenhum para armazenamento Standard. ReadOnly para armazenamento Premium.
Especifica como as máquinas virtuais no conjunto de dimensionamento devem ser criadas. O único valor permitido é: FromImage. Esse valor é usado quando você está usando uma imagem para criar a máquina virtual. Se você estiver usando uma imagem de plataforma, também usará o elemento imageReference descrito acima. Se você estiver usando uma imagem do marketplace, também usará o elemento de plano descrito anteriormente.
Especifica se o disco do sistema operacional deve ser excluído ou desanexado após a exclusão do VMSS Flex (esse recurso está disponível apenas para VMSS com OrchestrationMode Flexível).
Valores possíveis:
Excluir Se esse valor for usado, o disco do sistema operacional será excluído quando a VM VMSS Flex for excluída.
Desanexar Se esse valor for usado, o disco do sistema operacional será retido depois que a VM VMSS Flex for excluída.
O valor padrão é definido como Excluir. Para um Disco do SO Efêmero, o valor padrão é definido como Excluir. O usuário não pode alterar a opção de exclusão para Disco do SO Efêmero.
Especifica as Configurações de disco efêmero para o disco do sistema operacional usado pelo conjunto de dimensionamento de máquinas virtuais.
diskSizeGB
integer
Especifica o tamanho de um disco de dados vazio em gigabytes. Esse elemento pode ser usado para substituir o tamanho do disco em uma imagem de máquina virtual. A propriedade 'diskSizeGB' é o número de bytes x 1024^3 para o disco e o valor não pode ser maior que 1023.
Essa propriedade permite que você especifique o tipo do sistema operacional incluído no disco se estiver criando uma VM com base na imagem do usuário ou em um VHD especializado. Os valores possíveis são: Windows,Linux.
vhdContainers
string[]
Especifica as URLs de contêiner usadas para armazenar discos do sistema operacional para o conjunto de dimensionamento.
writeAcceleratorEnabled
boolean
Especifica se writeAccelerator deve ser habilitado ou desabilitado no disco.
VirtualMachineScaleSetOSProfile
Descreve um perfil do sistema operacional do conjunto de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
adminPassword
string
Especifica a senha da conta de administrador.
Comprimento mínimo (Windows): 8 caracteres
Comprimento mínimo (Linux): 6 caracteres
Comprimento máximo (Windows): 123 caracteres
Comprimento máximo (Linux): 72 caracteres
Requisitos de complexidade: 3 de 4 condições abaixo precisam ser atendidas Tem caracteres inferiores Tem caracteres superiores Tem um dígito Tem um caractere especial (correspondência regex [\W_])
Especifica se as operações de extensão devem ser permitidas no conjunto de dimensionamento de máquinas virtuais. Isso só pode ser definido como False quando nenhuma extensão estiver presente no conjunto de dimensionamento de máquinas virtuais.
computerNamePrefix
string
Especifica o prefixo de nome do computador para todas as máquinas virtuais no conjunto de dimensionamento. Os prefixos de nome do computador devem ter de 1 a 15 caracteres.
customData
string
Especifica uma cadeia de caracteres codificada na base 64 de dados personalizados. A cadeia de caracteres codificada na base 64 é decodificada para uma matriz binária que é salva como um arquivo na Máquina Virtual. A matriz binária pode ter no máximo 65535 bytes. Para usar o cloud-init para sua VM, consulte Usando cloud-init para personalizar uma VM do Linux durante a criação
Especifica as configurações do sistema operacional Linux na máquina virtual. Para obter uma lista de distribuições do Linux com suporte, consulte Linux no Azure-Endorsed Distributions.
requireGuestProvisionSignal
boolean
Propriedade opcional que deve ser definida como True ou omitida.
Disponível de Api-Version 2019-07-01 em diante, ele representa se a ipconfiguração específica é IPv4 ou IPv6. O padrão é usado como IPv4. Os valores possíveis são: 'IPv4' e 'IPv6'.
Descreve as configurações de DNS de uma configuração de rede de conjuntos de dimensionamento de máquinas virtuais.
Nome
Tipo
Description
domainNameLabel
string
O rótulo Nome de domínio. A concatenação do rótulo de nome de domínio e do índice de vm serão os rótulos de nome de domínio dos recursos PublicIPAddress que serão criados
VirtualMachineScaleSetScaleInRules
As regras a serem seguidas ao dimensionar em um conjunto de dimensionamento de máquinas virtuais.
Os valores possíveis são:
Padrão Quando um conjunto de dimensionamento de máquinas virtuais é dimensionado, o conjunto de dimensionamento será balanceado primeiro entre zonas se for um conjunto de dimensionamento zonal. Em seguida, ele será balanceado entre domínios de falha o mais longe possível. Em cada Domínio de Falha, as máquinas virtuais escolhidas para remoção serão as mais recentes que não estão protegidas contra redução horizontal.
OldestVM Quando um conjunto de dimensionamento de máquinas virtuais está sendo dimensionado, as máquinas virtuais mais antigas que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Em cada zona, as máquinas virtuais mais antigas que não estão protegidas serão escolhidas para remoção.
NewestVM Quando um conjunto de dimensionamento de máquinas virtuais estiver sendo dimensionado, as máquinas virtuais mais recentes que não estão protegidas contra redução horizontal serão escolhidas para remoção. Para conjuntos de dimensionamento de máquinas virtuais zonais, o conjunto de dimensionamento será balanceado primeiro entre zonas. Dentro de cada zona, as máquinas virtuais mais recentes que não estão protegidas serão escolhidas para remoção.
Nome
Tipo
Description
Default
string
NewestVM
string
OldestVM
string
VirtualMachineScaleSetStorageProfile
Descreve um perfil de armazenamento do conjunto de dimensionamento de máquinas virtuais.
Especifica os parâmetros usados para adicionar discos de dados às máquinas virtuais no conjunto de dimensionamento. Para obter mais informações sobre discos, consulte Sobre discos e VHDs para máquinas virtuais do Azure.
Especifica informações sobre a imagem a ser usada. Você pode especificar informações sobre imagens de plataforma, imagens do marketplace ou imagens de máquina virtual. Esse elemento é necessário quando você deseja usar uma imagem de plataforma, uma imagem do marketplace ou uma imagem de máquina virtual, mas não é usado em outras operações de criação.
Especifica informações sobre o disco do sistema operacional usado pelas máquinas virtuais no conjunto de dimensionamento. Para obter mais informações sobre discos, consulte Sobre discos e VHDs para máquinas virtuais do Azure.
VirtualMachineScaleSetVMProfile
Descreve um perfil de máquina virtual do conjunto de dimensionamento de máquinas virtuais.
Especifica a política de remoção para a máquina virtual spot do Azure e o conjunto de dimensionamento spot do Azure. Para máquinas virtuais spot do Azure, há suporte para 'Desalocar' e 'Excluir' e a versão mínima da API é 2019-03-01. Para conjuntos de dimensionamento spot do Azure, há suporte para 'Deallocate' e 'Delete' e a versão mínima da api é 2017-10-30-preview.
Especifica a ID de referência do artefato de serviço usada para definir a mesma versão de imagem para todas as máquinas virtuais no conjunto de dimensionamento ao usar a versão de imagem 'mais recente'. Versão mínima da API: 2022-11-01
Especifica as configurações de armazenamento dos discos da máquina virtual.
userData
string
UserData para as máquinas virtuais no conjunto de dimensionamento, que deve ser codificado em base 64. O cliente não deve passar segredos aqui. Versão mínima da api: 2021-03-01.
VMDiskSecurityProfile
Especifica as configurações de perfil de segurança para o disco gerenciado.
Nota: Ele só pode ser definido para VMs confidenciais.
Especifica a ID do recurso do conjunto de criptografia de disco gerenciado pelo cliente para o disco gerenciado usado para a Chave Gerenciada pelo Cliente criptografado ConfidentialVM OS Disk e blob VMGuest.
Especifica o EncryptionType do disco gerenciado. Ele é definido como DiskWithVMGuestState para criptografia do disco gerenciado junto com o blob VMGuestState e VMGuestStateOnly para criptografia apenas do blob VMGuestState.
Nota: Ele pode ser definido apenas para VMs confidenciais.
VMGalleryApplication
Especifica as informações necessárias para fazer referência a uma versão do aplicativo da galeria de computação
Nome
Tipo
Description
configurationReference
string
Opcional, Especifica o URI para um blob do Azure que substituirá a configuração padrão do pacote, se fornecido
enableAutomaticUpgrade
boolean
Se definido como true, quando uma nova versão do Aplicativo da Galeria estiver disponível no PIR/SIG, ela será atualizada automaticamente para a VM/VMSS
order
integer
Opcional, Especifica a ordem na qual os pacotes precisam ser instalados
packageReferenceId
string
Especifica a ID do recurso GalleryApplicationVersion na forma de /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}
tags
string
Opcional, Especifica um valor de passagem para um contexto mais genérico.
treatFailureAsDeploymentFailure
boolean
Opcional, se for true, qualquer falha em qualquer operação no VmApplication falhará na implantação
VMSizeProperties
Especifica as configurações de Propriedade de Tamanho da VM na máquina virtual.
Nome
Tipo
Description
vCPUsAvailable
integer
Especifica o número de vCPUs disponíveis para a VM. Quando essa propriedade não é especificada no corpo da solicitação, o comportamento padrão é defini-la com o valor de vCPUs disponíveis para esse tamanho de VM exposto na resposta da API de Listar todos os tamanhos de máquina virtual disponíveis em uma região.
vCPUsPerCore
integer
Especifica a taxa de vCPU para núcleo físico. Quando essa propriedade não é especificada no corpo da solicitação, o comportamento padrão é definido como o valor de vCPUsPerCore para o Tamanho da VM exposto na resposta da API de Listar todos os tamanhos de máquina virtual disponíveis em uma região.
Definir essa propriedade como 1 também significa que o hyper-threading está desabilitado.
WindowsConfiguration
Especifica as configurações de sistema operacional do Windows na máquina virtual.
Especifica a informação com formatação XML codificada em base 64 adicional que pode ser incluída no arquivo Unattend.xml, que é usado pelo programa de instalação do Windows.
enableAutomaticUpdates
boolean
Indica se a Atualizações automática está habilitada para a máquina virtual do Windows. O valor padrão é true. Para conjuntos de dimensionamento de máquinas virtuais, essa propriedade pode ser atualizada e as atualizações entrarão em vigor no reprovisionamento do sistema operacional.
enableVMAgentPlatformUpdates
boolean
Indica se a plataforma VMAgent Atualizações está habilitada para a máquina virtual do Windows. O valor padrão é false.
[Versão prévia do recurso] Especifica as configurações relacionadas à Aplicação de Patch de Convidado da VM no Windows.
provisionVMAgent
boolean
Indica se o agente da máquina virtual deve ser provisionado na máquina virtual. Quando essa propriedade não é especificada no corpo da solicitação, ela é definida como true por padrão. Isso garantirá que o Agente de VM esteja instalado na VM para que as extensões possam ser adicionadas à VM posteriormente.
timeZone
string
Especifica o fuso horário da máquina virtual. por exemplo, "Hora Padrão do Pacífico". Os valores possíveis podem ser TimeZoneInfo.Id valor de fusos horários retornados por TimeZoneInfo.GetSystemTimeZones.
Especifica a configuração de reinicialização para todas as operações de instalação de patch AutomaticByPlatform.
WindowsVMGuestPatchMode
Especifica o modo de Aplicação de Patch de Convidado de VM para máquina virtual IaaS ou máquinas virtuais associadas ao conjunto de dimensionamento de máquinas virtuais com OrchestrationMode como Flexível.
Os valores possíveis são:
Manual – você controla a aplicação de patches em uma máquina virtual. Faça isso aplicando patches manualmente dentro da VM. Nesse modo, as atualizações automáticas estão desabilitadas; a propriedade WindowsConfiguration.enableAutomaticUpdates deve ser false
AutomaticByOS – a máquina virtual será atualizada automaticamente pelo sistema operacional. A propriedade WindowsConfiguration.enableAutomaticUpdates deve ser true.
AutomaticByPlatform – a máquina virtual será atualizada automaticamente pela plataforma. As propriedades provisionVMAgent e WindowsConfiguration.enableAutomaticUpdates devem ser verdadeiras
Nome
Tipo
Description
AutomaticByOS
string
AutomaticByPlatform
string
Manual
string
WinRMConfiguration
Descreve a configuração de Gerenciamento Remoto do Windows da VM
A lista de ouvintes do Gerenciamento Remoto do Windows
WinRMListener
Descreve o protocolo e a impressão digital do ouvinte de Gerenciamento Remoto do Windows
Nome
Tipo
Description
certificateUrl
string
Essa é a URL de um certificado que foi carregado para Key Vault como um segredo. Para adicionar um segredo ao Key Vault, consulte Adicionar uma chave ou segredo ao cofre de chaves. Nesse caso, seu certificado precisa ser a codificação Base64 do seguinte objeto JSON codificado em UTF-8: