import * as pulumi from "@pulumi/pulumi"; /** * Links an Automation Runbook and Schedule. * * > **Note:** AzureRM provides this stand-alone azure.automation.JobSchedule and an inlined `jobSchedule` property in azurermRunbook to manage the job schedules. You can only make use of one of these methods to manage a job schedule. * * ## Example Usage * * This is an example of just the Job Schedule. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.automation.JobSchedule("example", { * resourceGroupName: "tf-rgr-automation", * automationAccountName: "tf-automation-account", * scheduleName: "hour", * runbookName: "Get-VirtualMachine", * parameters: { * resourcegroup: "tf-rgr-vm", * vmname: "TF-VM-01", * }, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Automation` - 2024-10-23 * * ## Import * * Automation Job Schedules can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:automation/jobSchedule:JobSchedule example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/schedules/schedule1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/runbooks/runbook1" * ``` */ export declare class JobSchedule extends pulumi.CustomResource { /** * Get an existing JobSchedule 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?: JobScheduleState, opts?: pulumi.CustomResourceOptions): JobSchedule; /** * Returns true if the given object is an instance of JobSchedule. 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 JobSchedule; /** * The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created. */ readonly automationAccountName: pulumi.Output; /** * The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created. */ readonly jobScheduleId: pulumi.Output; /** * A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created. * * > **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation. */ readonly parameters: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * The Resource Manager ID of the Automation Job Schedule. */ readonly resourceManagerId: pulumi.Output; /** * Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created. */ readonly runOn: pulumi.Output; /** * The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created. */ readonly runbookName: pulumi.Output; /** * The name of the Schedule. Changing this forces a new resource to be created. */ readonly scheduleName: pulumi.Output; /** * Create a JobSchedule 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: JobScheduleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering JobSchedule resources. */ export interface JobScheduleState { /** * The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created. */ automationAccountName?: pulumi.Input; /** * The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created. */ jobScheduleId?: pulumi.Input; /** * A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created. * * > **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * The Resource Manager ID of the Automation Job Schedule. */ resourceManagerId?: pulumi.Input; /** * Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created. */ runOn?: pulumi.Input; /** * The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created. */ runbookName?: pulumi.Input; /** * The name of the Schedule. Changing this forces a new resource to be created. */ scheduleName?: pulumi.Input; } /** * The set of arguments for constructing a JobSchedule resource. */ export interface JobScheduleArgs { /** * The name of the Automation Account in which the Job Schedule is created. Changing this forces a new resource to be created. */ automationAccountName: pulumi.Input; /** * The UUID identifying the Automation Job Schedule. Changing this forces a new resource to be created. */ jobScheduleId?: pulumi.Input; /** * A map of key/value pairs corresponding to the arguments that can be passed to the Runbook. Changing this forces a new resource to be created. * * > **Note:** The parameter keys/names must strictly be in lowercase, even if this is not the case in the runbook. This is due to a limitation in Azure Automation where the parameter names are normalized. The values specified don't have this limitation. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The name of the resource group in which the Job Schedule is created. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * Name of a Hybrid Worker Group the Runbook will be executed on. Changing this forces a new resource to be created. */ runOn?: pulumi.Input; /** * The name of a Runbook to link to a Schedule. It needs to be in the same Automation Account as the Schedule and Job Schedule. Changing this forces a new resource to be created. */ runbookName: pulumi.Input; /** * The name of the Schedule. Changing this forces a new resource to be created. */ scheduleName: pulumi.Input; }