1. Registry
  2. Packages
  3. Snowflake Provider
  4. API Docs
  5. OpenflowConnector
Viewing docs for Snowflake v2.21.0
published on Friday, Sep 11, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.21.0
published on Friday, Sep 11, 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 previewFeaturesEnabled 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.

    Note Every mutating statement is asynchronous and the provider waits for the connector to settle before returning, so applies take minutes rather than seconds. If you encounter timeout errors, use a timeouts block to set higher limits for your environment.

    Note from is create-only and is not read back. Snowflake resolves a connector definition whichever source the connector was created from, so a value read from SHOW could not be told apart from a configured one; show_output.connector_definition reports what Snowflake resolved. External changes to the block are therefore not detected, and after pulumi import the block is absent from state, so the first plan asks to replace the connector.

    Note Starting, stopping and version management are operational actions rather than desired state, so they are not exposed here. The connector’s current status is reported in showOutput.

    Resource used to manage Openflow connectors, which run inside an Openflow runtime. Every mutating statement is asynchronous, so create and update return once the connector settles. Starting, stopping and version management are operational actions and are not exposed here; the connector’s state is reported in showOutput. For more information, check Openflow connector documentation.

    Example Usage

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

    import * as pulumi from "@pulumi/pulumi";
    import * as snowflake from "@pulumi/snowflake";
    
    // from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
    // started until one is supplied
    const fromDefinition = new snowflake.OpenflowConnector("from_definition", {
        database: "my_database",
        schema: "my_schema",
        name: "my_connector",
        runtime: example.fullyQualifiedName,
        from: {
            definition: "OPENFLOW_POSTGRES_CDC",
        },
    });
    // from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
    // so `stage` takes one of those too
    const fromStage = new snowflake.OpenflowConnector("from_stage", {
        database: "my_database",
        schema: "my_schema",
        name: "my_configured_connector",
        runtime: example.fullyQualifiedName,
        from: {
            stage: exampleSnowflakeStage.fullyQualifiedName,
            path: "connectors/postgres",
        },
    });
    // uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
    // location and checks that the connector definition it names matches, so that file has to be there; the same
    // PUT pattern uploads anything else the bundle needs, such as a driver jar.
    //
    // PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
    // runners that do not have your bundle checked out, where a git repository stage is the better route.
    const bundles = new snowflake.Stage("bundles", {
        database: "my_database",
        schema: "my_schema",
        name: "my_connector_bundles",
    });
    const uploadConfig = new snowflake.Execute("upload_config", {
        execute: pulumi.interpolate`PUT file:///path/to/bundle/config.json @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE`,
        revert: pulumi.interpolate`REMOVE @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/config.json`,
    });
    const uploadDriver = new snowflake.Execute("upload_driver", {
        execute: pulumi.interpolate`PUT file:///path/to/bundle/postgresql.jar @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE`,
        revert: pulumi.interpolate`REMOVE @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/postgresql.jar`,
    });
    const fromUploadedBundle = new snowflake.OpenflowConnector("from_uploaded_bundle", {
        database: "my_database",
        schema: "my_schema",
        name: "my_uploaded_connector",
        runtime: example.fullyQualifiedName,
        from: {
            stage: bundles.fullyQualifiedName,
            path: "orders",
        },
    }, {
        dependsOn: [
            uploadConfig,
            uploadDriver,
        ],
    });
    // from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
    // version controlled, since nothing has to be uploaded from the machine running Terraform.
    const fromGit = new snowflake.OpenflowConnector("from_git", {
        database: "my_database",
        schema: "my_schema",
        name: "my_git_connector",
        runtime: example.fullyQualifiedName,
        from: {
            stage: exampleSnowflakeGitRepository.fullyQualifiedName,
            path: "branches/main/connectors/orders",
        },
    });
    // complete resource
    const complete = new snowflake.OpenflowConnector("complete", {
        database: "my_database",
        schema: "my_schema",
        name: "my_connector_complete",
        runtime: example.fullyQualifiedName,
        from: {
            definition: "OPENFLOW_POSTGRES_CDC",
        },
        displayName: "My connector",
        comment: "Managed by Terraform.",
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
    # started until one is supplied
    from_definition = snowflake.OpenflowConnector("from_definition",
        database="my_database",
        schema="my_schema",
        name="my_connector",
        runtime=example["fullyQualifiedName"],
        from_={
            "definition": "OPENFLOW_POSTGRES_CDC",
        })
    # from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
    # so `stage` takes one of those too
    from_stage = snowflake.OpenflowConnector("from_stage",
        database="my_database",
        schema="my_schema",
        name="my_configured_connector",
        runtime=example["fullyQualifiedName"],
        from_={
            "stage": example_snowflake_stage["fullyQualifiedName"],
            "path": "connectors/postgres",
        })
    # uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
    # location and checks that the connector definition it names matches, so that file has to be there; the same
    # PUT pattern uploads anything else the bundle needs, such as a driver jar.
    #
    # PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
    # runners that do not have your bundle checked out, where a git repository stage is the better route.
    bundles = snowflake.Stage("bundles",
        database="my_database",
        schema="my_schema",
        name="my_connector_bundles")
    upload_config = snowflake.Execute("upload_config",
        execute=pulumi.Output.all(
            database=bundles.database,
            schema=bundles.schema,
            name=bundles.name
    ).apply(lambda resolved_outputs: f"PUT file:///path/to/bundle/config.json @\"{resolved_outputs['database']}\".\"{resolved_outputs['schema']}\".\"{resolved_outputs['name']}\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE")
    ,
        revert=pulumi.Output.all(
            database=bundles.database,
            schema=bundles.schema,
            name=bundles.name
    ).apply(lambda resolved_outputs: f"REMOVE @\"{resolved_outputs['database']}\".\"{resolved_outputs['schema']}\".\"{resolved_outputs['name']}\"/orders/config.json")
    )
    upload_driver = snowflake.Execute("upload_driver",
        execute=pulumi.Output.all(
            database=bundles.database,
            schema=bundles.schema,
            name=bundles.name
    ).apply(lambda resolved_outputs: f"PUT file:///path/to/bundle/postgresql.jar @\"{resolved_outputs['database']}\".\"{resolved_outputs['schema']}\".\"{resolved_outputs['name']}\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE")
    ,
        revert=pulumi.Output.all(
            database=bundles.database,
            schema=bundles.schema,
            name=bundles.name
    ).apply(lambda resolved_outputs: f"REMOVE @\"{resolved_outputs['database']}\".\"{resolved_outputs['schema']}\".\"{resolved_outputs['name']}\"/orders/postgresql.jar")
    )
    from_uploaded_bundle = snowflake.OpenflowConnector("from_uploaded_bundle",
        database="my_database",
        schema="my_schema",
        name="my_uploaded_connector",
        runtime=example["fullyQualifiedName"],
        from_={
            "stage": bundles.fully_qualified_name,
            "path": "orders",
        },
        opts = pulumi.ResourceOptions(depends_on=[
                upload_config,
                upload_driver,
            ]))
    # from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
    # version controlled, since nothing has to be uploaded from the machine running Terraform.
    from_git = snowflake.OpenflowConnector("from_git",
        database="my_database",
        schema="my_schema",
        name="my_git_connector",
        runtime=example["fullyQualifiedName"],
        from_={
            "stage": example_snowflake_git_repository["fullyQualifiedName"],
            "path": "branches/main/connectors/orders",
        })
    # complete resource
    complete = snowflake.OpenflowConnector("complete",
        database="my_database",
        schema="my_schema",
        name="my_connector_complete",
        runtime=example["fullyQualifiedName"],
        from_={
            "definition": "OPENFLOW_POSTGRES_CDC",
        },
        display_name="My connector",
        comment="Managed by Terraform.")
    
    package main
    
    import (
    	"fmt"
    
    	"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 {
    		// from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
    		// started until one is supplied
    		_, err := snowflake.NewOpenflowConnector(ctx, "from_definition", &snowflake.OpenflowConnectorArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_connector"),
    			Runtime:  pulumi.Any(example.FullyQualifiedName),
    			From: &snowflake.OpenflowConnectorFromArgs{
    				Definition: pulumi.String("OPENFLOW_POSTGRES_CDC"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
    		// so `stage` takes one of those too
    		_, err = snowflake.NewOpenflowConnector(ctx, "from_stage", &snowflake.OpenflowConnectorArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_configured_connector"),
    			Runtime:  pulumi.Any(example.FullyQualifiedName),
    			From: &snowflake.OpenflowConnectorFromArgs{
    				Stage: pulumi.Any(exampleSnowflakeStage.FullyQualifiedName),
    				Path:  pulumi.String("connectors/postgres"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
    		// location and checks that the connector definition it names matches, so that file has to be there; the same
    		// PUT pattern uploads anything else the bundle needs, such as a driver jar.
    		//
    		// PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
    		// runners that do not have your bundle checked out, where a git repository stage is the better route.
    		bundles, err := snowflake.NewStage(ctx, "bundles", &snowflake.StageArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_connector_bundles"),
    		})
    		if err != nil {
    			return err
    		}
    		uploadConfig, err := snowflake.NewExecute(ctx, "upload_config", &snowflake.ExecuteArgs{
    			Execute: pulumi.All(bundles.Database, bundles.Schema, bundles.Name).ApplyT(func(_args []interface{}) (string, error) {
    				database := _args[0].(string)
    				schema := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("PUT file:///path/to/bundle/config.json @\"%v\".\"%v\".\"%v\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE", database, schema, name), nil
    			}).(pulumi.StringOutput),
    			Revert: pulumi.All(bundles.Database, bundles.Schema, bundles.Name).ApplyT(func(_args []interface{}) (string, error) {
    				database := _args[0].(string)
    				schema := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("REMOVE @\"%v\".\"%v\".\"%v\"/orders/config.json", database, schema, name), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		uploadDriver, err := snowflake.NewExecute(ctx, "upload_driver", &snowflake.ExecuteArgs{
    			Execute: pulumi.All(bundles.Database, bundles.Schema, bundles.Name).ApplyT(func(_args []interface{}) (string, error) {
    				database := _args[0].(string)
    				schema := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("PUT file:///path/to/bundle/postgresql.jar @\"%v\".\"%v\".\"%v\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE", database, schema, name), nil
    			}).(pulumi.StringOutput),
    			Revert: pulumi.All(bundles.Database, bundles.Schema, bundles.Name).ApplyT(func(_args []interface{}) (string, error) {
    				database := _args[0].(string)
    				schema := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("REMOVE @\"%v\".\"%v\".\"%v\"/orders/postgresql.jar", database, schema, name), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = snowflake.NewOpenflowConnector(ctx, "from_uploaded_bundle", &snowflake.OpenflowConnectorArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_uploaded_connector"),
    			Runtime:  pulumi.Any(example.FullyQualifiedName),
    			From: &snowflake.OpenflowConnectorFromArgs{
    				Stage: bundles.FullyQualifiedName,
    				Path:  pulumi.String("orders"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			uploadConfig,
    			uploadDriver,
    		}))
    		if err != nil {
    			return err
    		}
    		// from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
    		// version controlled, since nothing has to be uploaded from the machine running Terraform.
    		_, err = snowflake.NewOpenflowConnector(ctx, "from_git", &snowflake.OpenflowConnectorArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_git_connector"),
    			Runtime:  pulumi.Any(example.FullyQualifiedName),
    			From: &snowflake.OpenflowConnectorFromArgs{
    				Stage: pulumi.Any(exampleSnowflakeGitRepository.FullyQualifiedName),
    				Path:  pulumi.String("branches/main/connectors/orders"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// complete resource
    		_, err = snowflake.NewOpenflowConnector(ctx, "complete", &snowflake.OpenflowConnectorArgs{
    			Database: pulumi.String("my_database"),
    			Schema:   pulumi.String("my_schema"),
    			Name:     pulumi.String("my_connector_complete"),
    			Runtime:  pulumi.Any(example.FullyQualifiedName),
    			From: &snowflake.OpenflowConnectorFromArgs{
    				Definition: pulumi.String("OPENFLOW_POSTGRES_CDC"),
    			},
    			DisplayName: pulumi.String("My connector"),
    			Comment:     pulumi.String("Managed by Terraform."),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        // from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
        // started until one is supplied
        var fromDefinition = new Snowflake.OpenflowConnector("from_definition", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_connector",
            Runtime = example.FullyQualifiedName,
            From = new Snowflake.Inputs.OpenflowConnectorFromArgs
            {
                Definition = "OPENFLOW_POSTGRES_CDC",
            },
        });
    
        // from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
        // so `stage` takes one of those too
        var fromStage = new Snowflake.OpenflowConnector("from_stage", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_configured_connector",
            Runtime = example.FullyQualifiedName,
            From = new Snowflake.Inputs.OpenflowConnectorFromArgs
            {
                Stage = exampleSnowflakeStage.FullyQualifiedName,
                Path = "connectors/postgres",
            },
        });
    
        // uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
        // location and checks that the connector definition it names matches, so that file has to be there; the same
        // PUT pattern uploads anything else the bundle needs, such as a driver jar.
        //
        // PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
        // runners that do not have your bundle checked out, where a git repository stage is the better route.
        var bundles = new Snowflake.Stage("bundles", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_connector_bundles",
        });
    
        var uploadConfig = new Snowflake.Execute("upload_config", new()
        {
            ExecuteSQL = Output.Tuple(bundles.Database, bundles.Schema, bundles.Name).Apply(values =>
            {
                var database = values.Item1;
                var schema = values.Item2;
                var name = values.Item3;
                return $"PUT file:///path/to/bundle/config.json @\"{database}\".\"{schema}\".\"{name}\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE";
            }),
            Revert = Output.Tuple(bundles.Database, bundles.Schema, bundles.Name).Apply(values =>
            {
                var database = values.Item1;
                var schema = values.Item2;
                var name = values.Item3;
                return $"REMOVE @\"{database}\".\"{schema}\".\"{name}\"/orders/config.json";
            }),
        });
    
        var uploadDriver = new Snowflake.Execute("upload_driver", new()
        {
            ExecuteSQL = Output.Tuple(bundles.Database, bundles.Schema, bundles.Name).Apply(values =>
            {
                var database = values.Item1;
                var schema = values.Item2;
                var name = values.Item3;
                return $"PUT file:///path/to/bundle/postgresql.jar @\"{database}\".\"{schema}\".\"{name}\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE";
            }),
            Revert = Output.Tuple(bundles.Database, bundles.Schema, bundles.Name).Apply(values =>
            {
                var database = values.Item1;
                var schema = values.Item2;
                var name = values.Item3;
                return $"REMOVE @\"{database}\".\"{schema}\".\"{name}\"/orders/postgresql.jar";
            }),
        });
    
        var fromUploadedBundle = new Snowflake.OpenflowConnector("from_uploaded_bundle", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_uploaded_connector",
            Runtime = example.FullyQualifiedName,
            From = new Snowflake.Inputs.OpenflowConnectorFromArgs
            {
                Stage = bundles.FullyQualifiedName,
                Path = "orders",
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                uploadConfig,
                uploadDriver,
            },
        });
    
        // from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
        // version controlled, since nothing has to be uploaded from the machine running Terraform.
        var fromGit = new Snowflake.OpenflowConnector("from_git", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_git_connector",
            Runtime = example.FullyQualifiedName,
            From = new Snowflake.Inputs.OpenflowConnectorFromArgs
            {
                Stage = exampleSnowflakeGitRepository.FullyQualifiedName,
                Path = "branches/main/connectors/orders",
            },
        });
    
        // complete resource
        var complete = new Snowflake.OpenflowConnector("complete", new()
        {
            Database = "my_database",
            Schema = "my_schema",
            Name = "my_connector_complete",
            Runtime = example.FullyQualifiedName,
            From = new Snowflake.Inputs.OpenflowConnectorFromArgs
            {
                Definition = "OPENFLOW_POSTGRES_CDC",
            },
            DisplayName = "My connector",
            Comment = "Managed by Terraform.",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.OpenflowConnector;
    import com.pulumi.snowflake.OpenflowConnectorArgs;
    import com.pulumi.snowflake.inputs.OpenflowConnectorFromArgs;
    import com.pulumi.snowflake.Stage;
    import com.pulumi.snowflake.StageArgs;
    import com.pulumi.snowflake.Execute;
    import com.pulumi.snowflake.ExecuteArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
            // started until one is supplied
            var fromDefinition = new OpenflowConnector("fromDefinition", OpenflowConnectorArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_connector")
                .runtime(example.fullyQualifiedName())
                .from(OpenflowConnectorFromArgs.builder()
                    .definition("OPENFLOW_POSTGRES_CDC")
                    .build())
                .build());
    
            // from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
            // so `stage` takes one of those too
            var fromStage = new OpenflowConnector("fromStage", OpenflowConnectorArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_configured_connector")
                .runtime(example.fullyQualifiedName())
                .from(OpenflowConnectorFromArgs.builder()
                    .stage(exampleSnowflakeStage.fullyQualifiedName())
                    .path("connectors/postgres")
                    .build())
                .build());
    
            // uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
            // location and checks that the connector definition it names matches, so that file has to be there; the same
            // PUT pattern uploads anything else the bundle needs, such as a driver jar.
            //
            // PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
            // runners that do not have your bundle checked out, where a git repository stage is the better route.
            var bundles = new Stage("bundles", StageArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_connector_bundles")
                .build());
    
            var uploadConfig = new Execute("uploadConfig", ExecuteArgs.builder()
                .execute(Output.tuple(bundles.database(), bundles.schema(), bundles.name()).applyValue(values -> {
                    var database = values.t1;
                    var schema = values.t2;
                    var name = values.t3;
                    return String.format("PUT file:///path/to/bundle/config.json @\"%s\".\"%s\".\"%s\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE", database,schema,name);
                }))
                .revert(Output.tuple(bundles.database(), bundles.schema(), bundles.name()).applyValue(values -> {
                    var database = values.t1;
                    var schema = values.t2;
                    var name = values.t3;
                    return String.format("REMOVE @\"%s\".\"%s\".\"%s\"/orders/config.json", database,schema,name);
                }))
                .build());
    
            var uploadDriver = new Execute("uploadDriver", ExecuteArgs.builder()
                .execute(Output.tuple(bundles.database(), bundles.schema(), bundles.name()).applyValue(values -> {
                    var database = values.t1;
                    var schema = values.t2;
                    var name = values.t3;
                    return String.format("PUT file:///path/to/bundle/postgresql.jar @\"%s\".\"%s\".\"%s\"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE", database,schema,name);
                }))
                .revert(Output.tuple(bundles.database(), bundles.schema(), bundles.name()).applyValue(values -> {
                    var database = values.t1;
                    var schema = values.t2;
                    var name = values.t3;
                    return String.format("REMOVE @\"%s\".\"%s\".\"%s\"/orders/postgresql.jar", database,schema,name);
                }))
                .build());
    
            var fromUploadedBundle = new OpenflowConnector("fromUploadedBundle", OpenflowConnectorArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_uploaded_connector")
                .runtime(example.fullyQualifiedName())
                .from(OpenflowConnectorFromArgs.builder()
                    .stage(bundles.fullyQualifiedName())
                    .path("orders")
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        uploadConfig,
                        uploadDriver)
                    .build());
    
            // from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
            // version controlled, since nothing has to be uploaded from the machine running Terraform.
            var fromGit = new OpenflowConnector("fromGit", OpenflowConnectorArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_git_connector")
                .runtime(example.fullyQualifiedName())
                .from(OpenflowConnectorFromArgs.builder()
                    .stage(exampleSnowflakeGitRepository.fullyQualifiedName())
                    .path("branches/main/connectors/orders")
                    .build())
                .build());
    
            // complete resource
            var complete = new OpenflowConnector("complete", OpenflowConnectorArgs.builder()
                .database("my_database")
                .schema("my_schema")
                .name("my_connector_complete")
                .runtime(example.fullyQualifiedName())
                .from(OpenflowConnectorFromArgs.builder()
                    .definition("OPENFLOW_POSTGRES_CDC")
                    .build())
                .displayName("My connector")
                .comment("Managed by Terraform.")
                .build());
    
        }
    }
    
    resources:
      # from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
      # started until one is supplied
      fromDefinition:
        type: snowflake:OpenflowConnector
        name: from_definition
        properties:
          database: my_database
          schema: my_schema
          name: my_connector
          runtime: ${example.fullyQualifiedName}
          from:
            definition: OPENFLOW_POSTGRES_CDC
      # from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
      # so `stage` takes one of those too
      fromStage:
        type: snowflake:OpenflowConnector
        name: from_stage
        properties:
          database: my_database
          schema: my_schema
          name: my_configured_connector
          runtime: ${example.fullyQualifiedName}
          from:
            stage: ${exampleSnowflakeStage.fullyQualifiedName}
            path: connectors/postgres
      # uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
      # location and checks that the connector definition it names matches, so that file has to be there; the same
      # PUT pattern uploads anything else the bundle needs, such as a driver jar.
      #
      # PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
      # runners that do not have your bundle checked out, where a git repository stage is the better route.
      bundles:
        type: snowflake:Stage
        properties:
          database: my_database
          schema: my_schema
          name: my_connector_bundles
      uploadConfig:
        type: snowflake:Execute
        name: upload_config
        properties:
          execute: PUT file:///path/to/bundle/config.json @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE
          revert: REMOVE @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/config.json
      uploadDriver:
        type: snowflake:Execute
        name: upload_driver
        properties:
          execute: PUT file:///path/to/bundle/postgresql.jar @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE
          revert: REMOVE @"${bundles.database}"."${bundles.schema}"."${bundles.name}"/orders/postgresql.jar
      fromUploadedBundle:
        type: snowflake:OpenflowConnector
        name: from_uploaded_bundle
        properties:
          database: my_database
          schema: my_schema
          name: my_uploaded_connector
          runtime: ${example.fullyQualifiedName}
          from:
            stage: ${bundles.fullyQualifiedName}
            path: orders
        options:
          dependsOn:
            - ${uploadConfig}
            - ${uploadDriver}
      # from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
      # version controlled, since nothing has to be uploaded from the machine running Terraform.
      fromGit:
        type: snowflake:OpenflowConnector
        name: from_git
        properties:
          database: my_database
          schema: my_schema
          name: my_git_connector
          runtime: ${example.fullyQualifiedName}
          from:
            stage: ${exampleSnowflakeGitRepository.fullyQualifiedName}
            path: branches/main/connectors/orders
      # complete resource
      complete:
        type: snowflake:OpenflowConnector
        properties:
          database: my_database
          schema: my_schema
          name: my_connector_complete
          runtime: ${example.fullyQualifiedName}
          from:
            definition: OPENFLOW_POSTGRES_CDC
          displayName: My connector
          comment: Managed by Terraform.
    
    pulumi {
      required_providers {
        snowflake = {
          source = "pulumi/snowflake"
        }
      }
    }
    
    # from a Snowflake-managed connector definition; the connector carries no configuration yet, so it cannot be
    # started until one is supplied
    resource "snowflake_openflowconnector" "from_definition" {
      database = "my_database"
      schema   = "my_schema"
      name     = "my_connector"
      runtime  = example.fullyQualifiedName
      from = {
        definition = "OPENFLOW_POSTGRES_CDC"
      }
    }
    # from a connector bundle on a stage; the connector arrives already configured. A git repository is a stage,
    # so `stage` takes one of those too
    resource "snowflake_openflowconnector" "from_stage" {
      database = "my_database"
      schema   = "my_schema"
      name     = "my_configured_connector"
      runtime  = example.fullyQualifiedName
      from = {
        stage = exampleSnowflakeStage.fullyQualifiedName
        path  = "connectors/postgres"
      }
    }
    # uploading the bundle yourself, then creating the connector from it. Snowflake reads config.json from the
    # location and checks that the connector definition it names matches, so that file has to be there; the same
    # PUT pattern uploads anything else the bundle needs, such as a driver jar.
    #
    # PUT runs from the machine executing Terraform, so the local file has to exist there. That rules it out for
    # runners that do not have your bundle checked out, where a git repository stage is the better route.
    resource "snowflake_stage" "bundles" {
      database = "my_database"
      schema   = "my_schema"
      name     = "my_connector_bundles"
    }
    resource "snowflake_execute" "upload_config" {
      execute ="PUT file:///path/to/bundle/config.json @"${snowflake_stage.bundles.database}"."${snowflake_stage.bundles.schema}"."${snowflake_stage.bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE"
      revert  ="REMOVE @"${snowflake_stage.bundles.database}"."${snowflake_stage.bundles.schema}"."${snowflake_stage.bundles.name}"/orders/config.json"
    }
    resource "snowflake_execute" "upload_driver" {
      execute ="PUT file:///path/to/bundle/postgresql.jar @"${snowflake_stage.bundles.database}"."${snowflake_stage.bundles.schema}"."${snowflake_stage.bundles.name}"/orders/ AUTO_COMPRESS = FALSE OVERWRITE = TRUE"
      revert  ="REMOVE @"${snowflake_stage.bundles.database}"."${snowflake_stage.bundles.schema}"."${snowflake_stage.bundles.name}"/orders/postgresql.jar"
    }
    resource "snowflake_openflowconnector" "from_uploaded_bundle" {
      depends_on = [snowflake_execute.upload_config, snowflake_execute.upload_driver]
      database   = "my_database"
      schema     = "my_schema"
      name       = "my_uploaded_connector"
      runtime    = example.fullyQualifiedName
      from = {
        stage = snowflake_stage.bundles.fully_qualified_name
        path  = "orders"
      }
    }
    # from a git repository, which is a stage as far as Snowflake is concerned. Preferred when the bundle is
    # version controlled, since nothing has to be uploaded from the machine running Terraform.
    resource "snowflake_openflowconnector" "from_git" {
      database = "my_database"
      schema   = "my_schema"
      name     = "my_git_connector"
      runtime  = example.fullyQualifiedName
      from = {
        stage = exampleSnowflakeGitRepository.fullyQualifiedName
        path  = "branches/main/connectors/orders"
      }
    }
    # complete resource
    resource "snowflake_openflowconnector" "complete" {
      database = "my_database"
      schema   = "my_schema"
      name     = "my_connector_complete"
      runtime  = example.fullyQualifiedName
      from = {
        definition = "OPENFLOW_POSTGRES_CDC"
      }
      display_name = "My connector"
      comment      = "Managed by Terraform."
    }
    

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

    Create OpenflowConnector Resource

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

    Constructor syntax

    new OpenflowConnector(name: string, args: OpenflowConnectorArgs, opts?: CustomResourceOptions);
    @overload
    def OpenflowConnector(resource_name: str,
                          args: OpenflowConnectorArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def OpenflowConnector(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          database: Optional[str] = None,
                          from_: Optional[OpenflowConnectorFromArgs] = None,
                          runtime: Optional[str] = None,
                          schema: Optional[str] = None,
                          comment: Optional[str] = None,
                          display_name: Optional[str] = None,
                          name: Optional[str] = None)
    func NewOpenflowConnector(ctx *Context, name string, args OpenflowConnectorArgs, opts ...ResourceOption) (*OpenflowConnector, error)
    public OpenflowConnector(string name, OpenflowConnectorArgs args, CustomResourceOptions? opts = null)
    public OpenflowConnector(String name, OpenflowConnectorArgs args)
    public OpenflowConnector(String name, OpenflowConnectorArgs args, CustomResourceOptions options)
    
    type: snowflake:OpenflowConnector
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "snowflake_openflow_connector" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args OpenflowConnectorArgs
    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 OpenflowConnectorArgs
    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 OpenflowConnectorArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OpenflowConnectorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OpenflowConnectorArgs
    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 openflowConnectorResource = new Snowflake.OpenflowConnector("openflowConnectorResource", new()
    {
        Database = "string",
        From = new Snowflake.Inputs.OpenflowConnectorFromArgs
        {
            Definition = "string",
            Path = "string",
            Stage = "string",
        },
        Runtime = "string",
        Schema = "string",
        Comment = "string",
        DisplayName = "string",
        Name = "string",
    });
    
    example, err := snowflake.NewOpenflowConnector(ctx, "openflowConnectorResource", &snowflake.OpenflowConnectorArgs{
    	Database: pulumi.String("string"),
    	From: &snowflake.OpenflowConnectorFromArgs{
    		Definition: pulumi.String("string"),
    		Path:       pulumi.String("string"),
    		Stage:      pulumi.String("string"),
    	},
    	Runtime:     pulumi.String("string"),
    	Schema:      pulumi.String("string"),
    	Comment:     pulumi.String("string"),
    	DisplayName: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    })
    
    resource "snowflake_openflow_connector" "openflowConnectorResource" {
      lifecycle {
        create_before_destroy = true
      }
      database = "string"
      from = {
        definition = "string"
        path       = "string"
        stage      = "string"
      }
      runtime      = "string"
      schema       = "string"
      comment      = "string"
      display_name = "string"
      name         = "string"
    }
    
    var openflowConnectorResource = new OpenflowConnector("openflowConnectorResource", OpenflowConnectorArgs.builder()
        .database("string")
        .from(OpenflowConnectorFromArgs.builder()
            .definition("string")
            .path("string")
            .stage("string")
            .build())
        .runtime("string")
        .schema("string")
        .comment("string")
        .displayName("string")
        .name("string")
        .build());
    
    openflow_connector_resource = snowflake.OpenflowConnector("openflowConnectorResource",
        database="string",
        from_={
            "definition": "string",
            "path": "string",
            "stage": "string",
        },
        runtime="string",
        schema="string",
        comment="string",
        display_name="string",
        name="string")
    
    const openflowConnectorResource = new snowflake.OpenflowConnector("openflowConnectorResource", {
        database: "string",
        from: {
            definition: "string",
            path: "string",
            stage: "string",
        },
        runtime: "string",
        schema: "string",
        comment: "string",
        displayName: "string",
        name: "string",
    });
    
    type: snowflake:OpenflowConnector
    properties:
        comment: string
        database: string
        displayName: string
        from:
            definition: string
            path: string
            stage: string
        name: string
        runtime: string
        schema: string
    

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

    Database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    From OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    Runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    Schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Comment string
    Specifies a comment for the Openflow connector.
    DisplayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    Name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    From OpenflowConnectorFromArgs
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    Runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    Schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Comment string
    Specifies a comment for the Openflow connector.
    DisplayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    Name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    from object
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment string
    Specifies a comment for the Openflow connector.
    display_name string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database String
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    from OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    runtime String
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema String
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment String
    Specifies a comment for the Openflow connector.
    displayName String
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    name String
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    from OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment string
    Specifies a comment for the Openflow connector.
    displayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database str
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    from_ OpenflowConnectorFromArgs
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    runtime str
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema str
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment str
    Specifies a comment for the Openflow connector.
    display_name str
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    name str
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    database String
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    from Property Map
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    runtime String
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema String
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    comment String
    Specifies a comment for the Openflow connector.
    displayName String
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    name String
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".

    Outputs

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

    DescribeOutputs List<OpenflowConnectorDescribeOutput>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    ShowOutputs List<OpenflowConnectorShowOutput>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    DescribeOutputs []OpenflowConnectorDescribeOutput
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Id string
    The provider-assigned unique ID for this managed resource.
    ShowOutputs []OpenflowConnectorShowOutput
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    describe_outputs list(object)
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    fully_qualified_name string
    Fully qualified name of the resource. For more information, see object name resolution.
    id string
    The provider-assigned unique ID for this managed resource.
    show_outputs list(object)
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    describeOutputs List<OpenflowConnectorDescribeOutput>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    showOutputs List<OpenflowConnectorShowOutput>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    describeOutputs OpenflowConnectorDescribeOutput[]
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    id string
    The provider-assigned unique ID for this managed resource.
    showOutputs OpenflowConnectorShowOutput[]
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    describe_outputs Sequence[OpenflowConnectorDescribeOutput]
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    id str
    The provider-assigned unique ID for this managed resource.
    show_outputs Sequence[OpenflowConnectorShowOutput]
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    id String
    The provider-assigned unique ID for this managed resource.
    showOutputs List<Property Map>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.

    Look up Existing OpenflowConnector Resource

    Get an existing OpenflowConnector 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?: OpenflowConnectorState, opts?: CustomResourceOptions): OpenflowConnector
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            comment: Optional[str] = None,
            database: Optional[str] = None,
            describe_outputs: Optional[Sequence[OpenflowConnectorDescribeOutputArgs]] = None,
            display_name: Optional[str] = None,
            from_: Optional[OpenflowConnectorFromArgs] = None,
            fully_qualified_name: Optional[str] = None,
            name: Optional[str] = None,
            runtime: Optional[str] = None,
            schema: Optional[str] = None,
            show_outputs: Optional[Sequence[OpenflowConnectorShowOutputArgs]] = None) -> OpenflowConnector
    func GetOpenflowConnector(ctx *Context, name string, id IDInput, state *OpenflowConnectorState, opts ...ResourceOption) (*OpenflowConnector, error)
    public static OpenflowConnector Get(string name, Input<string> id, OpenflowConnectorState? state, CustomResourceOptions? opts = null)
    public static OpenflowConnector get(String name, Output<String> id, OpenflowConnectorState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:OpenflowConnector    get:      id: ${id}
    import {
      to = snowflake_openflow_connector.example
      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:
    Comment string
    Specifies a comment for the Openflow connector.
    Database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    DescribeOutputs List<OpenflowConnectorDescribeOutput>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    DisplayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    From OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    Schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs List<OpenflowConnectorShowOutput>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    Comment string
    Specifies a comment for the Openflow connector.
    Database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    DescribeOutputs []OpenflowConnectorDescribeOutputArgs
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    DisplayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    From OpenflowConnectorFromArgs
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    Runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    Schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    ShowOutputs []OpenflowConnectorShowOutputArgs
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    comment string
    Specifies a comment for the Openflow connector.
    database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    describe_outputs list(object)
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    display_name string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    from object
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    fully_qualified_name string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs list(object)
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    comment String
    Specifies a comment for the Openflow connector.
    database String
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    describeOutputs List<OpenflowConnectorDescribeOutput>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    displayName String
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    from OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    runtime String
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema String
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<OpenflowConnectorShowOutput>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    comment string
    Specifies a comment for the Openflow connector.
    database string
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    describeOutputs OpenflowConnectorDescribeOutput[]
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    displayName string
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    from OpenflowConnectorFrom
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    runtime string
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema string
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs OpenflowConnectorShowOutput[]
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    comment str
    Specifies a comment for the Openflow connector.
    database str
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    describe_outputs Sequence[OpenflowConnectorDescribeOutputArgs]
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    display_name str
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    from_ OpenflowConnectorFromArgs
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    name str
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    runtime str
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema str
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    show_outputs Sequence[OpenflowConnectorShowOutputArgs]
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.
    comment String
    Specifies a comment for the Openflow connector.
    database String
    The database in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE OPENFLOW CONNECTOR for the given connector.
    displayName String
    A free-text alias for the connector. Shown in the Openflow UI in place of the connector's identifier when set.
    from Property Map
    Specifies what the connector is created from. Snowflake has no ALTER for it, so changing it recreates the connector. Note that external changes on this field and nested fields are not detected: Snowflake resolves a definition for a connector created from a stage too, so a value read from SHOW could not be told apart from a configured one. show_output.connector_definition reports what Snowflake resolved.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier for the Openflow connector; must be unique for the schema in which the connector is created. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    runtime String
    Specifies the fully qualified name of the Openflow runtime the connector runs in. The connector is created in the runtime's schema, so database and schema must match it. Snowflake has no ALTER for it, so changing it recreates the connector.
    schema String
    The schema in which to create the Openflow connector. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    showOutputs List<Property Map>
    Outputs the result of SHOW OPENFLOW CONNECTORS for the given connector.

    Supporting Types

    OpenflowConnectorDescribeOutput, OpenflowConnectorDescribeOutputArgs

    OpenflowConnectorFrom, OpenflowConnectorFromArgs

    Definition string
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    Path string
    Path to the bundle within the stage. The bundle's root is used when omitted.
    Stage string
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    Definition string
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    Path string
    Path to the bundle within the stage. The bundle's root is used when omitted.
    Stage string
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    definition string
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    path string
    Path to the bundle within the stage. The bundle's root is used when omitted.
    stage string
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    definition String
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    path String
    Path to the bundle within the stage. The bundle's root is used when omitted.
    stage String
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    definition string
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    path string
    Path to the bundle within the stage. The bundle's root is used when omitted.
    stage string
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    definition str
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    path str
    Path to the bundle within the stage. The bundle's root is used when omitted.
    stage str
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.
    definition String
    Catalog definition ID for the connector type, for example OPENFLOW_POSTGRES_CDC. List the available IDs with the snowflake.getOpenflowConnectorDefinitions data source. A connector created this way is a draft: it settles on STOPPED and stays there until a configuration version is committed, which this resource does not do.
    path String
    Path to the bundle within the stage. The bundle's root is used when omitted.
    stage String
    Identifier of a stage holding a complete configuration bundle, which is how a connector arrives already configured and able to start without a commit. A git repository stage works here too.

    OpenflowConnectorShowOutput, OpenflowConnectorShowOutputArgs

    Import

    $ pulumi import snowflake:index/openflowConnector:OpenflowConnector example '"<database_name>"."<schema_name>"."<connector_name>"'
    

    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
    Viewing docs for Snowflake v2.21.0
    published on Friday, Sep 11, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial