import * as pulumi from "@pulumi/pulumi"; /** * Manages a Hybrid Compute Machine Extension. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const exampleResourceGroup = new azure.core.ResourceGroup("example", { * name: "example", * location: "West Europe", * }); * const example = azure.arcmachine.getOutput({ * name: "existing-hcmachine", * resourceGroupName: exampleResourceGroup.name, * }); * const exampleExtension = new azure.arcmachine.Extension("example", { * name: "example", * location: "West Europe", * arcMachineId: example.apply(example => example.id), * publisher: "Microsoft.Azure.Monitor", * type: "AzureMonitorLinuxAgent", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.HybridCompute` - 2022-11-10 * * ## Import * * Hybrid Compute Machine Extensions can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:arcmachine/extension:Extension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/machines/hcmachine1/extensions/ext1 * ``` */ export declare class Extension extends pulumi.CustomResource { /** * Get an existing Extension resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ExtensionState, opts?: pulumi.CustomResourceOptions): Extension; /** * Returns true if the given object is an instance of Extension. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Extension; /** * The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ readonly arcMachineId: pulumi.Output; /** * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`. Defaults to `true`. * * > **Note:** When `automaticUpgradeEnabled` can only be set during creation. Any later change will be ignored. * * > **Note:** When `automaticUpgradeEnabled` is set to `true`, the `typeHandlerVersion` is automatically updated by the Azure platform when a new version is available and any change in `typeHandlerVersion` will be automatically ignored. */ readonly automaticUpgradeEnabled: pulumi.Output; /** * How the extension handler should be forced to update even if the extension configuration has not changed. */ readonly forceUpdateTag: pulumi.Output; /** * The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created. */ readonly location: pulumi.Output; /** * The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ readonly name: pulumi.Output; /** * Json formatted protected settings for the extension. */ readonly protectedSettings: pulumi.Output; /** * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ readonly publisher: pulumi.Output; /** * Json formatted public settings for the extension. */ readonly settings: pulumi.Output; /** * A mapping of tags which should be assigned to the Hybrid Compute Machine Extension. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ readonly type: pulumi.Output; /** * Specifies the version of the script handler. * * > **Note:** 1. When `automaticUpgradeEnabled` is set to `false` and no `typeHandlerVersion` is specified, the `typeHandlerVersion` change should be manually ignored by `ignoreChanges` lifecycle block. This is because the `typeHandlerVersion` is set by the Azure platform when the extension is created. 2. When `automaticUpgradeEnabled` is set to `false` and `typeHandlerVersion` is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in `typeHandlerVersion`, `1.24.1` will be considered as no diff. */ readonly typeHandlerVersion: pulumi.Output; /** * Create a Extension resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ExtensionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Extension resources. */ export interface ExtensionState { /** * The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ arcMachineId?: pulumi.Input; /** * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`. Defaults to `true`. * * > **Note:** When `automaticUpgradeEnabled` can only be set during creation. Any later change will be ignored. * * > **Note:** When `automaticUpgradeEnabled` is set to `true`, the `typeHandlerVersion` is automatically updated by the Azure platform when a new version is available and any change in `typeHandlerVersion` will be automatically ignored. */ automaticUpgradeEnabled?: pulumi.Input; /** * How the extension handler should be forced to update even if the extension configuration has not changed. */ forceUpdateTag?: pulumi.Input; /** * The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created. */ location?: pulumi.Input; /** * The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ name?: pulumi.Input; /** * Json formatted protected settings for the extension. */ protectedSettings?: pulumi.Input; /** * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ publisher?: pulumi.Input; /** * Json formatted public settings for the extension. */ settings?: pulumi.Input; /** * A mapping of tags which should be assigned to the Hybrid Compute Machine Extension. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ type?: pulumi.Input; /** * Specifies the version of the script handler. * * > **Note:** 1. When `automaticUpgradeEnabled` is set to `false` and no `typeHandlerVersion` is specified, the `typeHandlerVersion` change should be manually ignored by `ignoreChanges` lifecycle block. This is because the `typeHandlerVersion` is set by the Azure platform when the extension is created. 2. When `automaticUpgradeEnabled` is set to `false` and `typeHandlerVersion` is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in `typeHandlerVersion`, `1.24.1` will be considered as no diff. */ typeHandlerVersion?: pulumi.Input; } /** * The set of arguments for constructing a Extension resource. */ export interface ExtensionArgs { /** * The ID of the Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ arcMachineId: pulumi.Input; /** * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`. Defaults to `true`. * * > **Note:** When `automaticUpgradeEnabled` can only be set during creation. Any later change will be ignored. * * > **Note:** When `automaticUpgradeEnabled` is set to `true`, the `typeHandlerVersion` is automatically updated by the Azure platform when a new version is available and any change in `typeHandlerVersion` will be automatically ignored. */ automaticUpgradeEnabled?: pulumi.Input; /** * How the extension handler should be forced to update even if the extension configuration has not changed. */ forceUpdateTag?: pulumi.Input; /** * The Azure Region where the Hybrid Compute Machine Extension should exist. Changing this forces a new Hybrid Compute Machine Extension to be created. */ location?: pulumi.Input; /** * The name which should be used for this Hybrid Compute Machine Extension. Changing this forces a new Hybrid Compute Machine Extension to be created. */ name?: pulumi.Input; /** * Json formatted protected settings for the extension. */ protectedSettings?: pulumi.Input; /** * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ publisher: pulumi.Input; /** * Json formatted public settings for the extension. */ settings?: pulumi.Input; /** * A mapping of tags which should be assigned to the Hybrid Compute Machine Extension. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new Hybrid Compute Machine Extension to be created. */ type: pulumi.Input; /** * Specifies the version of the script handler. * * > **Note:** 1. When `automaticUpgradeEnabled` is set to `false` and no `typeHandlerVersion` is specified, the `typeHandlerVersion` change should be manually ignored by `ignoreChanges` lifecycle block. This is because the `typeHandlerVersion` is set by the Azure platform when the extension is created. 2. When `automaticUpgradeEnabled` is set to `false` and `typeHandlerVersion` is specified, the provider will check whether the version prefix is aligned with user input. For example, if user specifies `1.24` in `typeHandlerVersion`, `1.24.1` will be considered as no diff. */ typeHandlerVersion?: pulumi.Input; }