import * as pulumi from "@pulumi/pulumi"; /** * A resource represents a Dataform folder * * > **Warning:** This resource is in beta, and should be used with the terraform-provider-google-beta provider. * See Provider Versions for more details on beta resources. * * To get more information about Folder, see: * * * [API documentation](https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.folders) * * How-to Guides * * [Official Documentation](https://cloud.google.com/dataform/docs/) * * ## Example Usage * * ### Dataform Folder Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const dataformFolderBasic = new gcp.dataform.Folder("dataform_folder_basic", { * region: "us-central1", * displayName: "Basic Folder-_56730", * }); * ``` * ### Dataform Folder Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const dataformFolderRoot = new gcp.dataform.Folder("dataform_folder_root", { * region: "us-central1", * displayName: "Root Folder", * }); * const dataformFolderFull = new gcp.dataform.Folder("dataform_folder_full", { * region: "us-central1", * displayName: "Nested Folder", * containingFolder: dataformFolderRoot.id, * }); * ``` * * ## Import * * Folder can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{region}}/folders/{{folder_id}}` * * `{{project}}/{{region}}/{{folder_id}}` * * `{{region}}/{{folder_id}}` * * `{{folder_id}}` * * `{{name}}` * * When using the `pulumi import` command, Folder can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:dataform/folder:Folder default projects/{{project}}/locations/{{region}}/folders/{{folder_id}} * $ pulumi import gcp:dataform/folder:Folder default {{project}}/{{region}}/{{folder_id}} * $ pulumi import gcp:dataform/folder:Folder default {{region}}/{{folder_id}} * $ pulumi import gcp:dataform/folder:Folder default {{folder_id}} * $ pulumi import gcp:dataform/folder:Folder default {{name}} * ``` */ export declare class Folder extends pulumi.CustomResource { /** * Get an existing Folder 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?: FolderState, opts?: pulumi.CustomResourceOptions): Folder; /** * Returns true if the given object is an instance of Folder. 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 Folder; /** * Optional. The containing Folder resource name. * Format: `projects/*/locations/*/folders/*` or `projects/*/locations/*/teamFolders/*`. */ readonly containingFolder: pulumi.Output; /** * Required. The Folder's user-friendly name. */ readonly displayName: pulumi.Output; /** * The unique identifier for the Folder. */ readonly folderId: pulumi.Output; /** * The Folder's name. */ readonly name: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * A reference to the region */ readonly region: pulumi.Output; /** * Create a Folder 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: FolderArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Folder resources. */ export interface FolderState { /** * Optional. The containing Folder resource name. * Format: `projects/*/locations/*/folders/*` or `projects/*/locations/*/teamFolders/*`. */ containingFolder?: pulumi.Input; /** * Required. The Folder's user-friendly name. */ displayName?: pulumi.Input; /** * The unique identifier for the Folder. */ folderId?: pulumi.Input; /** * The Folder's name. */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * A reference to the region */ region?: pulumi.Input; } /** * The set of arguments for constructing a Folder resource. */ export interface FolderArgs { /** * Optional. The containing Folder resource name. * Format: `projects/*/locations/*/folders/*` or `projects/*/locations/*/teamFolders/*`. */ containingFolder?: pulumi.Input; /** * Required. The Folder's user-friendly name. */ displayName: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * A reference to the region */ region: pulumi.Input; }