1. Packages
  2. Snowflake Provider
  3. API Docs
  4. FunctionScala
Snowflake v2.13.0 published on Thursday, Feb 26, 2026 by Pulumi
snowflake logo
Snowflake v2.13.0 published on Thursday, Feb 26, 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 function_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, return_results_behavior, 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 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 scala function objects. For more information, check function documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    
    // Minimal
    const minimal = new snowflake.FunctionScala("minimal", {
        database: test.name,
        schema: testSnowflakeSchema.name,
        name: "my_scala_function",
        arguments: [{
            argDataType: "VARCHAR(100)",
            argName: "x",
        }],
        returnType: "VARCHAR(100)",
        runtimeVersion: "2.12",
        handler: "TestFunc.echoVarchar",
        functionDefinition: `  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    `,
    });
    // Complete
    const complete = new snowflake.FunctionScala("complete", {
        database: test.name,
        schema: testSnowflakeSchema.name,
        name: "my_scala_function",
        isSecure: "false",
        arguments: [{
            argDataType: "VARCHAR(100)",
            argName: "x",
        }],
        comment: "some comment",
        externalAccessIntegrations: [
            "external_access_integration_name",
            "external_access_integration_name_2",
        ],
        functionDefinition: `  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    `,
        handler: "TestFunc.echoVarchar",
        nullInputBehavior: "CALLED ON NULL INPUT",
        returnResultsBehavior: "VOLATILE",
        returnType: "VARCHAR(100)",
        imports: [
            {
                pathOnStage: "jar_name.jar",
                stageLocation: "~",
            },
            {
                pathOnStage: "second_jar_name.jar",
                stageLocation: "~",
            },
        ],
        packages: [
            "com.snowflake:snowpark:1.14.0",
            "com.snowflake:telemetry:0.1.0",
        ],
        runtimeVersion: "2.12",
        secrets: [
            {
                secretId: one.fullyQualifiedName,
                secretVariableName: "abc",
            },
            {
                secretId: two.fullyQualifiedName,
                secretVariableName: "def",
            },
        ],
        targetPath: {
            pathOnStage: "target_jar_name.jar",
            stageLocation: testSnowflakeStage.fullyQualifiedName,
        },
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # Minimal
    minimal = snowflake.FunctionScala("minimal",
        database=test["name"],
        schema=test_snowflake_schema["name"],
        name="my_scala_function",
        arguments=[{
            "arg_data_type": "VARCHAR(100)",
            "arg_name": "x",
        }],
        return_type="VARCHAR(100)",
        runtime_version="2.12",
        handler="TestFunc.echoVarchar",
        function_definition="""  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    """)
    # Complete
    complete = snowflake.FunctionScala("complete",
        database=test["name"],
        schema=test_snowflake_schema["name"],
        name="my_scala_function",
        is_secure="false",
        arguments=[{
            "arg_data_type": "VARCHAR(100)",
            "arg_name": "x",
        }],
        comment="some comment",
        external_access_integrations=[
            "external_access_integration_name",
            "external_access_integration_name_2",
        ],
        function_definition="""  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    """,
        handler="TestFunc.echoVarchar",
        null_input_behavior="CALLED ON NULL INPUT",
        return_results_behavior="VOLATILE",
        return_type="VARCHAR(100)",
        imports=[
            {
                "path_on_stage": "jar_name.jar",
                "stage_location": "~",
            },
            {
                "path_on_stage": "second_jar_name.jar",
                "stage_location": "~",
            },
        ],
        packages=[
            "com.snowflake:snowpark:1.14.0",
            "com.snowflake:telemetry:0.1.0",
        ],
        runtime_version="2.12",
        secrets=[
            {
                "secret_id": one["fullyQualifiedName"],
                "secret_variable_name": "abc",
            },
            {
                "secret_id": two["fullyQualifiedName"],
                "secret_variable_name": "def",
            },
        ],
        target_path={
            "path_on_stage": "target_jar_name.jar",
            "stage_location": test_snowflake_stage["fullyQualifiedName"],
        })
    
    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 {
    		// Minimal
    		_, err := snowflake.NewFunctionScala(ctx, "minimal", &snowflake.FunctionScalaArgs{
    			Database: pulumi.Any(test.Name),
    			Schema:   pulumi.Any(testSnowflakeSchema.Name),
    			Name:     pulumi.String("my_scala_function"),
    			Arguments: snowflake.FunctionScalaArgumentArray{
    				&snowflake.FunctionScalaArgumentArgs{
    					ArgDataType: pulumi.String("VARCHAR(100)"),
    					ArgName:     pulumi.String("x"),
    				},
    			},
    			ReturnType:     pulumi.String("VARCHAR(100)"),
    			RuntimeVersion: pulumi.String("2.12"),
    			Handler:        pulumi.String("TestFunc.echoVarchar"),
    			FunctionDefinition: pulumi.String(`  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    `),
    		})
    		if err != nil {
    			return err
    		}
    		// Complete
    		_, err = snowflake.NewFunctionScala(ctx, "complete", &snowflake.FunctionScalaArgs{
    			Database: pulumi.Any(test.Name),
    			Schema:   pulumi.Any(testSnowflakeSchema.Name),
    			Name:     pulumi.String("my_scala_function"),
    			IsSecure: pulumi.String("false"),
    			Arguments: snowflake.FunctionScalaArgumentArray{
    				&snowflake.FunctionScalaArgumentArgs{
    					ArgDataType: pulumi.String("VARCHAR(100)"),
    					ArgName:     pulumi.String("x"),
    				},
    			},
    			Comment: pulumi.String("some comment"),
    			ExternalAccessIntegrations: pulumi.StringArray{
    				pulumi.String("external_access_integration_name"),
    				pulumi.String("external_access_integration_name_2"),
    			},
    			FunctionDefinition: pulumi.String(`  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    `),
    			Handler:               pulumi.String("TestFunc.echoVarchar"),
    			NullInputBehavior:     pulumi.String("CALLED ON NULL INPUT"),
    			ReturnResultsBehavior: pulumi.String("VOLATILE"),
    			ReturnType:            pulumi.String("VARCHAR(100)"),
    			Imports: snowflake.FunctionScalaImportArray{
    				&snowflake.FunctionScalaImportArgs{
    					PathOnStage:   pulumi.String("jar_name.jar"),
    					StageLocation: pulumi.String("~"),
    				},
    				&snowflake.FunctionScalaImportArgs{
    					PathOnStage:   pulumi.String("second_jar_name.jar"),
    					StageLocation: pulumi.String("~"),
    				},
    			},
    			Packages: pulumi.StringArray{
    				pulumi.String("com.snowflake:snowpark:1.14.0"),
    				pulumi.String("com.snowflake:telemetry:0.1.0"),
    			},
    			RuntimeVersion: pulumi.String("2.12"),
    			Secrets: snowflake.FunctionScalaSecretArray{
    				&snowflake.FunctionScalaSecretArgs{
    					SecretId:           pulumi.Any(one.FullyQualifiedName),
    					SecretVariableName: pulumi.String("abc"),
    				},
    				&snowflake.FunctionScalaSecretArgs{
    					SecretId:           pulumi.Any(two.FullyQualifiedName),
    					SecretVariableName: pulumi.String("def"),
    				},
    			},
    			TargetPath: &snowflake.FunctionScalaTargetPathArgs{
    				PathOnStage:   pulumi.String("target_jar_name.jar"),
    				StageLocation: pulumi.Any(testSnowflakeStage.FullyQualifiedName),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        // Minimal
        var minimal = new Snowflake.FunctionScala("minimal", new()
        {
            Database = test.Name,
            Schema = testSnowflakeSchema.Name,
            Name = "my_scala_function",
            Arguments = new[]
            {
                new Snowflake.Inputs.FunctionScalaArgumentArgs
                {
                    ArgDataType = "VARCHAR(100)",
                    ArgName = "x",
                },
            },
            ReturnType = "VARCHAR(100)",
            RuntimeVersion = "2.12",
            Handler = "TestFunc.echoVarchar",
            FunctionDefinition = @"  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    ",
        });
    
        // Complete
        var complete = new Snowflake.FunctionScala("complete", new()
        {
            Database = test.Name,
            Schema = testSnowflakeSchema.Name,
            Name = "my_scala_function",
            IsSecure = "false",
            Arguments = new[]
            {
                new Snowflake.Inputs.FunctionScalaArgumentArgs
                {
                    ArgDataType = "VARCHAR(100)",
                    ArgName = "x",
                },
            },
            Comment = "some comment",
            ExternalAccessIntegrations = new[]
            {
                "external_access_integration_name",
                "external_access_integration_name_2",
            },
            FunctionDefinition = @"  class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
    ",
            Handler = "TestFunc.echoVarchar",
            NullInputBehavior = "CALLED ON NULL INPUT",
            ReturnResultsBehavior = "VOLATILE",
            ReturnType = "VARCHAR(100)",
            Imports = new[]
            {
                new Snowflake.Inputs.FunctionScalaImportArgs
                {
                    PathOnStage = "jar_name.jar",
                    StageLocation = "~",
                },
                new Snowflake.Inputs.FunctionScalaImportArgs
                {
                    PathOnStage = "second_jar_name.jar",
                    StageLocation = "~",
                },
            },
            Packages = new[]
            {
                "com.snowflake:snowpark:1.14.0",
                "com.snowflake:telemetry:0.1.0",
            },
            RuntimeVersion = "2.12",
            Secrets = new[]
            {
                new Snowflake.Inputs.FunctionScalaSecretArgs
                {
                    SecretId = one.FullyQualifiedName,
                    SecretVariableName = "abc",
                },
                new Snowflake.Inputs.FunctionScalaSecretArgs
                {
                    SecretId = two.FullyQualifiedName,
                    SecretVariableName = "def",
                },
            },
            TargetPath = new Snowflake.Inputs.FunctionScalaTargetPathArgs
            {
                PathOnStage = "target_jar_name.jar",
                StageLocation = testSnowflakeStage.FullyQualifiedName,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.FunctionScala;
    import com.pulumi.snowflake.FunctionScalaArgs;
    import com.pulumi.snowflake.inputs.FunctionScalaArgumentArgs;
    import com.pulumi.snowflake.inputs.FunctionScalaImportArgs;
    import com.pulumi.snowflake.inputs.FunctionScalaSecretArgs;
    import com.pulumi.snowflake.inputs.FunctionScalaTargetPathArgs;
    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) {
            // Minimal
            var minimal = new FunctionScala("minimal", FunctionScalaArgs.builder()
                .database(test.name())
                .schema(testSnowflakeSchema.name())
                .name("my_scala_function")
                .arguments(FunctionScalaArgumentArgs.builder()
                    .argDataType("VARCHAR(100)")
                    .argName("x")
                    .build())
                .returnType("VARCHAR(100)")
                .runtimeVersion("2.12")
                .handler("TestFunc.echoVarchar")
                .functionDefinition("""
      class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
                """)
                .build());
    
            // Complete
            var complete = new FunctionScala("complete", FunctionScalaArgs.builder()
                .database(test.name())
                .schema(testSnowflakeSchema.name())
                .name("my_scala_function")
                .isSecure("false")
                .arguments(FunctionScalaArgumentArgs.builder()
                    .argDataType("VARCHAR(100)")
                    .argName("x")
                    .build())
                .comment("some comment")
                .externalAccessIntegrations(            
                    "external_access_integration_name",
                    "external_access_integration_name_2")
                .functionDefinition("""
      class TestFunc {
        def echoVarchar(x : String): String = {
          return x
        }
      }
                """)
                .handler("TestFunc.echoVarchar")
                .nullInputBehavior("CALLED ON NULL INPUT")
                .returnResultsBehavior("VOLATILE")
                .returnType("VARCHAR(100)")
                .imports(            
                    FunctionScalaImportArgs.builder()
                        .pathOnStage("jar_name.jar")
                        .stageLocation("~")
                        .build(),
                    FunctionScalaImportArgs.builder()
                        .pathOnStage("second_jar_name.jar")
                        .stageLocation("~")
                        .build())
                .packages(            
                    "com.snowflake:snowpark:1.14.0",
                    "com.snowflake:telemetry:0.1.0")
                .runtimeVersion("2.12")
                .secrets(            
                    FunctionScalaSecretArgs.builder()
                        .secretId(one.fullyQualifiedName())
                        .secretVariableName("abc")
                        .build(),
                    FunctionScalaSecretArgs.builder()
                        .secretId(two.fullyQualifiedName())
                        .secretVariableName("def")
                        .build())
                .targetPath(FunctionScalaTargetPathArgs.builder()
                    .pathOnStage("target_jar_name.jar")
                    .stageLocation(testSnowflakeStage.fullyQualifiedName())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Minimal
      minimal:
        type: snowflake:FunctionScala
        properties:
          database: ${test.name}
          schema: ${testSnowflakeSchema.name}
          name: my_scala_function
          arguments:
            - argDataType: VARCHAR(100)
              argName: x
          returnType: VARCHAR(100)
          runtimeVersion: '2.12'
          handler: TestFunc.echoVarchar
          functionDefinition: |2
              class TestFunc {
                def echoVarchar(x : String): String = {
                  return x
                }
              }
      # Complete
      complete:
        type: snowflake:FunctionScala
        properties:
          database: ${test.name}
          schema: ${testSnowflakeSchema.name}
          name: my_scala_function
          isSecure: 'false'
          arguments:
            - argDataType: VARCHAR(100)
              argName: x
          comment: some comment
          externalAccessIntegrations:
            - external_access_integration_name
            - external_access_integration_name_2
          functionDefinition: |2
              class TestFunc {
                def echoVarchar(x : String): String = {
                  return x
                }
              }
          handler: TestFunc.echoVarchar
          nullInputBehavior: CALLED ON NULL INPUT
          returnResultsBehavior: VOLATILE
          returnType: VARCHAR(100)
          imports:
            - pathOnStage: jar_name.jar
              stageLocation: ~
            - pathOnStage: second_jar_name.jar
              stageLocation: ~
          packages:
            - com.snowflake:snowpark:1.14.0
            - com.snowflake:telemetry:0.1.0
          runtimeVersion: '2.12'
          secrets:
            - secretId: ${one.fullyQualifiedName}
              secretVariableName: abc
            - secretId: ${two.fullyQualifiedName}
              secretVariableName: def
          targetPath:
            pathOnStage: target_jar_name.jar
            stageLocation: ${testSnowflakeStage.fullyQualifiedName}
    

    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 FunctionScala Resource

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

    Constructor syntax

    new FunctionScala(name: string, args: FunctionScalaArgs, opts?: CustomResourceOptions);
    @overload
    def FunctionScala(resource_name: str,
                      args: FunctionScalaArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def FunctionScala(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      handler: Optional[str] = None,
                      schema: Optional[str] = None,
                      database: Optional[str] = None,
                      runtime_version: Optional[str] = None,
                      return_type: Optional[str] = None,
                      function_definition: Optional[str] = None,
                      null_input_behavior: Optional[str] = None,
                      imports: Optional[Sequence[FunctionScalaImportArgs]] = None,
                      is_secure: Optional[str] = None,
                      log_level: Optional[str] = None,
                      metric_level: Optional[str] = None,
                      name: Optional[str] = None,
                      arguments: Optional[Sequence[FunctionScalaArgumentArgs]] = None,
                      packages: Optional[Sequence[str]] = None,
                      return_results_behavior: Optional[str] = None,
                      external_access_integrations: Optional[Sequence[str]] = None,
                      enable_console_output: Optional[bool] = None,
                      comment: Optional[str] = None,
                      secrets: Optional[Sequence[FunctionScalaSecretArgs]] = None,
                      target_path: Optional[FunctionScalaTargetPathArgs] = None,
                      trace_level: Optional[str] = None)
    func NewFunctionScala(ctx *Context, name string, args FunctionScalaArgs, opts ...ResourceOption) (*FunctionScala, error)
    public FunctionScala(string name, FunctionScalaArgs args, CustomResourceOptions? opts = null)
    public FunctionScala(String name, FunctionScalaArgs args)
    public FunctionScala(String name, FunctionScalaArgs args, CustomResourceOptions options)
    
    type: snowflake:FunctionScala
    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 FunctionScalaArgs
    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 FunctionScalaArgs
    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 FunctionScalaArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FunctionScalaArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FunctionScalaArgs
    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 functionScalaResource = new Snowflake.FunctionScala("functionScalaResource", new()
    {
        Handler = "string",
        Schema = "string",
        Database = "string",
        RuntimeVersion = "string",
        ReturnType = "string",
        FunctionDefinition = "string",
        NullInputBehavior = "string",
        Imports = new[]
        {
            new Snowflake.Inputs.FunctionScalaImportArgs
            {
                PathOnStage = "string",
                StageLocation = "string",
            },
        },
        IsSecure = "string",
        LogLevel = "string",
        MetricLevel = "string",
        Name = "string",
        Arguments = new[]
        {
            new Snowflake.Inputs.FunctionScalaArgumentArgs
            {
                ArgDataType = "string",
                ArgName = "string",
                ArgDefaultValue = "string",
            },
        },
        Packages = new[]
        {
            "string",
        },
        ReturnResultsBehavior = "string",
        ExternalAccessIntegrations = new[]
        {
            "string",
        },
        EnableConsoleOutput = false,
        Comment = "string",
        Secrets = new[]
        {
            new Snowflake.Inputs.FunctionScalaSecretArgs
            {
                SecretId = "string",
                SecretVariableName = "string",
            },
        },
        TargetPath = new Snowflake.Inputs.FunctionScalaTargetPathArgs
        {
            PathOnStage = "string",
            StageLocation = "string",
        },
        TraceLevel = "string",
    });
    
    example, err := snowflake.NewFunctionScala(ctx, "functionScalaResource", &snowflake.FunctionScalaArgs{
    	Handler:            pulumi.String("string"),
    	Schema:             pulumi.String("string"),
    	Database:           pulumi.String("string"),
    	RuntimeVersion:     pulumi.String("string"),
    	ReturnType:         pulumi.String("string"),
    	FunctionDefinition: pulumi.String("string"),
    	NullInputBehavior:  pulumi.String("string"),
    	Imports: snowflake.FunctionScalaImportArray{
    		&snowflake.FunctionScalaImportArgs{
    			PathOnStage:   pulumi.String("string"),
    			StageLocation: pulumi.String("string"),
    		},
    	},
    	IsSecure:    pulumi.String("string"),
    	LogLevel:    pulumi.String("string"),
    	MetricLevel: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	Arguments: snowflake.FunctionScalaArgumentArray{
    		&snowflake.FunctionScalaArgumentArgs{
    			ArgDataType:     pulumi.String("string"),
    			ArgName:         pulumi.String("string"),
    			ArgDefaultValue: pulumi.String("string"),
    		},
    	},
    	Packages: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ReturnResultsBehavior: pulumi.String("string"),
    	ExternalAccessIntegrations: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	EnableConsoleOutput: pulumi.Bool(false),
    	Comment:             pulumi.String("string"),
    	Secrets: snowflake.FunctionScalaSecretArray{
    		&snowflake.FunctionScalaSecretArgs{
    			SecretId:           pulumi.String("string"),
    			SecretVariableName: pulumi.String("string"),
    		},
    	},
    	TargetPath: &snowflake.FunctionScalaTargetPathArgs{
    		PathOnStage:   pulumi.String("string"),
    		StageLocation: pulumi.String("string"),
    	},
    	TraceLevel: pulumi.String("string"),
    })
    
    var functionScalaResource = new FunctionScala("functionScalaResource", FunctionScalaArgs.builder()
        .handler("string")
        .schema("string")
        .database("string")
        .runtimeVersion("string")
        .returnType("string")
        .functionDefinition("string")
        .nullInputBehavior("string")
        .imports(FunctionScalaImportArgs.builder()
            .pathOnStage("string")
            .stageLocation("string")
            .build())
        .isSecure("string")
        .logLevel("string")
        .metricLevel("string")
        .name("string")
        .arguments(FunctionScalaArgumentArgs.builder()
            .argDataType("string")
            .argName("string")
            .argDefaultValue("string")
            .build())
        .packages("string")
        .returnResultsBehavior("string")
        .externalAccessIntegrations("string")
        .enableConsoleOutput(false)
        .comment("string")
        .secrets(FunctionScalaSecretArgs.builder()
            .secretId("string")
            .secretVariableName("string")
            .build())
        .targetPath(FunctionScalaTargetPathArgs.builder()
            .pathOnStage("string")
            .stageLocation("string")
            .build())
        .traceLevel("string")
        .build());
    
    function_scala_resource = snowflake.FunctionScala("functionScalaResource",
        handler="string",
        schema="string",
        database="string",
        runtime_version="string",
        return_type="string",
        function_definition="string",
        null_input_behavior="string",
        imports=[{
            "path_on_stage": "string",
            "stage_location": "string",
        }],
        is_secure="string",
        log_level="string",
        metric_level="string",
        name="string",
        arguments=[{
            "arg_data_type": "string",
            "arg_name": "string",
            "arg_default_value": "string",
        }],
        packages=["string"],
        return_results_behavior="string",
        external_access_integrations=["string"],
        enable_console_output=False,
        comment="string",
        secrets=[{
            "secret_id": "string",
            "secret_variable_name": "string",
        }],
        target_path={
            "path_on_stage": "string",
            "stage_location": "string",
        },
        trace_level="string")
    
    const functionScalaResource = new snowflake.FunctionScala("functionScalaResource", {
        handler: "string",
        schema: "string",
        database: "string",
        runtimeVersion: "string",
        returnType: "string",
        functionDefinition: "string",
        nullInputBehavior: "string",
        imports: [{
            pathOnStage: "string",
            stageLocation: "string",
        }],
        isSecure: "string",
        logLevel: "string",
        metricLevel: "string",
        name: "string",
        arguments: [{
            argDataType: "string",
            argName: "string",
            argDefaultValue: "string",
        }],
        packages: ["string"],
        returnResultsBehavior: "string",
        externalAccessIntegrations: ["string"],
        enableConsoleOutput: false,
        comment: "string",
        secrets: [{
            secretId: "string",
            secretVariableName: "string",
        }],
        targetPath: {
            pathOnStage: "string",
            stageLocation: "string",
        },
        traceLevel: "string",
    });
    
    type: snowflake:FunctionScala
    properties:
        arguments:
            - argDataType: string
              argDefaultValue: string
              argName: string
        comment: string
        database: string
        enableConsoleOutput: false
        externalAccessIntegrations:
            - string
        functionDefinition: string
        handler: string
        imports:
            - pathOnStage: string
              stageLocation: string
        isSecure: string
        logLevel: string
        metricLevel: string
        name: string
        nullInputBehavior: string
        packages:
            - string
        returnResultsBehavior: string
        returnType: string
        runtimeVersion: string
        schema: string
        secrets:
            - secretId: string
              secretVariableName: string
        targetPath:
            pathOnStage: string
            stageLocation: string
        traceLevel: string
    

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

    Database string
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    ReturnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    RuntimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    Schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Arguments List<FunctionScalaArgument>
    List of the arguments for the function. Consult the docs for more details.
    Comment string
    (Default: user-defined function) Specifies a comment for the function.
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExternalAccessIntegrations List<string>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    FunctionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    Imports List<FunctionScalaImport>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Packages List<string>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    ReturnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    Secrets List<FunctionScalaSecret>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    TargetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    ReturnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    RuntimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    Schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Arguments []FunctionScalaArgumentArgs
    List of the arguments for the function. Consult the docs for more details.
    Comment string
    (Default: user-defined function) Specifies a comment for the function.
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExternalAccessIntegrations []string
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    FunctionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    Imports []FunctionScalaImportArgs
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Packages []string
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    ReturnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    Secrets []FunctionScalaSecretArgs
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    TargetPath FunctionScalaTargetPathArgs
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    handler String
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    returnType String
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion String
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema String
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments List<FunctionScalaArgument>
    List of the arguments for the function. Consult the docs for more details.
    comment String
    (Default: user-defined function) Specifies a comment for the function.
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations List<String>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    functionDefinition String
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    imports List<FunctionScalaImport>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages List<String>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    returnResultsBehavior String
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    secrets List<FunctionScalaSecret>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    targetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    returnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments FunctionScalaArgument[]
    List of the arguments for the function. Consult the docs for more details.
    comment string
    (Default: user-defined function) Specifies a comment for the function.
    enableConsoleOutput boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations string[]
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    functionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    imports FunctionScalaImport[]
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages string[]
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    returnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    secrets FunctionScalaSecret[]
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    targetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    handler str
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    return_type str
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtime_version str
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema str
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments Sequence[FunctionScalaArgumentArgs]
    List of the arguments for the function. Consult the docs for more details.
    comment str
    (Default: user-defined function) Specifies a comment for the function.
    enable_console_output bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    external_access_integrations Sequence[str]
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    function_definition str
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    imports Sequence[FunctionScalaImportArgs]
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    is_secure str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    null_input_behavior str
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages Sequence[str]
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    return_results_behavior str
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    secrets Sequence[FunctionScalaSecretArgs]
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    target_path FunctionScalaTargetPathArgs
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    handler String
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    returnType String
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion String
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema String
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    arguments List<Property Map>
    List of the arguments for the function. Consult the docs for more details.
    comment String
    (Default: user-defined function) Specifies a comment for the function.
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations List<String>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    functionDefinition String
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    imports List<Property Map>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages List<String>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    returnResultsBehavior String
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    secrets List<Property Map>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    targetPath Property Map
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 FunctionScala resource produces the following output properties:

    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    FunctionLanguage string
    Specifies language for the user. Used to detect external changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Parameters List<FunctionScalaParameter>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    ShowOutputs List<FunctionScalaShowOutput>
    Outputs the result of SHOW FUNCTION for the given function.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    FunctionLanguage string
    Specifies language for the user. Used to detect external changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Parameters []FunctionScalaParameter
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    ShowOutputs []FunctionScalaShowOutput
    Outputs the result of SHOW FUNCTION for the given function.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    functionLanguage String
    Specifies language for the user. Used to detect external changes.
    id String
    The provider-assigned unique ID for this managed resource.
    parameters List<FunctionScalaParameter>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    showOutputs List<FunctionScalaShowOutput>
    Outputs the result of SHOW FUNCTION for the given function.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    functionLanguage string
    Specifies language for the user. Used to detect external changes.
    id string
    The provider-assigned unique ID for this managed resource.
    parameters FunctionScalaParameter[]
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    showOutputs FunctionScalaShowOutput[]
    Outputs the result of SHOW FUNCTION for the given function.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    function_language str
    Specifies language for the user. Used to detect external changes.
    id str
    The provider-assigned unique ID for this managed resource.
    parameters Sequence[FunctionScalaParameter]
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    show_outputs Sequence[FunctionScalaShowOutput]
    Outputs the result of SHOW FUNCTION for the given function.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    functionLanguage String
    Specifies language for the user. Used to detect external changes.
    id String
    The provider-assigned unique ID for this managed resource.
    parameters List<Property Map>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    showOutputs List<Property Map>
    Outputs the result of SHOW FUNCTION for the given function.

    Look up Existing FunctionScala Resource

    Get an existing FunctionScala 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?: FunctionScalaState, opts?: CustomResourceOptions): FunctionScala
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arguments: Optional[Sequence[FunctionScalaArgumentArgs]] = None,
            comment: Optional[str] = None,
            database: Optional[str] = None,
            enable_console_output: Optional[bool] = None,
            external_access_integrations: Optional[Sequence[str]] = None,
            fully_qualified_name: Optional[str] = None,
            function_definition: Optional[str] = None,
            function_language: Optional[str] = None,
            handler: Optional[str] = None,
            imports: Optional[Sequence[FunctionScalaImportArgs]] = 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,
            packages: Optional[Sequence[str]] = None,
            parameters: Optional[Sequence[FunctionScalaParameterArgs]] = None,
            return_results_behavior: Optional[str] = None,
            return_type: Optional[str] = None,
            runtime_version: Optional[str] = None,
            schema: Optional[str] = None,
            secrets: Optional[Sequence[FunctionScalaSecretArgs]] = None,
            show_outputs: Optional[Sequence[FunctionScalaShowOutputArgs]] = None,
            target_path: Optional[FunctionScalaTargetPathArgs] = None,
            trace_level: Optional[str] = None) -> FunctionScala
    func GetFunctionScala(ctx *Context, name string, id IDInput, state *FunctionScalaState, opts ...ResourceOption) (*FunctionScala, error)
    public static FunctionScala Get(string name, Input<string> id, FunctionScalaState? state, CustomResourceOptions? opts = null)
    public static FunctionScala get(String name, Output<String> id, FunctionScalaState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:FunctionScala    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<FunctionScalaArgument>
    List of the arguments for the function. Consult the docs for more details.
    Comment string
    (Default: user-defined function) Specifies a comment for the function.
    Database string
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExternalAccessIntegrations List<string>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    FunctionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    FunctionLanguage string
    Specifies language for the user. Used to detect external changes.
    Handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    Imports List<FunctionScalaImport>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Packages List<string>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    Parameters List<FunctionScalaParameter>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    ReturnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    ReturnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    RuntimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    Schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Secrets List<FunctionScalaSecret>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    ShowOutputs List<FunctionScalaShowOutput>
    Outputs the result of SHOW FUNCTION for the given function.
    TargetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    Arguments []FunctionScalaArgumentArgs
    List of the arguments for the function. Consult the docs for more details.
    Comment string
    (Default: user-defined function) Specifies a comment for the function.
    Database string
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    EnableConsoleOutput bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    ExternalAccessIntegrations []string
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    FunctionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    FunctionLanguage string
    Specifies language for the user. Used to detect external changes.
    Handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    Imports []FunctionScalaImportArgs
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    IsSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    NullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    Packages []string
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    Parameters []FunctionScalaParameterArgs
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    ReturnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    ReturnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    RuntimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    Schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Secrets []FunctionScalaSecretArgs
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    ShowOutputs []FunctionScalaShowOutputArgs
    Outputs the result of SHOW FUNCTION for the given function.
    TargetPath FunctionScalaTargetPathArgs
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    TraceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments List<FunctionScalaArgument>
    List of the arguments for the function. Consult the docs for more details.
    comment String
    (Default: user-defined function) Specifies a comment for the function.
    database String
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations List<String>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    functionDefinition String
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    functionLanguage String
    Specifies language for the user. Used to detect external changes.
    handler String
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    imports List<FunctionScalaImport>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages List<String>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    parameters List<FunctionScalaParameter>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    returnResultsBehavior String
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    returnType String
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion String
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema String
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secrets List<FunctionScalaSecret>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    showOutputs List<FunctionScalaShowOutput>
    Outputs the result of SHOW FUNCTION for the given function.
    targetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments FunctionScalaArgument[]
    List of the arguments for the function. Consult the docs for more details.
    comment string
    (Default: user-defined function) Specifies a comment for the function.
    database string
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations string[]
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    functionDefinition string
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    functionLanguage string
    Specifies language for the user. Used to detect external changes.
    handler string
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    imports FunctionScalaImport[]
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure string
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior string
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages string[]
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    parameters FunctionScalaParameter[]
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    returnResultsBehavior string
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    returnType string
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion string
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema string
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secrets FunctionScalaSecret[]
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    showOutputs FunctionScalaShowOutput[]
    Outputs the result of SHOW FUNCTION for the given function.
    targetPath FunctionScalaTargetPath
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    traceLevel string
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.
    arguments Sequence[FunctionScalaArgumentArgs]
    List of the arguments for the function. Consult the docs for more details.
    comment str
    (Default: user-defined function) Specifies a comment for the function.
    database str
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enable_console_output bool
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    external_access_integrations Sequence[str]
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    function_definition str
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    function_language str
    Specifies language for the user. Used to detect external changes.
    handler str
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    imports Sequence[FunctionScalaImportArgs]
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    is_secure str
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    null_input_behavior str
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages Sequence[str]
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    parameters Sequence[FunctionScalaParameterArgs]
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    return_results_behavior str
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    return_type str
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtime_version str
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema str
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secrets Sequence[FunctionScalaSecretArgs]
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    show_outputs Sequence[FunctionScalaShowOutputArgs]
    Outputs the result of SHOW FUNCTION for the given function.
    target_path FunctionScalaTargetPathArgs
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    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 function. Consult the docs for more details.
    comment String
    (Default: user-defined function) Specifies a comment for the function.
    database String
    The database in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    enableConsoleOutput Boolean
    Enable stdout/stderr fast path logging for anonymous stored procs. This is a public parameter (similar to LOGLEVEL). For more information, check CONSOLE_OUTPUT docsENABLE.
    externalAccessIntegrations List<String>
    The names of external access integrations needed in order for this function’s handler code to access external networks. An external access integration specifies network rules and secrets that specify external locations and credentials (if any) allowed for use by handler code when making requests of an external network, such as an external REST API.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    functionDefinition String
    Defines the handler code executed when the UDF is called. Wrapping $$ signs are added by the provider automatically; do not include them. The function_definition value must be Scala source code. For more information, see Introduction to Scala UDFs. 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.
    functionLanguage String
    Specifies language for the user. Used to detect external changes.
    handler String
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    imports List<Property Map>
    The location (stage), path, and name of the file(s) to import, such as a JAR or other kind of file. The JAR file might contain handler dependency libraries. It can contain one or more .class files and zero or more resource files. JNI (Java Native Interface) is not supported. Snowflake prohibits loading libraries that contain native code (as opposed to Java bytecode). A non-JAR file might a file read by handler code. For an example, see Reading a file specified statically in IMPORTS. Consult the docs.
    isSecure String
    (Default: fallback to Snowflake default - uses special value that cannot be set in the configuration manually (default)) Specifies that the function is secure. By design, the Snowflake's SHOW FUNCTIONS command does not provide information about secure functions (consult function docs and Protecting Sensitive Information with Secure UDFs and Stored Procedures) which is essential to manage/import function with Terraform. Use the role owning the function while managing secure functions. 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 function; the identifier does not need to be unique for the schema in which the function is created because UDFs are identified and resolved by the combination of the name and argument types. Check the docs. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    nullInputBehavior String
    Specifies the behavior of the function when called with null inputs. Valid values are (case-insensitive): CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT.
    packages List<String>
    The name and version number of Snowflake system packages required as dependencies. The value should be of the form package_name:version_number, where package_name is snowflake_domain:package.
    parameters List<Property Map>
    Outputs the result of SHOW PARAMETERS IN FUNCTION for the given function.
    returnResultsBehavior String
    Specifies the behavior of the function when returning results. Valid values are (case-insensitive): VOLATILE | IMMUTABLE.
    returnType String
    Specifies the results returned by the UDF, which determines the UDF type. Use <result_data_type> to create a scalar UDF that returns a single value with the specified data type. Use TABLE (col_name col_data_type, ...) to creates a table UDF that returns tabular results with the specified table column(s) and column type(s). For the details, consult the docs.
    runtimeVersion String
    Specifies the Scala runtime version to use. The supported versions of Scala are: 2.12.
    schema String
    The schema in which to create the function. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    secrets List<Property Map>
    Assigns the names of secrets to variables so that you can use the variables to reference the secrets when retrieving information from secrets in handler code. Secrets you specify here must be allowed by the external access integration specified as a value of this CREATE FUNCTION command’s EXTERNALACCESSINTEGRATIONS parameter.
    showOutputs List<Property Map>
    Outputs the result of SHOW FUNCTION for the given function.
    targetPath Property Map
    The name of the handler method or class. If the handler is for a scalar UDF, returning a non-tabular value, the HANDLER value should be a method name, as in the following form: MyClass.myMethod.
    traceLevel String
    Trace level value to use when generating/filtering trace events For more information, check TRACE_LEVEL docs.

    Supporting Types

    FunctionScalaArgument, FunctionScalaArgumentArgs

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

    FunctionScalaImport, FunctionScalaImportArgs

    PathOnStage string
    Path for import on stage, without the leading /.
    StageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    PathOnStage string
    Path for import on stage, without the leading /.
    StageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage String
    Path for import on stage, without the leading /.
    stageLocation String
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage string
    Path for import on stage, without the leading /.
    stageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    path_on_stage str
    Path for import on stage, without the leading /.
    stage_location str
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage String
    Path for import on stage, without the leading /.
    stageLocation String
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).

    FunctionScalaParameter, FunctionScalaParameterArgs

    FunctionScalaParameterEnableConsoleOutput, FunctionScalaParameterEnableConsoleOutputArgs

    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

    FunctionScalaParameterLogLevel, FunctionScalaParameterLogLevelArgs

    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

    FunctionScalaParameterMetricLevel, FunctionScalaParameterMetricLevelArgs

    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

    FunctionScalaParameterTraceLevel, FunctionScalaParameterTraceLevelArgs

    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

    FunctionScalaSecret, FunctionScalaSecretArgs

    SecretId string
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    SecretVariableName string
    The variable that will be used in handler code when retrieving information from the secret.
    SecretId string
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    SecretVariableName string
    The variable that will be used in handler code when retrieving information from the secret.
    secretId String
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    secretVariableName String
    The variable that will be used in handler code when retrieving information from the secret.
    secretId string
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    secretVariableName string
    The variable that will be used in handler code when retrieving information from the secret.
    secret_id str
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    secret_variable_name str
    The variable that will be used in handler code when retrieving information from the secret.
    secretId String
    Fully qualified name of the allowed secret. You will receive an error if you specify a SECRETS value whose secret isn’t also included in an integration specified by the EXTERNALACCESSINTEGRATIONS parameter.
    secretVariableName String
    The variable that will be used in handler code when retrieving information from the secret.

    FunctionScalaShowOutput, FunctionScalaShowOutputArgs

    FunctionScalaTargetPath, FunctionScalaTargetPathArgs

    PathOnStage string
    Path for import on stage, without the leading /.
    StageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    PathOnStage string
    Path for import on stage, without the leading /.
    StageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage String
    Path for import on stage, without the leading /.
    stageLocation String
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage string
    Path for import on stage, without the leading /.
    stageLocation string
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    path_on_stage str
    Path for import on stage, without the leading /.
    stage_location str
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).
    pathOnStage String
    Path for import on stage, without the leading /.
    stageLocation String
    Stage location without leading @. To use your user's stage set this to ~, otherwise pass fully qualified name of the stage (with every part contained in double quotes or use snowflake_stage.<your stage's resource name>.fully_qualified_name if you manage this stage through terraform).

    Import

    terraform import snowflake_function_scala.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.13.0 published on Thursday, Feb 26, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate