databricks.Schema
Explore with Pulumi AI
Within a metastore, Unity Catalog provides a 3-level namespace for organizing data: Catalogs, Databases (also called Schemas), and Tables / Views.
A databricks.Schema
is contained within databricks.Catalog and can contain tables & views.
Related Resources
The following resources are used in the same context:
- databricks.Table data to list tables within Unity Catalog.
- databricks.Schema data to list schemas within Unity Catalog.
- databricks.Catalog data to list catalogs within Unity Catalog.
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Databricks = Pulumi.Databricks;
return await Deployment.RunAsync(() =>
{
var sandbox = new Databricks.Catalog("sandbox", new()
{
MetastoreId = databricks_metastore.This.Id,
Comment = "this catalog is managed by terraform",
Properties =
{
{ "purpose", "testing" },
},
});
var things = new Databricks.Schema("things", new()
{
CatalogName = sandbox.Id,
Comment = "this database is managed by terraform",
Properties =
{
{ "kind", "various" },
},
});
});
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{
MetastoreId: pulumi.Any(databricks_metastore.This.Id),
Comment: pulumi.String("this catalog is managed by terraform"),
Properties: pulumi.AnyMap{
"purpose": pulumi.Any("testing"),
},
})
if err != nil {
return err
}
_, err = databricks.NewSchema(ctx, "things", &databricks.SchemaArgs{
CatalogName: sandbox.ID(),
Comment: pulumi.String("this database is managed by terraform"),
Properties: pulumi.AnyMap{
"kind": pulumi.Any("various"),
},
})
if err != nil {
return err
}
return nil
})
}
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 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()
.metastoreId(databricks_metastore.this().id())
.comment("this catalog is managed by terraform")
.properties(Map.of("purpose", "testing"))
.build());
var things = new Schema("things", SchemaArgs.builder()
.catalogName(sandbox.id())
.comment("this database is managed by terraform")
.properties(Map.of("kind", "various"))
.build());
}
}
import pulumi
import pulumi_databricks as databricks
sandbox = databricks.Catalog("sandbox",
metastore_id=databricks_metastore["this"]["id"],
comment="this catalog is managed by terraform",
properties={
"purpose": "testing",
})
things = databricks.Schema("things",
catalog_name=sandbox.id,
comment="this database is managed by terraform",
properties={
"kind": "various",
})
import * as pulumi from "@pulumi/pulumi";
import * as databricks from "@pulumi/databricks";
const sandbox = new databricks.Catalog("sandbox", {
metastoreId: databricks_metastore["this"].id,
comment: "this catalog is managed by terraform",
properties: {
purpose: "testing",
},
});
const things = new databricks.Schema("things", {
catalogName: sandbox.id,
comment: "this database is managed by terraform",
properties: {
kind: "various",
},
});
resources:
sandbox:
type: databricks:Catalog
properties:
metastoreId: ${databricks_metastore.this.id}
comment: this catalog is managed by terraform
properties:
purpose: testing
things:
type: databricks:Schema
properties:
catalogName: ${sandbox.id}
comment: this database is managed by terraform
properties:
kind: various
Create Schema Resource
new Schema(name: string, args: SchemaArgs, opts?: CustomResourceOptions);
@overload
def Schema(resource_name: str,
opts: Optional[ResourceOptions] = None,
catalog_name: Optional[str] = None,
comment: Optional[str] = None,
force_destroy: Optional[bool] = None,
metastore_id: Optional[str] = None,
name: Optional[str] = None,
owner: Optional[str] = None,
properties: Optional[Mapping[str, Any]] = None,
storage_root: Optional[str] = None)
@overload
def Schema(resource_name: str,
args: SchemaArgs,
opts: Optional[ResourceOptions] = None)
func NewSchema(ctx *Context, name string, args SchemaArgs, opts ...ResourceOption) (*Schema, error)
public Schema(string name, SchemaArgs args, CustomResourceOptions? opts = null)
public Schema(String name, SchemaArgs args)
public Schema(String name, SchemaArgs args, CustomResourceOptions options)
type: databricks:Schema
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SchemaArgs
- 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 SchemaArgs
- 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 SchemaArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SchemaArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SchemaArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Schema Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Schema resource accepts the following input properties:
- Catalog
Name string Name of parent catalog
- Comment string
User-supplied free-form text.
- Force
Destroy bool Delete schema regardless of its contents.
- Metastore
Id string - Name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- Owner string
Username/groupname/sp application_id of the schema owner.
- Properties Dictionary<string, object>
Extensible Schema properties.
- Storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- Catalog
Name string Name of parent catalog
- Comment string
User-supplied free-form text.
- Force
Destroy bool Delete schema regardless of its contents.
- Metastore
Id string - Name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- Owner string
Username/groupname/sp application_id of the schema owner.
- Properties map[string]interface{}
Extensible Schema properties.
- Storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name String Name of parent catalog
- comment String
User-supplied free-form text.
- force
Destroy Boolean Delete schema regardless of its contents.
- metastore
Id String - name String
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner String
Username/groupname/sp application_id of the schema owner.
- properties Map<String,Object>
Extensible Schema properties.
- storage
Root String Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name string Name of parent catalog
- comment string
User-supplied free-form text.
- force
Destroy boolean Delete schema regardless of its contents.
- metastore
Id string - name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner string
Username/groupname/sp application_id of the schema owner.
- properties {[key: string]: any}
Extensible Schema properties.
- storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog_
name str Name of parent catalog
- comment str
User-supplied free-form text.
- force_
destroy bool Delete schema regardless of its contents.
- metastore_
id str - name str
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner str
Username/groupname/sp application_id of the schema owner.
- properties Mapping[str, Any]
Extensible Schema properties.
- storage_
root str Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name String Name of parent catalog
- comment String
User-supplied free-form text.
- force
Destroy Boolean Delete schema regardless of its contents.
- metastore
Id String - name String
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner String
Username/groupname/sp application_id of the schema owner.
- properties Map<Any>
Extensible Schema properties.
- storage
Root String Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
Outputs
All input properties are implicitly available as output properties. Additionally, the Schema resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Look up Existing Schema Resource
Get an existing Schema 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?: SchemaState, opts?: CustomResourceOptions): Schema
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
catalog_name: Optional[str] = None,
comment: Optional[str] = None,
force_destroy: Optional[bool] = None,
metastore_id: Optional[str] = None,
name: Optional[str] = None,
owner: Optional[str] = None,
properties: Optional[Mapping[str, Any]] = None,
storage_root: Optional[str] = None) -> Schema
func GetSchema(ctx *Context, name string, id IDInput, state *SchemaState, opts ...ResourceOption) (*Schema, error)
public static Schema Get(string name, Input<string> id, SchemaState? state, CustomResourceOptions? opts = null)
public static Schema get(String name, Output<String> id, SchemaState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- 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.
- Catalog
Name string Name of parent catalog
- Comment string
User-supplied free-form text.
- Force
Destroy bool Delete schema regardless of its contents.
- Metastore
Id string - Name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- Owner string
Username/groupname/sp application_id of the schema owner.
- Properties Dictionary<string, object>
Extensible Schema properties.
- Storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- Catalog
Name string Name of parent catalog
- Comment string
User-supplied free-form text.
- Force
Destroy bool Delete schema regardless of its contents.
- Metastore
Id string - Name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- Owner string
Username/groupname/sp application_id of the schema owner.
- Properties map[string]interface{}
Extensible Schema properties.
- Storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name String Name of parent catalog
- comment String
User-supplied free-form text.
- force
Destroy Boolean Delete schema regardless of its contents.
- metastore
Id String - name String
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner String
Username/groupname/sp application_id of the schema owner.
- properties Map<String,Object>
Extensible Schema properties.
- storage
Root String Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name string Name of parent catalog
- comment string
User-supplied free-form text.
- force
Destroy boolean Delete schema regardless of its contents.
- metastore
Id string - name string
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner string
Username/groupname/sp application_id of the schema owner.
- properties {[key: string]: any}
Extensible Schema properties.
- storage
Root string Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog_
name str Name of parent catalog
- comment str
User-supplied free-form text.
- force_
destroy bool Delete schema regardless of its contents.
- metastore_
id str - name str
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner str
Username/groupname/sp application_id of the schema owner.
- properties Mapping[str, Any]
Extensible Schema properties.
- storage_
root str Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
- catalog
Name String Name of parent catalog
- comment String
User-supplied free-form text.
- force
Destroy Boolean Delete schema regardless of its contents.
- metastore
Id String - name String
Name of Schema relative to parent catalog. Change forces creation of a new resource.
- owner String
Username/groupname/sp application_id of the schema owner.
- properties Map<Any>
Extensible Schema properties.
- storage
Root String Managed location of the schema. Location in cloud storage where data for managed tables will be stored. If not specified, the location will default to the metastore root location. Change forces creation of a new resource.
Import
This resource can be imported by namebash
$ pulumi import databricks:index/schema:Schema this <name>
Package Details
- Repository
- databricks pulumi/pulumi-databricks
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
databricks
Terraform Provider.