1. Packages
  2. Databricks Provider
  3. API Docs
  4. SqlTable
Databricks v1.85.0 published on Friday, Feb 13, 2026 by Pulumi
databricks logo
Databricks v1.85.0 published on Friday, Feb 13, 2026 by Pulumi

    Within a metastore, Unity Catalog provides a 3-level namespace for organizing data: Catalogs, databases (also called schemas), and tables/views.

    A databricks.SqlTable is contained within databricks_schema, and can represent either a managed table, an external table, or a view.

    This resource creates and updates the Unity Catalog table/view by executing the necessary SQL queries on a special auto-terminating cluster it would create for this operation. You could also specify a SQL warehouse or cluster for the queries to be executed on.

    This resource can only be used with a workspace-level provider!

    This resource doesn’t handle complex cases of schema evolution due to the limitations of Pulumi itself. If you need to implement schema evolution it’s recommended to use specialized tools, such as, Liquibase and Flyway.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    import * as std from "@pulumi/std";
    
    const sandbox = new databricks.Catalog("sandbox", {
        name: "sandbox",
        comment: "this catalog is managed by terraform",
        properties: {
            purpose: "testing",
        },
    });
    const things = new databricks.Schema("things", {
        catalogName: sandbox.id,
        name: "things",
        comment: "this database is managed by terraform",
        properties: {
            kind: "various",
        },
    });
    const thing = new databricks.SqlTable("thing", {
        name: "quickstart_table",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "MANAGED",
        columns: [
            {
                name: "id",
                type: "int",
            },
            {
                name: "name",
                type: "string",
                comment: "name of thing",
            },
        ],
        comment: "this table is managed by terraform",
    });
    const thingView = new databricks.SqlTable("thing_view", {
        name: "quickstart_table_view",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "VIEW",
        clusterId: "0423-201305-xsrt82qn",
        viewDefinition: std.format({
            input: "SELECT name FROM %s WHERE id == 1",
            args: [thing.id],
        }).then(invoke => invoke.result),
        comment: "this view is managed by terraform",
    });
    
    import pulumi
    import pulumi_databricks as databricks
    import pulumi_std as std
    
    sandbox = databricks.Catalog("sandbox",
        name="sandbox",
        comment="this catalog is managed by terraform",
        properties={
            "purpose": "testing",
        })
    things = databricks.Schema("things",
        catalog_name=sandbox.id,
        name="things",
        comment="this database is managed by terraform",
        properties={
            "kind": "various",
        })
    thing = databricks.SqlTable("thing",
        name="quickstart_table",
        catalog_name=sandbox.name,
        schema_name=things.name,
        table_type="MANAGED",
        columns=[
            {
                "name": "id",
                "type": "int",
            },
            {
                "name": "name",
                "type": "string",
                "comment": "name of thing",
            },
        ],
        comment="this table is managed by terraform")
    thing_view = databricks.SqlTable("thing_view",
        name="quickstart_table_view",
        catalog_name=sandbox.name,
        schema_name=things.name,
        table_type="VIEW",
        cluster_id="0423-201305-xsrt82qn",
        view_definition=std.format(input="SELECT name FROM %s WHERE id == 1",
            args=[thing.id]).result,
        comment="this view is managed by terraform")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sandbox, err := databricks.NewCatalog(ctx, "sandbox", &databricks.CatalogArgs{
    			Name:    pulumi.String("sandbox"),
    			Comment: pulumi.String("this catalog is managed by terraform"),
    			Properties: pulumi.StringMap{
    				"purpose": pulumi.String("testing"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		things, err := databricks.NewSchema(ctx, "things", &databricks.SchemaArgs{
    			CatalogName: sandbox.ID(),
    			Name:        pulumi.String("things"),
    			Comment:     pulumi.String("this database is managed by terraform"),
    			Properties: pulumi.StringMap{
    				"kind": pulumi.String("various"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		thing, err := databricks.NewSqlTable(ctx, "thing", &databricks.SqlTableArgs{
    			Name:        pulumi.String("quickstart_table"),
    			CatalogName: sandbox.Name,
    			SchemaName:  things.Name,
    			TableType:   pulumi.String("MANAGED"),
    			Columns: databricks.SqlTableColumnArray{
    				&databricks.SqlTableColumnArgs{
    					Name: pulumi.String("id"),
    					Type: pulumi.String("int"),
    				},
    				&databricks.SqlTableColumnArgs{
    					Name:    pulumi.String("name"),
    					Type:    pulumi.String("string"),
    					Comment: pulumi.String("name of thing"),
    				},
    			},
    			Comment: pulumi.String("this table is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeFormat, err := std.Format(ctx, &std.FormatArgs{
    			Input: "SELECT name FROM %s WHERE id == 1",
    			Args: pulumi.StringArray{
    				thing.ID(),
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = databricks.NewSqlTable(ctx, "thing_view", &databricks.SqlTableArgs{
    			Name:           pulumi.String("quickstart_table_view"),
    			CatalogName:    sandbox.Name,
    			SchemaName:     things.Name,
    			TableType:      pulumi.String("VIEW"),
    			ClusterId:      pulumi.String("0423-201305-xsrt82qn"),
    			ViewDefinition: pulumi.String(invokeFormat.Result),
    			Comment:        pulumi.String("this view is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var sandbox = new Databricks.Catalog("sandbox", new()
        {
            Name = "sandbox",
            Comment = "this catalog is managed by terraform",
            Properties = 
            {
                { "purpose", "testing" },
            },
        });
    
        var things = new Databricks.Schema("things", new()
        {
            CatalogName = sandbox.Id,
            Name = "things",
            Comment = "this database is managed by terraform",
            Properties = 
            {
                { "kind", "various" },
            },
        });
    
        var thing = new Databricks.SqlTable("thing", new()
        {
            Name = "quickstart_table",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "MANAGED",
            Columns = new[]
            {
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "id",
                    Type = "int",
                },
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "name",
                    Type = "string",
                    Comment = "name of thing",
                },
            },
            Comment = "this table is managed by terraform",
        });
    
        var thingView = new Databricks.SqlTable("thing_view", new()
        {
            Name = "quickstart_table_view",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "VIEW",
            ClusterId = "0423-201305-xsrt82qn",
            ViewDefinition = Std.Format.Invoke(new()
            {
                Input = "SELECT name FROM %s WHERE id == 1",
                Args = new[]
                {
                    thing.Id,
                },
            }).Apply(invoke => invoke.Result),
            Comment = "this view is managed by terraform",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.Catalog;
    import com.pulumi.databricks.CatalogArgs;
    import com.pulumi.databricks.Schema;
    import com.pulumi.databricks.SchemaArgs;
    import com.pulumi.databricks.SqlTable;
    import com.pulumi.databricks.SqlTableArgs;
    import com.pulumi.databricks.inputs.SqlTableColumnArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FormatArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var sandbox = new Catalog("sandbox", CatalogArgs.builder()
                .name("sandbox")
                .comment("this catalog is managed by terraform")
                .properties(Map.of("purpose", "testing"))
                .build());
    
            var things = new Schema("things", SchemaArgs.builder()
                .catalogName(sandbox.id())
                .name("things")
                .comment("this database is managed by terraform")
                .properties(Map.of("kind", "various"))
                .build());
    
            var thing = new SqlTable("thing", SqlTableArgs.builder()
                .name("quickstart_table")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("MANAGED")
                .columns(            
                    SqlTableColumnArgs.builder()
                        .name("id")
                        .type("int")
                        .build(),
                    SqlTableColumnArgs.builder()
                        .name("name")
                        .type("string")
                        .comment("name of thing")
                        .build())
                .comment("this table is managed by terraform")
                .build());
    
            var thingView = new SqlTable("thingView", SqlTableArgs.builder()
                .name("quickstart_table_view")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("VIEW")
                .clusterId("0423-201305-xsrt82qn")
                .viewDefinition(StdFunctions.format(FormatArgs.builder()
                    .input("SELECT name FROM %s WHERE id == 1")
                    .args(thing.id())
                    .build()).result())
                .comment("this view is managed by terraform")
                .build());
    
        }
    }
    
    resources:
      sandbox:
        type: databricks:Catalog
        properties:
          name: sandbox
          comment: this catalog is managed by terraform
          properties:
            purpose: testing
      things:
        type: databricks:Schema
        properties:
          catalogName: ${sandbox.id}
          name: things
          comment: this database is managed by terraform
          properties:
            kind: various
      thing:
        type: databricks:SqlTable
        properties:
          name: quickstart_table
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: MANAGED
          columns:
            - name: id
              type: int
            - name: name
              type: string
              comment: name of thing
          comment: this table is managed by terraform
      thingView:
        type: databricks:SqlTable
        name: thing_view
        properties:
          name: quickstart_table_view
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: VIEW
          clusterId: 0423-201305-xsrt82qn
          viewDefinition:
            fn::invoke:
              function: std:format
              arguments:
                input: SELECT name FROM %s WHERE id == 1
                args:
                  - ${thing.id}
              return: result
          comment: this view is managed by terraform
    

    Use an existing warehouse to create a table

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    import * as std from "@pulumi/std";
    
    const _this = new databricks.SqlEndpoint("this", {
        name: "endpoint",
        clusterSize: "2X-Small",
        maxNumClusters: 1,
    });
    const thing = new databricks.SqlTable("thing", {
        name: "quickstart_table",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "MANAGED",
        warehouseId: _this.id,
        columns: [
            {
                name: "id",
                type: "int",
            },
            {
                name: "name",
                type: "string",
                comment: "name of thing",
            },
        ],
        comment: "this table is managed by terraform",
    });
    const thingView = new databricks.SqlTable("thing_view", {
        name: "quickstart_table_view",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "VIEW",
        warehouseId: _this.id,
        viewDefinition: std.format({
            input: "SELECT name FROM %s WHERE id == 1",
            args: [thing.id],
        }).then(invoke => invoke.result),
        comment: "this view is managed by terraform",
    });
    
    import pulumi
    import pulumi_databricks as databricks
    import pulumi_std as std
    
    this = databricks.SqlEndpoint("this",
        name="endpoint",
        cluster_size="2X-Small",
        max_num_clusters=1)
    thing = databricks.SqlTable("thing",
        name="quickstart_table",
        catalog_name=sandbox["name"],
        schema_name=things["name"],
        table_type="MANAGED",
        warehouse_id=this.id,
        columns=[
            {
                "name": "id",
                "type": "int",
            },
            {
                "name": "name",
                "type": "string",
                "comment": "name of thing",
            },
        ],
        comment="this table is managed by terraform")
    thing_view = databricks.SqlTable("thing_view",
        name="quickstart_table_view",
        catalog_name=sandbox["name"],
        schema_name=things["name"],
        table_type="VIEW",
        warehouse_id=this.id,
        view_definition=std.format(input="SELECT name FROM %s WHERE id == 1",
            args=[thing.id]).result,
        comment="this view is managed by terraform")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		this, err := databricks.NewSqlEndpoint(ctx, "this", &databricks.SqlEndpointArgs{
    			Name:           pulumi.String("endpoint"),
    			ClusterSize:    pulumi.String("2X-Small"),
    			MaxNumClusters: pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		thing, err := databricks.NewSqlTable(ctx, "thing", &databricks.SqlTableArgs{
    			Name:        pulumi.String("quickstart_table"),
    			CatalogName: pulumi.Any(sandbox.Name),
    			SchemaName:  pulumi.Any(things.Name),
    			TableType:   pulumi.String("MANAGED"),
    			WarehouseId: this.ID(),
    			Columns: databricks.SqlTableColumnArray{
    				&databricks.SqlTableColumnArgs{
    					Name: pulumi.String("id"),
    					Type: pulumi.String("int"),
    				},
    				&databricks.SqlTableColumnArgs{
    					Name:    pulumi.String("name"),
    					Type:    pulumi.String("string"),
    					Comment: pulumi.String("name of thing"),
    				},
    			},
    			Comment: pulumi.String("this table is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		invokeFormat, err := std.Format(ctx, &std.FormatArgs{
    			Input: "SELECT name FROM %s WHERE id == 1",
    			Args: pulumi.StringArray{
    				thing.ID(),
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = databricks.NewSqlTable(ctx, "thing_view", &databricks.SqlTableArgs{
    			Name:           pulumi.String("quickstart_table_view"),
    			CatalogName:    pulumi.Any(sandbox.Name),
    			SchemaName:     pulumi.Any(things.Name),
    			TableType:      pulumi.String("VIEW"),
    			WarehouseId:    this.ID(),
    			ViewDefinition: pulumi.String(invokeFormat.Result),
    			Comment:        pulumi.String("this view is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var @this = new Databricks.SqlEndpoint("this", new()
        {
            Name = "endpoint",
            ClusterSize = "2X-Small",
            MaxNumClusters = 1,
        });
    
        var thing = new Databricks.SqlTable("thing", new()
        {
            Name = "quickstart_table",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "MANAGED",
            WarehouseId = @this.Id,
            Columns = new[]
            {
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "id",
                    Type = "int",
                },
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "name",
                    Type = "string",
                    Comment = "name of thing",
                },
            },
            Comment = "this table is managed by terraform",
        });
    
        var thingView = new Databricks.SqlTable("thing_view", new()
        {
            Name = "quickstart_table_view",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "VIEW",
            WarehouseId = @this.Id,
            ViewDefinition = Std.Format.Invoke(new()
            {
                Input = "SELECT name FROM %s WHERE id == 1",
                Args = new[]
                {
                    thing.Id,
                },
            }).Apply(invoke => invoke.Result),
            Comment = "this view is managed by terraform",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.SqlEndpoint;
    import com.pulumi.databricks.SqlEndpointArgs;
    import com.pulumi.databricks.SqlTable;
    import com.pulumi.databricks.SqlTableArgs;
    import com.pulumi.databricks.inputs.SqlTableColumnArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FormatArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var this_ = new SqlEndpoint("this", SqlEndpointArgs.builder()
                .name("endpoint")
                .clusterSize("2X-Small")
                .maxNumClusters(1)
                .build());
    
            var thing = new SqlTable("thing", SqlTableArgs.builder()
                .name("quickstart_table")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("MANAGED")
                .warehouseId(this_.id())
                .columns(            
                    SqlTableColumnArgs.builder()
                        .name("id")
                        .type("int")
                        .build(),
                    SqlTableColumnArgs.builder()
                        .name("name")
                        .type("string")
                        .comment("name of thing")
                        .build())
                .comment("this table is managed by terraform")
                .build());
    
            var thingView = new SqlTable("thingView", SqlTableArgs.builder()
                .name("quickstart_table_view")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("VIEW")
                .warehouseId(this_.id())
                .viewDefinition(StdFunctions.format(FormatArgs.builder()
                    .input("SELECT name FROM %s WHERE id == 1")
                    .args(thing.id())
                    .build()).result())
                .comment("this view is managed by terraform")
                .build());
    
        }
    }
    
    resources:
      this:
        type: databricks:SqlEndpoint
        properties:
          name: endpoint
          clusterSize: 2X-Small
          maxNumClusters: 1
      thing:
        type: databricks:SqlTable
        properties:
          name: quickstart_table
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: MANAGED
          warehouseId: ${this.id}
          columns:
            - name: id
              type: int
            - name: name
              type: string
              comment: name of thing
          comment: this table is managed by terraform
      thingView:
        type: databricks:SqlTable
        name: thing_view
        properties:
          name: quickstart_table_view
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: VIEW
          warehouseId: ${this.id}
          viewDefinition:
            fn::invoke:
              function: std:format
              arguments:
                input: SELECT name FROM %s WHERE id == 1
                args:
                  - ${thing.id}
              return: result
          comment: this view is managed by terraform
    

    Use an Identity Column

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    const sandbox = new databricks.Catalog("sandbox", {
        name: "sandbox",
        comment: "this catalog is managed by terraform",
        properties: {
            purpose: "testing",
        },
    });
    const things = new databricks.Schema("things", {
        catalogName: sandbox.id,
        name: "things",
        comment: "this database is managed by terraform",
        properties: {
            kind: "various",
        },
    });
    const thing = new databricks.SqlTable("thing", {
        name: "identity_table",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "MANAGED",
        columns: [
            {
                name: "id",
                type: "bigint",
                identity: "default",
            },
            {
                name: "name",
                type: "string",
                comment: "name of thing",
            },
        ],
        comment: "this table is managed by terraform",
    });
    
    import pulumi
    import pulumi_databricks as databricks
    
    sandbox = databricks.Catalog("sandbox",
        name="sandbox",
        comment="this catalog is managed by terraform",
        properties={
            "purpose": "testing",
        })
    things = databricks.Schema("things",
        catalog_name=sandbox.id,
        name="things",
        comment="this database is managed by terraform",
        properties={
            "kind": "various",
        })
    thing = databricks.SqlTable("thing",
        name="identity_table",
        catalog_name=sandbox.name,
        schema_name=things.name,
        table_type="MANAGED",
        columns=[
            {
                "name": "id",
                "type": "bigint",
                "identity": "default",
            },
            {
                "name": "name",
                "type": "string",
                "comment": "name of thing",
            },
        ],
        comment="this table is managed by terraform")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sandbox, err := databricks.NewCatalog(ctx, "sandbox", &databricks.CatalogArgs{
    			Name:    pulumi.String("sandbox"),
    			Comment: pulumi.String("this catalog is managed by terraform"),
    			Properties: pulumi.StringMap{
    				"purpose": pulumi.String("testing"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		things, err := databricks.NewSchema(ctx, "things", &databricks.SchemaArgs{
    			CatalogName: sandbox.ID(),
    			Name:        pulumi.String("things"),
    			Comment:     pulumi.String("this database is managed by terraform"),
    			Properties: pulumi.StringMap{
    				"kind": pulumi.String("various"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = databricks.NewSqlTable(ctx, "thing", &databricks.SqlTableArgs{
    			Name:        pulumi.String("identity_table"),
    			CatalogName: sandbox.Name,
    			SchemaName:  things.Name,
    			TableType:   pulumi.String("MANAGED"),
    			Columns: databricks.SqlTableColumnArray{
    				&databricks.SqlTableColumnArgs{
    					Name:     pulumi.String("id"),
    					Type:     pulumi.String("bigint"),
    					Identity: pulumi.String("default"),
    				},
    				&databricks.SqlTableColumnArgs{
    					Name:    pulumi.String("name"),
    					Type:    pulumi.String("string"),
    					Comment: pulumi.String("name of thing"),
    				},
    			},
    			Comment: pulumi.String("this table is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    
    return await Deployment.RunAsync(() => 
    {
        var sandbox = new Databricks.Catalog("sandbox", new()
        {
            Name = "sandbox",
            Comment = "this catalog is managed by terraform",
            Properties = 
            {
                { "purpose", "testing" },
            },
        });
    
        var things = new Databricks.Schema("things", new()
        {
            CatalogName = sandbox.Id,
            Name = "things",
            Comment = "this database is managed by terraform",
            Properties = 
            {
                { "kind", "various" },
            },
        });
    
        var thing = new Databricks.SqlTable("thing", new()
        {
            Name = "identity_table",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "MANAGED",
            Columns = new[]
            {
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "id",
                    Type = "bigint",
                    Identity = "default",
                },
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "name",
                    Type = "string",
                    Comment = "name of thing",
                },
            },
            Comment = "this table is managed by terraform",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.Catalog;
    import com.pulumi.databricks.CatalogArgs;
    import com.pulumi.databricks.Schema;
    import com.pulumi.databricks.SchemaArgs;
    import com.pulumi.databricks.SqlTable;
    import com.pulumi.databricks.SqlTableArgs;
    import com.pulumi.databricks.inputs.SqlTableColumnArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var sandbox = new Catalog("sandbox", CatalogArgs.builder()
                .name("sandbox")
                .comment("this catalog is managed by terraform")
                .properties(Map.of("purpose", "testing"))
                .build());
    
            var things = new Schema("things", SchemaArgs.builder()
                .catalogName(sandbox.id())
                .name("things")
                .comment("this database is managed by terraform")
                .properties(Map.of("kind", "various"))
                .build());
    
            var thing = new SqlTable("thing", SqlTableArgs.builder()
                .name("identity_table")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("MANAGED")
                .columns(            
                    SqlTableColumnArgs.builder()
                        .name("id")
                        .type("bigint")
                        .identity("default")
                        .build(),
                    SqlTableColumnArgs.builder()
                        .name("name")
                        .type("string")
                        .comment("name of thing")
                        .build())
                .comment("this table is managed by terraform")
                .build());
    
        }
    }
    
    resources:
      sandbox:
        type: databricks:Catalog
        properties:
          name: sandbox
          comment: this catalog is managed by terraform
          properties:
            purpose: testing
      things:
        type: databricks:Schema
        properties:
          catalogName: ${sandbox.id}
          name: things
          comment: this database is managed by terraform
          properties:
            kind: various
      thing:
        type: databricks:SqlTable
        properties:
          name: identity_table
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: MANAGED
          columns:
            - name: id
              type: bigint
              identity: default
            - name: name
              type: string
              comment: name of thing
          comment: this table is managed by terraform
    

    Enable automatic clustering

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    const thing = new databricks.SqlTable("thing", {
        name: "auto_cluster_table",
        catalogName: sandbox.name,
        schemaName: things.name,
        tableType: "MANAGED",
        clusterKeys: ["AUTO"],
        columns: [{
            name: "name",
            type: "string",
            comment: "name of thing",
        }],
        comment: "this table is managed by terraform",
    });
    
    import pulumi
    import pulumi_databricks as databricks
    
    thing = databricks.SqlTable("thing",
        name="auto_cluster_table",
        catalog_name=sandbox["name"],
        schema_name=things["name"],
        table_type="MANAGED",
        cluster_keys=["AUTO"],
        columns=[{
            "name": "name",
            "type": "string",
            "comment": "name of thing",
        }],
        comment="this table is managed by terraform")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := databricks.NewSqlTable(ctx, "thing", &databricks.SqlTableArgs{
    			Name:        pulumi.String("auto_cluster_table"),
    			CatalogName: pulumi.Any(sandbox.Name),
    			SchemaName:  pulumi.Any(things.Name),
    			TableType:   pulumi.String("MANAGED"),
    			ClusterKeys: pulumi.StringArray{
    				pulumi.String("AUTO"),
    			},
    			Columns: databricks.SqlTableColumnArray{
    				&databricks.SqlTableColumnArgs{
    					Name:    pulumi.String("name"),
    					Type:    pulumi.String("string"),
    					Comment: pulumi.String("name of thing"),
    				},
    			},
    			Comment: pulumi.String("this table is managed by terraform"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    
    return await Deployment.RunAsync(() => 
    {
        var thing = new Databricks.SqlTable("thing", new()
        {
            Name = "auto_cluster_table",
            CatalogName = sandbox.Name,
            SchemaName = things.Name,
            TableType = "MANAGED",
            ClusterKeys = new[]
            {
                "AUTO",
            },
            Columns = new[]
            {
                new Databricks.Inputs.SqlTableColumnArgs
                {
                    Name = "name",
                    Type = "string",
                    Comment = "name of thing",
                },
            },
            Comment = "this table is managed by terraform",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.SqlTable;
    import com.pulumi.databricks.SqlTableArgs;
    import com.pulumi.databricks.inputs.SqlTableColumnArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var thing = new SqlTable("thing", SqlTableArgs.builder()
                .name("auto_cluster_table")
                .catalogName(sandbox.name())
                .schemaName(things.name())
                .tableType("MANAGED")
                .clusterKeys("AUTO")
                .columns(SqlTableColumnArgs.builder()
                    .name("name")
                    .type("string")
                    .comment("name of thing")
                    .build())
                .comment("this table is managed by terraform")
                .build());
    
        }
    }
    
    resources:
      thing:
        type: databricks:SqlTable
        properties:
          name: auto_cluster_table
          catalogName: ${sandbox.name}
          schemaName: ${things.name}
          tableType: MANAGED
          clusterKeys:
            - AUTO
          columns:
            - name: name
              type: string
              comment: name of thing
          comment: this table is managed by terraform
    

    Migration from databricks.Table

    The databricks.Table resource has been deprecated in favor of databricks.SqlTable. To migrate from databricks.Table to databricks.SqlTable:

    1. Define a databricks.SqlTable resource with arguments corresponding to databricks.Table.
    2. Add a removed block to remove the databricks.Table resource without deleting the existing table by using the lifecycle block. If you’re using Pulumi version below v1.7.0, you will need to use the terraform state rm command instead.
    3. Add an import block to add the databricks.SqlTable resource, corresponding to the existing table. If you’re using Pulumi version below v1.5.0, you will need to use pulumi import command instead.

    For example, suppose we have the following databricks.Table resource:

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    const _this = new databricks.Table("this", {
        catalogName: "catalog",
        schemaName: "schema",
        name: "table",
        tableType: "MANAGED",
        dataSourceFormat: "DELTA",
        columns: [{
            name: "col1",
            typeName: "STRING",
            typeJson: "{\"type\":\"STRING\"}",
            comment: "comment",
            nullable: true,
        }],
        comment: "comment",
        properties: {
            key: "value",
        },
    });
    
    import pulumi
    import pulumi_databricks as databricks
    
    this = databricks.Table("this",
        catalog_name="catalog",
        schema_name="schema",
        name="table",
        table_type="MANAGED",
        data_source_format="DELTA",
        columns=[{
            "name": "col1",
            "type_name": "STRING",
            "type_json": "{\"type\":\"STRING\"}",
            "comment": "comment",
            "nullable": True,
        }],
        comment="comment",
        properties={
            "key": "value",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := databricks.NewTable(ctx, "this", &databricks.TableArgs{
    			CatalogName:      pulumi.String("catalog"),
    			SchemaName:       pulumi.String("schema"),
    			Name:             pulumi.String("table"),
    			TableType:        pulumi.String("MANAGED"),
    			DataSourceFormat: pulumi.String("DELTA"),
    			Columns: databricks.TableColumnArray{
    				&databricks.TableColumnArgs{
    					Name:     pulumi.String("col1"),
    					TypeName: pulumi.String("STRING"),
    					TypeJson: pulumi.String("{\"type\":\"STRING\"}"),
    					Comment:  pulumi.String("comment"),
    					Nullable: pulumi.Bool(true),
    				},
    			},
    			Comment: pulumi.String("comment"),
    			Properties: pulumi.StringMap{
    				"key": pulumi.String("value"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    
    return await Deployment.RunAsync(() => 
    {
        var @this = new Databricks.Table("this", new()
        {
            CatalogName = "catalog",
            SchemaName = "schema",
            Name = "table",
            TableType = "MANAGED",
            DataSourceFormat = "DELTA",
            Columns = new[]
            {
                new Databricks.Inputs.TableColumnArgs
                {
                    Name = "col1",
                    TypeName = "STRING",
                    TypeJson = "{\"type\":\"STRING\"}",
                    Comment = "comment",
                    Nullable = true,
                },
            },
            Comment = "comment",
            Properties = 
            {
                { "key", "value" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.Table;
    import com.pulumi.databricks.TableArgs;
    import com.pulumi.databricks.inputs.TableColumnArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var this_ = new Table("this", TableArgs.builder()
                .catalogName("catalog")
                .schemaName("schema")
                .name("table")
                .tableType("MANAGED")
                .dataSourceFormat("DELTA")
                .columns(TableColumnArgs.builder()
                    .name("col1")
                    .typeName("STRING")
                    .typeJson("{\"type\":\"STRING\"}")
                    .comment("comment")
                    .nullable(true)
                    .build())
                .comment("comment")
                .properties(Map.of("key", "value"))
                .build());
    
        }
    }
    
    resources:
      this:
        type: databricks:Table
        properties:
          catalogName: catalog
          schemaName: schema
          name: table
          tableType: MANAGED
          dataSourceFormat: DELTA
          columns:
            - name: col1
              typeName: STRING
              typeJson: '{"type":"STRING"}'
              comment: comment
              nullable: true
          comment: comment
          properties:
            key: value
    

    The migration would look like this:

    Create SqlTable Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new SqlTable(name: string, args: SqlTableArgs, opts?: CustomResourceOptions);
    @overload
    def SqlTable(resource_name: str,
                 args: SqlTableArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def SqlTable(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 catalog_name: Optional[str] = None,
                 table_type: Optional[str] = None,
                 schema_name: Optional[str] = None,
                 comment: Optional[str] = None,
                 properties: Optional[Mapping[str, str]] = None,
                 data_source_format: Optional[str] = None,
                 name: Optional[str] = None,
                 options: Optional[Mapping[str, str]] = None,
                 owner: Optional[str] = None,
                 partitions: Optional[Sequence[str]] = None,
                 columns: Optional[Sequence[SqlTableColumnArgs]] = None,
                 provider_config: Optional[SqlTableProviderConfigArgs] = None,
                 cluster_keys: Optional[Sequence[str]] = None,
                 storage_credential_name: Optional[str] = None,
                 storage_location: Optional[str] = None,
                 cluster_id: Optional[str] = None,
                 view_definition: Optional[str] = None,
                 warehouse_id: Optional[str] = None)
    func NewSqlTable(ctx *Context, name string, args SqlTableArgs, opts ...ResourceOption) (*SqlTable, error)
    public SqlTable(string name, SqlTableArgs args, CustomResourceOptions? opts = null)
    public SqlTable(String name, SqlTableArgs args)
    public SqlTable(String name, SqlTableArgs args, CustomResourceOptions options)
    
    type: databricks:SqlTable
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args SqlTableArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args SqlTableArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args SqlTableArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SqlTableArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SqlTableArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var sqlTableResource = new Databricks.SqlTable("sqlTableResource", new()
    {
        CatalogName = "string",
        TableType = "string",
        SchemaName = "string",
        Comment = "string",
        Properties = 
        {
            { "string", "string" },
        },
        DataSourceFormat = "string",
        Name = "string",
        Options = 
        {
            { "string", "string" },
        },
        Owner = "string",
        Partitions = new[]
        {
            "string",
        },
        Columns = new[]
        {
            new Databricks.Inputs.SqlTableColumnArgs
            {
                Name = "string",
                Comment = "string",
                Identity = "string",
                Nullable = false,
                Type = "string",
                TypeJson = "string",
            },
        },
        ProviderConfig = new Databricks.Inputs.SqlTableProviderConfigArgs
        {
            WorkspaceId = "string",
        },
        ClusterKeys = new[]
        {
            "string",
        },
        StorageCredentialName = "string",
        StorageLocation = "string",
        ClusterId = "string",
        ViewDefinition = "string",
        WarehouseId = "string",
    });
    
    example, err := databricks.NewSqlTable(ctx, "sqlTableResource", &databricks.SqlTableArgs{
    	CatalogName: pulumi.String("string"),
    	TableType:   pulumi.String("string"),
    	SchemaName:  pulumi.String("string"),
    	Comment:     pulumi.String("string"),
    	Properties: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DataSourceFormat: pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	Options: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Owner: pulumi.String("string"),
    	Partitions: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Columns: databricks.SqlTableColumnArray{
    		&databricks.SqlTableColumnArgs{
    			Name:     pulumi.String("string"),
    			Comment:  pulumi.String("string"),
    			Identity: pulumi.String("string"),
    			Nullable: pulumi.Bool(false),
    			Type:     pulumi.String("string"),
    			TypeJson: pulumi.String("string"),
    		},
    	},
    	ProviderConfig: &databricks.SqlTableProviderConfigArgs{
    		WorkspaceId: pulumi.String("string"),
    	},
    	ClusterKeys: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	StorageCredentialName: pulumi.String("string"),
    	StorageLocation:       pulumi.String("string"),
    	ClusterId:             pulumi.String("string"),
    	ViewDefinition:        pulumi.String("string"),
    	WarehouseId:           pulumi.String("string"),
    })
    
    var sqlTableResource = new SqlTable("sqlTableResource", SqlTableArgs.builder()
        .catalogName("string")
        .tableType("string")
        .schemaName("string")
        .comment("string")
        .properties(Map.of("string", "string"))
        .dataSourceFormat("string")
        .name("string")
        .options(Map.of("string", "string"))
        .owner("string")
        .partitions("string")
        .columns(SqlTableColumnArgs.builder()
            .name("string")
            .comment("string")
            .identity("string")
            .nullable(false)
            .type("string")
            .typeJson("string")
            .build())
        .providerConfig(SqlTableProviderConfigArgs.builder()
            .workspaceId("string")
            .build())
        .clusterKeys("string")
        .storageCredentialName("string")
        .storageLocation("string")
        .clusterId("string")
        .viewDefinition("string")
        .warehouseId("string")
        .build());
    
    sql_table_resource = databricks.SqlTable("sqlTableResource",
        catalog_name="string",
        table_type="string",
        schema_name="string",
        comment="string",
        properties={
            "string": "string",
        },
        data_source_format="string",
        name="string",
        options={
            "string": "string",
        },
        owner="string",
        partitions=["string"],
        columns=[{
            "name": "string",
            "comment": "string",
            "identity": "string",
            "nullable": False,
            "type": "string",
            "type_json": "string",
        }],
        provider_config={
            "workspace_id": "string",
        },
        cluster_keys=["string"],
        storage_credential_name="string",
        storage_location="string",
        cluster_id="string",
        view_definition="string",
        warehouse_id="string")
    
    const sqlTableResource = new databricks.SqlTable("sqlTableResource", {
        catalogName: "string",
        tableType: "string",
        schemaName: "string",
        comment: "string",
        properties: {
            string: "string",
        },
        dataSourceFormat: "string",
        name: "string",
        options: {
            string: "string",
        },
        owner: "string",
        partitions: ["string"],
        columns: [{
            name: "string",
            comment: "string",
            identity: "string",
            nullable: false,
            type: "string",
            typeJson: "string",
        }],
        providerConfig: {
            workspaceId: "string",
        },
        clusterKeys: ["string"],
        storageCredentialName: "string",
        storageLocation: "string",
        clusterId: "string",
        viewDefinition: "string",
        warehouseId: "string",
    });
    
    type: databricks:SqlTable
    properties:
        catalogName: string
        clusterId: string
        clusterKeys:
            - string
        columns:
            - comment: string
              identity: string
              name: string
              nullable: false
              type: string
              typeJson: string
        comment: string
        dataSourceFormat: string
        name: string
        options:
            string: string
        owner: string
        partitions:
            - string
        properties:
            string: string
        providerConfig:
            workspaceId: string
        schemaName: string
        storageCredentialName: string
        storageLocation: string
        tableType: string
        viewDefinition: string
        warehouseId: string
    

    SqlTable Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The SqlTable resource accepts the following input properties:

    CatalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    SchemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    TableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    ClusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    ClusterKeys List<string>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    Columns List<SqlTableColumn>
    Comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    DataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    Name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    Options Dictionary<string, string>
    Map of user defined table options. Change forces creation of a new resource.
    Owner string
    User name/group name/sp application_id of the table owner.
    Partitions List<string>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    Properties Dictionary<string, string>
    A map of table properties.
    ProviderConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    StorageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    StorageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    ViewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    WarehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    CatalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    SchemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    TableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    ClusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    ClusterKeys []string
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    Columns []SqlTableColumnArgs
    Comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    DataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    Name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    Options map[string]string
    Map of user defined table options. Change forces creation of a new resource.
    Owner string
    User name/group name/sp application_id of the table owner.
    Partitions []string
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    Properties map[string]string
    A map of table properties.
    ProviderConfig SqlTableProviderConfigArgs
    Configure the provider for management through account provider. This block consists of the following fields:
    StorageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    StorageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    ViewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    WarehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName String
    Name of parent catalog. Change forces the creation of a new resource.
    schemaName String
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    tableType String
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    clusterId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys List<String>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns List<SqlTableColumn>
    comment String
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat String
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    name String
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Map<String,String>
    Map of user defined table options. Change forces creation of a new resource.
    owner String
    User name/group name/sp application_id of the table owner.
    partitions List<String>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Map<String,String>
    A map of table properties.
    providerConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    storageCredentialName String
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation String
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    viewDefinition String
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    schemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    tableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    clusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys string[]
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns SqlTableColumn[]
    comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options {[key: string]: string}
    Map of user defined table options. Change forces creation of a new resource.
    owner string
    User name/group name/sp application_id of the table owner.
    partitions string[]
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties {[key: string]: string}
    A map of table properties.
    providerConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    storageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    viewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalog_name str
    Name of parent catalog. Change forces the creation of a new resource.
    schema_name str
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    table_type str
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    cluster_id str
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    cluster_keys Sequence[str]
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns Sequence[SqlTableColumnArgs]
    comment str
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    data_source_format str
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    name str
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Mapping[str, str]
    Map of user defined table options. Change forces creation of a new resource.
    owner str
    User name/group name/sp application_id of the table owner.
    partitions Sequence[str]
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Mapping[str, str]
    A map of table properties.
    provider_config SqlTableProviderConfigArgs
    Configure the provider for management through account provider. This block consists of the following fields:
    storage_credential_name str
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storage_location str
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    view_definition str
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouse_id str
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName String
    Name of parent catalog. Change forces the creation of a new resource.
    schemaName String
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    tableType String
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    clusterId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys List<String>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns List<Property Map>
    comment String
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat String
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    name String
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Map<String>
    Map of user defined table options. Change forces creation of a new resource.
    owner String
    User name/group name/sp application_id of the table owner.
    partitions List<String>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Map<String>
    A map of table properties.
    providerConfig Property Map
    Configure the provider for management through account provider. This block consists of the following fields:
    storageCredentialName String
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation String
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    viewDefinition String
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the SqlTable resource produces the following output properties:

    EffectiveProperties Dictionary<string, string>
    Id string
    The provider-assigned unique ID for this managed resource.
    TableId string
    The unique identifier of the table.
    EffectiveProperties map[string]string
    Id string
    The provider-assigned unique ID for this managed resource.
    TableId string
    The unique identifier of the table.
    effectiveProperties Map<String,String>
    id String
    The provider-assigned unique ID for this managed resource.
    tableId String
    The unique identifier of the table.
    effectiveProperties {[key: string]: string}
    id string
    The provider-assigned unique ID for this managed resource.
    tableId string
    The unique identifier of the table.
    effective_properties Mapping[str, str]
    id str
    The provider-assigned unique ID for this managed resource.
    table_id str
    The unique identifier of the table.
    effectiveProperties Map<String>
    id String
    The provider-assigned unique ID for this managed resource.
    tableId String
    The unique identifier of the table.

    Look up Existing SqlTable Resource

    Get an existing SqlTable resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: SqlTableState, opts?: CustomResourceOptions): SqlTable
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            catalog_name: Optional[str] = None,
            cluster_id: Optional[str] = None,
            cluster_keys: Optional[Sequence[str]] = None,
            columns: Optional[Sequence[SqlTableColumnArgs]] = None,
            comment: Optional[str] = None,
            data_source_format: Optional[str] = None,
            effective_properties: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            options: Optional[Mapping[str, str]] = None,
            owner: Optional[str] = None,
            partitions: Optional[Sequence[str]] = None,
            properties: Optional[Mapping[str, str]] = None,
            provider_config: Optional[SqlTableProviderConfigArgs] = None,
            schema_name: Optional[str] = None,
            storage_credential_name: Optional[str] = None,
            storage_location: Optional[str] = None,
            table_id: Optional[str] = None,
            table_type: Optional[str] = None,
            view_definition: Optional[str] = None,
            warehouse_id: Optional[str] = None) -> SqlTable
    func GetSqlTable(ctx *Context, name string, id IDInput, state *SqlTableState, opts ...ResourceOption) (*SqlTable, error)
    public static SqlTable Get(string name, Input<string> id, SqlTableState? state, CustomResourceOptions? opts = null)
    public static SqlTable get(String name, Output<String> id, SqlTableState state, CustomResourceOptions options)
    resources:  _:    type: databricks:SqlTable    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CatalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    ClusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    ClusterKeys List<string>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    Columns List<SqlTableColumn>
    Comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    DataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    EffectiveProperties Dictionary<string, string>
    Name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    Options Dictionary<string, string>
    Map of user defined table options. Change forces creation of a new resource.
    Owner string
    User name/group name/sp application_id of the table owner.
    Partitions List<string>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    Properties Dictionary<string, string>
    A map of table properties.
    ProviderConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    SchemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    StorageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    StorageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    TableId string
    The unique identifier of the table.
    TableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    ViewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    WarehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    CatalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    ClusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    ClusterKeys []string
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    Columns []SqlTableColumnArgs
    Comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    DataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    EffectiveProperties map[string]string
    Name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    Options map[string]string
    Map of user defined table options. Change forces creation of a new resource.
    Owner string
    User name/group name/sp application_id of the table owner.
    Partitions []string
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    Properties map[string]string
    A map of table properties.
    ProviderConfig SqlTableProviderConfigArgs
    Configure the provider for management through account provider. This block consists of the following fields:
    SchemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    StorageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    StorageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    TableId string
    The unique identifier of the table.
    TableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    ViewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    WarehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName String
    Name of parent catalog. Change forces the creation of a new resource.
    clusterId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys List<String>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns List<SqlTableColumn>
    comment String
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat String
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    effectiveProperties Map<String,String>
    name String
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Map<String,String>
    Map of user defined table options. Change forces creation of a new resource.
    owner String
    User name/group name/sp application_id of the table owner.
    partitions List<String>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Map<String,String>
    A map of table properties.
    providerConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    schemaName String
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    storageCredentialName String
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation String
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    tableId String
    The unique identifier of the table.
    tableType String
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    viewDefinition String
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName string
    Name of parent catalog. Change forces the creation of a new resource.
    clusterId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys string[]
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns SqlTableColumn[]
    comment string
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat string
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    effectiveProperties {[key: string]: string}
    name string
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options {[key: string]: string}
    Map of user defined table options. Change forces creation of a new resource.
    owner string
    User name/group name/sp application_id of the table owner.
    partitions string[]
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties {[key: string]: string}
    A map of table properties.
    providerConfig SqlTableProviderConfig
    Configure the provider for management through account provider. This block consists of the following fields:
    schemaName string
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    storageCredentialName string
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation string
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    tableId string
    The unique identifier of the table.
    tableType string
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    viewDefinition string
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId string
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalog_name str
    Name of parent catalog. Change forces the creation of a new resource.
    cluster_id str
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    cluster_keys Sequence[str]
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns Sequence[SqlTableColumnArgs]
    comment str
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    data_source_format str
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    effective_properties Mapping[str, str]
    name str
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Mapping[str, str]
    Map of user defined table options. Change forces creation of a new resource.
    owner str
    User name/group name/sp application_id of the table owner.
    partitions Sequence[str]
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Mapping[str, str]
    A map of table properties.
    provider_config SqlTableProviderConfigArgs
    Configure the provider for management through account provider. This block consists of the following fields:
    schema_name str
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    storage_credential_name str
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storage_location str
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    table_id str
    The unique identifier of the table.
    table_type str
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    view_definition str
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouse_id str
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.
    catalogName String
    Name of parent catalog. Change forces the creation of a new resource.
    clusterId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a cluster_id is specified, it will be used to execute SQL commands to manage this table. If empty, a cluster will be created automatically with the name terraform-sql-table. Conflicts with warehouse_id.
    clusterKeys List<String>
    a subset of columns to liquid cluster the table by. For automatic clustering, set cluster_keys to ["AUTO"]. To turn off clustering, set it to ["NONE"]. Conflicts with partitions.
    columns List<Property Map>
    comment String
    User-supplied free-form text. Changing the comment is not currently supported on the VIEW table type.
    dataSourceFormat String
    External tables are supported in multiple data source formats. The string constants identifying these formats are DELTA, CSV, JSON, AVRO, PARQUET, ORC, and TEXT. Change forces the creation of a new resource. Not supported for MANAGED tables or VIEW.
    effectiveProperties Map<String>
    name String
    Name of table relative to parent catalog and schema. Change forces the creation of a new resource.
    options Map<String>
    Map of user defined table options. Change forces creation of a new resource.
    owner String
    User name/group name/sp application_id of the table owner.
    partitions List<String>
    a subset of columns to partition the table by. Change forces the creation of a new resource. Conflicts with cluster_keys.
    properties Map<String>
    A map of table properties.
    providerConfig Property Map
    Configure the provider for management through account provider. This block consists of the following fields:
    schemaName String
    Name of parent Schema relative to parent Catalog. Change forces the creation of a new resource.
    storageCredentialName String
    For EXTERNAL Tables only: the name of storage credential to use. Change forces the creation of a new resource.
    storageLocation String
    URL of storage location for Table data (required for EXTERNAL Tables). If the URL contains special characters, such as space, &, etc., they should be percent-encoded (space > %20, etc.). Not supported for VIEW or MANAGED table_type.
    tableId String
    The unique identifier of the table.
    tableType String
    Distinguishes a view vs. managed/external Table. MANAGED, EXTERNAL or VIEW. Change forces the creation of a new resource.
    viewDefinition String
    SQL text defining the view (for table_type </span>== "VIEW"). Not supported for MANAGED or EXTERNAL table_type.
    warehouseId String
    All table CRUD operations must be executed on a running cluster or SQL warehouse. If a warehouse_id is specified, that SQL warehouse will be used to execute SQL commands to manage this table. Conflicts with cluster_id.

    Supporting Types

    SqlTableColumn, SqlTableColumnArgs

    Name string
    User-visible name of column
    Comment string
    User-supplied free-form text.
    Identity string
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    Nullable bool
    Whether field is nullable (Default: true)
    Type string
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    TypeJson string
    Name string
    User-visible name of column
    Comment string
    User-supplied free-form text.
    Identity string
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    Nullable bool
    Whether field is nullable (Default: true)
    Type string
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    TypeJson string
    name String
    User-visible name of column
    comment String
    User-supplied free-form text.
    identity String
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    nullable Boolean
    Whether field is nullable (Default: true)
    type String
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    typeJson String
    name string
    User-visible name of column
    comment string
    User-supplied free-form text.
    identity string
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    nullable boolean
    Whether field is nullable (Default: true)
    type string
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    typeJson string
    name str
    User-visible name of column
    comment str
    User-supplied free-form text.
    identity str
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    nullable bool
    Whether field is nullable (Default: true)
    type str
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    type_json str
    name String
    User-visible name of column
    comment String
    User-supplied free-form text.
    identity String
    Whether the field is an identity column. Can be default, always, or unset. It is unset by default.
    nullable Boolean
    Whether field is nullable (Default: true)
    type String
    Column type spec (with metadata) as SQL text. Not supported for VIEW table_type.
    typeJson String

    SqlTableProviderConfig, SqlTableProviderConfigArgs

    WorkspaceId string
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.
    WorkspaceId string
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.
    workspaceId String
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.
    workspaceId string
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.
    workspace_id str
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.
    workspaceId String
    Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with.

    Package Details

    Repository
    databricks pulumi/pulumi-databricks
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the databricks Terraform Provider.
    databricks logo
    Databricks v1.85.0 published on Friday, Feb 13, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate