Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
HTTP
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff?api-version=2022-03-01
With optional parameters:
HTTP
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff?skipShutdown={skipShutdown}&api-version=2022-03-01
URI Parameters
Name
In
Required
Type
Description
instanceId
path
True
string
The instance ID of the virtual machine.
resourceGroupName
path
True
string
The name of the resource group.
subscriptionId
path
True
string
Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
vmScaleSetName
path
True
string
The name of the VM scale set.
api-version
query
True
string
Client Api Version.
skipShutdown
query
boolean
The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/rgcompute/providers/Microsoft.Compute/virtualMachineScaleSets/aaaaaa/virtualmachines/aaaaaaaaa/poweroff?skipShutdown=True&api-version=2022-03-01
Java
import com.azure.core.util.Context;
/** Samples for VirtualMachineScaleSetVMs PowerOff. */publicfinalclassMain{
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MaximumSet_Gen.json
*//**
* Sample code: VirtualMachineScaleSetVMs_PowerOff_MaximumSet_Gen.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/publicstaticvoidvirtualMachineScaleSetVMsPowerOffMaximumSetGen(
com.azure.resourcemanager.AzureResourceManager azure){
azure
.virtualMachines()
.manager()
.serviceClient()
.getVirtualMachineScaleSetVMs()
.powerOff("rgcompute", "aaaaaa", "aaaaaaaaa", true, Context.NONE);
}
}
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
*
* @summary Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MaximumSet_Gen.json
*/asyncfunctionvirtualMachineScaleSetVMSPowerOffMaximumSetGen() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "rgcompute";
const vmScaleSetName = "aaaaaa";
const instanceId = "aaaaaaaaa";
const skipShutdown = true;
const options = {
skipShutdown,
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.virtualMachineScaleSetVMs.beginPowerOffAndWait(
resourceGroupName,
vmScaleSetName,
instanceId,
options
);
console.log(result);
}
virtualMachineScaleSetVMSPowerOffMaximumSetGen().catch(console.error);
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Compute;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MaximumSet_Gen.json// this example is just showing the usage of "VirtualMachineScaleSetVMs_PowerOff" operation, for the dependent resources, they will have to be created separately.// authenticate your client
ArmClient client = new ArmClient(new DefaultAzureCredential());
// this example assumes you already have this VirtualMachineScaleSetVmResource created on azure// for more information of creating VirtualMachineScaleSetVmResource, please refer to the document of VirtualMachineScaleSetVmResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "rgcompute";
string virtualMachineScaleSetName = "aaaaaa";
string instanceId = "aaaaaaaaa";
ResourceIdentifier virtualMachineScaleSetVmResourceId = VirtualMachineScaleSetVmResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, virtualMachineScaleSetName, instanceId);
VirtualMachineScaleSetVmResource virtualMachineScaleSetVm = client.GetVirtualMachineScaleSetVmResource(virtualMachineScaleSetVmResourceId);
// invoke the operationbool? skipShutdown = true;
await virtualMachineScaleSetVm.PowerOffAsync(WaitUntil.Completed, skipShutdown: skipShutdown);
Console.WriteLine($"Succeeded");
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/rgcompute/providers/Microsoft.Compute/virtualMachineScaleSets/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/virtualmachines/aaaaaaaaaaaaaaaaaaaaaa/poweroff?api-version=2022-03-01
Java
import com.azure.core.util.Context;
/** Samples for VirtualMachineScaleSetVMs PowerOff. */publicfinalclassMain{
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MinimumSet_Gen.json
*//**
* Sample code: VirtualMachineScaleSetVMs_PowerOff_MinimumSet_Gen.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/publicstaticvoidvirtualMachineScaleSetVMsPowerOffMinimumSetGen(
com.azure.resourcemanager.AzureResourceManager azure){
azure
.virtualMachines()
.manager()
.serviceClient()
.getVirtualMachineScaleSetVMs()
.powerOff("rgcompute", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaa", null, Context.NONE);
}
}
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
*
* @summary Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2022-03-01/ComputeRP/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MinimumSet_Gen.json
*/asyncfunctionvirtualMachineScaleSetVMSPowerOffMinimumSetGen() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "rgcompute";
const vmScaleSetName = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
const instanceId = "aaaaaaaaaaaaaaaaaaaaaa";
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.virtualMachineScaleSetVMs.beginPowerOffAndWait(
resourceGroupName,
vmScaleSetName,
instanceId
);
console.log(result);
}
virtualMachineScaleSetVMSPowerOffMinimumSetGen().catch(console.error);
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute.Models;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Compute;
// Generated from example definition: specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSetVMs_PowerOff_MinimumSet_Gen.json// this example is just showing the usage of "VirtualMachineScaleSetVMs_PowerOff" operation, for the dependent resources, they will have to be created separately.// authenticate your client
ArmClient client = new ArmClient(new DefaultAzureCredential());
// this example assumes you already have this VirtualMachineScaleSetVmResource created on azure// for more information of creating VirtualMachineScaleSetVmResource, please refer to the document of VirtualMachineScaleSetVmResourcestring subscriptionId = "{subscription-id}";
string resourceGroupName = "rgcompute";
string virtualMachineScaleSetName = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
string instanceId = "aaaaaaaaaaaaaaaaaaaaaa";
ResourceIdentifier virtualMachineScaleSetVmResourceId = VirtualMachineScaleSetVmResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, virtualMachineScaleSetName, instanceId);
VirtualMachineScaleSetVmResource virtualMachineScaleSetVm = client.GetVirtualMachineScaleSetVmResource(virtualMachineScaleSetVmResourceId);
// invoke the operationawait virtualMachineScaleSetVm.PowerOffAsync(WaitUntil.Completed);
Console.WriteLine($"Succeeded");