1. Packages
  2. Packages
  3. Snowflake Provider
  4. API Docs
  5. CatalogIntegrationIcebergRest
Viewing docs for Snowflake v2.15.0
published on Saturday, May 9, 2026 by Pulumi
snowflake logo
Viewing docs for Snowflake v2.15.0
published on Saturday, May 9, 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 catalog integration objects for Apache Iceberg™ tables managed in a remote catalog that complies with the open source Apache Iceberg™ REST OpenAPI specification. For more information, check catalog 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 + OAuth
    const oauthBasic = new snowflake.CatalogIntegrationIcebergRest("oauth_basic", {
        name: "example_iceberg_rest_oauth",
        enabled: false,
        restConfig: {
            catalogUri: "https://your-iceberg-rest.example.com",
        },
        oauthRestAuthentication: {
            oauthClientId: "your_oauth_client_id",
            oauthClientSecret: "your_oauth_client_secret",
            oauthAllowedScopes: ["PRINCIPAL_ROLE:ALL"],
        },
    });
    // Complete + OAuth
    const oauthComplete = new snowflake.CatalogIntegrationIcebergRest("oauth_complete", {
        name: "example_iceberg_rest_oauth_complete",
        enabled: true,
        refreshIntervalSeconds: 60,
        comment: "Lorem ipsum",
        catalogNamespace: "my_namespace",
        restConfig: {
            catalogUri: "https://your-iceberg-rest.example.com",
            prefix: "/api/v1",
            catalogName: "my_catalog",
            catalogApiType: "PUBLIC",
            accessDelegationMode: "EXTERNAL_VOLUME_CREDENTIALS",
        },
        oauthRestAuthentication: {
            oauthTokenUri: "https://idp.example.com/oauth/token",
            oauthClientId: "your_oauth_client_id",
            oauthClientSecret: "your_oauth_client_secret",
            oauthAllowedScopes: ["PRINCIPAL_ROLE:ALL"],
        },
    });
    // Bearer token
    const bearer = new snowflake.CatalogIntegrationIcebergRest("bearer", {
        name: "example_iceberg_rest_bearer",
        enabled: false,
        restConfig: {
            catalogUri: "https://your-iceberg-rest.example.com",
        },
        bearerRestAuthentication: {
            bearerToken: "your_static_bearer_token",
        },
    });
    // SigV4
    const sigv4 = new snowflake.CatalogIntegrationIcebergRest("sigv4", {
        name: "example_iceberg_rest_sigv4",
        enabled: false,
        restConfig: {
            catalogUri: "https://your-iceberg-rest.example.com",
        },
        sigv4RestAuthentication: {
            sigv4IamRole: "arn:aws:iam::123456789012:role/YourRole",
            sigv4SigningRegion: "us-east-1",
            sigv4ExternalId: "optional-external-id",
        },
    });
    
    import pulumi
    import pulumi_snowflake as snowflake
    
    # Basic + OAuth
    oauth_basic = snowflake.CatalogIntegrationIcebergRest("oauth_basic",
        name="example_iceberg_rest_oauth",
        enabled=False,
        rest_config={
            "catalog_uri": "https://your-iceberg-rest.example.com",
        },
        oauth_rest_authentication={
            "oauth_client_id": "your_oauth_client_id",
            "oauth_client_secret": "your_oauth_client_secret",
            "oauth_allowed_scopes": ["PRINCIPAL_ROLE:ALL"],
        })
    # Complete + OAuth
    oauth_complete = snowflake.CatalogIntegrationIcebergRest("oauth_complete",
        name="example_iceberg_rest_oauth_complete",
        enabled=True,
        refresh_interval_seconds=60,
        comment="Lorem ipsum",
        catalog_namespace="my_namespace",
        rest_config={
            "catalog_uri": "https://your-iceberg-rest.example.com",
            "prefix": "/api/v1",
            "catalog_name": "my_catalog",
            "catalog_api_type": "PUBLIC",
            "access_delegation_mode": "EXTERNAL_VOLUME_CREDENTIALS",
        },
        oauth_rest_authentication={
            "oauth_token_uri": "https://idp.example.com/oauth/token",
            "oauth_client_id": "your_oauth_client_id",
            "oauth_client_secret": "your_oauth_client_secret",
            "oauth_allowed_scopes": ["PRINCIPAL_ROLE:ALL"],
        })
    # Bearer token
    bearer = snowflake.CatalogIntegrationIcebergRest("bearer",
        name="example_iceberg_rest_bearer",
        enabled=False,
        rest_config={
            "catalog_uri": "https://your-iceberg-rest.example.com",
        },
        bearer_rest_authentication={
            "bearer_token": "your_static_bearer_token",
        })
    # SigV4
    sigv4 = snowflake.CatalogIntegrationIcebergRest("sigv4",
        name="example_iceberg_rest_sigv4",
        enabled=False,
        rest_config={
            "catalog_uri": "https://your-iceberg-rest.example.com",
        },
        sigv4_rest_authentication={
            "sigv4_iam_role": "arn:aws:iam::123456789012:role/YourRole",
            "sigv4_signing_region": "us-east-1",
            "sigv4_external_id": "optional-external-id",
        })
    
    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 + OAuth
    		_, err := snowflake.NewCatalogIntegrationIcebergRest(ctx, "oauth_basic", &snowflake.CatalogIntegrationIcebergRestArgs{
    			Name:    pulumi.String("example_iceberg_rest_oauth"),
    			Enabled: pulumi.Bool(false),
    			RestConfig: &snowflake.CatalogIntegrationIcebergRestRestConfigArgs{
    				CatalogUri: pulumi.String("https://your-iceberg-rest.example.com"),
    			},
    			OauthRestAuthentication: &snowflake.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs{
    				OauthClientId:     pulumi.String("your_oauth_client_id"),
    				OauthClientSecret: pulumi.String("your_oauth_client_secret"),
    				OauthAllowedScopes: pulumi.StringArray{
    					pulumi.String("PRINCIPAL_ROLE:ALL"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Complete + OAuth
    		_, err = snowflake.NewCatalogIntegrationIcebergRest(ctx, "oauth_complete", &snowflake.CatalogIntegrationIcebergRestArgs{
    			Name:                   pulumi.String("example_iceberg_rest_oauth_complete"),
    			Enabled:                pulumi.Bool(true),
    			RefreshIntervalSeconds: pulumi.Int(60),
    			Comment:                pulumi.String("Lorem ipsum"),
    			CatalogNamespace:       pulumi.String("my_namespace"),
    			RestConfig: &snowflake.CatalogIntegrationIcebergRestRestConfigArgs{
    				CatalogUri:           pulumi.String("https://your-iceberg-rest.example.com"),
    				Prefix:               pulumi.String("/api/v1"),
    				CatalogName:          pulumi.String("my_catalog"),
    				CatalogApiType:       pulumi.String("PUBLIC"),
    				AccessDelegationMode: pulumi.String("EXTERNAL_VOLUME_CREDENTIALS"),
    			},
    			OauthRestAuthentication: &snowflake.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs{
    				OauthTokenUri:     pulumi.String("https://idp.example.com/oauth/token"),
    				OauthClientId:     pulumi.String("your_oauth_client_id"),
    				OauthClientSecret: pulumi.String("your_oauth_client_secret"),
    				OauthAllowedScopes: pulumi.StringArray{
    					pulumi.String("PRINCIPAL_ROLE:ALL"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Bearer token
    		_, err = snowflake.NewCatalogIntegrationIcebergRest(ctx, "bearer", &snowflake.CatalogIntegrationIcebergRestArgs{
    			Name:    pulumi.String("example_iceberg_rest_bearer"),
    			Enabled: pulumi.Bool(false),
    			RestConfig: &snowflake.CatalogIntegrationIcebergRestRestConfigArgs{
    				CatalogUri: pulumi.String("https://your-iceberg-rest.example.com"),
    			},
    			BearerRestAuthentication: &snowflake.CatalogIntegrationIcebergRestBearerRestAuthenticationArgs{
    				BearerToken: pulumi.String("your_static_bearer_token"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// SigV4
    		_, err = snowflake.NewCatalogIntegrationIcebergRest(ctx, "sigv4", &snowflake.CatalogIntegrationIcebergRestArgs{
    			Name:    pulumi.String("example_iceberg_rest_sigv4"),
    			Enabled: pulumi.Bool(false),
    			RestConfig: &snowflake.CatalogIntegrationIcebergRestRestConfigArgs{
    				CatalogUri: pulumi.String("https://your-iceberg-rest.example.com"),
    			},
    			Sigv4RestAuthentication: &snowflake.CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs{
    				Sigv4IamRole:       pulumi.String("arn:aws:iam::123456789012:role/YourRole"),
    				Sigv4SigningRegion: pulumi.String("us-east-1"),
    				Sigv4ExternalId:    pulumi.String("optional-external-id"),
    			},
    		})
    		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 + OAuth
        var oauthBasic = new Snowflake.CatalogIntegrationIcebergRest("oauth_basic", new()
        {
            Name = "example_iceberg_rest_oauth",
            Enabled = false,
            RestConfig = new Snowflake.Inputs.CatalogIntegrationIcebergRestRestConfigArgs
            {
                CatalogUri = "https://your-iceberg-rest.example.com",
            },
            OauthRestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
            {
                OauthClientId = "your_oauth_client_id",
                OauthClientSecret = "your_oauth_client_secret",
                OauthAllowedScopes = new[]
                {
                    "PRINCIPAL_ROLE:ALL",
                },
            },
        });
    
        // Complete + OAuth
        var oauthComplete = new Snowflake.CatalogIntegrationIcebergRest("oauth_complete", new()
        {
            Name = "example_iceberg_rest_oauth_complete",
            Enabled = true,
            RefreshIntervalSeconds = 60,
            Comment = "Lorem ipsum",
            CatalogNamespace = "my_namespace",
            RestConfig = new Snowflake.Inputs.CatalogIntegrationIcebergRestRestConfigArgs
            {
                CatalogUri = "https://your-iceberg-rest.example.com",
                Prefix = "/api/v1",
                CatalogName = "my_catalog",
                CatalogApiType = "PUBLIC",
                AccessDelegationMode = "EXTERNAL_VOLUME_CREDENTIALS",
            },
            OauthRestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
            {
                OauthTokenUri = "https://idp.example.com/oauth/token",
                OauthClientId = "your_oauth_client_id",
                OauthClientSecret = "your_oauth_client_secret",
                OauthAllowedScopes = new[]
                {
                    "PRINCIPAL_ROLE:ALL",
                },
            },
        });
    
        // Bearer token
        var bearer = new Snowflake.CatalogIntegrationIcebergRest("bearer", new()
        {
            Name = "example_iceberg_rest_bearer",
            Enabled = false,
            RestConfig = new Snowflake.Inputs.CatalogIntegrationIcebergRestRestConfigArgs
            {
                CatalogUri = "https://your-iceberg-rest.example.com",
            },
            BearerRestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
            {
                BearerToken = "your_static_bearer_token",
            },
        });
    
        // SigV4
        var sigv4 = new Snowflake.CatalogIntegrationIcebergRest("sigv4", new()
        {
            Name = "example_iceberg_rest_sigv4",
            Enabled = false,
            RestConfig = new Snowflake.Inputs.CatalogIntegrationIcebergRestRestConfigArgs
            {
                CatalogUri = "https://your-iceberg-rest.example.com",
            },
            Sigv4RestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
            {
                Sigv4IamRole = "arn:aws:iam::123456789012:role/YourRole",
                Sigv4SigningRegion = "us-east-1",
                Sigv4ExternalId = "optional-external-id",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.snowflake.CatalogIntegrationIcebergRest;
    import com.pulumi.snowflake.CatalogIntegrationIcebergRestArgs;
    import com.pulumi.snowflake.inputs.CatalogIntegrationIcebergRestRestConfigArgs;
    import com.pulumi.snowflake.inputs.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs;
    import com.pulumi.snowflake.inputs.CatalogIntegrationIcebergRestBearerRestAuthenticationArgs;
    import com.pulumi.snowflake.inputs.CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs;
    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 + OAuth
            var oauthBasic = new CatalogIntegrationIcebergRest("oauthBasic", CatalogIntegrationIcebergRestArgs.builder()
                .name("example_iceberg_rest_oauth")
                .enabled(false)
                .restConfig(CatalogIntegrationIcebergRestRestConfigArgs.builder()
                    .catalogUri("https://your-iceberg-rest.example.com")
                    .build())
                .oauthRestAuthentication(CatalogIntegrationIcebergRestOauthRestAuthenticationArgs.builder()
                    .oauthClientId("your_oauth_client_id")
                    .oauthClientSecret("your_oauth_client_secret")
                    .oauthAllowedScopes("PRINCIPAL_ROLE:ALL")
                    .build())
                .build());
    
            // Complete + OAuth
            var oauthComplete = new CatalogIntegrationIcebergRest("oauthComplete", CatalogIntegrationIcebergRestArgs.builder()
                .name("example_iceberg_rest_oauth_complete")
                .enabled(true)
                .refreshIntervalSeconds(60)
                .comment("Lorem ipsum")
                .catalogNamespace("my_namespace")
                .restConfig(CatalogIntegrationIcebergRestRestConfigArgs.builder()
                    .catalogUri("https://your-iceberg-rest.example.com")
                    .prefix("/api/v1")
                    .catalogName("my_catalog")
                    .catalogApiType("PUBLIC")
                    .accessDelegationMode("EXTERNAL_VOLUME_CREDENTIALS")
                    .build())
                .oauthRestAuthentication(CatalogIntegrationIcebergRestOauthRestAuthenticationArgs.builder()
                    .oauthTokenUri("https://idp.example.com/oauth/token")
                    .oauthClientId("your_oauth_client_id")
                    .oauthClientSecret("your_oauth_client_secret")
                    .oauthAllowedScopes("PRINCIPAL_ROLE:ALL")
                    .build())
                .build());
    
            // Bearer token
            var bearer = new CatalogIntegrationIcebergRest("bearer", CatalogIntegrationIcebergRestArgs.builder()
                .name("example_iceberg_rest_bearer")
                .enabled(false)
                .restConfig(CatalogIntegrationIcebergRestRestConfigArgs.builder()
                    .catalogUri("https://your-iceberg-rest.example.com")
                    .build())
                .bearerRestAuthentication(CatalogIntegrationIcebergRestBearerRestAuthenticationArgs.builder()
                    .bearerToken("your_static_bearer_token")
                    .build())
                .build());
    
            // SigV4
            var sigv4 = new CatalogIntegrationIcebergRest("sigv4", CatalogIntegrationIcebergRestArgs.builder()
                .name("example_iceberg_rest_sigv4")
                .enabled(false)
                .restConfig(CatalogIntegrationIcebergRestRestConfigArgs.builder()
                    .catalogUri("https://your-iceberg-rest.example.com")
                    .build())
                .sigv4RestAuthentication(CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs.builder()
                    .sigv4IamRole("arn:aws:iam::123456789012:role/YourRole")
                    .sigv4SigningRegion("us-east-1")
                    .sigv4ExternalId("optional-external-id")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Basic + OAuth
      oauthBasic:
        type: snowflake:CatalogIntegrationIcebergRest
        name: oauth_basic
        properties:
          name: example_iceberg_rest_oauth
          enabled: false
          restConfig:
            catalogUri: https://your-iceberg-rest.example.com
          oauthRestAuthentication:
            oauthClientId: your_oauth_client_id
            oauthClientSecret: your_oauth_client_secret
            oauthAllowedScopes:
              - PRINCIPAL_ROLE:ALL
      # Complete + OAuth
      oauthComplete:
        type: snowflake:CatalogIntegrationIcebergRest
        name: oauth_complete
        properties:
          name: example_iceberg_rest_oauth_complete
          enabled: true
          refreshIntervalSeconds: 60
          comment: Lorem ipsum
          catalogNamespace: my_namespace
          restConfig:
            catalogUri: https://your-iceberg-rest.example.com
            prefix: /api/v1
            catalogName: my_catalog
            catalogApiType: PUBLIC
            accessDelegationMode: EXTERNAL_VOLUME_CREDENTIALS
          oauthRestAuthentication:
            oauthTokenUri: https://idp.example.com/oauth/token
            oauthClientId: your_oauth_client_id
            oauthClientSecret: your_oauth_client_secret
            oauthAllowedScopes:
              - PRINCIPAL_ROLE:ALL
      # Bearer token
      bearer:
        type: snowflake:CatalogIntegrationIcebergRest
        properties:
          name: example_iceberg_rest_bearer
          enabled: false
          restConfig:
            catalogUri: https://your-iceberg-rest.example.com
          bearerRestAuthentication:
            bearerToken: your_static_bearer_token
      # SigV4
      sigv4:
        type: snowflake:CatalogIntegrationIcebergRest
        properties:
          name: example_iceberg_rest_sigv4
          enabled: false
          restConfig:
            catalogUri: https://your-iceberg-rest.example.com
          sigv4RestAuthentication:
            sigv4IamRole: arn:aws:iam::123456789012:role/YourRole
            sigv4SigningRegion: us-east-1
            sigv4ExternalId: optional-external-id
    

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

    Create CatalogIntegrationIcebergRest Resource

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

    Constructor syntax

    new CatalogIntegrationIcebergRest(name: string, args: CatalogIntegrationIcebergRestArgs, opts?: CustomResourceOptions);
    @overload
    def CatalogIntegrationIcebergRest(resource_name: str,
                                      args: CatalogIntegrationIcebergRestArgs,
                                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def CatalogIntegrationIcebergRest(resource_name: str,
                                      opts: Optional[ResourceOptions] = None,
                                      enabled: Optional[bool] = None,
                                      rest_config: Optional[CatalogIntegrationIcebergRestRestConfigArgs] = None,
                                      bearer_rest_authentication: Optional[CatalogIntegrationIcebergRestBearerRestAuthenticationArgs] = None,
                                      catalog_namespace: Optional[str] = None,
                                      comment: Optional[str] = None,
                                      name: Optional[str] = None,
                                      oauth_rest_authentication: Optional[CatalogIntegrationIcebergRestOauthRestAuthenticationArgs] = None,
                                      refresh_interval_seconds: Optional[int] = None,
                                      sigv4_rest_authentication: Optional[CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs] = None)
    func NewCatalogIntegrationIcebergRest(ctx *Context, name string, args CatalogIntegrationIcebergRestArgs, opts ...ResourceOption) (*CatalogIntegrationIcebergRest, error)
    public CatalogIntegrationIcebergRest(string name, CatalogIntegrationIcebergRestArgs args, CustomResourceOptions? opts = null)
    public CatalogIntegrationIcebergRest(String name, CatalogIntegrationIcebergRestArgs args)
    public CatalogIntegrationIcebergRest(String name, CatalogIntegrationIcebergRestArgs args, CustomResourceOptions options)
    
    type: snowflake:CatalogIntegrationIcebergRest
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CatalogIntegrationIcebergRestArgs
    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 CatalogIntegrationIcebergRestArgs
    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 CatalogIntegrationIcebergRestArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CatalogIntegrationIcebergRestArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CatalogIntegrationIcebergRestArgs
    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 catalogIntegrationIcebergRestResource = new Snowflake.CatalogIntegrationIcebergRest("catalogIntegrationIcebergRestResource", new()
    {
        Enabled = false,
        RestConfig = new Snowflake.Inputs.CatalogIntegrationIcebergRestRestConfigArgs
        {
            CatalogUri = "string",
            AccessDelegationMode = "string",
            CatalogApiType = "string",
            CatalogName = "string",
            Prefix = "string",
        },
        BearerRestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
        {
            BearerToken = "string",
        },
        CatalogNamespace = "string",
        Comment = "string",
        Name = "string",
        OauthRestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
        {
            OauthAllowedScopes = new[]
            {
                "string",
            },
            OauthClientId = "string",
            OauthClientSecret = "string",
            OauthTokenUri = "string",
        },
        RefreshIntervalSeconds = 0,
        Sigv4RestAuthentication = new Snowflake.Inputs.CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
        {
            Sigv4IamRole = "string",
            Sigv4ExternalId = "string",
            Sigv4SigningRegion = "string",
        },
    });
    
    example, err := snowflake.NewCatalogIntegrationIcebergRest(ctx, "catalogIntegrationIcebergRestResource", &snowflake.CatalogIntegrationIcebergRestArgs{
    	Enabled: pulumi.Bool(false),
    	RestConfig: &snowflake.CatalogIntegrationIcebergRestRestConfigArgs{
    		CatalogUri:           pulumi.String("string"),
    		AccessDelegationMode: pulumi.String("string"),
    		CatalogApiType:       pulumi.String("string"),
    		CatalogName:          pulumi.String("string"),
    		Prefix:               pulumi.String("string"),
    	},
    	BearerRestAuthentication: &snowflake.CatalogIntegrationIcebergRestBearerRestAuthenticationArgs{
    		BearerToken: pulumi.String("string"),
    	},
    	CatalogNamespace: pulumi.String("string"),
    	Comment:          pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	OauthRestAuthentication: &snowflake.CatalogIntegrationIcebergRestOauthRestAuthenticationArgs{
    		OauthAllowedScopes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		OauthClientId:     pulumi.String("string"),
    		OauthClientSecret: pulumi.String("string"),
    		OauthTokenUri:     pulumi.String("string"),
    	},
    	RefreshIntervalSeconds: pulumi.Int(0),
    	Sigv4RestAuthentication: &snowflake.CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs{
    		Sigv4IamRole:       pulumi.String("string"),
    		Sigv4ExternalId:    pulumi.String("string"),
    		Sigv4SigningRegion: pulumi.String("string"),
    	},
    })
    
    var catalogIntegrationIcebergRestResource = new CatalogIntegrationIcebergRest("catalogIntegrationIcebergRestResource", CatalogIntegrationIcebergRestArgs.builder()
        .enabled(false)
        .restConfig(CatalogIntegrationIcebergRestRestConfigArgs.builder()
            .catalogUri("string")
            .accessDelegationMode("string")
            .catalogApiType("string")
            .catalogName("string")
            .prefix("string")
            .build())
        .bearerRestAuthentication(CatalogIntegrationIcebergRestBearerRestAuthenticationArgs.builder()
            .bearerToken("string")
            .build())
        .catalogNamespace("string")
        .comment("string")
        .name("string")
        .oauthRestAuthentication(CatalogIntegrationIcebergRestOauthRestAuthenticationArgs.builder()
            .oauthAllowedScopes("string")
            .oauthClientId("string")
            .oauthClientSecret("string")
            .oauthTokenUri("string")
            .build())
        .refreshIntervalSeconds(0)
        .sigv4RestAuthentication(CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs.builder()
            .sigv4IamRole("string")
            .sigv4ExternalId("string")
            .sigv4SigningRegion("string")
            .build())
        .build());
    
    catalog_integration_iceberg_rest_resource = snowflake.CatalogIntegrationIcebergRest("catalogIntegrationIcebergRestResource",
        enabled=False,
        rest_config={
            "catalog_uri": "string",
            "access_delegation_mode": "string",
            "catalog_api_type": "string",
            "catalog_name": "string",
            "prefix": "string",
        },
        bearer_rest_authentication={
            "bearer_token": "string",
        },
        catalog_namespace="string",
        comment="string",
        name="string",
        oauth_rest_authentication={
            "oauth_allowed_scopes": ["string"],
            "oauth_client_id": "string",
            "oauth_client_secret": "string",
            "oauth_token_uri": "string",
        },
        refresh_interval_seconds=0,
        sigv4_rest_authentication={
            "sigv4_iam_role": "string",
            "sigv4_external_id": "string",
            "sigv4_signing_region": "string",
        })
    
    const catalogIntegrationIcebergRestResource = new snowflake.CatalogIntegrationIcebergRest("catalogIntegrationIcebergRestResource", {
        enabled: false,
        restConfig: {
            catalogUri: "string",
            accessDelegationMode: "string",
            catalogApiType: "string",
            catalogName: "string",
            prefix: "string",
        },
        bearerRestAuthentication: {
            bearerToken: "string",
        },
        catalogNamespace: "string",
        comment: "string",
        name: "string",
        oauthRestAuthentication: {
            oauthAllowedScopes: ["string"],
            oauthClientId: "string",
            oauthClientSecret: "string",
            oauthTokenUri: "string",
        },
        refreshIntervalSeconds: 0,
        sigv4RestAuthentication: {
            sigv4IamRole: "string",
            sigv4ExternalId: "string",
            sigv4SigningRegion: "string",
        },
    });
    
    type: snowflake:CatalogIntegrationIcebergRest
    properties:
        bearerRestAuthentication:
            bearerToken: string
        catalogNamespace: string
        comment: string
        enabled: false
        name: string
        oauthRestAuthentication:
            oauthAllowedScopes:
                - string
            oauthClientId: string
            oauthClientSecret: string
            oauthTokenUri: string
        refreshIntervalSeconds: 0
        restConfig:
            accessDelegationMode: string
            catalogApiType: string
            catalogName: string
            catalogUri: string
            prefix: string
        sigv4RestAuthentication:
            sigv4ExternalId: string
            sigv4IamRole: string
            sigv4SigningRegion: string
    

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

    Enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    RestConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    BearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    CatalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    Comment string
    (Default: ``) Specifies a comment for the catalog integration.
    Name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    OauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    RefreshIntervalSeconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    Sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    Enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    RestConfig CatalogIntegrationIcebergRestRestConfigArgs
    Specifies information about REST configuration.
    BearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    CatalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    Comment string
    (Default: ``) Specifies a comment for the catalog integration.
    Name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    OauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    RefreshIntervalSeconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    Sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    enabled Boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    restConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    bearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace String
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    comment String
    (Default: ``) Specifies a comment for the catalog integration.
    name String
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds Integer
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    enabled boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    restConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    bearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    comment string
    (Default: ``) Specifies a comment for the catalog integration.
    name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds number
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    rest_config CatalogIntegrationIcebergRestRestConfigArgs
    Specifies information about REST configuration.
    bearer_rest_authentication CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalog_namespace str
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    comment str
    (Default: ``) Specifies a comment for the catalog integration.
    name str
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauth_rest_authentication CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refresh_interval_seconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    sigv4_rest_authentication CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    enabled Boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    restConfig Property Map
    Specifies information about REST configuration.
    bearerRestAuthentication Property Map
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace String
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    comment String
    (Default: ``) Specifies a comment for the catalog integration.
    name String
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication Property Map
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds Number
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    sigv4RestAuthentication Property Map
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.

    Outputs

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

    CatalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    DescribeOutputs List<CatalogIntegrationIcebergRestDescribeOutput>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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<CatalogIntegrationIcebergRestShowOutput>
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    CatalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    DescribeOutputs []CatalogIntegrationIcebergRestDescribeOutput
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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 []CatalogIntegrationIcebergRestShowOutput
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    catalogSource String
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    describeOutputs List<CatalogIntegrationIcebergRestDescribeOutput>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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<CatalogIntegrationIcebergRestShowOutput>
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    catalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    describeOutputs CatalogIntegrationIcebergRestDescribeOutput[]
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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 CatalogIntegrationIcebergRestShowOutput[]
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    catalog_source str
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    describe_outputs Sequence[CatalogIntegrationIcebergRestDescribeOutput]
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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[CatalogIntegrationIcebergRestShowOutput]
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    catalogSource String
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog 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 CATALOG INTEGRATIONS for the given catalog integration.

    Look up Existing CatalogIntegrationIcebergRest Resource

    Get an existing CatalogIntegrationIcebergRest 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?: CatalogIntegrationIcebergRestState, opts?: CustomResourceOptions): CatalogIntegrationIcebergRest
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bearer_rest_authentication: Optional[CatalogIntegrationIcebergRestBearerRestAuthenticationArgs] = None,
            catalog_namespace: Optional[str] = None,
            catalog_source: Optional[str] = None,
            comment: Optional[str] = None,
            describe_outputs: Optional[Sequence[CatalogIntegrationIcebergRestDescribeOutputArgs]] = None,
            enabled: Optional[bool] = None,
            fully_qualified_name: Optional[str] = None,
            name: Optional[str] = None,
            oauth_rest_authentication: Optional[CatalogIntegrationIcebergRestOauthRestAuthenticationArgs] = None,
            refresh_interval_seconds: Optional[int] = None,
            rest_config: Optional[CatalogIntegrationIcebergRestRestConfigArgs] = None,
            show_outputs: Optional[Sequence[CatalogIntegrationIcebergRestShowOutputArgs]] = None,
            sigv4_rest_authentication: Optional[CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs] = None) -> CatalogIntegrationIcebergRest
    func GetCatalogIntegrationIcebergRest(ctx *Context, name string, id IDInput, state *CatalogIntegrationIcebergRestState, opts ...ResourceOption) (*CatalogIntegrationIcebergRest, error)
    public static CatalogIntegrationIcebergRest Get(string name, Input<string> id, CatalogIntegrationIcebergRestState? state, CustomResourceOptions? opts = null)
    public static CatalogIntegrationIcebergRest get(String name, Output<String> id, CatalogIntegrationIcebergRestState state, CustomResourceOptions options)
    resources:  _:    type: snowflake:CatalogIntegrationIcebergRest    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    CatalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    CatalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    Comment string
    (Default: ``) Specifies a comment for the catalog integration.
    DescribeOutputs List<CatalogIntegrationIcebergRestDescribeOutput>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    Enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    OauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    RefreshIntervalSeconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    RestConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    ShowOutputs List<CatalogIntegrationIcebergRestShowOutput>
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    Sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    BearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    CatalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    CatalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    Comment string
    (Default: ``) Specifies a comment for the catalog integration.
    DescribeOutputs []CatalogIntegrationIcebergRestDescribeOutputArgs
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    Enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    FullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    Name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    OauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    RefreshIntervalSeconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    RestConfig CatalogIntegrationIcebergRestRestConfigArgs
    Specifies information about REST configuration.
    ShowOutputs []CatalogIntegrationIcebergRestShowOutputArgs
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    Sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    bearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace String
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    catalogSource String
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    comment String
    (Default: ``) Specifies a comment for the catalog integration.
    describeOutputs List<CatalogIntegrationIcebergRestDescribeOutput>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    enabled Boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds Integer
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    restConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    showOutputs List<CatalogIntegrationIcebergRestShowOutput>
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    bearerRestAuthentication CatalogIntegrationIcebergRestBearerRestAuthentication
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace string
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    catalogSource string
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    comment string
    (Default: ``) Specifies a comment for the catalog integration.
    describeOutputs CatalogIntegrationIcebergRestDescribeOutput[]
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    enabled boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    fullyQualifiedName string
    Fully qualified name of the resource. For more information, see object name resolution.
    name string
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication CatalogIntegrationIcebergRestOauthRestAuthentication
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds number
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    restConfig CatalogIntegrationIcebergRestRestConfig
    Specifies information about REST configuration.
    showOutputs CatalogIntegrationIcebergRestShowOutput[]
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    sigv4RestAuthentication CatalogIntegrationIcebergRestSigv4RestAuthentication
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    bearer_rest_authentication CatalogIntegrationIcebergRestBearerRestAuthenticationArgs
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalog_namespace str
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    catalog_source str
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    comment str
    (Default: ``) Specifies a comment for the catalog integration.
    describe_outputs Sequence[CatalogIntegrationIcebergRestDescribeOutputArgs]
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    enabled bool
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    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) of the catalog integration; must be unique in your account.
    oauth_rest_authentication CatalogIntegrationIcebergRestOauthRestAuthenticationArgs
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refresh_interval_seconds int
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    rest_config CatalogIntegrationIcebergRestRestConfigArgs
    Specifies information about REST configuration.
    show_outputs Sequence[CatalogIntegrationIcebergRestShowOutputArgs]
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    sigv4_rest_authentication CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    bearerRestAuthentication Property Map
    Specifies a bearer token as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    catalogNamespace String
    Specifies the default namespace for all Iceberg tables that you associate with the catalog integration.
    catalogSource String
    Specifies the type of catalog source. This field is used to detect when the catalog source was changed outside of Terraform and to recreate the resource when that happens.
    comment String
    (Default: ``) Specifies a comment for the catalog integration.
    describeOutputs List<Property Map>
    Outputs the result of DESCRIBE CATALOG INTEGRATION for the given catalog integration.
    enabled Boolean
    Specifies whether the catalog integration is available for use for Iceberg tables. true allows users to create new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration function normally. false prevents users from creating new Iceberg tables that reference this integration. Existing Iceberg tables that reference this integration cannot access the catalog in the table definition.
    fullyQualifiedName String
    Fully qualified name of the resource. For more information, see object name resolution.
    name String
    Specifies the identifier (i.e. name) of the catalog integration; must be unique in your account.
    oauthRestAuthentication Property Map
    Specifies OAuth as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.
    refreshIntervalSeconds Number
    Specifies the number of seconds to wait between attempts to poll the external Iceberg catalog for metadata updates for automated refresh. For Delta-based tables, specifies the number of seconds to wait between attempts to poll your external cloud storage for new metadata.
    restConfig Property Map
    Specifies information about REST configuration.
    showOutputs List<Property Map>
    Outputs the result of SHOW CATALOG INTEGRATIONS for the given catalog integration.
    sigv4RestAuthentication Property Map
    Specifies Signature Version 4 as the authentication type for Snowflake to use to connect to the Iceberg REST catalog.

    Supporting Types

    CatalogIntegrationIcebergRestBearerRestAuthentication, CatalogIntegrationIcebergRestBearerRestAuthenticationArgs

    BearerToken string
    The bearer token for the identity provider. 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".
    BearerToken string
    The bearer token for the identity provider. 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".
    bearerToken String
    The bearer token for the identity provider. 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".
    bearerToken string
    The bearer token for the identity provider. 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".
    bearer_token str
    The bearer token for the identity provider. 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".
    bearerToken String
    The bearer token for the identity provider. 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".

    CatalogIntegrationIcebergRestDescribeOutput, CatalogIntegrationIcebergRestDescribeOutputArgs

    CatalogIntegrationIcebergRestDescribeOutputOauthRestAuthentication, CatalogIntegrationIcebergRestDescribeOutputOauthRestAuthenticationArgs

    CatalogIntegrationIcebergRestDescribeOutputRestConfig, CatalogIntegrationIcebergRestDescribeOutputRestConfigArgs

    CatalogIntegrationIcebergRestDescribeOutputSigv4RestAuthentication, CatalogIntegrationIcebergRestDescribeOutputSigv4RestAuthenticationArgs

    CatalogIntegrationIcebergRestOauthRestAuthentication, CatalogIntegrationIcebergRestOauthRestAuthenticationArgs

    OauthAllowedScopes List<string>
    Specifies one or more scopes for the OAuth token.
    OauthClientId string
    Specifies the client ID of the OAuth2 credential.
    OauthClientSecret string
    Specifies the secret of the OAuth2 credential. 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".
    OauthTokenUri string
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.
    OauthAllowedScopes []string
    Specifies one or more scopes for the OAuth token.
    OauthClientId string
    Specifies the client ID of the OAuth2 credential.
    OauthClientSecret string
    Specifies the secret of the OAuth2 credential. 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".
    OauthTokenUri string
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.
    oauthAllowedScopes List<String>
    Specifies one or more scopes for the OAuth token.
    oauthClientId String
    Specifies the client ID of the OAuth2 credential.
    oauthClientSecret String
    Specifies the secret of the OAuth2 credential. 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".
    oauthTokenUri String
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.
    oauthAllowedScopes string[]
    Specifies one or more scopes for the OAuth token.
    oauthClientId string
    Specifies the client ID of the OAuth2 credential.
    oauthClientSecret string
    Specifies the secret of the OAuth2 credential. 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".
    oauthTokenUri string
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.
    oauth_allowed_scopes Sequence[str]
    Specifies one or more scopes for the OAuth token.
    oauth_client_id str
    Specifies the client ID of the OAuth2 credential.
    oauth_client_secret str
    Specifies the secret of the OAuth2 credential. 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_uri str
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.
    oauthAllowedScopes List<String>
    Specifies one or more scopes for the OAuth token.
    oauthClientId String
    Specifies the client ID of the OAuth2 credential.
    oauthClientSecret String
    Specifies the secret of the OAuth2 credential. 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".
    oauthTokenUri String
    Specifies URL for the third-party identity provider. If not specified, Snowflake assumes the remote catalog provider is the identity provider.

    CatalogIntegrationIcebergRestRestConfig, CatalogIntegrationIcebergRestRestConfigArgs

    CatalogUri string
    Specifies the endpoint URL for the catalog REST API.
    AccessDelegationMode string
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    CatalogApiType string
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    CatalogName string
    Specifies the catalog or identifier to request from your remote catalog service.
    Prefix string
    Specifies an optional prefix appended to all API routes.
    CatalogUri string
    Specifies the endpoint URL for the catalog REST API.
    AccessDelegationMode string
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    CatalogApiType string
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    CatalogName string
    Specifies the catalog or identifier to request from your remote catalog service.
    Prefix string
    Specifies an optional prefix appended to all API routes.
    catalogUri String
    Specifies the endpoint URL for the catalog REST API.
    accessDelegationMode String
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    catalogApiType String
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    catalogName String
    Specifies the catalog or identifier to request from your remote catalog service.
    prefix String
    Specifies an optional prefix appended to all API routes.
    catalogUri string
    Specifies the endpoint URL for the catalog REST API.
    accessDelegationMode string
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    catalogApiType string
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    catalogName string
    Specifies the catalog or identifier to request from your remote catalog service.
    prefix string
    Specifies an optional prefix appended to all API routes.
    catalog_uri str
    Specifies the endpoint URL for the catalog REST API.
    access_delegation_mode str
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    catalog_api_type str
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    catalog_name str
    Specifies the catalog or identifier to request from your remote catalog service.
    prefix str
    Specifies an optional prefix appended to all API routes.
    catalogUri String
    Specifies the endpoint URL for the catalog REST API.
    accessDelegationMode String
    Specifies the access delegation mode for accessing Iceberg table files in your external cloud storage. Valid values are (case-insensitive): VENDED_CREDENTIALS | EXTERNAL_VOLUME_CREDENTIALS.
    catalogApiType String
    Specifies the connection type for the catalog API. Valid values are (case-insensitive): PUBLIC | PRIVATE | AWS_API_GATEWAY | AWS_PRIVATE_API_GATEWAY | AWS_GLUE | AWS_PRIVATE_GLUE.
    catalogName String
    Specifies the catalog or identifier to request from your remote catalog service.
    prefix String
    Specifies an optional prefix appended to all API routes.

    CatalogIntegrationIcebergRestShowOutput, CatalogIntegrationIcebergRestShowOutputArgs

    Category string
    Comment string
    CreatedOn string
    Enabled bool
    Name string
    Type string
    Category string
    Comment string
    CreatedOn string
    Enabled bool
    Name string
    Type string
    category String
    comment String
    createdOn String
    enabled Boolean
    name String
    type String
    category string
    comment string
    createdOn string
    enabled boolean
    name string
    type string
    category String
    comment String
    createdOn String
    enabled Boolean
    name String
    type String

    CatalogIntegrationIcebergRestSigv4RestAuthentication, CatalogIntegrationIcebergRestSigv4RestAuthenticationArgs

    Sigv4IamRole string
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    Sigv4ExternalId string
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    Sigv4SigningRegion string
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.
    Sigv4IamRole string
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    Sigv4ExternalId string
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    Sigv4SigningRegion string
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.
    sigv4IamRole String
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    sigv4ExternalId String
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    sigv4SigningRegion String
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.
    sigv4IamRole string
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    sigv4ExternalId string
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    sigv4SigningRegion string
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.
    sigv4_iam_role str
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    sigv4_external_id str
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    sigv4_signing_region str
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.
    sigv4IamRole String
    Specifies the Amazon Resource Name (ARN) for an IAM role that has permission to access your REST API in API Gateway.
    sigv4ExternalId String
    Specifies an external ID that Snowflake uses to establish a trust relationship with AWS. If you don’t specify this parameter, Snowflake automatically generates a unique external ID when you create a catalog integration. 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".
    sigv4SigningRegion String
    Specifies the AWS Region associated with your API in API Gateway. If you don’t specify this parameter, Snowflake uses the region in which your Snowflake account is deployed.

    Import

    $ pulumi import snowflake:index/catalogIntegrationIcebergRest:CatalogIntegrationIcebergRest 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.15.0
    published on Saturday, May 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.