1. Packages
  2. Packages
  3. Snowflake Provider
  4. API Docs
  5. ApiIntegrationExternalMcpOauth2
Viewing docs for Snowflake v2.18.0
published on Wednesday, Jul 8, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.18.0
published on Wednesday, Jul 8, 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.

    Resource used to manage API integration for external MCP (Model Context Protocol) servers using OAuth 2.0 authentication. For more information, check api integration 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";
    
    // basic resource
    const basic = new snowflake.ApiIntegrationExternalMcpOauth2("basic", {
        name: "external_mcp_oauth2_integration",
        oauthClientId: "my-client-id",
        oauthClientSecret: "my-client-secret",
        oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
        oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
        apiAllowedPrefixes: ["https://mcp-server.example.com/"],
        enabled: true,
    });
    // complete resource
    const complete = new snowflake.ApiIntegrationExternalMcpOauth2("complete", {
        name: "external_mcp_oauth2_integration_complete",
        oauthClientId: "my-client-id",
        oauthClientSecret: "my-client-secret",
        oauthTokenEndpoint: "https://mcp-server.example.com/oauth/token",
        oauthAuthorizationEndpoint: "https://mcp-server.example.com/oauth/authorize",
        oauthClientAuthMethod: "CLIENT_SECRET_POST",
        oauthRefreshTokenValidity: 86400,
        apiAllowedPrefixes: ["https://mcp-server.example.com/"],
        apiBlockedPrefixes: ["https://mcp-server.example.com/blocked/"],
        enabled: true,
        comment: "Example External MCP OAuth2 integration",
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # basic resource
    basic = snowflake.ApiIntegrationExternalMcpOauth2("basic",
        name="external_mcp_oauth2_integration",
        oauth_client_id="my-client-id",
        oauth_client_secret="my-client-secret",
        oauth_token_endpoint="https://mcp-server.example.com/oauth/token",
        oauth_authorization_endpoint="https://mcp-server.example.com/oauth/authorize",
        api_allowed_prefixes=["https://mcp-server.example.com/"],
        enabled=True)
    # complete resource
    complete = snowflake.ApiIntegrationExternalMcpOauth2("complete",
        name="external_mcp_oauth2_integration_complete",
        oauth_client_id="my-client-id",
        oauth_client_secret="my-client-secret",
        oauth_token_endpoint="https://mcp-server.example.com/oauth/token",
        oauth_authorization_endpoint="https://mcp-server.example.com/oauth/authorize",
        oauth_client_auth_method="CLIENT_SECRET_POST",
        oauth_refresh_token_validity=86400,
        api_allowed_prefixes=["https://mcp-server.example.com/"],
        api_blocked_prefixes=["https://mcp-server.example.com/blocked/"],
        enabled=True,
        comment="Example External MCP OAuth2 integration")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-snowflake/sdk/v2/go/snowflake"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// basic resource
    		_, err := snowflake.NewApiIntegrationExternalMcpOauth2(ctx, "basic", &snowflake.ApiIntegrationExternalMcpOauth2Args{
    			Name:                       pulumi.String("external_mcp_oauth2_integration"),
    			OauthClientId:              pulumi.String("my-client-id"),
    			OauthClientSecret:          pulumi.String("my-client-secret"),
    			OauthTokenEndpoint:         pulumi.String("https://mcp-server.example.com/oauth/token"),
    			OauthAuthorizationEndpoint: pulumi.String("https://mcp-server.example.com/oauth/authorize"),
    			ApiAllowedPrefixes: pulumi.StringArray{
    				pulumi.String("https://mcp-server.example.com/"),
    			},
    			Enabled: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// complete resource
    		_, err = snowflake.NewApiIntegrationExternalMcpOauth2(ctx, "complete", &snowflake.ApiIntegrationExternalMcpOauth2Args{
    			Name:                       pulumi.String("external_mcp_oauth2_integration_complete"),
    			OauthClientId:              pulumi.String("my-client-id"),
    			OauthClientSecret:          pulumi.String("my-client-secret"),
    			OauthTokenEndpoint:         pulumi.String("https://mcp-server.example.com/oauth/token"),
    			OauthAuthorizationEndpoint: pulumi.String("https://mcp-server.example.com/oauth/authorize"),
    			OauthClientAuthMethod:      pulumi.String("CLIENT_SECRET_POST"),
    			OauthRefreshTokenValidity:  pulumi.Int(86400),
    			ApiAllowedPrefixes: pulumi.StringArray{
    				pulumi.String("https://mcp-server.example.com/"),
    			},
    			ApiBlockedPrefixes: pulumi.StringArray{
    				pulumi.String("https://mcp-server.example.com/blocked/"),
    			},
    			Enabled: pulumi.Bool(true),
    			Comment: pulumi.String("Example External MCP OAuth2 integration"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Snowflake = Pulumi.Snowflake;
    
    return await Deployment.RunAsync(() => 
    {
        // basic resource
        var basic = new Snowflake.ApiIntegrationExternalMcpOauth2("basic", new()
        {
            Name = "external_mcp_oauth2_integration",
            OauthClientId = "my-client-id",
            OauthClientSecret = "my-client-secret",
            OauthTokenEndpoint = "https://mcp-server.example.com/oauth/token",
            OauthAuthorizationEndpoint = "https://mcp-server.example.com/oauth/authorize",
            ApiAllowedPrefixes = new[]
            {
                "https://mcp-server.example.com/",
            },
            Enabled = true,
        });
    
        // complete resource
        var complete = new Snowflake.ApiIntegrationExternalMcpOauth2("complete", new()
        {
            Name = "external_mcp_oauth2_integration_complete",
            OauthClientId = "my-client-id",
            OauthClientSecret = "my-client-secret",
            OauthTokenEndpoint = "https://mcp-server.example.com/oauth/token",
            OauthAuthorizationEndpoint = "https://mcp-server.example.com/oauth/authorize",
            OauthClientAuthMethod = "CLIENT_SECRET_POST",
            OauthRefreshTokenValidity = 86400,
            ApiAllowedPrefixes = new[]
            {
                "https://mcp-server.example.com/",
            },
            ApiBlockedPrefixes = new[]
            {
                "https://mcp-server.example.com/blocked/",
            },
            Enabled = true,
            Comment = "Example External MCP OAuth2 integration",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.ApiIntegrationExternalMcpOauth2;
    import com.pulumi.snowflake.ApiIntegrationExternalMcpOauth2Args;
    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) {
            // basic resource
            var basic = new ApiIntegrationExternalMcpOauth2("basic", ApiIntegrationExternalMcpOauth2Args.builder()
                .name("external_mcp_oauth2_integration")
                .oauthClientId("my-client-id")
                .oauthClientSecret("my-client-secret")
                .oauthTokenEndpoint("https://mcp-server.example.com/oauth/token")
                .oauthAuthorizationEndpoint("https://mcp-server.example.com/oauth/authorize")
                .apiAllowedPrefixes("https://mcp-server.example.com/")
                .enabled(true)
                .build());
    
            // complete resource
            var complete = new ApiIntegrationExternalMcpOauth2("complete", ApiIntegrationExternalMcpOauth2Args.builder()
                .name("external_mcp_oauth2_integration_complete")
                .oauthClientId("my-client-id")
                .oauthClientSecret("my-client-secret")
                .oauthTokenEndpoint("https://mcp-server.example.com/oauth/token")
                .oauthAuthorizationEndpoint("https://mcp-server.example.com/oauth/authorize")
                .oauthClientAuthMethod("CLIENT_SECRET_POST")
                .oauthRefreshTokenValidity(86400)
                .apiAllowedPrefixes("https://mcp-server.example.com/")
                .apiBlockedPrefixes("https://mcp-server.example.com/blocked/")
                .enabled(true)
                .comment("Example External MCP OAuth2 integration")
                .build());
    
        }
    }
    
    resources:
      # basic resource
      basic:
        type: snowflake:ApiIntegrationExternalMcpOauth2
        properties:
          name: external_mcp_oauth2_integration
          oauthClientId: my-client-id
          oauthClientSecret: my-client-secret
          oauthTokenEndpoint: https://mcp-server.example.com/oauth/token
          oauthAuthorizationEndpoint: https://mcp-server.example.com/oauth/authorize
          apiAllowedPrefixes:
            - https://mcp-server.example.com/
          enabled: true
      # complete resource
      complete:
        type: snowflake:ApiIntegrationExternalMcpOauth2
        properties:
          name: external_mcp_oauth2_integration_complete
          oauthClientId: my-client-id
          oauthClientSecret: my-client-secret
          oauthTokenEndpoint: https://mcp-server.example.com/oauth/token
          oauthAuthorizationEndpoint: https://mcp-server.example.com/oauth/authorize
          oauthClientAuthMethod: CLIENT_SECRET_POST
          oauthRefreshTokenValidity: 86400
          apiAllowedPrefixes:
            - https://mcp-server.example.com/
          apiBlockedPrefixes:
            - https://mcp-server.example.com/blocked/
          enabled: true
          comment: Example External MCP OAuth2 integration
    
    pulumi {
      required_providers {
        snowflake = {
          source = "pulumi/snowflake"
        }
      }
    }
    
    # basic resource
    resource "snowflake_apiintegrationexternalmcpoauth2" "basic" {
      name                         = "external_mcp_oauth2_integration"
      oauth_client_id              = "my-client-id"
      oauth_client_secret          = "my-client-secret"
      oauth_token_endpoint         = "https://mcp-server.example.com/oauth/token"
      oauth_authorization_endpoint = "https://mcp-server.example.com/oauth/authorize"
      api_allowed_prefixes         = ["https://mcp-server.example.com/"]
      enabled                      = true
    }
    # complete resource
    resource "snowflake_apiintegrationexternalmcpoauth2" "complete" {
      name                         = "external_mcp_oauth2_integration_complete"
      oauth_client_id              = "my-client-id"
      oauth_client_secret          = "my-client-secret"
      oauth_token_endpoint         = "https://mcp-server.example.com/oauth/token"
      oauth_authorization_endpoint = "https://mcp-server.example.com/oauth/authorize"
      oauth_client_auth_method     = "CLIENT_SECRET_POST"
      oauth_refresh_token_validity = 86400
      api_allowed_prefixes         = ["https://mcp-server.example.com/"]
      api_blocked_prefixes         = ["https://mcp-server.example.com/blocked/"]
      enabled                      = true
      comment                      = "Example External MCP OAuth2 integration"
    }
    

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

    Create ApiIntegrationExternalMcpOauth2 Resource

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

    Constructor syntax

    new ApiIntegrationExternalMcpOauth2(name: string, args: ApiIntegrationExternalMcpOauth2Args, opts?: CustomResourceOptions);
    @overload
    def ApiIntegrationExternalMcpOauth2(resource_name: str,
                                        args: ApiIntegrationExternalMcpOauth2Args,
                                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def ApiIntegrationExternalMcpOauth2(resource_name: str,
                                        opts: Optional[ResourceOptions] = None,
                                        api_allowed_prefixes: Optional[Sequence[str]] = None,
                                        enabled: Optional[bool] = None,
                                        oauth_authorization_endpoint: Optional[str] = None,
                                        oauth_client_id: Optional[str] = None,
                                        oauth_client_secret: Optional[str] = None,
                                        oauth_token_endpoint: Optional[str] = None,
                                        api_blocked_prefixes: Optional[Sequence[str]] = None,
                                        comment: Optional[str] = None,
                                        name: Optional[str] = None,
                                        oauth_client_auth_method: Optional[str] = None,
                                        oauth_refresh_token_validity: Optional[int] = None)
    func NewApiIntegrationExternalMcpOauth2(ctx *Context, name string, args ApiIntegrationExternalMcpOauth2Args, opts ...ResourceOption) (*ApiIntegrationExternalMcpOauth2, error)
    public ApiIntegrationExternalMcpOauth2(string name, ApiIntegrationExternalMcpOauth2Args args, CustomResourceOptions? opts = null)
    public ApiIntegrationExternalMcpOauth2(String name, ApiIntegrationExternalMcpOauth2Args args)
    public ApiIntegrationExternalMcpOauth2(String name, ApiIntegrationExternalMcpOauth2Args args, CustomResourceOptions options)
    
    type: snowflake:ApiIntegrationExternalMcpOauth2
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "snowflake_api_integration_external_mcp_oauth2" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ApiIntegrationExternalMcpOauth2Args
    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 ApiIntegrationExternalMcpOauth2Args
    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 ApiIntegrationExternalMcpOauth2Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApiIntegrationExternalMcpOauth2Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApiIntegrationExternalMcpOauth2Args
    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 apiIntegrationExternalMcpOauth2Resource = new Snowflake.ApiIntegrationExternalMcpOauth2("apiIntegrationExternalMcpOauth2Resource", new()
    {
        ApiAllowedPrefixes = new[]
        {
            "string",
        },
        Enabled = false,
        OauthAuthorizationEndpoint = "string",
        OauthClientId = "string",
        OauthClientSecret = "string",
        OauthTokenEndpoint = "string",
        ApiBlockedPrefixes = new[]
        {
            "string",
        },
        Comment = "string",
        Name = "string",
        OauthClientAuthMethod = "string",
        OauthRefreshTokenValidity = 0,
    });
    
    example, err := snowflake.NewApiIntegrationExternalMcpOauth2(ctx, "apiIntegrationExternalMcpOauth2Resource", &snowflake.ApiIntegrationExternalMcpOauth2Args{
    	ApiAllowedPrefixes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Enabled:                    pulumi.Bool(false),
    	OauthAuthorizationEndpoint: pulumi.String("string"),
    	OauthClientId:              pulumi.String("string"),
    	OauthClientSecret:          pulumi.String("string"),
    	OauthTokenEndpoint:         pulumi.String("string"),
    	ApiBlockedPrefixes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Comment:                   pulumi.String("string"),
    	Name:                      pulumi.String("string"),
    	OauthClientAuthMethod:     pulumi.String("string"),
    	OauthRefreshTokenValidity: pulumi.Int(0),
    })
    
    resource "snowflake_api_integration_external_mcp_oauth2" "apiIntegrationExternalMcpOauth2Resource" {
      lifecycle {
        create_before_destroy = true
      }
      api_allowed_prefixes         = ["string"]
      enabled                      = false
      oauth_authorization_endpoint = "string"
      oauth_client_id              = "string"
      oauth_client_secret          = "string"
      oauth_token_endpoint         = "string"
      api_blocked_prefixes         = ["string"]
      comment                      = "string"
      name                         = "string"
      oauth_client_auth_method     = "string"
      oauth_refresh_token_validity = 0
    }
    
    var apiIntegrationExternalMcpOauth2Resource = new ApiIntegrationExternalMcpOauth2("apiIntegrationExternalMcpOauth2Resource", ApiIntegrationExternalMcpOauth2Args.builder()
        .apiAllowedPrefixes("string")
        .enabled(false)
        .oauthAuthorizationEndpoint("string")
        .oauthClientId("string")
        .oauthClientSecret("string")
        .oauthTokenEndpoint("string")
        .apiBlockedPrefixes("string")
        .comment("string")
        .name("string")
        .oauthClientAuthMethod("string")
        .oauthRefreshTokenValidity(0)
        .build());
    
    api_integration_external_mcp_oauth2_resource = snowflake.ApiIntegrationExternalMcpOauth2("apiIntegrationExternalMcpOauth2Resource",
        api_allowed_prefixes=["string"],
        enabled=False,
        oauth_authorization_endpoint="string",
        oauth_client_id="string",
        oauth_client_secret="string",
        oauth_token_endpoint="string",
        api_blocked_prefixes=["string"],
        comment="string",
        name="string",
        oauth_client_auth_method="string",
        oauth_refresh_token_validity=0)
    
    const apiIntegrationExternalMcpOauth2Resource = new snowflake.ApiIntegrationExternalMcpOauth2("apiIntegrationExternalMcpOauth2Resource", {
        apiAllowedPrefixes: ["string"],
        enabled: false,
        oauthAuthorizationEndpoint: "string",
        oauthClientId: "string",
        oauthClientSecret: "string",
        oauthTokenEndpoint: "string",
        apiBlockedPrefixes: ["string"],
        comment: "string",
        name: "string",
        oauthClientAuthMethod: "string",
        oauthRefreshTokenValidity: 0,
    });
    
    type: snowflake:ApiIntegrationExternalMcpOauth2
    properties:
        apiAllowedPrefixes:
            - string
        apiBlockedPrefixes:
            - string
        comment: string
        enabled: false
        name: string
        oauthAuthorizationEndpoint: string
        oauthClientAuthMethod: string
        oauthClientId: string
        oauthClientSecret: string
        oauthRefreshTokenValidity: 0
        oauthTokenEndpoint: string
    

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

    ApiAllowedPrefixes List<string>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    Enabled bool
    Specifies whether this API integration is enabled or disabled.
    OauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    OauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    OauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    OauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    ApiBlockedPrefixes List<string>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    Comment string
    Specifies a comment for the integration.
    Name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    OauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    OauthRefreshTokenValidity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    ApiAllowedPrefixes []string
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    Enabled bool
    Specifies whether this API integration is enabled or disabled.
    OauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    OauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    OauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    OauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    ApiBlockedPrefixes []string
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    Comment string
    Specifies a comment for the integration.
    Name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    OauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    OauthRefreshTokenValidity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    api_allowed_prefixes list(string)
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    enabled bool
    Specifies whether this API integration is enabled or disabled.
    oauth_authorization_endpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauth_client_id string
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauth_client_secret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauth_token_endpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    api_blocked_prefixes list(string)
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment string
    Specifies a comment for the integration.
    name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauth_client_auth_method string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauth_refresh_token_validity number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    apiAllowedPrefixes List<String>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    enabled Boolean
    Specifies whether this API integration is enabled or disabled.
    oauthAuthorizationEndpoint String
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientId String
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret String
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthTokenEndpoint String
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    apiBlockedPrefixes List<String>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment String
    Specifies a comment for the integration.
    name String
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthClientAuthMethod String
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthRefreshTokenValidity Integer
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    apiAllowedPrefixes string[]
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    enabled boolean
    Specifies whether this API integration is enabled or disabled.
    oauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    apiBlockedPrefixes string[]
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment string
    Specifies a comment for the integration.
    name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthRefreshTokenValidity number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    api_allowed_prefixes Sequence[str]
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    enabled bool
    Specifies whether this API integration is enabled or disabled.
    oauth_authorization_endpoint str
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauth_client_id str
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauth_client_secret str
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauth_token_endpoint str
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    api_blocked_prefixes Sequence[str]
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment str
    Specifies a comment for the integration.
    name str
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauth_client_auth_method str
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauth_refresh_token_validity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    apiAllowedPrefixes List<String>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    enabled Boolean
    Specifies whether this API integration is enabled or disabled.
    oauthAuthorizationEndpoint String
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientId String
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret String
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthTokenEndpoint String
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    apiBlockedPrefixes List<String>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment String
    Specifies a comment for the integration.
    name String
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthClientAuthMethod String
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthRefreshTokenValidity Number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.

    Outputs

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

    DescribeOutputs List<ApiIntegrationExternalMcpOauth2DescribeOutput>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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<ApiIntegrationExternalMcpOauth2ShowOutput>
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    DescribeOutputs []ApiIntegrationExternalMcpOauth2DescribeOutput
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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 []ApiIntegrationExternalMcpOauth2ShowOutput
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    describe_outputs list(object)
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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 API INTEGRATIONS for the given integration.
    describeOutputs List<ApiIntegrationExternalMcpOauth2DescribeOutput>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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<ApiIntegrationExternalMcpOauth2ShowOutput>
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    describeOutputs ApiIntegrationExternalMcpOauth2DescribeOutput[]
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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 ApiIntegrationExternalMcpOauth2ShowOutput[]
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    describe_outputs Sequence[ApiIntegrationExternalMcpOauth2DescribeOutput]
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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[ApiIntegrationExternalMcpOauth2ShowOutput]
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    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 API INTEGRATIONS for the given integration.

    Look up Existing ApiIntegrationExternalMcpOauth2 Resource

    Get an existing ApiIntegrationExternalMcpOauth2 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?: ApiIntegrationExternalMcpOauth2State, opts?: CustomResourceOptions): ApiIntegrationExternalMcpOauth2
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_allowed_prefixes: Optional[Sequence[str]] = None,
            api_blocked_prefixes: Optional[Sequence[str]] = None,
            comment: Optional[str] = None,
            describe_outputs: Optional[Sequence[ApiIntegrationExternalMcpOauth2DescribeOutputArgs]] = None,
            enabled: Optional[bool] = None,
            fully_qualified_name: Optional[str] = None,
            name: Optional[str] = None,
            oauth_authorization_endpoint: Optional[str] = None,
            oauth_client_auth_method: Optional[str] = None,
            oauth_client_id: Optional[str] = None,
            oauth_client_secret: Optional[str] = None,
            oauth_refresh_token_validity: Optional[int] = None,
            oauth_token_endpoint: Optional[str] = None,
            show_outputs: Optional[Sequence[ApiIntegrationExternalMcpOauth2ShowOutputArgs]] = None) -> ApiIntegrationExternalMcpOauth2
    func GetApiIntegrationExternalMcpOauth2(ctx *Context, name string, id IDInput, state *ApiIntegrationExternalMcpOauth2State, opts ...ResourceOption) (*ApiIntegrationExternalMcpOauth2, error)
    public static ApiIntegrationExternalMcpOauth2 Get(string name, Input<string> id, ApiIntegrationExternalMcpOauth2State? state, CustomResourceOptions? opts = null)
    public static ApiIntegrationExternalMcpOauth2 get(String name, Output<String> id, ApiIntegrationExternalMcpOauth2State state, CustomResourceOptions options)
    resources:  _:    type: snowflake:ApiIntegrationExternalMcpOauth2    get:      id: ${id}
    import {
      to = snowflake_api_integration_external_mcp_oauth2.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:
    ApiAllowedPrefixes List<string>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    ApiBlockedPrefixes List<string>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    Comment string
    Specifies a comment for the integration.
    DescribeOutputs List<ApiIntegrationExternalMcpOauth2DescribeOutput>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    Enabled bool
    Specifies whether this API integration is enabled or disabled.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    OauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    OauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    OauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    OauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    OauthRefreshTokenValidity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    OauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    ShowOutputs List<ApiIntegrationExternalMcpOauth2ShowOutput>
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    ApiAllowedPrefixes []string
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    ApiBlockedPrefixes []string
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    Comment string
    Specifies a comment for the integration.
    DescribeOutputs []ApiIntegrationExternalMcpOauth2DescribeOutputArgs
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    Enabled bool
    Specifies whether this API integration is enabled or disabled.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    OauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    OauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    OauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    OauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    OauthRefreshTokenValidity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    OauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    ShowOutputs []ApiIntegrationExternalMcpOauth2ShowOutputArgs
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    api_allowed_prefixes list(string)
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    api_blocked_prefixes list(string)
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment string
    Specifies a comment for the integration.
    describe_outputs list(object)
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    enabled bool
    Specifies whether this API integration is enabled or disabled.
    fully_qualified_name string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauth_authorization_endpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauth_client_auth_method string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauth_client_id string
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauth_client_secret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauth_refresh_token_validity number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    oauth_token_endpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    show_outputs list(object)
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    apiAllowedPrefixes List<String>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    apiBlockedPrefixes List<String>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment String
    Specifies a comment for the integration.
    describeOutputs List<ApiIntegrationExternalMcpOauth2DescribeOutput>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    enabled Boolean
    Specifies whether this API integration is enabled or disabled.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthAuthorizationEndpoint String
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientAuthMethod String
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthClientId String
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret String
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthRefreshTokenValidity Integer
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    oauthTokenEndpoint String
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    showOutputs List<ApiIntegrationExternalMcpOauth2ShowOutput>
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    apiAllowedPrefixes string[]
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    apiBlockedPrefixes string[]
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment string
    Specifies a comment for the integration.
    describeOutputs ApiIntegrationExternalMcpOauth2DescribeOutput[]
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    enabled boolean
    Specifies whether this API integration is enabled or disabled.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthAuthorizationEndpoint string
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientAuthMethod string
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthClientId string
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret string
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthRefreshTokenValidity number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    oauthTokenEndpoint string
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    showOutputs ApiIntegrationExternalMcpOauth2ShowOutput[]
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    api_allowed_prefixes Sequence[str]
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    api_blocked_prefixes Sequence[str]
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment str
    Specifies a comment for the integration.
    describe_outputs Sequence[ApiIntegrationExternalMcpOauth2DescribeOutputArgs]
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    enabled bool
    Specifies whether this API integration is enabled or disabled.
    fully_qualified_name str
    Fully qualified name of the resource. For more information, see object name resolution.
    name str
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauth_authorization_endpoint str
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauth_client_auth_method str
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauth_client_id str
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauth_client_secret str
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauth_refresh_token_validity int
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    oauth_token_endpoint str
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    show_outputs Sequence[ApiIntegrationExternalMcpOauth2ShowOutputArgs]
    Outputs the result of SHOW API INTEGRATIONS for the given integration.
    apiAllowedPrefixes List<String>
    Explicitly limits external functions that use the integration to reference one or more HTTPS proxy service and remote service endpoints and resources.
    apiBlockedPrefixes List<String>
    Lists the endpoints and resources in the HTTPS proxy service that are not allowed to be called from Snowflake.
    comment String
    Specifies a comment for the integration.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE API INTEGRATION for the given integration.
    enabled Boolean
    Specifies whether this API integration is enabled or disabled.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. Due to technical limitations (read more here), avoid using the following characters: |, ., ".
    oauthAuthorizationEndpoint String
    Specifies the OAuth 2.0 authorization endpoint URL for the MCP server.
    oauthClientAuthMethod String
    Specifies the OAuth 2.0 client authentication method. Valid values are (case-insensitive): CLIENT_SECRET_BASIC | CLIENT_SECRET_POST.
    oauthClientId String
    Specifies the OAuth 2.0 client ID for the MCP server.
    oauthClientSecret String
    Specifies the OAuth 2.0 client secret for the MCP server. 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".
    oauthRefreshTokenValidity Number
    Specifies the validity period (in seconds) for refresh tokens issued by the MCP server.
    oauthTokenEndpoint String
    Specifies the OAuth 2.0 token endpoint URL for the MCP server.
    showOutputs List<Property Map>
    Outputs the result of SHOW API INTEGRATIONS for the given integration.

    Supporting Types

    ApiIntegrationExternalMcpOauth2DescribeOutput, ApiIntegrationExternalMcpOauth2DescribeOutputArgs

    ApiIntegrationExternalMcpOauth2ShowOutput, ApiIntegrationExternalMcpOauth2ShowOutputArgs

    ApiType string
    Category string
    Comment string
    CreatedOn string
    Enabled bool
    Name string
    ApiType string
    Category string
    Comment string
    CreatedOn string
    Enabled bool
    Name string
    api_type string
    category string
    comment string
    created_on string
    enabled bool
    name string
    apiType String
    category String
    comment String
    createdOn String
    enabled Boolean
    name String
    apiType string
    category string
    comment string
    createdOn string
    enabled boolean
    name string
    apiType String
    category String
    comment String
    createdOn String
    enabled Boolean
    name String

    Import

    $ pulumi import snowflake:index/apiIntegrationExternalMcpOauth2:ApiIntegrationExternalMcpOauth2 example '"<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.18.0
    published on Wednesday, Jul 8, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial