1. Packages
  2. Azure Native v2
  3. API Docs
  4. azurestackhci
  5. MachineExtension
These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi

azure-native-v2.azurestackhci.MachineExtension

Explore with Pulumi AI

Describes a Machine Extension. Azure REST API version: 2022-12-15-preview.

Example Usage

Create or Update a Machine Extension (PUT)

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var machineExtension = new AzureNative.AzureStackHCI.MachineExtension("machineExtension", new()
    {
        ExtensionName = "CustomScriptExtension",
        Location = "eastus2euap",
        Name = "myMachine",
        Publisher = "Microsoft.Compute",
        ResourceGroupName = "myResourceGroup",
        Settings = new Dictionary<string, object?>
        {
            ["commandToExecute"] = "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"",
        },
        Type = "CustomScriptExtension",
        TypeHandlerVersion = "1.10",
    });

});
Copy
package main

import (
	azurestackhci "github.com/pulumi/pulumi-azure-native-sdk/azurestackhci/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := azurestackhci.NewMachineExtension(ctx, "machineExtension", &azurestackhci.MachineExtensionArgs{
			ExtensionName:     pulumi.String("CustomScriptExtension"),
			Location:          pulumi.String("eastus2euap"),
			Name:              pulumi.String("myMachine"),
			Publisher:         pulumi.String("Microsoft.Compute"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Settings: pulumi.Any(map[string]interface{}{
				"commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"",
			}),
			Type:               pulumi.String("CustomScriptExtension"),
			TypeHandlerVersion: pulumi.String("1.10"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.azurestackhci.MachineExtension;
import com.pulumi.azurenative.azurestackhci.MachineExtensionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var machineExtension = new MachineExtension("machineExtension", MachineExtensionArgs.builder()
            .extensionName("CustomScriptExtension")
            .location("eastus2euap")
            .name("myMachine")
            .publisher("Microsoft.Compute")
            .resourceGroupName("myResourceGroup")
            .settings(Map.of("commandToExecute", "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""))
            .type("CustomScriptExtension")
            .typeHandlerVersion("1.10")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const machineExtension = new azure_native.azurestackhci.MachineExtension("machineExtension", {
    extensionName: "CustomScriptExtension",
    location: "eastus2euap",
    name: "myMachine",
    publisher: "Microsoft.Compute",
    resourceGroupName: "myResourceGroup",
    settings: {
        commandToExecute: "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"",
    },
    type: "CustomScriptExtension",
    typeHandlerVersion: "1.10",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

machine_extension = azure_native.azurestackhci.MachineExtension("machineExtension",
    extension_name="CustomScriptExtension",
    location="eastus2euap",
    name="myMachine",
    publisher="Microsoft.Compute",
    resource_group_name="myResourceGroup",
    settings={
        "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"",
    },
    type="CustomScriptExtension",
    type_handler_version="1.10")
Copy
resources:
  machineExtension:
    type: azure-native:azurestackhci:MachineExtension
    properties:
      extensionName: CustomScriptExtension
      location: eastus2euap
      name: myMachine
      publisher: Microsoft.Compute
      resourceGroupName: myResourceGroup
      settings:
        commandToExecute: powershell.exe -c "Get-Process | Where-Object { $_.CPU -gt 10000 }"
      type: CustomScriptExtension
      typeHandlerVersion: '1.10'
Copy

Create MachineExtension Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new MachineExtension(name: string, args: MachineExtensionArgs, opts?: CustomResourceOptions);
@overload
def MachineExtension(resource_name: str,
                     args: MachineExtensionArgs,
                     opts: Optional[ResourceOptions] = None)

@overload
def MachineExtension(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     name: Optional[str] = None,
                     resource_group_name: Optional[str] = None,
                     auto_upgrade_minor_version: Optional[bool] = None,
                     extension_name: Optional[str] = None,
                     force_update_tag: Optional[str] = None,
                     location: Optional[str] = None,
                     protected_settings: Optional[Any] = None,
                     publisher: Optional[str] = None,
                     settings: Optional[Any] = None,
                     tags: Optional[Mapping[str, str]] = None,
                     type: Optional[str] = None,
                     type_handler_version: Optional[str] = None)
func NewMachineExtension(ctx *Context, name string, args MachineExtensionArgs, opts ...ResourceOption) (*MachineExtension, error)
public MachineExtension(string name, MachineExtensionArgs args, CustomResourceOptions? opts = null)
public MachineExtension(String name, MachineExtensionArgs args)
public MachineExtension(String name, MachineExtensionArgs args, CustomResourceOptions options)
type: azure-native:azurestackhci:MachineExtension
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. MachineExtensionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. MachineExtensionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. MachineExtensionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. MachineExtensionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. MachineExtensionArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var machineExtensionResource = new AzureNative.Azurestackhci.MachineExtension("machineExtensionResource", new()
{
    Name = "string",
    ResourceGroupName = "string",
    AutoUpgradeMinorVersion = false,
    ExtensionName = "string",
    ForceUpdateTag = "string",
    Location = "string",
    ProtectedSettings = "any",
    Publisher = "string",
    Settings = "any",
    Tags = 
    {
        { "string", "string" },
    },
    Type = "string",
    TypeHandlerVersion = "string",
});
Copy
example, err := azurestackhci.NewMachineExtension(ctx, "machineExtensionResource", &azurestackhci.MachineExtensionArgs{
	Name:                    "string",
	ResourceGroupName:       "string",
	AutoUpgradeMinorVersion: false,
	ExtensionName:           "string",
	ForceUpdateTag:          "string",
	Location:                "string",
	ProtectedSettings:       "any",
	Publisher:               "string",
	Settings:                "any",
	Tags: map[string]interface{}{
		"string": "string",
	},
	Type:               "string",
	TypeHandlerVersion: "string",
})
Copy
var machineExtensionResource = new com.pulumi.azurenative.azurestackhci.MachineExtension("machineExtensionResource", com.pulumi.azurenative.azurestackhci.MachineExtensionArgs.builder()
    .name("string")
    .resourceGroupName("string")
    .autoUpgradeMinorVersion(false)
    .extensionName("string")
    .forceUpdateTag("string")
    .location("string")
    .protectedSettings("any")
    .publisher("string")
    .settings("any")
    .tags(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .type("string")
    .typeHandlerVersion("string")
    .build());
Copy
machine_extension_resource = azure_native.azurestackhci.MachineExtension("machineExtensionResource",
    name=string,
    resource_group_name=string,
    auto_upgrade_minor_version=False,
    extension_name=string,
    force_update_tag=string,
    location=string,
    protected_settings=any,
    publisher=string,
    settings=any,
    tags={
        string: string,
    },
    type=string,
    type_handler_version=string)
Copy
const machineExtensionResource = new azure_native.azurestackhci.MachineExtension("machineExtensionResource", {
    name: "string",
    resourceGroupName: "string",
    autoUpgradeMinorVersion: false,
    extensionName: "string",
    forceUpdateTag: "string",
    location: "string",
    protectedSettings: "any",
    publisher: "string",
    settings: "any",
    tags: {
        string: "string",
    },
    type: "string",
    typeHandlerVersion: "string",
});
Copy
type: azure-native:azurestackhci:MachineExtension
properties:
    autoUpgradeMinorVersion: false
    extensionName: string
    forceUpdateTag: string
    location: string
    name: string
    protectedSettings: any
    publisher: string
    resourceGroupName: string
    settings: any
    tags:
        string: string
    type: string
    typeHandlerVersion: string
Copy

MachineExtension Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The MachineExtension resource accepts the following input properties:

Name
This property is required.
Changes to this property will trigger replacement.
string
The name of the machine where the extension should be created or updated.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
AutoUpgradeMinorVersion bool
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.
ExtensionName Changes to this property will trigger replacement. string
The name of the machine extension.
ForceUpdateTag string
How the extension handler should be forced to update even if the extension configuration has not changed.
Location Changes to this property will trigger replacement. string
The location.
ProtectedSettings object
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
Publisher string
The name of the extension handler publisher.
Settings object
Json formatted public settings for the extension.
Tags Dictionary<string, string>
The Resource tags.
Type string
Specifies the type of the extension; an example is "CustomScriptExtension".
TypeHandlerVersion string
Specifies the version of the script handler.
Name
This property is required.
Changes to this property will trigger replacement.
string
The name of the machine where the extension should be created or updated.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
AutoUpgradeMinorVersion bool
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.
ExtensionName Changes to this property will trigger replacement. string
The name of the machine extension.
ForceUpdateTag string
How the extension handler should be forced to update even if the extension configuration has not changed.
Location Changes to this property will trigger replacement. string
The location.
ProtectedSettings interface{}
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
Publisher string
The name of the extension handler publisher.
Settings interface{}
Json formatted public settings for the extension.
Tags map[string]string
The Resource tags.
Type string
Specifies the type of the extension; an example is "CustomScriptExtension".
TypeHandlerVersion string
Specifies the version of the script handler.
name
This property is required.
Changes to this property will trigger replacement.
String
The name of the machine where the extension should be created or updated.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group. The name is case insensitive.
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.
extensionName Changes to this property will trigger replacement. String
The name of the machine extension.
forceUpdateTag String
How the extension handler should be forced to update even if the extension configuration has not changed.
location Changes to this property will trigger replacement. String
The location.
protectedSettings Object
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
publisher String
The name of the extension handler publisher.
settings Object
Json formatted public settings for the extension.
tags Map<String,String>
The Resource tags.
type String
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion String
Specifies the version of the script handler.
name
This property is required.
Changes to this property will trigger replacement.
string
The name of the machine where the extension should be created or updated.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group. The name is case insensitive.
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.
extensionName Changes to this property will trigger replacement. string
The name of the machine extension.
forceUpdateTag string
How the extension handler should be forced to update even if the extension configuration has not changed.
location Changes to this property will trigger replacement. string
The location.
protectedSettings any
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
publisher string
The name of the extension handler publisher.
settings any
Json formatted public settings for the extension.
tags {[key: string]: string}
The Resource tags.
type string
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion string
Specifies the version of the script handler.
name
This property is required.
Changes to this property will trigger replacement.
str
The name of the machine where the extension should be created or updated.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group. The name is case insensitive.
auto_upgrade_minor_version bool
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.
extension_name Changes to this property will trigger replacement. str
The name of the machine extension.
force_update_tag str
How the extension handler should be forced to update even if the extension configuration has not changed.
location Changes to this property will trigger replacement. str
The location.
protected_settings Any
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
publisher str
The name of the extension handler publisher.
settings Any
Json formatted public settings for the extension.
tags Mapping[str, str]
The Resource tags.
type str
Specifies the type of the extension; an example is "CustomScriptExtension".
type_handler_version str
Specifies the version of the script handler.
name
This property is required.
Changes to this property will trigger replacement.
String
The name of the machine where the extension should be created or updated.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group. The name is case insensitive.
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.
extensionName Changes to this property will trigger replacement. String
The name of the machine extension.
forceUpdateTag String
How the extension handler should be forced to update even if the extension configuration has not changed.
location Changes to this property will trigger replacement. String
The location.
protectedSettings Any
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
publisher String
The name of the extension handler publisher.
settings Any
Json formatted public settings for the extension.
tags Map<String>
The Resource tags.
type String
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion String
Specifies the version of the script handler.

Outputs

All input properties are implicitly available as output properties. Additionally, the MachineExtension resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
ProvisioningState string
The provisioning state, which only appears in the response.
SystemData Pulumi.AzureNative.AzureStackHCI.Outputs.SystemDataResponse
The system data.
InstanceView Pulumi.AzureNative.AzureStackHCI.Outputs.MachineExtensionPropertiesResponseInstanceView
The machine extension instance view.
Id string
The provider-assigned unique ID for this managed resource.
ProvisioningState string
The provisioning state, which only appears in the response.
SystemData SystemDataResponse
The system data.
InstanceView MachineExtensionPropertiesResponseInstanceView
The machine extension instance view.
id String
The provider-assigned unique ID for this managed resource.
provisioningState String
The provisioning state, which only appears in the response.
systemData SystemDataResponse
The system data.
instanceView MachineExtensionPropertiesResponseInstanceView
The machine extension instance view.
id string
The provider-assigned unique ID for this managed resource.
provisioningState string
The provisioning state, which only appears in the response.
systemData SystemDataResponse
The system data.
instanceView MachineExtensionPropertiesResponseInstanceView
The machine extension instance view.
id str
The provider-assigned unique ID for this managed resource.
provisioning_state str
The provisioning state, which only appears in the response.
system_data SystemDataResponse
The system data.
instance_view MachineExtensionPropertiesResponseInstanceView
The machine extension instance view.
id String
The provider-assigned unique ID for this managed resource.
provisioningState String
The provisioning state, which only appears in the response.
systemData Property Map
The system data.
instanceView Property Map
The machine extension instance view.

Supporting Types

MachineExtensionInstanceViewResponseStatus
, MachineExtensionInstanceViewResponseStatusArgs

Code This property is required. string
The status code.
DisplayStatus This property is required. string
The short localizable label for the status.
Level This property is required. string
The level code.
Message This property is required. string
The detailed status message, including for alerts and error messages.
Time This property is required. string
The time of the status.
Code This property is required. string
The status code.
DisplayStatus This property is required. string
The short localizable label for the status.
Level This property is required. string
The level code.
Message This property is required. string
The detailed status message, including for alerts and error messages.
Time This property is required. string
The time of the status.
code This property is required. String
The status code.
displayStatus This property is required. String
The short localizable label for the status.
level This property is required. String
The level code.
message This property is required. String
The detailed status message, including for alerts and error messages.
time This property is required. String
The time of the status.
code This property is required. string
The status code.
displayStatus This property is required. string
The short localizable label for the status.
level This property is required. string
The level code.
message This property is required. string
The detailed status message, including for alerts and error messages.
time This property is required. string
The time of the status.
code This property is required. str
The status code.
display_status This property is required. str
The short localizable label for the status.
level This property is required. str
The level code.
message This property is required. str
The detailed status message, including for alerts and error messages.
time This property is required. str
The time of the status.
code This property is required. String
The status code.
displayStatus This property is required. String
The short localizable label for the status.
level This property is required. String
The level code.
message This property is required. String
The detailed status message, including for alerts and error messages.
time This property is required. String
The time of the status.

MachineExtensionPropertiesResponseInstanceView
, MachineExtensionPropertiesResponseInstanceViewArgs

Name This property is required. string
The machine extension name.
Type This property is required. string
Specifies the type of the extension; an example is "CustomScriptExtension".
TypeHandlerVersion This property is required. string
Specifies the version of the script handler.
Status Pulumi.AzureNative.AzureStackHCI.Inputs.MachineExtensionInstanceViewResponseStatus
Instance view status.
Name This property is required. string
The machine extension name.
Type This property is required. string
Specifies the type of the extension; an example is "CustomScriptExtension".
TypeHandlerVersion This property is required. string
Specifies the version of the script handler.
Status MachineExtensionInstanceViewResponseStatus
Instance view status.
name This property is required. String
The machine extension name.
type This property is required. String
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion This property is required. String
Specifies the version of the script handler.
status MachineExtensionInstanceViewResponseStatus
Instance view status.
name This property is required. string
The machine extension name.
type This property is required. string
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion This property is required. string
Specifies the version of the script handler.
status MachineExtensionInstanceViewResponseStatus
Instance view status.
name This property is required. str
The machine extension name.
type This property is required. str
Specifies the type of the extension; an example is "CustomScriptExtension".
type_handler_version This property is required. str
Specifies the version of the script handler.
status MachineExtensionInstanceViewResponseStatus
Instance view status.
name This property is required. String
The machine extension name.
type This property is required. String
Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion This property is required. String
Specifies the version of the script handler.
status Property Map
Instance view status.

SystemDataResponse
, SystemDataResponseArgs

CreatedAt string
The timestamp of resource creation (UTC).
CreatedBy string
The identity that created the resource.
CreatedByType string
The type of identity that created the resource.
LastModifiedAt string
The timestamp of resource last modification (UTC)
LastModifiedBy string
The identity that last modified the resource.
LastModifiedByType string
The type of identity that last modified the resource.
CreatedAt string
The timestamp of resource creation (UTC).
CreatedBy string
The identity that created the resource.
CreatedByType string
The type of identity that created the resource.
LastModifiedAt string
The timestamp of resource last modification (UTC)
LastModifiedBy string
The identity that last modified the resource.
LastModifiedByType string
The type of identity that last modified the resource.
createdAt String
The timestamp of resource creation (UTC).
createdBy String
The identity that created the resource.
createdByType String
The type of identity that created the resource.
lastModifiedAt String
The timestamp of resource last modification (UTC)
lastModifiedBy String
The identity that last modified the resource.
lastModifiedByType String
The type of identity that last modified the resource.
createdAt string
The timestamp of resource creation (UTC).
createdBy string
The identity that created the resource.
createdByType string
The type of identity that created the resource.
lastModifiedAt string
The timestamp of resource last modification (UTC)
lastModifiedBy string
The identity that last modified the resource.
lastModifiedByType string
The type of identity that last modified the resource.
created_at str
The timestamp of resource creation (UTC).
created_by str
The identity that created the resource.
created_by_type str
The type of identity that created the resource.
last_modified_at str
The timestamp of resource last modification (UTC)
last_modified_by str
The identity that last modified the resource.
last_modified_by_type str
The type of identity that last modified the resource.
createdAt String
The timestamp of resource creation (UTC).
createdBy String
The identity that created the resource.
createdByType String
The type of identity that created the resource.
lastModifiedAt String
The timestamp of resource last modification (UTC)
lastModifiedBy String
The identity that last modified the resource.
lastModifiedByType String
The type of identity that last modified the resource.

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:azurestackhci:MachineExtension CustomScriptExtension /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/virtualMachines/{name}/extensions/{extensionName} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
azure-native-v2 pulumi/pulumi-azure-native
License
Apache-2.0