import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an Automation Software Update Configuration. * * !> **Note:** The `azure.automation.SoftwareUpdateConfiguration` resource has been deprecated because the Azure Automation Update Management was retired on 2024-08-31 and has been shutdown on 2025-02-28. This resource will be removed in v5.0 of the AzureRM Provider. Please migrate to Azure Update Manager, and use the `azure.maintenance.Configuration` resource combined with the appropriate assignment resources instead. See https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/log-analytics-agent-based-azure-management-services-shut-down-starting-28-februa/4381853 for more information. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-rg", * location: "East US", * }); * const exampleAccount = new azure.automation.Account("example", { * name: "example", * location: example.location, * resourceGroupName: example.name, * skuName: "Basic", * }); * const exampleRunBook = new azure.automation.RunBook("example", { * name: "Get-AzureVMTutorial", * location: example.location, * resourceGroupName: example.name, * automationAccountName: exampleAccount.name, * logVerbose: true, * logProgress: true, * description: "This is a example runbook for terraform acceptance example", * runbookType: "Python3", * content: `# Some example content * # for Terraform acceptance example * `, * tags: { * ENV: "runbook_test", * }, * }); * const exampleSoftwareUpdateConfiguration = new azure.automation.SoftwareUpdateConfiguration("example", { * name: "example", * automationAccountId: exampleAccount.id, * linux: { * classificationsIncludeds: "Security", * excludedPackages: ["apt"], * includedPackages: ["vim"], * reboot: "IfRequired", * }, * preTask: { * source: exampleRunBook.name, * parameters: { * COMPUTER_NAME: "Foo", * }, * }, * duration: "PT2H2M2S", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Automation` - 2019-06-01 * * ## Import * * Automations Software Update Configuration can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:automation/softwareUpdateConfiguration:SoftwareUpdateConfiguration example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/softwareUpdateConfigurations/suc1 * ``` */ export declare class SoftwareUpdateConfiguration extends pulumi.CustomResource { /** * Get an existing SoftwareUpdateConfiguration 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?: SoftwareUpdateConfigurationState, opts?: pulumi.CustomResourceOptions): SoftwareUpdateConfiguration; /** * Returns true if the given object is an instance of SoftwareUpdateConfiguration. 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 SoftwareUpdateConfiguration; /** * The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created. */ readonly automationAccountId: pulumi.Output; /** * Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`. */ readonly duration: pulumi.Output; /** * The Error code when failed. */ readonly errorCode: pulumi.Output; /** * The Error message indicating why the operation failed. */ readonly errorMessage: pulumi.Output; /** * A `linux` block as defined below. */ readonly linux: pulumi.Output; /** * The name which should be used for this Automation. Changing this forces a new Automation to be created. */ readonly name: pulumi.Output; /** * Specifies a list of names of non-Azure machines for the software update configuration. */ readonly nonAzureComputerNames: pulumi.Output; /** * A `postTask` blocks as defined below. */ readonly postTask: pulumi.Output; /** * A `preTask` blocks as defined below. */ readonly preTask: pulumi.Output; /** * A `schedule` blocks as defined below. */ readonly schedule: pulumi.Output; /** * A `target` blocks as defined below. */ readonly target: pulumi.Output; /** * Specifies a list of Azure Resource IDs of azure virtual machines. */ readonly virtualMachineIds: pulumi.Output; /** * A `windows` block as defined below. * * > **Note:** One of `linux` or `windows` must be specified. */ readonly windows: pulumi.Output; /** * Create a SoftwareUpdateConfiguration 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: SoftwareUpdateConfigurationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SoftwareUpdateConfiguration resources. */ export interface SoftwareUpdateConfigurationState { /** * The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created. */ automationAccountId?: pulumi.Input; /** * Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`. */ duration?: pulumi.Input; /** * The Error code when failed. */ errorCode?: pulumi.Input; /** * The Error message indicating why the operation failed. */ errorMessage?: pulumi.Input; /** * A `linux` block as defined below. */ linux?: pulumi.Input; /** * The name which should be used for this Automation. Changing this forces a new Automation to be created. */ name?: pulumi.Input; /** * Specifies a list of names of non-Azure machines for the software update configuration. */ nonAzureComputerNames?: pulumi.Input[]>; /** * A `postTask` blocks as defined below. */ postTask?: pulumi.Input; /** * A `preTask` blocks as defined below. */ preTask?: pulumi.Input; /** * A `schedule` blocks as defined below. */ schedule?: pulumi.Input; /** * A `target` blocks as defined below. */ target?: pulumi.Input; /** * Specifies a list of Azure Resource IDs of azure virtual machines. */ virtualMachineIds?: pulumi.Input[]>; /** * A `windows` block as defined below. * * > **Note:** One of `linux` or `windows` must be specified. */ windows?: pulumi.Input; } /** * The set of arguments for constructing a SoftwareUpdateConfiguration resource. */ export interface SoftwareUpdateConfigurationArgs { /** * The ID of Automation Account to manage this Source Control. Changing this forces a new Automation Source Control to be created. */ automationAccountId: pulumi.Input; /** * Maximum time allowed for the software update configuration run. using format `PT[n]H[n]M[n]S` as per ISO8601. Defaults to `PT2H`. */ duration?: pulumi.Input; /** * A `linux` block as defined below. */ linux?: pulumi.Input; /** * The name which should be used for this Automation. Changing this forces a new Automation to be created. */ name?: pulumi.Input; /** * Specifies a list of names of non-Azure machines for the software update configuration. */ nonAzureComputerNames?: pulumi.Input[]>; /** * A `postTask` blocks as defined below. */ postTask?: pulumi.Input; /** * A `preTask` blocks as defined below. */ preTask?: pulumi.Input; /** * A `schedule` blocks as defined below. */ schedule: pulumi.Input; /** * A `target` blocks as defined below. */ target?: pulumi.Input; /** * Specifies a list of Azure Resource IDs of azure virtual machines. */ virtualMachineIds?: pulumi.Input[]>; /** * A `windows` block as defined below. * * > **Note:** One of `linux` or `windows` must be specified. */ windows?: pulumi.Input; }