import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Dataset inside an Azure Data Factory. This is a generic resource that supports all different Dataset Types. * * ## 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 exampleFactory = new azure.datafactory.Factory("example", { * name: "example", * location: example.location, * resourceGroupName: example.name, * identity: { * type: "SystemAssigned", * }, * }); * const exampleAccount = new azure.storage.Account("example", { * name: "example", * resourceGroupName: example.name, * location: example.location, * accountKind: "BlobStorage", * accountTier: "Standard", * accountReplicationType: "LRS", * }); * const exampleLinkedCustomService = new azure.datafactory.LinkedCustomService("example", { * name: "example", * dataFactoryId: exampleFactory.id, * type: "AzureBlobStorage", * typePropertiesJson: pulumi.interpolate`{ * \"connectionString\":\"${exampleAccount.primaryConnectionString}\" * } * `, * }); * const exampleContainer = new azure.storage.Container("example", { * name: "content", * storageAccountName: exampleAccount.name, * containerAccessType: "private", * }); * const exampleCustomDataset = new azure.datafactory.CustomDataset("example", { * name: "example", * dataFactoryId: exampleFactory.id, * type: "Json", * linkedService: { * name: exampleLinkedCustomService.name, * parameters: { * key1: "value1", * }, * }, * typePropertiesJson: pulumi.interpolate`{ * \"location\": { * \"container\":\"${exampleContainer.name}\", * \"fileName\":\"foo.txt\", * \"folderPath\": \"foo/bar/\", * \"type\":\"AzureBlobStorageLocation\" * }, * \"encodingName\":\"UTF-8\" * } * `, * description: "test description", * annotations: [ * "test1", * "test2", * "test3", * ], * folder: "testFolder", * parameters: { * foo: "test1", * Bar: "Test2", * }, * additionalProperties: { * foo: "test1", * bar: "test2", * }, * schemaJson: `{ * \\"type\\": \\"object\\", * \\"properties\\": { * \\"name\\": { * \\"type\\": \\"object\\", * \\"properties\\": { * \\"firstName\\": { * \\"type\\": \\"string\\" * }, * \\"lastName\\": { * \\"type\\": \\"string\\" * } * } * }, * \\"age\\": { * \\"type\\": \\"integer\\" * } * } * } * `, * }); * ``` * * ## Import * * Data Factory Datasets can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:datafactory/customDataset:CustomDataset example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example * ``` */ export declare class CustomDataset extends pulumi.CustomResource { /** * Get an existing CustomDataset 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?: CustomDatasetState, opts?: pulumi.CustomResourceOptions): CustomDataset; /** * Returns true if the given object is an instance of CustomDataset. 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 CustomDataset; /** * A map of additional properties to associate with the Data Factory Dataset. */ readonly additionalProperties: pulumi.Output<{ [key: string]: string; } | undefined>; /** * List of tags that can be used for describing the Data Factory Dataset. */ readonly annotations: pulumi.Output; /** * The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource. */ readonly dataFactoryId: pulumi.Output; /** * The description for the Data Factory Dataset. */ readonly description: pulumi.Output; /** * The folder that this Dataset is in. If not specified, the Dataset will appear at the root level. */ readonly folder: pulumi.Output; /** * A `linkedService` block as defined below. */ readonly linkedService: pulumi.Output; /** * Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ readonly name: pulumi.Output; /** * A map of parameters to associate with the Data Factory Dataset. */ readonly parameters: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A JSON object that contains the schema of the Data Factory Dataset. */ readonly schemaJson: pulumi.Output; /** * The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created. */ readonly type: pulumi.Output; /** * A JSON object that contains the properties of the Data Factory Dataset. Refer to * datafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`. */ readonly typePropertiesJson: pulumi.Output; /** * Create a CustomDataset 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: CustomDatasetArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CustomDataset resources. */ export interface CustomDatasetState { /** * A map of additional properties to associate with the Data Factory Dataset. */ additionalProperties?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * List of tags that can be used for describing the Data Factory Dataset. */ annotations?: pulumi.Input[]>; /** * The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource. */ dataFactoryId?: pulumi.Input; /** * The description for the Data Factory Dataset. */ description?: pulumi.Input; /** * The folder that this Dataset is in. If not specified, the Dataset will appear at the root level. */ folder?: pulumi.Input; /** * A `linkedService` block as defined below. */ linkedService?: pulumi.Input; /** * Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ name?: pulumi.Input; /** * A map of parameters to associate with the Data Factory Dataset. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * A JSON object that contains the schema of the Data Factory Dataset. */ schemaJson?: pulumi.Input; /** * The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created. */ type?: pulumi.Input; /** * A JSON object that contains the properties of the Data Factory Dataset. Refer to * datafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`. */ typePropertiesJson?: pulumi.Input; } /** * The set of arguments for constructing a CustomDataset resource. */ export interface CustomDatasetArgs { /** * A map of additional properties to associate with the Data Factory Dataset. */ additionalProperties?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * List of tags that can be used for describing the Data Factory Dataset. */ annotations?: pulumi.Input[]>; /** * The Data Factory ID in which to associate the Dataset with. Changing this forces a new resource. */ dataFactoryId: pulumi.Input; /** * The description for the Data Factory Dataset. */ description?: pulumi.Input; /** * The folder that this Dataset is in. If not specified, the Dataset will appear at the root level. */ folder?: pulumi.Input; /** * A `linkedService` block as defined below. */ linkedService: pulumi.Input; /** * Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the [Microsoft documentation](https://docs.microsoft.com/azure/data-factory/naming-rules) for all restrictions. */ name?: pulumi.Input; /** * A map of parameters to associate with the Data Factory Dataset. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * A JSON object that contains the schema of the Data Factory Dataset. */ schemaJson?: pulumi.Input; /** * The type of dataset that will be associated with Data Factory. Changing this forces a new resource to be created. */ type: pulumi.Input; /** * A JSON object that contains the properties of the Data Factory Dataset. Refer to * datafactory/models.go for the shape of the expected JSON. For example, the JSON object for `AzureBlob`-typed Dataset will be unmarshaled into `AzureBlobDatasetTypeProperties struct`. */ typePropertiesJson: pulumi.Input; }