import * as pulumi from "@pulumi/pulumi"; /** * Manages a Storage Mover Job Definition. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleMover = new azure.storage.Mover("example", { * name: "example-ssm", * resourceGroupName: example.name, * location: example.location, * }); * const exampleMoverAgent = new azure.storage.MoverAgent("example", { * name: "example-agent", * storageMoverId: exampleMover.id, * arcVirtualMachineId: pulumi.interpolate`${example.id}/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName`, * arcVirtualMachineUuid: "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9", * }); * const exampleAccount = new azure.storage.Account("example", { * name: "examplesa", * resourceGroupName: example.name, * location: example.location, * accountTier: "Standard", * accountReplicationType: "LRS", * allowNestedItemsToBePublic: true, * }); * const exampleContainer = new azure.storage.Container("example", { * name: "acccontainer", * storageAccountName: exampleAccount.name, * containerAccessType: "blob", * }); * const exampleMoverTargetEndpoint = new azure.storage.MoverTargetEndpoint("example", { * name: "example-smte", * storageMoverId: exampleMover.id, * storageAccountId: exampleAccount.id, * storageContainerName: exampleContainer.name, * }); * const exampleMoverSourceEndpoint = new azure.storage.MoverSourceEndpoint("example", { * name: "example-smse", * storageMoverId: exampleMover.id, * host: "192.168.0.1", * }); * const exampleMoverProject = new azure.storage.MoverProject("example", { * name: "example-sp", * storageMoverId: exampleMover.id, * }); * const exampleMoverJobDefinition = new azure.storage.MoverJobDefinition("example", { * name: "example-sjd", * storageMoverProjectId: exampleMoverProject.id, * agentName: exampleMoverAgent.name, * copyMode: "Additive", * sourceName: exampleMoverSourceEndpoint.name, * sourceSubPath: "/", * targetName: exampleMoverTargetEndpoint.name, * targetSubPath: "/", * description: "Example Job Definition Description", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.StorageMover` - 2025-07-01 * * ## Import * * Storage Mover Job Definition can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:storage/moverJobDefinition:MoverJobDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.StorageMover/storageMovers/storageMover1/projects/project1/jobDefinitions/jobDefinition1 * ``` */ export declare class MoverJobDefinition extends pulumi.CustomResource { /** * Get an existing MoverJobDefinition 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?: MoverJobDefinitionState, opts?: pulumi.CustomResourceOptions): MoverJobDefinition; /** * Returns true if the given object is an instance of MoverJobDefinition. 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 MoverJobDefinition; /** * Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition. */ readonly agentName: pulumi.Output; /** * Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`. */ readonly copyMode: pulumi.Output; /** * Specifies a description for this Storage Mover Job Definition. */ readonly description: pulumi.Output; /** * Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ readonly sourceName: pulumi.Output; /** * Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ readonly sourceSubPath: pulumi.Output; /** * Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created. */ readonly storageMoverProjectId: pulumi.Output; /** * Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created. */ readonly targetName: pulumi.Output; /** * Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created. */ readonly targetSubPath: pulumi.Output; /** * Create a MoverJobDefinition 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: MoverJobDefinitionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MoverJobDefinition resources. */ export interface MoverJobDefinitionState { /** * Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition. */ agentName?: pulumi.Input; /** * Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`. */ copyMode?: pulumi.Input; /** * Specifies a description for this Storage Mover Job Definition. */ description?: pulumi.Input; /** * Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ sourceName?: pulumi.Input; /** * Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ sourceSubPath?: pulumi.Input; /** * Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created. */ storageMoverProjectId?: pulumi.Input; /** * Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created. */ targetName?: pulumi.Input; /** * Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created. */ targetSubPath?: pulumi.Input; } /** * The set of arguments for constructing a MoverJobDefinition resource. */ export interface MoverJobDefinitionArgs { /** * Specifies the name of the Storage Mover Agent to assign for new Job Runs of this Storage Mover Job Definition. */ agentName?: pulumi.Input; /** * Specifies the strategy to use for copy. Possible values are `Additive` and `Mirror`. */ copyMode: pulumi.Input; /** * Specifies a description for this Storage Mover Job Definition. */ description?: pulumi.Input; /** * Specifies the name which should be used for this Storage Mover Job Definition. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Specifies the name of the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ sourceName: pulumi.Input; /** * Specifies the sub path to use when reading from the Storage Mover Source Endpoint. Changing this forces a new resource to be created. */ sourceSubPath?: pulumi.Input; /** * Specifies the ID of the Storage Mover Project. Changing this forces a new resource to be created. */ storageMoverProjectId: pulumi.Input; /** * Specifies the name of the Storage Mover target Endpoint. Changing this forces a new resource to be created. */ targetName: pulumi.Input; /** * Specifies the sub path to use when writing to the Storage Mover Target Endpoint. Changing this forces a new resource to be created. */ targetSubPath?: pulumi.Input; }