import * as pulumi from "@pulumi/pulumi";
/**
 * Manages an Azure Stack HCI Extension.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = new azure.core.ResourceGroup("example", {
 *     name: "example-hci-ext",
 *     location: "West Europe",
 * });
 * const exampleHciExtension = new azure.stack.HciExtension("example", {
 *     name: "AzureMonitorWindowsAgent",
 *     arcSettingId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-hci/providers/Microsoft.AzureStackHCI/clusters/hci-cl/arcSettings/default",
 *     publisher: "Microsoft.Azure.Monitor",
 *     type: "MicrosoftMonitoringAgent",
 *     autoUpgradeMinorVersionEnabled: true,
 *     automaticUpgradeEnabled: true,
 *     typeHandlerVersion: "1.22.0",
 * });
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This resource uses the following Azure API Providers:
 *
 * * `Microsoft.AzureStackHCI` - 2024-01-01
 *
 * ## Import
 *
 * Azure Stack HCI Extension can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:stack/hciExtension:HciExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/cluster1/arcSettings/default/extensions/extension1
 * ```
 */
export declare class HciExtension extends pulumi.CustomResource {
    /**
     * Get an existing HciExtension 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<pulumi.ID>, state?: HciExtensionState, opts?: pulumi.CustomResourceOptions): HciExtension;
    /**
     * Returns true if the given object is an instance of HciExtension.  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 HciExtension;
    /**
     * The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.
     */
    readonly arcSettingId: pulumi.Output<string>;
    /**
     * 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. Changing this forces a new resource to be created. Possible values are `true` and `false`. Defaults to `true`.
     */
    readonly autoUpgradeMinorVersionEnabled: pulumi.Output<boolean | undefined>;
    /**
     * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are `true` and `false`. Defaults to `true`.
     */
    readonly automaticUpgradeEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The json formatted protected settings for the extension.
     */
    readonly protectedSettings: pulumi.Output<string | undefined>;
    /**
     * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.
     */
    readonly publisher: pulumi.Output<string>;
    /**
     * The json formatted public settings for the extension.
     */
    readonly settings: pulumi.Output<string | undefined>;
    /**
     * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.
     */
    readonly type: pulumi.Output<string>;
    /**
     * Specifies the version of the script handler.
     *
     * > **Note:** `typeHandlerVersion` cannot be set when `automaticUpgradeEnabled` is set to `true`.
     */
    readonly typeHandlerVersion: pulumi.Output<string | undefined>;
    /**
     * Create a HciExtension 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: HciExtensionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering HciExtension resources.
 */
export interface HciExtensionState {
    /**
     * The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.
     */
    arcSettingId?: pulumi.Input<string | undefined>;
    /**
     * 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. Changing this forces a new resource to be created. Possible values are `true` and `false`. Defaults to `true`.
     */
    autoUpgradeMinorVersionEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are `true` and `false`. Defaults to `true`.
     */
    automaticUpgradeEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The json formatted protected settings for the extension.
     */
    protectedSettings?: pulumi.Input<string | undefined>;
    /**
     * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.
     */
    publisher?: pulumi.Input<string | undefined>;
    /**
     * The json formatted public settings for the extension.
     */
    settings?: pulumi.Input<string | undefined>;
    /**
     * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * Specifies the version of the script handler.
     *
     * > **Note:** `typeHandlerVersion` cannot be set when `automaticUpgradeEnabled` is set to `true`.
     */
    typeHandlerVersion?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a HciExtension resource.
 */
export interface HciExtensionArgs {
    /**
     * The ID of the Azure Stack HCI Cluster Arc Setting. Changing this forces a new resource to be created.
     */
    arcSettingId: pulumi.Input<string>;
    /**
     * 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. Changing this forces a new resource to be created. Possible values are `true` and `false`. Defaults to `true`.
     */
    autoUpgradeMinorVersionEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Possible values are `true` and `false`. Defaults to `true`.
     */
    automaticUpgradeEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The name which should be used for this Azure Stack HCI Extension. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The json formatted protected settings for the extension.
     */
    protectedSettings?: pulumi.Input<string | undefined>;
    /**
     * The name of the extension handler publisher, such as `Microsoft.Azure.Monitor`. Changing this forces a new resource to be created.
     */
    publisher: pulumi.Input<string>;
    /**
     * The json formatted public settings for the extension.
     */
    settings?: pulumi.Input<string | undefined>;
    /**
     * Specifies the type of the extension. For example `CustomScriptExtension` or `AzureMonitorLinuxAgent`. Changing this forces a new resource to be created.
     */
    type: pulumi.Input<string>;
    /**
     * Specifies the version of the script handler.
     *
     * > **Note:** `typeHandlerVersion` cannot be set when `automaticUpgradeEnabled` is set to `true`.
     */
    typeHandlerVersion?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=hciExtension.d.ts.map