1. Packages
  2. Snowflake Provider
  3. API Docs
  4. ProcedureJavascript
Snowflake v2.12.0 published on Friday, Feb 13, 2026 by Pulumi
snowflake logo
Snowflake v2.12.0 published on Friday, Feb 13, 2026 by Pulumi

    !> Caution: Preview Feature This feature is considered a preview feature in the provider, regardless of the state of the resource in Snowflake. We do not guarantee its stability. It will be reworked and marked as a stable feature in future releases. Breaking changes are expected, even without bumping the major version. To use this feature, add the relevant feature name to preview_features_enabled field in the provider configuration. Please always refer to the Getting Help section in our Github repo to best determine how to get help for your questions.

    !> Sensitive values This resource’s procedure_definition and show_output.arguments_raw fields are not marked as sensitive in the provider. Ensure that no personal data, sensitive data, export-controlled data, or other regulated data is entered as metadata when using the provider. If you use one of these fields, they may be present in logs, so ensure that the provider logs are properly restricted. For more information, see Sensitive values limitations and Metadata fields in Snowflake.

    Note External changes to is_secure and null_input_behavior are not currently supported. They will be handled in the following versions of the provider which may still affect this resource.

    Note COPY GRANTS and OR REPLACE are not currently supported.

    Note RETURN... [[ NOT ] NULL] is not currently supported. It will be improved in the following versions of the provider which may still affect this resource.

    Note Use of return type TABLE is currently limited. It will be improved in the following versions of the provider which may still affect this resource.

    Note Snowflake is not returning full data type information for arguments which may lead to unexpected plan outputs. Diff suppression for such cases will be improved.

    Note Snowflake is not returning the default values for arguments so argument’s arg_default_value external changes cannot be tracked.

    Note Limit the use of special characters (., ', /, ", (, ), [, ], {, }, ) in argument names, stage ids, and secret ids. It’s best to limit to only alphanumeric and underscores. There is a lot of parsing of SHOW/DESCRIBE outputs involved and using special characters may limit the possibility to achieve the correct results.

    Required warehouse This resource may require active warehouse. Please, make sure you have either set a DEFAULT_WAREHOUSE for the user, or specified a warehouse in the provider configuration.

    Resource used to manage javascript procedure objects. For more information, check procedure documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    
    // basic
    const basic = new snowflake.ProcedureJavascript("basic", {
        database: "Database",
        schema: "Schema",
        name: "Name",
        arguments: [{
            argDataType: "VARCHAR(100)",
            argName: "x",
        }],
        returnType: "VARCHAR(100)",
        procedureDefinition: `  if (x == 0) {
        return 1;
      } else {
        return 2;
      }
    `,
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # basic
    basic = snowflake.ProcedureJavascript("basic",
        database="Database",
        schema="Schema",
        name="Name",
        arguments=[{
            "arg_data_type": "VARCHAR(100)",
            "arg_name": "x",
        }],
        return_type="VARCHAR(100)",
        procedure_definition="""  if (x == 0) {
        return 1;
      } else {
        return 2;
      }
    """)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-snowflake/sdk/v2/go/snowflake"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// basic
    		_, err := snowflake.NewProcedureJavascript(ctx, "basic", &snowflake.ProcedureJavascriptArgs{
    			Database: pulumi.String("Database"),
    			Schema:   pulumi.String("Schema"),
    			Name:     pulumi.String("Name"),
    			Arguments: snowflake.ProcedureJavascriptArgumentArray{
    				&snowflake.ProcedureJavascriptArgumentArgs{
    					ArgDataType: pulumi.String("VARCHAR(100)"),
    					ArgName:     pulumi.String("x"),
    				},
    			},
    			ReturnType: pulumi.String("VARCHAR(100)"),
    			ProcedureDefinition: pulumi.String(`  if (x == 0) {
        return 1;
      } else {
        return 2;
      }
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        // basic
        var basic = new Snowflake.ProcedureJavascript("basic", new()
        {
            Database = "Database",
            Schema = "Schema",
            Name = "Name",
            Arguments = new[]
            {
                new Snowflake.Inputs.ProcedureJavascriptArgumentArgs
                {
                    ArgDataType = "VARCHAR(100)",
                    ArgName = "x",
                },
            },
            ReturnType = "VARCHAR(100)",
            ProcedureDefinition = @"  if (x == 0) {
        return 1;
      } else {
        return 2;
      }
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.ProcedureJavascript;
    import com.pulumi.snowflake.ProcedureJavascriptArgs;
    import com.pulumi.snowflake.inputs.ProcedureJavascriptArgumentArgs;
    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) {
            // basic
            var basic = new ProcedureJavascript("basic", ProcedureJavascriptArgs.builder()
                .database("Database")
                .schema("Schema")
                .name("Name")
                .arguments(ProcedureJavascriptArgumentArgs.builder()
                    .argDataType("VARCHAR(100)")
                    .argName("x")
                    .build())
                .returnType("VARCHAR(100)")
                .procedureDefinition("""
      if (x == 0) {
        return 1;
      } else {
        return 2;
      }
                """)
                .build());
    
        }
    }
    
    resources:
      # basic
      basic:
        type: snowflake:ProcedureJavascript
        properties:
          database: Database
          schema: Schema
          name: Name
          arguments:
            - argDataType: VARCHAR(100)
              argName: x
          returnType: VARCHAR(100)
          procedureDefinition: |2
              if (x == 0) {
                return 1;
              } else {
                return 2;
              }
    

    Note Instead of using fully_qualified_name, you can reference objects managed outside Terraform by constructing a correct ID, consult identifiers guide.

    Note If a field has a default value, it is shown next to the type in the schema.

    Create ProcedureJavascript Resource

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

    Constructor syntax

    new ProcedureJavascript(name: string, args: ProcedureJavascriptArgs, opts?: CustomResourceOptions);
    @overload
    def ProcedureJavascript(resource_name: str,
                            args: ProcedureJavascriptArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def ProcedureJavascript(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            procedure_definition: Optional[str] = None,
                            schema: Optional[str] = None,
                            database: Optional[str] = None,
                            return_type: Optional[str] = None,
                            log_level: Optional[str] = None,
                            is_secure: Optional[str] = None,
                            arguments: Optional[Sequence[ProcedureJavascriptArgumentArgs]] = None,
                            metric_level: Optional[str] = None,
                            name: Optional[str] = None,
                            null_input_behavior: Optional[str] = None,
                            execute_as: Optional[str] = None,
                            enable_console_output: Optional[bool] = None,
                            comment: Optional[str] = None,
                            trace_level: Optional[str] = None)
    func NewProcedureJavascript(ctx *Context, name string, args ProcedureJavascriptArgs, opts ...ResourceOption) (*ProcedureJavascript, error)
    public ProcedureJavascript(string name, ProcedureJavascriptArgs args, CustomResourceOptions? opts = null)
    public ProcedureJavascript(String name, ProcedureJavascriptArgs args)
    public ProcedureJavascript(String name, ProcedureJavascriptArgs args, CustomResourceOptions options)
    
    type: snowflake:ProcedureJavascript
    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 ProcedureJavascriptArgs
    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 ProcedureJavascriptArgs
    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 ProcedureJavascriptArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProcedureJavascriptArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProcedureJavascriptArgs
    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 procedureJavascriptResource = new Snowflake.ProcedureJavascript("procedureJavascriptResource", new()
    {
        ProcedureDefinition = "string",
        Schema = "string",
        Database = "string",
        ReturnType = "string",
        LogLevel = "string",
        IsSecure = "string",
        Arguments = new[]
        {
            new Snowflake.Inputs.ProcedureJavascriptArgumentArgs
            {
                ArgDataType = "string",
                ArgName = "string",
                ArgDefaultValue = "string",
            },
        },
        MetricLevel = "string",
        Name = "string",
        NullInputBehavior = "string",
        ExecuteAs = "string",
        EnableConsoleOutput = false,
        Comment = "string",
        TraceLevel = "string",
    });
    
    example, err := snowflake.NewProcedureJavascript(ctx, "procedureJavascriptResource", &snowflake.ProcedureJavascriptArgs{
    	ProcedureDefinition: pulumi.String("string"),
    	Schema:              pulumi.String("string"),
    	Database:            pulumi.String("string"),
    	ReturnType:          pulumi.String("string"),
    	LogLevel:            pulumi.String("string"),
    	IsSecure:            pulumi.String("string"),
    	Arguments: snowflake.ProcedureJavascriptArgumentArray{
    		&snowflake.ProcedureJavascriptArgumentArgs{
    			ArgDataType:     pulumi.String("string"),
    			ArgName:         pulumi.String("string"),
    			ArgDefaultValue: pulumi.String("string"),
    		},
    	},
    	MetricLevel:         pulumi.String("string"),
    	Name:                pulumi.String("string"),
    	NullInputBehavior:   pulumi.String("string"),
    	ExecuteAs:           pulumi.String("string"),
    	EnableConsoleOutput: pulumi.Bool(false),
    	Comment:             pulumi.String("string"),
    	TraceLevel:          pulumi.String("string"),
    })
    
    var procedureJavascriptResource = new ProcedureJavascript("procedureJavascriptResource", ProcedureJavascriptArgs.builder()
        .procedureDefinition("string")
        .schema("string")
        .database("string")
        .returnType("string")
        .logLevel("string")
        .isSecure("string")
        .arguments(ProcedureJavascriptArgumentArgs.builder()
            .argDataType("string")
            .argName("string")
            .argDefaultValue("string")
            .build())
        .metricLevel("string")
        .name("string")
        .nullInputBehavior("string")
        .executeAs("string")
        .enableConsoleOutput(false)
        .comment("string")
        .traceLevel("string")
        .build());
    
    procedure_javascript_resource = snowflake.ProcedureJavascript("procedureJavascriptResource",
        procedure_definition="string",
        schema="string",
        database="string",
        return_type="string",
        log_level="string",
        is_secure="string",
        arguments=[{
            "arg_data_type": "string",
            "arg_name": "string",
            "arg_default_value": "string",
        }],
        metric_level="string",
        name="string",
        null_input_behavior="string",
        execute_as="string",
        enable_console_output=False,
        comment="string",
        trace_level="string")
    
    const procedureJavascriptResource = new snowflake.ProcedureJavascript("procedureJavascriptResource", {
        procedureDefinition: "string",
        schema: "string",
        database: "string",
        returnType: "string",
        logLevel: "string",
        isSecure: "string",
        arguments: [{
            argDataType: "string",
            argName: "string",
            argDefaultValue: "string",
        }],
        metricLevel: "string",
        name: "string",
        nullInputBehavior: "string",
        executeAs: "string",
        enableConsoleOutput: false,
        comment: "string",
        traceLevel: "string",
    });
    
    type: snowflake:ProcedureJavascript
    properties:
        arguments:
            - argDataType: string
              argDefaultValue: string
              argName: string
        comment: string
        database: string
        enableConsoleOutput: false
        executeAs: string
        isSecure: string
        logLevel: string
        metricLevel: string
        name: string
        nullInputBehavior: string
        procedureDefinition: string
        returnType: string
        schema: string
        traceLevel: string
    

    ProcedureJavascript 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 ProcedureJavascript resource accepts the following input properties:

    Database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ProcedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    ReturnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    Schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Arguments List<ProcedureJavascriptArgument>
    List of the arguments for the procedure. Consult the docs for more details.
    Comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExecuteAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    LogLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    MetricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    Name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    Database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ProcedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    ReturnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    Schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Arguments []ProcedureJavascriptArgumentArgs
    List of the arguments for the procedure. Consult the docs for more details.
    Comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExecuteAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    LogLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    MetricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    Name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    database String
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    procedureDefinition String
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    returnType String
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema String
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments List<ProcedureJavascriptArgument>
    List of the arguments for the procedure. Consult the docs for more details.
    comment String
    (Default: user-defined procedure) Specifies a comment for the procedure.
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs String
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel String
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel String
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name String
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    procedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    returnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments ProcedureJavascriptArgument[]
    List of the arguments for the procedure. Consult the docs for more details.
    comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    enableConsoleOutput boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    isSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    traceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    database str
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    procedure_definition str
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    return_type str
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema str
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments Sequence[ProcedureJavascriptArgumentArgs]
    List of the arguments for the procedure. Consult the docs for more details.
    comment str
    (Default: user-defined procedure) Specifies a comment for the procedure.
    enable_console_output bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    execute_as str
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    is_secure str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    log_level str
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metric_level str
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name str
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    null_input_behavior str
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    trace_level str
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    database String
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    procedureDefinition String
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    returnType String
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema String
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments List<Property Map>
    List of the arguments for the procedure. Consult the docs for more details.
    comment String
    (Default: user-defined procedure) Specifies a comment for the procedure.
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs String
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel String
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel String
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name String
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.

    Outputs

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

    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    Parameters List<ProcedureJavascriptParameter>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    ProcedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    ShowOutputs List<ProcedureJavascriptShowOutput>
    Outputs the result of SHOW PROCEDURE for the given procedure.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    Parameters []ProcedureJavascriptParameter
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    ProcedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    ShowOutputs []ProcedureJavascriptShowOutput
    Outputs the result of SHOW PROCEDURE for the given procedure.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    parameters List<ProcedureJavascriptParameter>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureLanguage String
    Specifies language for the procedure. Used to detect external changes.
    showOutputs List<ProcedureJavascriptShowOutput>
    Outputs the result of SHOW PROCEDURE for the given procedure.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    id string
    The provider-assigned unique ID for this managed resource.
    parameters ProcedureJavascriptParameter[]
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    showOutputs ProcedureJavascriptShowOutput[]
    Outputs the result of SHOW PROCEDURE for the given procedure.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    id str
    The provider-assigned unique ID for this managed resource.
    parameters Sequence[ProcedureJavascriptParameter]
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedure_language str
    Specifies language for the procedure. Used to detect external changes.
    show_outputs Sequence[ProcedureJavascriptShowOutput]
    Outputs the result of SHOW PROCEDURE for the given procedure.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    parameters List<Property Map>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureLanguage String
    Specifies language for the procedure. Used to detect external changes.
    showOutputs List<Property Map>
    Outputs the result of SHOW PROCEDURE for the given procedure.

    Look up Existing ProcedureJavascript Resource

    Get an existing ProcedureJavascript 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?: ProcedureJavascriptState, opts?: CustomResourceOptions): ProcedureJavascript
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arguments: Optional[Sequence[ProcedureJavascriptArgumentArgs]] = None,
            comment: Optional[str] = None,
            database: Optional[str] = None,
            enable_console_output: Optional[bool] = None,
            execute_as: Optional[str] = None,
            fully_qualified_name: Optional[str] = None,
            is_secure: Optional[str] = None,
            log_level: Optional[str] = None,
            metric_level: Optional[str] = None,
            name: Optional[str] = None,
            null_input_behavior: Optional[str] = None,
            parameters: Optional[Sequence[ProcedureJavascriptParameterArgs]] = None,
            procedure_definition: Optional[str] = None,
            procedure_language: Optional[str] = None,
            return_type: Optional[str] = None,
            schema: Optional[str] = None,
            show_outputs: Optional[Sequence[ProcedureJavascriptShowOutputArgs]] = None,
            trace_level: Optional[str] = None) -> ProcedureJavascript
    func GetProcedureJavascript(ctx *Context, name string, id IDInput, state *ProcedureJavascriptState, opts ...ResourceOption) (*ProcedureJavascript, error)
    public static ProcedureJavascript Get(string name, Input<string> id, ProcedureJavascriptState? state, CustomResourceOptions? opts = null)
    public static ProcedureJavascript get(String name, Output<String> id, ProcedureJavascriptState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:ProcedureJavascript    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:
    Arguments List<ProcedureJavascriptArgument>
    List of the arguments for the procedure. Consult the docs for more details.
    Comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    Database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExecuteAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    LogLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    MetricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    Name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Parameters List<ProcedureJavascriptParameter>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    ProcedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    ProcedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    ReturnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    Schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs List<ProcedureJavascriptShowOutput>
    Outputs the result of SHOW PROCEDURE for the given procedure.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    Arguments []ProcedureJavascriptArgumentArgs
    List of the arguments for the procedure. Consult the docs for more details.
    Comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    Database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExecuteAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    LogLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    MetricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    Name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Parameters []ProcedureJavascriptParameterArgs
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    ProcedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    ProcedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    ReturnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    Schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs []ProcedureJavascriptShowOutputArgs
    Outputs the result of SHOW PROCEDURE for the given procedure.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments List<ProcedureJavascriptArgument>
    List of the arguments for the procedure. Consult the docs for more details.
    comment String
    (Default: user-defined procedure) Specifies a comment for the procedure.
    database String
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs String
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel String
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel String
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name String
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    parameters List<ProcedureJavascriptParameter>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureDefinition String
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    procedureLanguage String
    Specifies language for the procedure. Used to detect external changes.
    returnType String
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema String
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<ProcedureJavascriptShowOutput>
    Outputs the result of SHOW PROCEDURE for the given procedure.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments ProcedureJavascriptArgument[]
    List of the arguments for the procedure. Consult the docs for more details.
    comment string
    (Default: user-defined procedure) Specifies a comment for the procedure.
    database string
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs string
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    isSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel string
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel string
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name string
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior string
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    parameters ProcedureJavascriptParameter[]
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureDefinition string
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    procedureLanguage string
    Specifies language for the procedure. Used to detect external changes.
    returnType string
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema string
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs ProcedureJavascriptShowOutput[]
    Outputs the result of SHOW PROCEDURE for the given procedure.
    traceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments Sequence[ProcedureJavascriptArgumentArgs]
    List of the arguments for the procedure. Consult the docs for more details.
    comment str
    (Default: user-defined procedure) Specifies a comment for the procedure.
    database str
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enable_console_output bool
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    execute_as str
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    is_secure str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    log_level str
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metric_level str
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name str
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    null_input_behavior str
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    parameters Sequence[ProcedureJavascriptParameterArgs]
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedure_definition str
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    procedure_language str
    Specifies language for the procedure. Used to detect external changes.
    return_type str
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema str
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs Sequence[ProcedureJavascriptShowOutputArgs]
    Outputs the result of SHOW PROCEDURE for the given procedure.
    trace_level str
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments List<Property Map>
    List of the arguments for the procedure. Consult the docs for more details.
    comment String
    (Default: user-defined procedure) Specifies a comment for the procedure.
    database String
    The database in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonyous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    executeAs String
    Specifies whether the stored procedure executes with the privileges of the owner (an “owner’s rights” stored procedure) or with the privileges of the caller (a “caller’s rights” stored procedure). If you execute the statement CREATE PROCEDURE … EXECUTE AS CALLER, then in the future the procedure will execute as a caller’s rights procedure. If you execute CREATE PROCEDURE … EXECUTE AS OWNER, then the procedure will execute as an owner’s rights procedure. For more information, see Understanding caller’s rights and owner’s rights stored procedures. Valid values are (case-insensitive): CALLER | OWNER.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the procedure is secure. For more information about secure procedures, see Protecting Sensitive Information with Secure UDFs and Stored Procedures. Available options are: "true" or "false". When the value is not set in the configuration the provider will put "default" there which means to use the Snowflake default for this value.
    logLevel String
    LOG*LEVEL to use when filtering events For more information, check LOG*LEVEL docs.
    metricLevel String
    METRIC*LEVEL value to control whether to emit metrics to Event Table For more information, check METRIC*LEVEL docs.
    name String
    The name of the procedure; the identifier does not need to be unique for the schema in which the procedure is created because stored procedures are identified and resolved by the combination of the name and argument types. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the procedure when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    parameters List<Property Map>
    Outputs the result of SHOW PARAMETERS IN PROCEDURE for the given procedure.
    procedureDefinition String
    Defines the code executed by the stored procedure. The definition can consist of any valid code. Wrapping $$ signs are added by the provider automatically; do not include them. The procedure_definition value must be JavaScript source code. For more information, see JavaScript. To mitigate permadiff on this field, the provider replaces blank characters with a space. This can lead to false positives in cases where a change in case or run of whitespace is semantically significant.
    procedureLanguage String
    Specifies language for the procedure. Used to detect external changes.
    returnType String
    Specifies the type of the result returned by the stored procedure. For <result_data_type>, use the Snowflake data type that corresponds to the type of the language that you are using (see SQL and JavaScript data type mapping). For RETURNS TABLE ( [<span pulumi-lang-nodejs=" colName " pulumi-lang-dotnet=" ColName " pulumi-lang-go=" colName " pulumi-lang-python=" col_name " pulumi-lang-yaml=" colName " pulumi-lang-java=" colName "> col_name </span>col_data_type [ , ... ] ] ), if you know the Snowflake data types of the columns in the returned table, specify the column names and types. Otherwise (e.g. if you are determining the column types during run time), you can omit the column names and types (i.e. TABLE ()).
    schema String
    The schema in which to create the procedure. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<Property Map>
    Outputs the result of SHOW PROCEDURE for the given procedure.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.

    Supporting Types

    ProcedureJavascriptArgument, ProcedureJavascriptArgumentArgs

    ArgDataType string
    The argument type.
    ArgName string
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    ArgDefaultValue string
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    ArgDataType string
    The argument type.
    ArgName string
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    ArgDefaultValue string
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    argDataType String
    The argument type.
    argName String
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    argDefaultValue String
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    argDataType string
    The argument type.
    argName string
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    argDefaultValue string
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    arg_data_type str
    The argument type.
    arg_name str
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    arg_default_value str
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".
    argDataType String
    The argument type.
    argName String
    The argument name. The provider wraps it in double quotes by default, so be aware of that while referencing the argument in the procedure definition.
    argDefaultValue String
    Optional default value for the argument. For text values use single quotes. Numeric values can be unquoted. External changes for this field won't be detected. In case you want to apply external changes, you can re-create the resource manually using "terraform taint".

    ProcedureJavascriptParameter, ProcedureJavascriptParameterArgs

    ProcedureJavascriptParameterEnableConsoleOutput, ProcedureJavascriptParameterEnableConsoleOutputArgs

    Default string
    Description string
    Key string
    Level string
    Value string
    Default string
    Description string
    Key string
    Level string
    Value string
    default_ String
    description String
    key String
    level String
    value String
    default string
    description string
    key string
    level string
    value string
    default String
    description String
    key String
    level String
    value String

    ProcedureJavascriptParameterLogLevel, ProcedureJavascriptParameterLogLevelArgs

    Default string
    Description string
    Key string
    Level string
    Value string
    Default string
    Description string
    Key string
    Level string
    Value string
    default_ String
    description String
    key String
    level String
    value String
    default string
    description string
    key string
    level string
    value string
    default String
    description String
    key String
    level String
    value String

    ProcedureJavascriptParameterMetricLevel, ProcedureJavascriptParameterMetricLevelArgs

    Default string
    Description string
    Key string
    Level string
    Value string
    Default string
    Description string
    Key string
    Level string
    Value string
    default_ String
    description String
    key String
    level String
    value String
    default string
    description string
    key string
    level string
    value string
    default String
    description String
    key String
    level String
    value String

    ProcedureJavascriptParameterTraceLevel, ProcedureJavascriptParameterTraceLevelArgs

    Default string
    Description string
    Key string
    Level string
    Value string
    Default string
    Description string
    Key string
    Level string
    Value string
    default_ String
    description String
    key String
    level String
    value String
    default string
    description string
    key string
    level string
    value string
    default String
    description String
    key String
    level String
    value String

    ProcedureJavascriptShowOutput, ProcedureJavascriptShowOutputArgs

    Import

    terraform import snowflake_procedure_javascript.example '"<database_name>"."<schema_name>"."<function_name>"(varchar, varchar, varchar)'
    

    Note: Snowflake is not returning all information needed to populate the state correctly after import (e.g. data types with attributes like NUMBER(32, 10) are returned as NUMBER, default values for arguments are not returned at all). Also, ALTER for functions is very limited so most of the attributes on this resource are marked as force new. Because of that, in multiple situations plan won’t be empty after importing and manual state operations may be required.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

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