1. Packages
  2. Packages
  3. Databricks Provider
  4. API Docs
  5. getSecretUcs
Viewing docs for Databricks v1.101.0
published on Thursday, Jul 30, 2026 by Pulumi
databricks logo
Viewing docs for Databricks v1.101.0
published on Thursday, Jul 30, 2026 by Pulumi

    Public Preview

    API Documentation

    The Secrets data source allows you to list secrets in Unity Catalog within a given catalog and schema.

    This returns the metadata of the secrets the calling principal is allowed to see. Secret values are not returned when listing.

    Example Usage

    Basic Example

    This example lists the secrets in a given catalog and schema:

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    const all = databricks.getSecretUcs({
        catalogName: "my_catalog",
        schemaName: "my_schema",
    });
    
    import pulumi
    import pulumi_databricks as databricks
    
    all = databricks.get_secret_ucs(catalog_name="my_catalog",
        schema_name="my_schema")
    
    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.GetSecretUcs(ctx, &databricks.GetSecretUcsArgs{
    			CatalogName: pulumi.StringRef("my_catalog"),
    			SchemaName:  pulumi.StringRef("my_schema"),
    		}, nil)
    		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 all = Databricks.GetSecretUcs.Invoke(new()
        {
            CatalogName = "my_catalog",
            SchemaName = "my_schema",
        });
    
    });
    
    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.GetSecretUcsArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 all = DatabricksFunctions.getSecretUcs(GetSecretUcsArgs.builder()
                .catalogName("my_catalog")
                .schemaName("my_schema")
                .build());
    
        }
    }
    
    variables:
      all:
        fn::invoke:
          function: databricks:getSecretUcs
          arguments:
            catalogName: my_catalog
            schemaName: my_schema
    
    pulumi {
      required_providers {
        databricks = {
          source = "pulumi/databricks"
        }
      }
    }
    
    data "databricks_getsecretucs" "all" {
      catalog_name = "my_catalog"
      schema_name  = "my_schema"
    }
    

    Using getSecretUcs

    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 getSecretUcs(args: GetSecretUcsArgs, opts?: InvokeOptions): Promise<GetSecretUcsResult>
    function getSecretUcsOutput(args: GetSecretUcsOutputArgs, opts?: InvokeOptions): Output<GetSecretUcsResult>
    def get_secret_ucs(catalog_name: Optional[str] = None,
                       page_size: Optional[int] = None,
                       provider_config: Optional[GetSecretUcsProviderConfig] = None,
                       schema_name: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetSecretUcsResult
    def get_secret_ucs_output(catalog_name: pulumi.Input[Optional[str]] = None,
                       page_size: pulumi.Input[Optional[int]] = None,
                       provider_config: pulumi.Input[Optional[GetSecretUcsProviderConfigArgs]] = None,
                       schema_name: pulumi.Input[Optional[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetSecretUcsResult]
    func GetSecretUcs(ctx *Context, args *GetSecretUcsArgs, opts ...InvokeOption) (*GetSecretUcsResult, error)
    func GetSecretUcsOutput(ctx *Context, args *GetSecretUcsOutputArgs, opts ...InvokeOption) GetSecretUcsResultOutput

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

    public static class GetSecretUcs 
    {
        public static Task<GetSecretUcsResult> InvokeAsync(GetSecretUcsArgs args, InvokeOptions? opts = null)
        public static Output<GetSecretUcsResult> Invoke(GetSecretUcsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetSecretUcsResult> getSecretUcs(GetSecretUcsArgs args, InvokeOptions options)
    public static Output<GetSecretUcsResult> getSecretUcs(GetSecretUcsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: databricks:index/getSecretUcs:getSecretUcs
      arguments:
        # arguments dictionary
    data "databricks_get_secret_ucs" "name" {
        # arguments
    }

    The following arguments are supported:

    CatalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    PageSize int
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    ProviderConfig GetSecretUcsProviderConfig
    Configure the provider for management through account provider.
    SchemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    CatalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    PageSize int
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    ProviderConfig GetSecretUcsProviderConfig
    Configure the provider for management through account provider.
    SchemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    catalog_name string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    page_size number
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    provider_config object
    Configure the provider for management through account provider.
    schema_name string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    catalogName String
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    pageSize Integer
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    providerConfig GetSecretUcsProviderConfig
    Configure the provider for management through account provider.
    schemaName String
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    catalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    pageSize number
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    providerConfig GetSecretUcsProviderConfig
    Configure the provider for management through account provider.
    schemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    catalog_name str
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    page_size int
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    provider_config GetSecretUcsProviderConfig
    Configure the provider for management through account provider.
    schema_name str
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    catalogName String
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    pageSize Number
    Maximum number of secrets to return.

    • If not specified, at most 1000 secrets are returned.
    • If set to a value greater than 0, the page length is the minimum of this value and 1000.
    • If set to 0, the page length is set to 1000.
    • If set to a value less than 0, an invalid parameter error is returned
    providerConfig Property Map
    Configure the provider for management through account provider.
    schemaName String
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together

    getSecretUcs Result

    The following output properties are available:

    Secrets List<GetSecretUcsSecret>
    CatalogName string
    (string) - The name of the catalog where the schema and the secret reside
    PageSize int
    ProviderConfig GetSecretUcsProviderConfig
    SchemaName string
    (string) - The name of the schema where the secret resides
    Secrets []GetSecretUcsSecret
    CatalogName string
    (string) - The name of the catalog where the schema and the secret reside
    PageSize int
    ProviderConfig GetSecretUcsProviderConfig
    SchemaName string
    (string) - The name of the schema where the secret resides
    secrets list(object)
    catalog_name string
    (string) - The name of the catalog where the schema and the secret reside
    page_size number
    provider_config object
    schema_name string
    (string) - The name of the schema where the secret resides
    secrets List<GetSecretUcsSecret>
    catalogName String
    (string) - The name of the catalog where the schema and the secret reside
    pageSize Integer
    providerConfig GetSecretUcsProviderConfig
    schemaName String
    (string) - The name of the schema where the secret resides
    secrets GetSecretUcsSecret[]
    catalogName string
    (string) - The name of the catalog where the schema and the secret reside
    pageSize number
    providerConfig GetSecretUcsProviderConfig
    schemaName string
    (string) - The name of the schema where the secret resides
    secrets Sequence[GetSecretUcsSecret]
    catalog_name str
    (string) - The name of the catalog where the schema and the secret reside
    page_size int
    provider_config GetSecretUcsProviderConfig
    schema_name str
    (string) - The name of the schema where the secret resides
    secrets List<Property Map>
    catalogName String
    (string) - The name of the catalog where the schema and the secret reside
    pageSize Number
    providerConfig Property Map
    schemaName String
    (string) - The name of the schema where the secret resides

    Supporting Types

    GetSecretUcsProviderConfig

    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 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.

    GetSecretUcsSecret

    CatalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    Comment string
    (string) - User-provided free-form text description of the secret
    CreateTime string
    (string) - The time at which this secret was created
    CreatedBy string
    (string) - The principal that created the secret
    EffectiveOwner string
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    EffectiveValue string
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    ExpireTime string
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    FullName string
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    MetastoreId string
    (string) - Unique identifier of the metastore hosting the secret
    Name string
    (string) - The name of the secret, relative to its parent schema
    Owner string
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    SchemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    UpdateTime string
    (string) - The time at which this secret was last updated
    UpdatedBy string
    (string) - The principal that last updated the secret
    Value string
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    ProviderConfig GetSecretUcsSecretProviderConfig
    Configure the provider for management through account provider.
    CatalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    Comment string
    (string) - User-provided free-form text description of the secret
    CreateTime string
    (string) - The time at which this secret was created
    CreatedBy string
    (string) - The principal that created the secret
    EffectiveOwner string
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    EffectiveValue string
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    ExpireTime string
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    FullName string
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    MetastoreId string
    (string) - Unique identifier of the metastore hosting the secret
    Name string
    (string) - The name of the secret, relative to its parent schema
    Owner string
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    SchemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    UpdateTime string
    (string) - The time at which this secret was last updated
    UpdatedBy string
    (string) - The principal that last updated the secret
    Value string
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    ProviderConfig GetSecretUcsSecretProviderConfig
    Configure the provider for management through account provider.
    catalog_name string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    comment string
    (string) - User-provided free-form text description of the secret
    create_time string
    (string) - The time at which this secret was created
    created_by string
    (string) - The principal that created the secret
    effective_owner string
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    effective_value string
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    expire_time string
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    full_name string
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    metastore_id string
    (string) - Unique identifier of the metastore hosting the secret
    name string
    (string) - The name of the secret, relative to its parent schema
    owner string
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    schema_name string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    update_time string
    (string) - The time at which this secret was last updated
    updated_by string
    (string) - The principal that last updated the secret
    value string
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    provider_config object
    Configure the provider for management through account provider.
    catalogName String
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    comment String
    (string) - User-provided free-form text description of the secret
    createTime String
    (string) - The time at which this secret was created
    createdBy String
    (string) - The principal that created the secret
    effectiveOwner String
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    effectiveValue String
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    expireTime String
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    fullName String
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    metastoreId String
    (string) - Unique identifier of the metastore hosting the secret
    name String
    (string) - The name of the secret, relative to its parent schema
    owner String
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    schemaName String
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    updateTime String
    (string) - The time at which this secret was last updated
    updatedBy String
    (string) - The principal that last updated the secret
    value String
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    providerConfig GetSecretUcsSecretProviderConfig
    Configure the provider for management through account provider.
    catalogName string
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    comment string
    (string) - User-provided free-form text description of the secret
    createTime string
    (string) - The time at which this secret was created
    createdBy string
    (string) - The principal that created the secret
    effectiveOwner string
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    effectiveValue string
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    expireTime string
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    fullName string
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    metastoreId string
    (string) - Unique identifier of the metastore hosting the secret
    name string
    (string) - The name of the secret, relative to its parent schema
    owner string
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    schemaName string
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    updateTime string
    (string) - The time at which this secret was last updated
    updatedBy string
    (string) - The principal that last updated the secret
    value string
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    providerConfig GetSecretUcsSecretProviderConfig
    Configure the provider for management through account provider.
    catalog_name str
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    comment str
    (string) - User-provided free-form text description of the secret
    create_time str
    (string) - The time at which this secret was created
    created_by str
    (string) - The principal that created the secret
    effective_owner str
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    effective_value str
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    expire_time str
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    full_name str
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    metastore_id str
    (string) - Unique identifier of the metastore hosting the secret
    name str
    (string) - The name of the secret, relative to its parent schema
    owner str
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    schema_name str
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    update_time str
    (string) - The time at which this secret was last updated
    updated_by str
    (string) - The principal that last updated the secret
    value str
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    provider_config GetSecretUcsSecretProviderConfig
    Configure the provider for management through account provider.
    catalogName String
    The name of the catalog under which to list secrets. Both catalog_name and schema_name must be specified together
    comment String
    (string) - User-provided free-form text description of the secret
    createTime String
    (string) - The time at which this secret was created
    createdBy String
    (string) - The principal that created the secret
    effectiveOwner String
    (string) - The effective owner of the secret, which may differ from the directly-set owner due to inheritance
    effectiveValue String
    (string) - The secret value. Only populated in responses when you have the READ_SECRET privilege and include_value is set to true in the request. The maximum size is 60 KiB
    expireTime String
    (string) - User-provided expiration time of the secret. This field indicates when the secret should no longer be used and may be displayed as a warning in the UI. It is purely informational and does not trigger any automatic actions or affect the secret's lifecycle
    fullName String
    (string) - The three-level (fully qualified) name of the secret, in the form of catalog_name.schema_name.secret_name
    metastoreId String
    (string) - Unique identifier of the metastore hosting the secret
    name String
    (string) - The name of the secret, relative to its parent schema
    owner String
    (string) - The owner of the secret. Defaults to the creating principal on creation. Can be updated to transfer ownership of the secret to another principal
    schemaName String
    The name of the schema under which to list secrets. Both catalog_name and schema_name must be specified together
    updateTime String
    (string) - The time at which this secret was last updated
    updatedBy String
    (string) - The principal that last updated the secret
    value String
    (string) - The secret value to store. This field is input-only and is not returned in responses — use the effective_value field (via GetSecret with include_value set to true) to read the secret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes passwords, tokens, keys, and other sensitive credential data
    providerConfig Property Map
    Configure the provider for management through account provider.

    GetSecretUcsSecretProviderConfig

    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 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
    Viewing docs for Databricks v1.101.0
    published on Thursday, Jul 30, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial