Virtual Machine Scale Set VM Extensions - Create Or Update
The operation to create or update the VMSS VM extension.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}?api-version=2024-07-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
instance
|
path | True |
string |
The instance ID of the virtual machine. |
resource
|
path | True |
string |
The name of the resource group. |
subscription
|
path | True |
string |
Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. |
vm
|
path | True |
string |
The name of the virtual machine extension. |
vm
|
path | True |
string |
The name of the VM scale set. |
api-version
|
query | True |
string |
Client Api Version. |
Request Body
Name | Type | Description |
---|---|---|
location |
string |
The location of the extension. |
properties.autoUpgradeMinorVersion |
boolean |
Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. |
properties.enableAutomaticUpgrade |
boolean |
Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. |
properties.forceUpdateTag |
string |
How the extension handler should be forced to update even if the extension configuration has not changed. |
properties.instanceView |
The virtual machine extension instance view. |
|
properties.protectedSettings |
object |
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. |
properties.protectedSettingsFromKeyVault |
The extensions protected settings that are passed by reference, and consumed from key vault |
|
properties.provisionAfterExtensions |
string[] |
Collection of extension names after which this extension needs to be provisioned. |
properties.publisher |
string |
The name of the extension handler publisher. |
properties.settings |
object |
Json formatted public settings for the extension. |
properties.suppressFailures |
boolean |
Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. |
properties.type |
string |
Specifies the type of the extension; an example is "CustomScriptExtension". |
properties.typeHandlerVersion |
string |
Specifies the version of the script handler. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
OK |
|
201 Created |
Created |
|
Other Status Codes |
Error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account |
Examples
Create VirtualMachineScaleSet VM extension.
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension?api-version=2024-07-01
{
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "extPublisher",
"type": "extType",
"typeHandlerVersion": "1.2",
"settings": {
"UserName": "xyz@microsoft.com"
}
}
}
Sample response
{
"name": "myVMExtension",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
"properties": {
"autoUpgradeMinorVersion": true,
"provisioningState": "Creating",
"publisher": "extPublisher",
"type": "extType",
"typeHandlerVersion": "1.2",
"settings": {
"UserName": "xyz@microsoft.com"
}
}
}
{
"name": "myVMExtension",
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
"properties": {
"autoUpgradeMinorVersion": true,
"provisioningState": "Creating",
"publisher": "extPublisher",
"type": "extType",
"typeHandlerVersion": "1.2",
"settings": {
"UserName": "xyz@microsoft.com"
}
}
}
Definitions
Name | Description |
---|---|
Api |
Api error. |
Api |
Api error base. |
Cloud |
An error response from the Compute service. |
Inner |
Inner error details. |
Instance |
Instance view status. |
Key |
Describes a reference to Key Vault Secret |
Status |
The level code. |
Sub |
|
Virtual |
The instance view of a virtual machine extension. |
Virtual |
Describes a VMSS VM Extension. |
ApiError
Api error.
Name | Type | Description |
---|---|---|
code |
string |
The error code. |
details |
The Api error details |
|
innererror |
The Api inner error |
|
message |
string |
The error message. |
target |
string |
The target of the particular error. |
ApiErrorBase
Api error base.
Name | Type | Description |
---|---|---|
code |
string |
The error code. |
message |
string |
The error message. |
target |
string |
The target of the particular error. |
CloudError
An error response from the Compute service.
Name | Type | Description |
---|---|---|
error |
Api error. |
InnerError
Inner error details.
Name | Type | Description |
---|---|---|
errordetail |
string |
The internal error message or exception dump. |
exceptiontype |
string |
The exception type. |
InstanceViewStatus
Instance view status.
Name | Type | Description |
---|---|---|
code |
string |
The status code. |
displayStatus |
string |
The short localizable label for the status. |
level |
The level code. |
|
message |
string |
The detailed status message, including for alerts and error messages. |
time |
string |
The time of the status. |
KeyVaultSecretReference
Describes a reference to Key Vault Secret
Name | Type | Description |
---|---|---|
secretUrl |
string |
The URL referencing a secret in a Key Vault. |
sourceVault |
The relative URL of the Key Vault containing the secret. |
StatusLevelTypes
The level code.
Name | Type | Description |
---|---|---|
Error |
string |
|
Info |
string |
|
Warning |
string |
SubResource
Name | Type | Description |
---|---|---|
id |
string |
Resource Id |
VirtualMachineExtensionInstanceView
The instance view of a virtual machine extension.
Name | Type | Description |
---|---|---|
name |
string |
The virtual machine extension name. |
statuses |
The resource status information. |
|
substatuses |
The resource status information. |
|
type |
string |
Specifies the type of the extension; an example is "CustomScriptExtension". |
typeHandlerVersion |
string |
Specifies the version of the script handler. |
VirtualMachineScaleSetVMExtension
Describes a VMSS VM Extension.
Name | Type | Description |
---|---|---|
id |
string |
Resource Id |
location |
string |
The location of the extension. |
name |
string |
The name of the extension. |
properties.autoUpgradeMinorVersion |
boolean |
Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. |
properties.enableAutomaticUpgrade |
boolean |
Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. |
properties.forceUpdateTag |
string |
How the extension handler should be forced to update even if the extension configuration has not changed. |
properties.instanceView |
The virtual machine extension instance view. |
|
properties.protectedSettings |
object |
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. |
properties.protectedSettingsFromKeyVault |
The extensions protected settings that are passed by reference, and consumed from key vault |
|
properties.provisionAfterExtensions |
string[] |
Collection of extension names after which this extension needs to be provisioned. |
properties.provisioningState |
string |
The provisioning state, which only appears in the response. |
properties.publisher |
string |
The name of the extension handler publisher. |
properties.settings |
object |
Json formatted public settings for the extension. |
properties.suppressFailures |
boolean |
Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. |
properties.type |
string |
Specifies the type of the extension; an example is "CustomScriptExtension". |
properties.typeHandlerVersion |
string |
Specifies the version of the script handler. |
type |
string |
Resource type |