1. Packages
  2. Databricks
  3. API Docs
  4. getTables
Databricks v1.34.0 published on Tuesday, Mar 5, 2024 by Pulumi

databricks.getTables

Explore with Pulumi AI

databricks logo
Databricks v1.34.0 published on Tuesday, Mar 5, 2024 by Pulumi

    The following resources are used in the same context:

    • databricks.Schema to manage schemas within Unity Catalog.
    • databricks.Catalog to manage catalogs within Unity Catalog.

    Example Usage

    Granting

    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    
    return await Deployment.RunAsync(async() => 
    {
        var thingsTables = await Databricks.GetTables.InvokeAsync(new()
        {
            CatalogName = "sandbox",
            SchemaName = "things",
        });
    
        var thingsGrants = new List<Databricks.Grants>();
        foreach (var range in )
        {
            thingsGrants.Add(new Databricks.Grants($"thingsGrants-{range.Key}", new()
            {
                Table = range.Value,
                GrantDetails = new[]
                {
                    new Databricks.Inputs.GrantsGrantArgs
                    {
                        Principal = "sensitive",
                        Privileges = new[]
                        {
                            "SELECT",
                            "MODIFY",
                        },
                    },
                },
            }));
        }
    });
    
    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 {
    		thingsTables, err := databricks.GetTables(ctx, &databricks.GetTablesArgs{
    			CatalogName: "sandbox",
    			SchemaName:  "things",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		var thingsGrants []*databricks.Grants
    		for key0, val0 := range thingsTables.Ids {
    			__res, err := databricks.NewGrants(ctx, fmt.Sprintf("thingsGrants-%v", key0), &databricks.GrantsArgs{
    				Table: pulumi.String(val0),
    				Grants: databricks.GrantsGrantArray{
    					&databricks.GrantsGrantArgs{
    						Principal: pulumi.String("sensitive"),
    						Privileges: pulumi.StringArray{
    							pulumi.String("SELECT"),
    							pulumi.String("MODIFY"),
    						},
    					},
    				},
    			})
    			if err != nil {
    				return err
    			}
    			thingsGrants = append(thingsGrants, __res)
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.DatabricksFunctions;
    import com.pulumi.databricks.inputs.GetTablesArgs;
    import com.pulumi.databricks.Grants;
    import com.pulumi.databricks.GrantsArgs;
    import com.pulumi.databricks.inputs.GrantsGrantArgs;
    import com.pulumi.codegen.internal.KeyedValue;
    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) {
            final var thingsTables = DatabricksFunctions.getTables(GetTablesArgs.builder()
                .catalogName("sandbox")
                .schemaName("things")
                .build());
    
            final var thingsGrants = thingsTables.applyValue(getTablesResult -> {
                final var resources = new ArrayList<Grants>();
                for (var range : KeyedValue.of(getTablesResult.ids()) {
                    var resource = new Grants("thingsGrants-" + range.key(), GrantsArgs.builder()                
                        .table(range.value())
                        .grants(GrantsGrantArgs.builder()
                            .principal("sensitive")
                            .privileges(                        
                                "SELECT",
                                "MODIFY")
                            .build())
                        .build());
    
                    resources.add(resource);
                }
    
                return resources;
            });
    
        }
    }
    
    import pulumi
    import pulumi_databricks as databricks
    
    things_tables = databricks.get_tables(catalog_name="sandbox",
        schema_name="things")
    things_grants = []
    for range in [{"key": k, "value": v} for [k, v] in enumerate(things_tables.ids)]:
        things_grants.append(databricks.Grants(f"thingsGrants-{range['key']}",
            table=range["value"],
            grants=[databricks.GrantsGrantArgs(
                principal="sensitive",
                privileges=[
                    "SELECT",
                    "MODIFY",
                ],
            )]))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    export = async () => {
        const thingsTables = await databricks.getTables({
            catalogName: "sandbox",
            schemaName: "things",
        });
        const thingsGrants: databricks.Grants[] = [];
        for (const range of thingsTables.ids.map((v, k) => ({key: k, value: v}))) {
            thingsGrants.push(new databricks.Grants(`thingsGrants-${range.key}`, {
                table: range.value,
                grants: [{
                    principal: "sensitive",
                    privileges: [
                        "SELECT",
                        "MODIFY",
                    ],
                }],
            }));
        }
    }
    
    resources:
      thingsGrants:
        type: databricks:Grants
        properties:
          table: ${range.value}
          grants:
            - principal: sensitive
              privileges:
                - SELECT
                - MODIFY
        options: {}
    variables:
      thingsTables:
        fn::invoke:
          Function: databricks:getTables
          Arguments:
            catalogName: sandbox
            schemaName: things
    

    Using getTables

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getTables(args: GetTablesArgs, opts?: InvokeOptions): Promise<GetTablesResult>
    function getTablesOutput(args: GetTablesOutputArgs, opts?: InvokeOptions): Output<GetTablesResult>
    def get_tables(catalog_name: Optional[str] = None,
                   ids: Optional[Sequence[str]] = None,
                   schema_name: Optional[str] = None,
                   opts: Optional[InvokeOptions] = None) -> GetTablesResult
    def get_tables_output(catalog_name: Optional[pulumi.Input[str]] = None,
                   ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                   schema_name: Optional[pulumi.Input[str]] = None,
                   opts: Optional[InvokeOptions] = None) -> Output[GetTablesResult]
    func GetTables(ctx *Context, args *GetTablesArgs, opts ...InvokeOption) (*GetTablesResult, error)
    func GetTablesOutput(ctx *Context, args *GetTablesOutputArgs, opts ...InvokeOption) GetTablesResultOutput

    > Note: This function is named GetTables in the Go SDK.

    public static class GetTables 
    {
        public static Task<GetTablesResult> InvokeAsync(GetTablesArgs args, InvokeOptions? opts = null)
        public static Output<GetTablesResult> Invoke(GetTablesInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetTablesResult> getTables(GetTablesArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: databricks:index/getTables:getTables
      arguments:
        # arguments dictionary

    The following arguments are supported:

    CatalogName string
    Name of databricks_catalog
    SchemaName string
    Name of databricks_schema
    Ids List<string>
    set of databricks.Table full names: catalog.schema.table
    CatalogName string
    Name of databricks_catalog
    SchemaName string
    Name of databricks_schema
    Ids []string
    set of databricks.Table full names: catalog.schema.table
    catalogName String
    Name of databricks_catalog
    schemaName String
    Name of databricks_schema
    ids List<String>
    set of databricks.Table full names: catalog.schema.table
    catalogName string
    Name of databricks_catalog
    schemaName string
    Name of databricks_schema
    ids string[]
    set of databricks.Table full names: catalog.schema.table
    catalog_name str
    Name of databricks_catalog
    schema_name str
    Name of databricks_schema
    ids Sequence[str]
    set of databricks.Table full names: catalog.schema.table
    catalogName String
    Name of databricks_catalog
    schemaName String
    Name of databricks_schema
    ids List<String>
    set of databricks.Table full names: catalog.schema.table

    getTables Result

    The following output properties are available:

    CatalogName string
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids List<string>
    set of databricks.Table full names: catalog.schema.table
    SchemaName string
    CatalogName string
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    set of databricks.Table full names: catalog.schema.table
    SchemaName string
    catalogName String
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    set of databricks.Table full names: catalog.schema.table
    schemaName String
    catalogName string
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    set of databricks.Table full names: catalog.schema.table
    schemaName string
    catalog_name str
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    set of databricks.Table full names: catalog.schema.table
    schema_name str
    catalogName String
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    set of databricks.Table full names: catalog.schema.table
    schemaName String

    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.34.0 published on Tuesday, Mar 5, 2024 by Pulumi