import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Linked Service (connection) between Azure Databricks and Azure Data Factory. * * ## Example Usage * * ### With Managed Identity & New Cluster * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example", * location: "East US", * }); * //Create a Linked Service using managed identity and new cluster config * const exampleFactory = new azure.datafactory.Factory("example", { * name: "TestDtaFactory92783401247", * location: example.location, * resourceGroupName: example.name, * identity: { * type: "SystemAssigned", * }, * }); * //Create a databricks instance * const exampleWorkspace = new azure.databricks.Workspace("example", { * name: "databricks-test", * resourceGroupName: example.name, * location: example.location, * sku: "standard", * }); * const msiLinked = new azure.datafactory.LinkedServiceAzureDatabricks("msi_linked", { * name: "ADBLinkedServiceViaMSI", * dataFactoryId: exampleFactory.id, * description: "ADB Linked Service via MSI", * adbDomain: pulumi.interpolate`https://${exampleWorkspace.workspaceUrl}`, * msiWorkspaceId: exampleWorkspace.id, * newClusterConfig: { * nodeType: "Standard_NC12", * clusterVersion: "5.5.x-gpu-scala2.11", * minNumberOfWorkers: 1, * maxNumberOfWorkers: 5, * driverNodeType: "Standard_NC12", * logDestination: "dbfs:/logs", * customTags: { * custom_tag1: "sct_value_1", * custom_tag2: "sct_value_2", * }, * sparkConfig: { * config1: "value1", * config2: "value2", * }, * sparkEnvironmentVariables: { * envVar1: "value1", * envVar2: "value2", * }, * initScripts: [ * "init.sh", * "init2.sh", * ], * }, * }); * ``` * * ### With Access Token & Existing Cluster * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example", * location: "East US", * }); * //Link to an existing cluster via access token * const exampleFactory = new azure.datafactory.Factory("example", { * name: "TestDtaFactory92783401247", * location: example.location, * resourceGroupName: example.name, * }); * //Create a databricks instance * const exampleWorkspace = new azure.databricks.Workspace("example", { * name: "databricks-test", * resourceGroupName: example.name, * location: example.location, * sku: "standard", * }); * const atLinked = new azure.datafactory.LinkedServiceAzureDatabricks("at_linked", { * name: "ADBLinkedServiceViaAccessToken", * dataFactoryId: exampleFactory.id, * description: "ADB Linked Service via Access Token", * existingClusterId: "0308-201146-sly615", * accessToken: "SomeDatabricksAccessToken", * adbDomain: pulumi.interpolate`https://${exampleWorkspace.workspaceUrl}`, * }); * ``` * * ## Import * * Data Factory Linked Services can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:datafactory/linkedServiceAzureDatabricks:LinkedServiceAzureDatabricks example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example * ``` */ export declare class LinkedServiceAzureDatabricks extends pulumi.CustomResource { /** * Get an existing LinkedServiceAzureDatabricks 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?: LinkedServiceAzureDatabricksState, opts?: pulumi.CustomResourceOptions): LinkedServiceAzureDatabricks; /** * Returns true if the given object is an instance of LinkedServiceAzureDatabricks. 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 LinkedServiceAzureDatabricks; /** * Authenticate to ADB via an access token. */ readonly accessToken: pulumi.Output; /** * The domain URL of the databricks instance. */ readonly adbDomain: pulumi.Output; /** * A map of additional properties to associate with the Data Factory Linked Service. */ readonly additionalProperties: pulumi.Output<{ [key: string]: string; } | undefined>; /** * List of tags that can be used for describing the Data Factory Linked Service. */ readonly annotations: pulumi.Output; /** * The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource. */ readonly dataFactoryId: pulumi.Output; /** * The description for the Data Factory Linked Service. */ readonly description: pulumi.Output; /** * The clusterId of an existing cluster within the linked ADB instance. */ readonly existingClusterId: pulumi.Output; /** * Leverages an instance pool within the linked ADB instance as one `instancePool` block defined below. */ readonly instancePool: pulumi.Output; /** * The integration runtime reference to associate with the Data Factory Linked Service. */ readonly integrationRuntimeName: pulumi.Output; /** * Authenticate to ADB via Azure Key Vault Linked Service as defined in the `keyVaultPassword` block below. */ readonly keyVaultPassword: pulumi.Output; /** * @deprecated The `msiWorkSpaceResourceId` property is deprecated in favour of the `msiWorkspaceId` property and will be removed in v5.0 of the AzureRM Provider */ readonly msiWorkSpaceResourceId: pulumi.Output; /** * Authenticate to ADB via managed service identity. */ readonly msiWorkspaceId: pulumi.Output; /** * Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ readonly name: pulumi.Output; /** * Creates new clusters within the linked ADB instance as defined in the `newClusterConfig` block below. */ readonly newClusterConfig: pulumi.Output; /** * A map of parameters to associate with the Data Factory Linked Service. */ readonly parameters: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a LinkedServiceAzureDatabricks 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: LinkedServiceAzureDatabricksArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LinkedServiceAzureDatabricks resources. */ export interface LinkedServiceAzureDatabricksState { /** * Authenticate to ADB via an access token. */ accessToken?: pulumi.Input; /** * The domain URL of the databricks instance. */ adbDomain?: pulumi.Input; /** * A map of additional properties to associate with the Data Factory Linked Service. */ additionalProperties?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * List of tags that can be used for describing the Data Factory Linked Service. */ annotations?: pulumi.Input[]>; /** * The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource. */ dataFactoryId?: pulumi.Input; /** * The description for the Data Factory Linked Service. */ description?: pulumi.Input; /** * The clusterId of an existing cluster within the linked ADB instance. */ existingClusterId?: pulumi.Input; /** * Leverages an instance pool within the linked ADB instance as one `instancePool` block defined below. */ instancePool?: pulumi.Input; /** * The integration runtime reference to associate with the Data Factory Linked Service. */ integrationRuntimeName?: pulumi.Input; /** * Authenticate to ADB via Azure Key Vault Linked Service as defined in the `keyVaultPassword` block below. */ keyVaultPassword?: pulumi.Input; /** * @deprecated The `msiWorkSpaceResourceId` property is deprecated in favour of the `msiWorkspaceId` property and will be removed in v5.0 of the AzureRM Provider */ msiWorkSpaceResourceId?: pulumi.Input; /** * Authenticate to ADB via managed service identity. */ msiWorkspaceId?: pulumi.Input; /** * Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ name?: pulumi.Input; /** * Creates new clusters within the linked ADB instance as defined in the `newClusterConfig` block below. */ newClusterConfig?: pulumi.Input; /** * A map of parameters to associate with the Data Factory Linked Service. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a LinkedServiceAzureDatabricks resource. */ export interface LinkedServiceAzureDatabricksArgs { /** * Authenticate to ADB via an access token. */ accessToken?: pulumi.Input; /** * The domain URL of the databricks instance. */ adbDomain: pulumi.Input; /** * A map of additional properties to associate with the Data Factory Linked Service. */ additionalProperties?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * List of tags that can be used for describing the Data Factory Linked Service. */ annotations?: pulumi.Input[]>; /** * The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource. */ dataFactoryId: pulumi.Input; /** * The description for the Data Factory Linked Service. */ description?: pulumi.Input; /** * The clusterId of an existing cluster within the linked ADB instance. */ existingClusterId?: pulumi.Input; /** * Leverages an instance pool within the linked ADB instance as one `instancePool` block defined below. */ instancePool?: pulumi.Input; /** * The integration runtime reference to associate with the Data Factory Linked Service. */ integrationRuntimeName?: pulumi.Input; /** * Authenticate to ADB via Azure Key Vault Linked Service as defined in the `keyVaultPassword` block below. */ keyVaultPassword?: pulumi.Input; /** * @deprecated The `msiWorkSpaceResourceId` property is deprecated in favour of the `msiWorkspaceId` property and will be removed in v5.0 of the AzureRM Provider */ msiWorkSpaceResourceId?: pulumi.Input; /** * Authenticate to ADB via managed service identity. */ msiWorkspaceId?: pulumi.Input; /** * Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ name?: pulumi.Input; /** * Creates new clusters within the linked ADB instance as defined in the `newClusterConfig` block below. */ newClusterConfig?: pulumi.Input; /** * A map of parameters to associate with the Data Factory Linked Service. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }