published on Wednesday, Jul 29, 2026 by Pulumi
published on Wednesday, Jul 29, 2026 by Pulumi
IcebergCatalogs are top-level containers for Apache Iceberg REST Catalog served Namespaces and Tables.
To get more information about IcebergCatalog, see:
- How-to Guides
Warning: If you are using User ADCs (Application Default Credentials) with this resource’s IAM, you must specify a
billingProjectand setuserProjectOverrideto true in the provider configuration. Otherwise the IAM API will return 403s. Your account must have theserviceusage.services.usepermission on thebillingProjectyou defined.
Example Usage
Biglake Iceberg Catalog
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const bucketForMyIcebergCatalog = new gcp.storage.Bucket("bucket_for_my_iceberg_catalog", {
name: "my_iceberg_catalog",
location: "us-central1",
forceDestroy: true,
uniformBucketLevelAccess: true,
});
const myIcebergCatalog = new gcp.biglake.IcebergCatalog("my_iceberg_catalog", {
name: bucketForMyIcebergCatalog.name,
catalogType: "CATALOG_TYPE_GCS_BUCKET",
credentialMode: "CREDENTIAL_MODE_VENDED_CREDENTIALS",
}, {
dependsOn: [bucketForMyIcebergCatalog],
});
import pulumi
import pulumi_gcp as gcp
bucket_for_my_iceberg_catalog = gcp.storage.Bucket("bucket_for_my_iceberg_catalog",
name="my_iceberg_catalog",
location="us-central1",
force_destroy=True,
uniform_bucket_level_access=True)
my_iceberg_catalog = gcp.biglake.IcebergCatalog("my_iceberg_catalog",
name=bucket_for_my_iceberg_catalog.name,
catalog_type="CATALOG_TYPE_GCS_BUCKET",
credential_mode="CREDENTIAL_MODE_VENDED_CREDENTIALS",
opts = pulumi.ResourceOptions(depends_on=[bucket_for_my_iceberg_catalog]))
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/biglake"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
bucketForMyIcebergCatalog, err := storage.NewBucket(ctx, "bucket_for_my_iceberg_catalog", &storage.BucketArgs{
Name: pulumi.String("my_iceberg_catalog"),
Location: pulumi.String("us-central1"),
ForceDestroy: pulumi.Bool(true),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = biglake.NewIcebergCatalog(ctx, "my_iceberg_catalog", &biglake.IcebergCatalogArgs{
Name: bucketForMyIcebergCatalog.Name,
CatalogType: pulumi.String("CATALOG_TYPE_GCS_BUCKET"),
CredentialMode: pulumi.String("CREDENTIAL_MODE_VENDED_CREDENTIALS"),
}, pulumi.DependsOn([]pulumi.Resource{
bucketForMyIcebergCatalog,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var bucketForMyIcebergCatalog = new Gcp.Storage.Bucket("bucket_for_my_iceberg_catalog", new()
{
Name = "my_iceberg_catalog",
Location = "us-central1",
ForceDestroy = true,
UniformBucketLevelAccess = true,
});
var myIcebergCatalog = new Gcp.BigLake.IcebergCatalog("my_iceberg_catalog", new()
{
Name = bucketForMyIcebergCatalog.Name,
CatalogType = "CATALOG_TYPE_GCS_BUCKET",
CredentialMode = "CREDENTIAL_MODE_VENDED_CREDENTIALS",
}, new CustomResourceOptions
{
DependsOn =
{
bucketForMyIcebergCatalog,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.biglake.IcebergCatalog;
import com.pulumi.gcp.biglake.IcebergCatalogArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bucketForMyIcebergCatalog = new Bucket("bucketForMyIcebergCatalog", BucketArgs.builder()
.name("my_iceberg_catalog")
.location("us-central1")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var myIcebergCatalog = new IcebergCatalog("myIcebergCatalog", IcebergCatalogArgs.builder()
.name(bucketForMyIcebergCatalog.name())
.catalogType("CATALOG_TYPE_GCS_BUCKET")
.credentialMode("CREDENTIAL_MODE_VENDED_CREDENTIALS")
.build(), CustomResourceOptions.builder()
.dependsOn(bucketForMyIcebergCatalog)
.build());
}
}
resources:
bucketForMyIcebergCatalog:
type: gcp:storage:Bucket
name: bucket_for_my_iceberg_catalog
properties:
name: my_iceberg_catalog
location: us-central1
forceDestroy: true
uniformBucketLevelAccess: true
myIcebergCatalog:
type: gcp:biglake:IcebergCatalog
name: my_iceberg_catalog
properties:
name: ${bucketForMyIcebergCatalog.name}
catalogType: CATALOG_TYPE_GCS_BUCKET
credentialMode: CREDENTIAL_MODE_VENDED_CREDENTIALS
options:
dependsOn:
- ${bucketForMyIcebergCatalog}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_storage_bucket" "bucket_for_my_iceberg_catalog" {
name = "my_iceberg_catalog"
location = "us-central1"
force_destroy = true
uniform_bucket_level_access = true
}
resource "gcp_biglake_icebergcatalog" "my_iceberg_catalog" {
depends_on = [gcp_storage_bucket.bucket_for_my_iceberg_catalog]
name = gcp_storage_bucket.bucket_for_my_iceberg_catalog.name
catalog_type = "CATALOG_TYPE_GCS_BUCKET"
credential_mode = "CREDENTIAL_MODE_VENDED_CREDENTIALS"
}
Biglake Iceberg Catalog Primary Location
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const bucketForMyIcebergCatalog = new gcp.storage.Bucket("bucket_for_my_iceberg_catalog", {
name: "my_iceberg_catalog",
location: "us-central1",
forceDestroy: true,
uniformBucketLevelAccess: true,
});
const myIcebergCatalog = new gcp.biglake.IcebergCatalog("my_iceberg_catalog", {
name: bucketForMyIcebergCatalog.name,
catalogType: "CATALOG_TYPE_GCS_BUCKET",
credentialMode: "CREDENTIAL_MODE_VENDED_CREDENTIALS",
primaryLocation: "us-central1",
}, {
dependsOn: [bucketForMyIcebergCatalog],
});
import pulumi
import pulumi_gcp as gcp
bucket_for_my_iceberg_catalog = gcp.storage.Bucket("bucket_for_my_iceberg_catalog",
name="my_iceberg_catalog",
location="us-central1",
force_destroy=True,
uniform_bucket_level_access=True)
my_iceberg_catalog = gcp.biglake.IcebergCatalog("my_iceberg_catalog",
name=bucket_for_my_iceberg_catalog.name,
catalog_type="CATALOG_TYPE_GCS_BUCKET",
credential_mode="CREDENTIAL_MODE_VENDED_CREDENTIALS",
primary_location="us-central1",
opts = pulumi.ResourceOptions(depends_on=[bucket_for_my_iceberg_catalog]))
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/biglake"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
bucketForMyIcebergCatalog, err := storage.NewBucket(ctx, "bucket_for_my_iceberg_catalog", &storage.BucketArgs{
Name: pulumi.String("my_iceberg_catalog"),
Location: pulumi.String("us-central1"),
ForceDestroy: pulumi.Bool(true),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = biglake.NewIcebergCatalog(ctx, "my_iceberg_catalog", &biglake.IcebergCatalogArgs{
Name: bucketForMyIcebergCatalog.Name,
CatalogType: pulumi.String("CATALOG_TYPE_GCS_BUCKET"),
CredentialMode: pulumi.String("CREDENTIAL_MODE_VENDED_CREDENTIALS"),
PrimaryLocation: pulumi.String("us-central1"),
}, pulumi.DependsOn([]pulumi.Resource{
bucketForMyIcebergCatalog,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var bucketForMyIcebergCatalog = new Gcp.Storage.Bucket("bucket_for_my_iceberg_catalog", new()
{
Name = "my_iceberg_catalog",
Location = "us-central1",
ForceDestroy = true,
UniformBucketLevelAccess = true,
});
var myIcebergCatalog = new Gcp.BigLake.IcebergCatalog("my_iceberg_catalog", new()
{
Name = bucketForMyIcebergCatalog.Name,
CatalogType = "CATALOG_TYPE_GCS_BUCKET",
CredentialMode = "CREDENTIAL_MODE_VENDED_CREDENTIALS",
PrimaryLocation = "us-central1",
}, new CustomResourceOptions
{
DependsOn =
{
bucketForMyIcebergCatalog,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.biglake.IcebergCatalog;
import com.pulumi.gcp.biglake.IcebergCatalogArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bucketForMyIcebergCatalog = new Bucket("bucketForMyIcebergCatalog", BucketArgs.builder()
.name("my_iceberg_catalog")
.location("us-central1")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var myIcebergCatalog = new IcebergCatalog("myIcebergCatalog", IcebergCatalogArgs.builder()
.name(bucketForMyIcebergCatalog.name())
.catalogType("CATALOG_TYPE_GCS_BUCKET")
.credentialMode("CREDENTIAL_MODE_VENDED_CREDENTIALS")
.primaryLocation("us-central1")
.build(), CustomResourceOptions.builder()
.dependsOn(bucketForMyIcebergCatalog)
.build());
}
}
resources:
bucketForMyIcebergCatalog:
type: gcp:storage:Bucket
name: bucket_for_my_iceberg_catalog
properties:
name: my_iceberg_catalog
location: us-central1
forceDestroy: true
uniformBucketLevelAccess: true
myIcebergCatalog:
type: gcp:biglake:IcebergCatalog
name: my_iceberg_catalog
properties:
name: ${bucketForMyIcebergCatalog.name}
catalogType: CATALOG_TYPE_GCS_BUCKET
credentialMode: CREDENTIAL_MODE_VENDED_CREDENTIALS
primaryLocation: us-central1
options:
dependsOn:
- ${bucketForMyIcebergCatalog}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_storage_bucket" "bucket_for_my_iceberg_catalog" {
name = "my_iceberg_catalog"
location = "us-central1"
force_destroy = true
uniform_bucket_level_access = true
}
resource "gcp_biglake_icebergcatalog" "my_iceberg_catalog" {
depends_on = [gcp_storage_bucket.bucket_for_my_iceberg_catalog]
name = gcp_storage_bucket.bucket_for_my_iceberg_catalog.name
catalog_type = "CATALOG_TYPE_GCS_BUCKET"
credential_mode = "CREDENTIAL_MODE_VENDED_CREDENTIALS"
primary_location = "us-central1"
}
Biglake Iceberg Catalog Biglake
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const defaultBucket = new gcp.storage.Bucket("default_bucket", {
name: "my_iceberg_catalog-default",
location: "us-central1",
forceDestroy: true,
uniformBucketLevelAccess: true,
});
const restrictedBucket = new gcp.storage.Bucket("restricted_bucket", {
name: "my_iceberg_catalog-restricted",
location: "us-central1",
forceDestroy: true,
uniformBucketLevelAccess: true,
});
const myIcebergCatalog = new gcp.biglake.IcebergCatalog("my_iceberg_catalog", {
name: "my_iceberg_catalog",
catalogType: "CATALOG_TYPE_BIGLAKE",
credentialMode: "CREDENTIAL_MODE_VENDED_CREDENTIALS",
defaultLocation: pulumi.interpolate`gs://${defaultBucket.name}`,
restrictedLocationsConfig: {
restrictedLocations: [
pulumi.interpolate`gs://${defaultBucket.name}`,
pulumi.interpolate`gs://${restrictedBucket.name}`,
],
},
});
import pulumi
import pulumi_gcp as gcp
default_bucket = gcp.storage.Bucket("default_bucket",
name="my_iceberg_catalog-default",
location="us-central1",
force_destroy=True,
uniform_bucket_level_access=True)
restricted_bucket = gcp.storage.Bucket("restricted_bucket",
name="my_iceberg_catalog-restricted",
location="us-central1",
force_destroy=True,
uniform_bucket_level_access=True)
my_iceberg_catalog = gcp.biglake.IcebergCatalog("my_iceberg_catalog",
name="my_iceberg_catalog",
catalog_type="CATALOG_TYPE_BIGLAKE",
credential_mode="CREDENTIAL_MODE_VENDED_CREDENTIALS",
default_location=default_bucket.name.apply(lambda name: f"gs://{name}"),
restricted_locations_config={
"restricted_locations": [
default_bucket.name.apply(lambda name: f"gs://{name}"),
restricted_bucket.name.apply(lambda name: f"gs://{name}"),
],
})
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/biglake"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
defaultBucket, err := storage.NewBucket(ctx, "default_bucket", &storage.BucketArgs{
Name: pulumi.String("my_iceberg_catalog-default"),
Location: pulumi.String("us-central1"),
ForceDestroy: pulumi.Bool(true),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
restrictedBucket, err := storage.NewBucket(ctx, "restricted_bucket", &storage.BucketArgs{
Name: pulumi.String("my_iceberg_catalog-restricted"),
Location: pulumi.String("us-central1"),
ForceDestroy: pulumi.Bool(true),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = biglake.NewIcebergCatalog(ctx, "my_iceberg_catalog", &biglake.IcebergCatalogArgs{
Name: pulumi.String("my_iceberg_catalog"),
CatalogType: pulumi.String("CATALOG_TYPE_BIGLAKE"),
CredentialMode: pulumi.String("CREDENTIAL_MODE_VENDED_CREDENTIALS"),
DefaultLocation: defaultBucket.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("gs://%v", name), nil
}).(pulumi.StringOutput),
RestrictedLocationsConfig: &biglake.IcebergCatalogRestrictedLocationsConfigArgs{
RestrictedLocations: pulumi.StringArray{
defaultBucket.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("gs://%v", name), nil
}).(pulumi.StringOutput),
restrictedBucket.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("gs://%v", name), nil
}).(pulumi.StringOutput),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var defaultBucket = new Gcp.Storage.Bucket("default_bucket", new()
{
Name = "my_iceberg_catalog-default",
Location = "us-central1",
ForceDestroy = true,
UniformBucketLevelAccess = true,
});
var restrictedBucket = new Gcp.Storage.Bucket("restricted_bucket", new()
{
Name = "my_iceberg_catalog-restricted",
Location = "us-central1",
ForceDestroy = true,
UniformBucketLevelAccess = true,
});
var myIcebergCatalog = new Gcp.BigLake.IcebergCatalog("my_iceberg_catalog", new()
{
Name = "my_iceberg_catalog",
CatalogType = "CATALOG_TYPE_BIGLAKE",
CredentialMode = "CREDENTIAL_MODE_VENDED_CREDENTIALS",
DefaultLocation = defaultBucket.Name.Apply(name => $"gs://{name}"),
RestrictedLocationsConfig = new Gcp.BigLake.Inputs.IcebergCatalogRestrictedLocationsConfigArgs
{
RestrictedLocations = new[]
{
defaultBucket.Name.Apply(name => $"gs://{name}"),
restrictedBucket.Name.Apply(name => $"gs://{name}"),
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.biglake.IcebergCatalog;
import com.pulumi.gcp.biglake.IcebergCatalogArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogRestrictedLocationsConfigArgs;
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) {
var defaultBucket = new Bucket("defaultBucket", BucketArgs.builder()
.name("my_iceberg_catalog-default")
.location("us-central1")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var restrictedBucket = new Bucket("restrictedBucket", BucketArgs.builder()
.name("my_iceberg_catalog-restricted")
.location("us-central1")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var myIcebergCatalog = new IcebergCatalog("myIcebergCatalog", IcebergCatalogArgs.builder()
.name("my_iceberg_catalog")
.catalogType("CATALOG_TYPE_BIGLAKE")
.credentialMode("CREDENTIAL_MODE_VENDED_CREDENTIALS")
.defaultLocation(defaultBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
.restrictedLocationsConfig(IcebergCatalogRestrictedLocationsConfigArgs.builder()
.restrictedLocations(
defaultBucket.name().applyValue(_name -> String.format("gs://%s", _name)),
restrictedBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
.build())
.build());
}
}
resources:
defaultBucket:
type: gcp:storage:Bucket
name: default_bucket
properties:
name: my_iceberg_catalog-default
location: us-central1
forceDestroy: true
uniformBucketLevelAccess: true
restrictedBucket:
type: gcp:storage:Bucket
name: restricted_bucket
properties:
name: my_iceberg_catalog-restricted
location: us-central1
forceDestroy: true
uniformBucketLevelAccess: true
myIcebergCatalog:
type: gcp:biglake:IcebergCatalog
name: my_iceberg_catalog
properties:
name: my_iceberg_catalog
catalogType: CATALOG_TYPE_BIGLAKE
credentialMode: CREDENTIAL_MODE_VENDED_CREDENTIALS
defaultLocation: gs://${defaultBucket.name}
restrictedLocationsConfig:
restrictedLocations:
- gs://${defaultBucket.name}
- gs://${restrictedBucket.name}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_storage_bucket" "default_bucket" {
name = "my_iceberg_catalog-default"
location = "us-central1"
force_destroy = true
uniform_bucket_level_access = true
}
resource "gcp_storage_bucket" "restricted_bucket" {
name = "my_iceberg_catalog-restricted"
location = "us-central1"
force_destroy = true
uniform_bucket_level_access = true
}
resource "gcp_biglake_icebergcatalog" "my_iceberg_catalog" {
name = "my_iceberg_catalog"
catalog_type = "CATALOG_TYPE_BIGLAKE"
credential_mode = "CREDENTIAL_MODE_VENDED_CREDENTIALS"
default_location ="gs://${gcp_storage_bucket.default_bucket.name}"
restricted_locations_config = {
restricted_locations = ["gs://${gcp_storage_bucket.default_bucket.name}", "gs://${gcp_storage_bucket.restricted_bucket.name}"]
}
}
Biglake Iceberg Catalog Federated Unity
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myIcebergCatalog = new gcp.biglake.IcebergCatalog("my_iceberg_catalog", {
catalogType: "CATALOG_TYPE_FEDERATED",
name: "my_iceberg_catalog",
primaryLocation: "us-central1",
federatedCatalogOptions: {
unityCatalogInfo: {
catalogName: "my_catalog",
instanceName: "1.1.gcp.databricks.com",
servicePrincipalApplicationId: "b3204274-6556-4d40-ad18-556f91659745",
},
refreshOptions: {
refreshSchedule: {
refreshInterval: "300s",
},
},
},
});
import pulumi
import pulumi_gcp as gcp
my_iceberg_catalog = gcp.biglake.IcebergCatalog("my_iceberg_catalog",
catalog_type="CATALOG_TYPE_FEDERATED",
name="my_iceberg_catalog",
primary_location="us-central1",
federated_catalog_options={
"unity_catalog_info": {
"catalog_name": "my_catalog",
"instance_name": "1.1.gcp.databricks.com",
"service_principal_application_id": "b3204274-6556-4d40-ad18-556f91659745",
},
"refresh_options": {
"refresh_schedule": {
"refresh_interval": "300s",
},
},
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/biglake"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := biglake.NewIcebergCatalog(ctx, "my_iceberg_catalog", &biglake.IcebergCatalogArgs{
CatalogType: pulumi.String("CATALOG_TYPE_FEDERATED"),
Name: pulumi.String("my_iceberg_catalog"),
PrimaryLocation: pulumi.String("us-central1"),
FederatedCatalogOptions: &biglake.IcebergCatalogFederatedCatalogOptionsArgs{
UnityCatalogInfo: &biglake.IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs{
CatalogName: pulumi.String("my_catalog"),
InstanceName: pulumi.String("1.1.gcp.databricks.com"),
ServicePrincipalApplicationId: pulumi.String("b3204274-6556-4d40-ad18-556f91659745"),
},
RefreshOptions: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs{
RefreshSchedule: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs{
RefreshInterval: pulumi.String("300s"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var myIcebergCatalog = new Gcp.BigLake.IcebergCatalog("my_iceberg_catalog", new()
{
CatalogType = "CATALOG_TYPE_FEDERATED",
Name = "my_iceberg_catalog",
PrimaryLocation = "us-central1",
FederatedCatalogOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsArgs
{
UnityCatalogInfo = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs
{
CatalogName = "my_catalog",
InstanceName = "1.1.gcp.databricks.com",
ServicePrincipalApplicationId = "b3204274-6556-4d40-ad18-556f91659745",
},
RefreshOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs
{
RefreshSchedule = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs
{
RefreshInterval = "300s",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.biglake.IcebergCatalog;
import com.pulumi.gcp.biglake.IcebergCatalogArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs;
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) {
var myIcebergCatalog = new IcebergCatalog("myIcebergCatalog", IcebergCatalogArgs.builder()
.catalogType("CATALOG_TYPE_FEDERATED")
.name("my_iceberg_catalog")
.primaryLocation("us-central1")
.federatedCatalogOptions(IcebergCatalogFederatedCatalogOptionsArgs.builder()
.unityCatalogInfo(IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs.builder()
.catalogName("my_catalog")
.instanceName("1.1.gcp.databricks.com")
.servicePrincipalApplicationId("b3204274-6556-4d40-ad18-556f91659745")
.build())
.refreshOptions(IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs.builder()
.refreshSchedule(IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs.builder()
.refreshInterval("300s")
.build())
.build())
.build())
.build());
}
}
resources:
myIcebergCatalog:
type: gcp:biglake:IcebergCatalog
name: my_iceberg_catalog
properties:
catalogType: CATALOG_TYPE_FEDERATED
name: my_iceberg_catalog
primaryLocation: us-central1
federatedCatalogOptions:
unityCatalogInfo:
catalogName: my_catalog
instanceName: 1.1.gcp.databricks.com
servicePrincipalApplicationId: b3204274-6556-4d40-ad18-556f91659745
refreshOptions:
refreshSchedule:
refreshInterval: 300s
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_biglake_icebergcatalog" "my_iceberg_catalog" {
catalog_type = "CATALOG_TYPE_FEDERATED"
name = "my_iceberg_catalog"
primary_location = "us-central1"
federated_catalog_options = {
unity_catalog_info = {
catalog_name = "my_catalog"
instance_name = "1.1.gcp.databricks.com"
service_principal_application_id = "b3204274-6556-4d40-ad18-556f91659745"
}
refresh_options = {
refresh_schedule = {
refresh_interval = "300s"
}
}
}
}
Biglake Iceberg Catalog Federated Glue
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myIcebergCatalog = new gcp.biglake.IcebergCatalog("my_iceberg_catalog", {
catalogType: "CATALOG_TYPE_FEDERATED",
name: "my_iceberg_catalog",
primaryLocation: "us-central1",
federatedCatalogOptions: {
glueCatalogInfo: {
awsRegion: "us-east-1",
awsRoleArn: "arn:aws:iam::111222333444:role/my-glue-role",
warehouse: "111222333444:s3tablescatalog/example",
},
refreshOptions: {
refreshSchedule: {
refreshInterval: "300s",
},
},
},
});
import pulumi
import pulumi_gcp as gcp
my_iceberg_catalog = gcp.biglake.IcebergCatalog("my_iceberg_catalog",
catalog_type="CATALOG_TYPE_FEDERATED",
name="my_iceberg_catalog",
primary_location="us-central1",
federated_catalog_options={
"glue_catalog_info": {
"aws_region": "us-east-1",
"aws_role_arn": "arn:aws:iam::111222333444:role/my-glue-role",
"warehouse": "111222333444:s3tablescatalog/example",
},
"refresh_options": {
"refresh_schedule": {
"refresh_interval": "300s",
},
},
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/biglake"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := biglake.NewIcebergCatalog(ctx, "my_iceberg_catalog", &biglake.IcebergCatalogArgs{
CatalogType: pulumi.String("CATALOG_TYPE_FEDERATED"),
Name: pulumi.String("my_iceberg_catalog"),
PrimaryLocation: pulumi.String("us-central1"),
FederatedCatalogOptions: &biglake.IcebergCatalogFederatedCatalogOptionsArgs{
GlueCatalogInfo: &biglake.IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs{
AwsRegion: pulumi.String("us-east-1"),
AwsRoleArn: pulumi.String("arn:aws:iam::111222333444:role/my-glue-role"),
Warehouse: pulumi.String("111222333444:s3tablescatalog/example"),
},
RefreshOptions: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs{
RefreshSchedule: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs{
RefreshInterval: pulumi.String("300s"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var myIcebergCatalog = new Gcp.BigLake.IcebergCatalog("my_iceberg_catalog", new()
{
CatalogType = "CATALOG_TYPE_FEDERATED",
Name = "my_iceberg_catalog",
PrimaryLocation = "us-central1",
FederatedCatalogOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsArgs
{
GlueCatalogInfo = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs
{
AwsRegion = "us-east-1",
AwsRoleArn = "arn:aws:iam::111222333444:role/my-glue-role",
Warehouse = "111222333444:s3tablescatalog/example",
},
RefreshOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs
{
RefreshSchedule = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs
{
RefreshInterval = "300s",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.biglake.IcebergCatalog;
import com.pulumi.gcp.biglake.IcebergCatalogArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs;
import com.pulumi.gcp.biglake.inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs;
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) {
var myIcebergCatalog = new IcebergCatalog("myIcebergCatalog", IcebergCatalogArgs.builder()
.catalogType("CATALOG_TYPE_FEDERATED")
.name("my_iceberg_catalog")
.primaryLocation("us-central1")
.federatedCatalogOptions(IcebergCatalogFederatedCatalogOptionsArgs.builder()
.glueCatalogInfo(IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs.builder()
.awsRegion("us-east-1")
.awsRoleArn("arn:aws:iam::111222333444:role/my-glue-role")
.warehouse("111222333444:s3tablescatalog/example")
.build())
.refreshOptions(IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs.builder()
.refreshSchedule(IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs.builder()
.refreshInterval("300s")
.build())
.build())
.build())
.build());
}
}
resources:
myIcebergCatalog:
type: gcp:biglake:IcebergCatalog
name: my_iceberg_catalog
properties:
catalogType: CATALOG_TYPE_FEDERATED
name: my_iceberg_catalog
primaryLocation: us-central1
federatedCatalogOptions:
glueCatalogInfo:
awsRegion: us-east-1
awsRoleArn: arn:aws:iam::111222333444:role/my-glue-role
warehouse: 111222333444:s3tablescatalog/example
refreshOptions:
refreshSchedule:
refreshInterval: 300s
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_biglake_icebergcatalog" "my_iceberg_catalog" {
catalog_type = "CATALOG_TYPE_FEDERATED"
name = "my_iceberg_catalog"
primary_location = "us-central1"
federated_catalog_options = {
glue_catalog_info = {
aws_region = "us-east-1"
aws_role_arn = "arn:aws:iam::111222333444:role/my-glue-role"
warehouse = "111222333444:s3tablescatalog/example"
}
refresh_options = {
refresh_schedule = {
refresh_interval = "300s"
}
}
}
}
Create IcebergCatalog Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new IcebergCatalog(name: string, args: IcebergCatalogArgs, opts?: CustomResourceOptions);@overload
def IcebergCatalog(resource_name: str,
args: IcebergCatalogArgs,
opts: Optional[ResourceOptions] = None)
@overload
def IcebergCatalog(resource_name: str,
opts: Optional[ResourceOptions] = None,
catalog_type: Optional[str] = None,
credential_mode: Optional[str] = None,
default_location: Optional[str] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
federated_catalog_options: Optional[IcebergCatalogFederatedCatalogOptionsArgs] = None,
name: Optional[str] = None,
primary_location: Optional[str] = None,
project: Optional[str] = None,
restricted_locations_config: Optional[IcebergCatalogRestrictedLocationsConfigArgs] = None)func NewIcebergCatalog(ctx *Context, name string, args IcebergCatalogArgs, opts ...ResourceOption) (*IcebergCatalog, error)public IcebergCatalog(string name, IcebergCatalogArgs args, CustomResourceOptions? opts = null)
public IcebergCatalog(String name, IcebergCatalogArgs args)
public IcebergCatalog(String name, IcebergCatalogArgs args, CustomResourceOptions options)
type: gcp:biglake:IcebergCatalog
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "gcp_biglake_iceberg_catalog" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args IcebergCatalogArgs
- 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 IcebergCatalogArgs
- 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 IcebergCatalogArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args IcebergCatalogArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args IcebergCatalogArgs
- 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 icebergCatalogResource = new Gcp.BigLake.IcebergCatalog("icebergCatalogResource", new()
{
CatalogType = "string",
CredentialMode = "string",
DefaultLocation = "string",
DeletionPolicy = "string",
Description = "string",
FederatedCatalogOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsArgs
{
GlueCatalogInfo = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs
{
AwsRegion = "string",
AwsRoleArn = "string",
Warehouse = "string",
},
RefreshOptions = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs
{
RefreshSchedule = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs
{
RefreshInterval = "string",
},
RefreshScope = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScopeArgs
{
NamespaceFilters = new[]
{
"string",
},
},
},
RefreshStatuses = new[]
{
new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshStatusArgs
{
EndTime = "string",
StartTime = "string",
Statuses = new[]
{
new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsRefreshStatusStatusArgs
{
Code = 0,
Message = "string",
},
},
},
},
SecretName = "string",
ServiceDirectoryName = "string",
UnityCatalogInfo = new Gcp.BigLake.Inputs.IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs
{
CatalogName = "string",
InstanceName = "string",
ServicePrincipalApplicationId = "string",
},
},
Name = "string",
PrimaryLocation = "string",
Project = "string",
RestrictedLocationsConfig = new Gcp.BigLake.Inputs.IcebergCatalogRestrictedLocationsConfigArgs
{
RestrictedLocations = new[]
{
"string",
},
},
});
example, err := biglake.NewIcebergCatalog(ctx, "icebergCatalogResource", &biglake.IcebergCatalogArgs{
CatalogType: pulumi.String("string"),
CredentialMode: pulumi.String("string"),
DefaultLocation: pulumi.String("string"),
DeletionPolicy: pulumi.String("string"),
Description: pulumi.String("string"),
FederatedCatalogOptions: &biglake.IcebergCatalogFederatedCatalogOptionsArgs{
GlueCatalogInfo: &biglake.IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs{
AwsRegion: pulumi.String("string"),
AwsRoleArn: pulumi.String("string"),
Warehouse: pulumi.String("string"),
},
RefreshOptions: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs{
RefreshSchedule: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs{
RefreshInterval: pulumi.String("string"),
},
RefreshScope: &biglake.IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScopeArgs{
NamespaceFilters: pulumi.StringArray{
pulumi.String("string"),
},
},
},
RefreshStatuses: biglake.IcebergCatalogFederatedCatalogOptionsRefreshStatusArray{
&biglake.IcebergCatalogFederatedCatalogOptionsRefreshStatusArgs{
EndTime: pulumi.String("string"),
StartTime: pulumi.String("string"),
Statuses: biglake.IcebergCatalogFederatedCatalogOptionsRefreshStatusStatusArray{
&biglake.IcebergCatalogFederatedCatalogOptionsRefreshStatusStatusArgs{
Code: pulumi.Int(0),
Message: pulumi.String("string"),
},
},
},
},
SecretName: pulumi.String("string"),
ServiceDirectoryName: pulumi.String("string"),
UnityCatalogInfo: &biglake.IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs{
CatalogName: pulumi.String("string"),
InstanceName: pulumi.String("string"),
ServicePrincipalApplicationId: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
PrimaryLocation: pulumi.String("string"),
Project: pulumi.String("string"),
RestrictedLocationsConfig: &biglake.IcebergCatalogRestrictedLocationsConfigArgs{
RestrictedLocations: pulumi.StringArray{
pulumi.String("string"),
},
},
})
resource "gcp_biglake_iceberg_catalog" "icebergCatalogResource" {
lifecycle {
create_before_destroy = true
}
catalog_type = "string"
credential_mode = "string"
default_location = "string"
deletion_policy = "string"
description = "string"
federated_catalog_options = {
glue_catalog_info = {
aws_region = "string"
aws_role_arn = "string"
warehouse = "string"
}
refresh_options = {
refresh_schedule = {
refresh_interval = "string"
}
refresh_scope = {
namespace_filters = ["string"]
}
}
refresh_statuses = [{
end_time = "string"
start_time = "string"
statuses = [{
code = 0
message = "string"
}]
}]
secret_name = "string"
service_directory_name = "string"
unity_catalog_info = {
catalog_name = "string"
instance_name = "string"
service_principal_application_id = "string"
}
}
name = "string"
primary_location = "string"
project = "string"
restricted_locations_config = {
restricted_locations = ["string"]
}
}
var icebergCatalogResource = new IcebergCatalog("icebergCatalogResource", IcebergCatalogArgs.builder()
.catalogType("string")
.credentialMode("string")
.defaultLocation("string")
.deletionPolicy("string")
.description("string")
.federatedCatalogOptions(IcebergCatalogFederatedCatalogOptionsArgs.builder()
.glueCatalogInfo(IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs.builder()
.awsRegion("string")
.awsRoleArn("string")
.warehouse("string")
.build())
.refreshOptions(IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs.builder()
.refreshSchedule(IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs.builder()
.refreshInterval("string")
.build())
.refreshScope(IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScopeArgs.builder()
.namespaceFilters("string")
.build())
.build())
.refreshStatuses(IcebergCatalogFederatedCatalogOptionsRefreshStatusArgs.builder()
.endTime("string")
.startTime("string")
.statuses(IcebergCatalogFederatedCatalogOptionsRefreshStatusStatusArgs.builder()
.code(0)
.message("string")
.build())
.build())
.secretName("string")
.serviceDirectoryName("string")
.unityCatalogInfo(IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs.builder()
.catalogName("string")
.instanceName("string")
.servicePrincipalApplicationId("string")
.build())
.build())
.name("string")
.primaryLocation("string")
.project("string")
.restrictedLocationsConfig(IcebergCatalogRestrictedLocationsConfigArgs.builder()
.restrictedLocations("string")
.build())
.build());
iceberg_catalog_resource = gcp.biglake.IcebergCatalog("icebergCatalogResource",
catalog_type="string",
credential_mode="string",
default_location="string",
deletion_policy="string",
description="string",
federated_catalog_options={
"glue_catalog_info": {
"aws_region": "string",
"aws_role_arn": "string",
"warehouse": "string",
},
"refresh_options": {
"refresh_schedule": {
"refresh_interval": "string",
},
"refresh_scope": {
"namespace_filters": ["string"],
},
},
"refresh_statuses": [{
"end_time": "string",
"start_time": "string",
"statuses": [{
"code": 0,
"message": "string",
}],
}],
"secret_name": "string",
"service_directory_name": "string",
"unity_catalog_info": {
"catalog_name": "string",
"instance_name": "string",
"service_principal_application_id": "string",
},
},
name="string",
primary_location="string",
project="string",
restricted_locations_config={
"restricted_locations": ["string"],
})
const icebergCatalogResource = new gcp.biglake.IcebergCatalog("icebergCatalogResource", {
catalogType: "string",
credentialMode: "string",
defaultLocation: "string",
deletionPolicy: "string",
description: "string",
federatedCatalogOptions: {
glueCatalogInfo: {
awsRegion: "string",
awsRoleArn: "string",
warehouse: "string",
},
refreshOptions: {
refreshSchedule: {
refreshInterval: "string",
},
refreshScope: {
namespaceFilters: ["string"],
},
},
refreshStatuses: [{
endTime: "string",
startTime: "string",
statuses: [{
code: 0,
message: "string",
}],
}],
secretName: "string",
serviceDirectoryName: "string",
unityCatalogInfo: {
catalogName: "string",
instanceName: "string",
servicePrincipalApplicationId: "string",
},
},
name: "string",
primaryLocation: "string",
project: "string",
restrictedLocationsConfig: {
restrictedLocations: ["string"],
},
});
type: gcp:biglake:IcebergCatalog
properties:
catalogType: string
credentialMode: string
defaultLocation: string
deletionPolicy: string
description: string
federatedCatalogOptions:
glueCatalogInfo:
awsRegion: string
awsRoleArn: string
warehouse: string
refreshOptions:
refreshSchedule:
refreshInterval: string
refreshScope:
namespaceFilters:
- string
refreshStatuses:
- endTime: string
startTime: string
statuses:
- code: 0
message: string
secretName: string
serviceDirectoryName: string
unityCatalogInfo:
catalogName: string
instanceName: string
servicePrincipalApplicationId: string
name: string
primaryLocation: string
project: string
restrictedLocationsConfig:
restrictedLocations:
- string
IcebergCatalog 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 IcebergCatalog resource accepts the following input properties:
- Catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- Credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - Default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- Federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- Name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- Primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- Catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- Credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - Default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- Federated
Catalog IcebergOptions Catalog Federated Catalog Options Args - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- Name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- Primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Restricted
Locations IcebergConfig Catalog Restricted Locations Config Args - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- catalog_
type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- credential_
mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default_
location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated_
catalog_ objectoptions - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary_
location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- restricted_
locations_ objectconfig - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- catalog
Type String - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- credential
Mode String - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location String - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name String
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location String - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- catalog_
type str - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- credential_
mode str - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default_
location str - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description str
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated_
catalog_ Icebergoptions Catalog Federated Catalog Options Args - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name str
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary_
location str - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- restricted_
locations_ Icebergconfig Catalog Restricted Locations Config Args - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- catalog
Type String - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- credential
Mode String - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location String - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog Property MapOptions - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name String
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location String - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- restricted
Locations Property MapConfig - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the IcebergCatalog resource produces the following output properties:
- Biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- Biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- Create
Time string - Output only. The creation time of the IcebergCatalog.
- Id string
- The provider-assigned unique ID for this managed resource.
- Replicas
List<Iceberg
Catalog Replica> - Output only. The replicas for the catalog metadata. Structure is documented below.
- Storage
Regions List<string> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - Update
Time string - Output only. The last modification time of the IcebergCatalog.
- Biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- Biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- Create
Time string - Output only. The creation time of the IcebergCatalog.
- Id string
- The provider-assigned unique ID for this managed resource.
- Replicas
[]Iceberg
Catalog Replica - Output only. The replicas for the catalog metadata. Structure is documented below.
- Storage
Regions []string - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - Update
Time string - Output only. The last modification time of the IcebergCatalog.
- biglake_
service_ stringaccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake_
service_ stringaccount_ id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- create_
time string - Output only. The creation time of the IcebergCatalog.
- id string
- The provider-assigned unique ID for this managed resource.
- replicas list(object)
- Output only. The replicas for the catalog metadata. Structure is documented below.
- storage_
regions list(string) - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update_
time string - Output only. The last modification time of the IcebergCatalog.
- biglake
Service StringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service StringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- create
Time String - Output only. The creation time of the IcebergCatalog.
- id String
- The provider-assigned unique ID for this managed resource.
- replicas
List<Iceberg
Catalog Replica> - Output only. The replicas for the catalog metadata. Structure is documented below.
- storage
Regions List<String> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time String - Output only. The last modification time of the IcebergCatalog.
- biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- create
Time string - Output only. The creation time of the IcebergCatalog.
- id string
- The provider-assigned unique ID for this managed resource.
- replicas
Iceberg
Catalog Replica[] - Output only. The replicas for the catalog metadata. Structure is documented below.
- storage
Regions string[] - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time string - Output only. The last modification time of the IcebergCatalog.
- biglake_
service_ straccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake_
service_ straccount_ id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- create_
time str - Output only. The creation time of the IcebergCatalog.
- id str
- The provider-assigned unique ID for this managed resource.
- replicas
Sequence[Iceberg
Catalog Replica] - Output only. The replicas for the catalog metadata. Structure is documented below.
- storage_
regions Sequence[str] - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update_
time str - Output only. The last modification time of the IcebergCatalog.
- biglake
Service StringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service StringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- create
Time String - Output only. The creation time of the IcebergCatalog.
- id String
- The provider-assigned unique ID for this managed resource.
- replicas List<Property Map>
- Output only. The replicas for the catalog metadata. Structure is documented below.
- storage
Regions List<String> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time String - Output only. The last modification time of the IcebergCatalog.
Look up Existing IcebergCatalog Resource
Get an existing IcebergCatalog 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?: IcebergCatalogState, opts?: CustomResourceOptions): IcebergCatalog@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
biglake_service_account: Optional[str] = None,
biglake_service_account_id: Optional[str] = None,
catalog_type: Optional[str] = None,
create_time: Optional[str] = None,
credential_mode: Optional[str] = None,
default_location: Optional[str] = None,
deletion_policy: Optional[str] = None,
description: Optional[str] = None,
federated_catalog_options: Optional[IcebergCatalogFederatedCatalogOptionsArgs] = None,
name: Optional[str] = None,
primary_location: Optional[str] = None,
project: Optional[str] = None,
replicas: Optional[Sequence[IcebergCatalogReplicaArgs]] = None,
restricted_locations_config: Optional[IcebergCatalogRestrictedLocationsConfigArgs] = None,
storage_regions: Optional[Sequence[str]] = None,
update_time: Optional[str] = None) -> IcebergCatalogfunc GetIcebergCatalog(ctx *Context, name string, id IDInput, state *IcebergCatalogState, opts ...ResourceOption) (*IcebergCatalog, error)public static IcebergCatalog Get(string name, Input<string> id, IcebergCatalogState? state, CustomResourceOptions? opts = null)public static IcebergCatalog get(String name, Output<String> id, IcebergCatalogState state, CustomResourceOptions options)resources: _: type: gcp:biglake:IcebergCatalog get: id: ${id}import {
to = gcp_biglake_iceberg_catalog.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.
- Biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- Biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- Catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- Create
Time string - Output only. The creation time of the IcebergCatalog.
- Credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - Default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- Federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- Name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- Primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Replicas
List<Iceberg
Catalog Replica> - Output only. The replicas for the catalog metadata. Structure is documented below.
- Restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- Storage
Regions List<string> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - Update
Time string - Output only. The last modification time of the IcebergCatalog.
- Biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- Biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- Catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- Create
Time string - Output only. The creation time of the IcebergCatalog.
- Credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - Default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - Deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- Description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- Federated
Catalog IcebergOptions Catalog Federated Catalog Options Args - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- Name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- Primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Replicas
[]Iceberg
Catalog Replica Args - Output only. The replicas for the catalog metadata. Structure is documented below.
- Restricted
Locations IcebergConfig Catalog Restricted Locations Config Args - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- Storage
Regions []string - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - Update
Time string - Output only. The last modification time of the IcebergCatalog.
- biglake_
service_ stringaccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake_
service_ stringaccount_ id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- catalog_
type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- create_
time string - Output only. The creation time of the IcebergCatalog.
- credential_
mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default_
location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion_
policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated_
catalog_ objectoptions - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary_
location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- replicas list(object)
- Output only. The replicas for the catalog metadata. Structure is documented below.
- restricted_
locations_ objectconfig - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- storage_
regions list(string) - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update_
time string - Output only. The last modification time of the IcebergCatalog.
- biglake
Service StringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service StringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- catalog
Type String - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- create
Time String - Output only. The creation time of the IcebergCatalog.
- credential
Mode String - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location String - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name String
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location String - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- replicas
List<Iceberg
Catalog Replica> - Output only. The replicas for the catalog metadata. Structure is documented below.
- restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- storage
Regions List<String> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time String - Output only. The last modification time of the IcebergCatalog.
- biglake
Service stringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service stringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- catalog
Type string - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- create
Time string - Output only. The creation time of the IcebergCatalog.
- credential
Mode string - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location string - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy string - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description string
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog IcebergOptions Catalog Federated Catalog Options - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name string
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location string - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- replicas
Iceberg
Catalog Replica[] - Output only. The replicas for the catalog metadata. Structure is documented below.
- restricted
Locations IcebergConfig Catalog Restricted Locations Config - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- storage
Regions string[] - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time string - Output only. The last modification time of the IcebergCatalog.
- biglake_
service_ straccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake_
service_ straccount_ id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- catalog_
type str - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- create_
time str - Output only. The creation time of the IcebergCatalog.
- credential_
mode str - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default_
location str - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion_
policy str - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description str
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated_
catalog_ Icebergoptions Catalog Federated Catalog Options Args - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name str
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary_
location str - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- replicas
Sequence[Iceberg
Catalog Replica Args] - Output only. The replicas for the catalog metadata. Structure is documented below.
- restricted_
locations_ Icebergconfig Catalog Restricted Locations Config Args - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- storage_
regions Sequence[str] - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update_
time str - Output only. The last modification time of the IcebergCatalog.
- biglake
Service StringAccount - Output only. The service account used for credential vending. It might be empty if credential vending was never enabled for the catalog.
- biglake
Service StringAccount Id - Output only. The unique ID of the service account used for credential vending. Used for federation scenarios.
- catalog
Type String - The catalog type of the IcebergCatalog.
CATALOG_TYPE_GCS_BUCKET: Google Cloud Storage bucket catalog type.CATALOG_TYPE_BIGLAKE: BigLake catalog type.CATALOG_TYPE_FEDERATED: Federated catalog type, for integrating with external Iceberg REST Catalogs such as Databricks Unity Catalog or AWS Glue. Possible values are:CATALOG_TYPE_GCS_BUCKET,CATALOG_TYPE_BIGLAKE,CATALOG_TYPE_FEDERATED.
- create
Time String - Output only. The creation time of the IcebergCatalog.
- credential
Mode String - The credential mode used for the catalog. CREDENTIAL_MODE_END_USER - End user credentials, default. The authenticating user must have access to the catalog resources and the corresponding Google Cloud Storage files. CREDENTIAL_MODE_VENDED_CREDENTIALS - Use credential vending. The authenticating user must have access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage files. All table operations in this mode would require
X-Iceberg-Access-Delegationheader withvended-credentialsvalue included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions. Possible values are:CREDENTIAL_MODE_END_USER,CREDENTIAL_MODE_VENDED_CREDENTIALS. - default
Location String - The default storage location for the catalog, e.g.,
gs://my-bucket. Output only when the catalog type is CATALOG_TYPE_GCS_BUCKET. Required when the catalog type is CATALOG_TYPE_BIGLAKE. - deletion
Policy String - Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
- description String
- A user-provided description of the catalog. Maximum 1024 UTF-8 characters.
- federated
Catalog Property MapOptions - Options for a CATALOG_TYPE_FEDERATED catalog. Required when catalogType is CATALOG_TYPE_FEDERATED. Structure is documented below.
- name String
- The name of the IcebergCatalog. For CATALOG_TYPE_GCS_BUCKET typed catalogs, the name needs to be the exact same value of the GCS bucket's name. For example, for a bucket: gs://bucket-name, the catalog name will be exactly "bucket-name".
- primary
Location String - The primary location for mirroring the remote catalog metadata. It must be a BigLake-supported location, and it should be proximate to the remote catalog's location.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- replicas List<Property Map>
- Output only. The replicas for the catalog metadata. Structure is documented below.
- restricted
Locations Property MapConfig - Configuration for the additional GCS locations that are permitted for use by resources within this catalog. Structure is documented below.
- storage
Regions List<String> - Output only. The GCP region(s) where the physical metadata for the tables is stored, e.g.
us-central1,nam4orus. This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets. - update
Time String - Output only. The last modification time of the IcebergCatalog.
Supporting Types
IcebergCatalogFederatedCatalogOptions, IcebergCatalogFederatedCatalogOptionsArgs
- Glue
Catalog IcebergInfo Catalog Federated Catalog Options Glue Catalog Info - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- Refresh
Options IcebergCatalog Federated Catalog Options Refresh Options - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- Refresh
Statuses List<IcebergCatalog Federated Catalog Options Refresh Status> - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- Secret
Name string - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - Service
Directory stringName - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- Unity
Catalog IcebergInfo Catalog Federated Catalog Options Unity Catalog Info - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- Glue
Catalog IcebergInfo Catalog Federated Catalog Options Glue Catalog Info - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- Refresh
Options IcebergCatalog Federated Catalog Options Refresh Options - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- Refresh
Statuses []IcebergCatalog Federated Catalog Options Refresh Status - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- Secret
Name string - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - Service
Directory stringName - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- Unity
Catalog IcebergInfo Catalog Federated Catalog Options Unity Catalog Info - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- glue_
catalog_ objectinfo - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- refresh_
options object - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- refresh_
statuses list(object) - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- secret_
name string - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - service_
directory_ stringname - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- unity_
catalog_ objectinfo - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- glue
Catalog IcebergInfo Catalog Federated Catalog Options Glue Catalog Info - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- refresh
Options IcebergCatalog Federated Catalog Options Refresh Options - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- refresh
Statuses List<IcebergCatalog Federated Catalog Options Refresh Status> - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- secret
Name String - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - service
Directory StringName - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- unity
Catalog IcebergInfo Catalog Federated Catalog Options Unity Catalog Info - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- glue
Catalog IcebergInfo Catalog Federated Catalog Options Glue Catalog Info - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- refresh
Options IcebergCatalog Federated Catalog Options Refresh Options - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- refresh
Statuses IcebergCatalog Federated Catalog Options Refresh Status[] - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- secret
Name string - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - service
Directory stringName - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- unity
Catalog IcebergInfo Catalog Federated Catalog Options Unity Catalog Info - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- glue_
catalog_ Iceberginfo Catalog Federated Catalog Options Glue Catalog Info - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- refresh_
options IcebergCatalog Federated Catalog Options Refresh Options - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- refresh_
statuses Sequence[IcebergCatalog Federated Catalog Options Refresh Status] - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- secret_
name str - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - service_
directory_ strname - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- unity_
catalog_ Iceberginfo Catalog Federated Catalog Options Unity Catalog Info - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- glue
Catalog Property MapInfo - Configuration for an AWS Glue remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
- refresh
Options Property Map - Configuration for metadata synchronization from the remote catalog. Structure is documented below.
- refresh
Statuses List<Property Map> - (Output) Output only. The status of the most recent metadata refresh. Structure is documented below.
- secret
Name String - The secret resource name in Secret Manager, in the format
projects/{projectId}/locations/{location}/secrets/{secret_id}. Used to store credentials for authenticating with the remote catalog. - service
Directory StringName - The Service Directory service name for private network connectivity through Cross-Cloud Interconnect.
- unity
Catalog Property MapInfo - Configuration for a Databricks Unity Catalog remote catalog. Exactly one of unityCatalogInfo or glueCatalogInfo must be specified. Structure is documented below.
IcebergCatalogFederatedCatalogOptionsGlueCatalogInfo, IcebergCatalogFederatedCatalogOptionsGlueCatalogInfoArgs
- Aws
Region string - The AWS region where the Glue catalog is located.
- Aws
Role stringArn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- Warehouse string
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- Aws
Region string - The AWS region where the Glue catalog is located.
- Aws
Role stringArn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- Warehouse string
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- aws_
region string - The AWS region where the Glue catalog is located.
- aws_
role_ stringarn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- warehouse string
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- aws
Region String - The AWS region where the Glue catalog is located.
- aws
Role StringArn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- warehouse String
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- aws
Region string - The AWS region where the Glue catalog is located.
- aws
Role stringArn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- warehouse string
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- aws_
region str - The AWS region where the Glue catalog is located.
- aws_
role_ strarn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- warehouse str
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
- aws
Region String - The AWS region where the Glue catalog is located.
- aws
Role StringArn - The ARN of the AWS IAM role to assume for accessing the Glue catalog.
- warehouse String
- The AWS Glue warehouse identifier (account ID or S3 table bucket).
IcebergCatalogFederatedCatalogOptionsRefreshOptions, IcebergCatalogFederatedCatalogOptionsRefreshOptionsArgs
- Refresh
Schedule IcebergCatalog Federated Catalog Options Refresh Options Refresh Schedule - Schedule for periodic metadata refresh. Structure is documented below.
- Refresh
Scope IcebergCatalog Federated Catalog Options Refresh Options Refresh Scope - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- Refresh
Schedule IcebergCatalog Federated Catalog Options Refresh Options Refresh Schedule - Schedule for periodic metadata refresh. Structure is documented below.
- Refresh
Scope IcebergCatalog Federated Catalog Options Refresh Options Refresh Scope - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- refresh_
schedule object - Schedule for periodic metadata refresh. Structure is documented below.
- refresh_
scope object - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- refresh
Schedule IcebergCatalog Federated Catalog Options Refresh Options Refresh Schedule - Schedule for periodic metadata refresh. Structure is documented below.
- refresh
Scope IcebergCatalog Federated Catalog Options Refresh Options Refresh Scope - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- refresh
Schedule IcebergCatalog Federated Catalog Options Refresh Options Refresh Schedule - Schedule for periodic metadata refresh. Structure is documented below.
- refresh
Scope IcebergCatalog Federated Catalog Options Refresh Options Refresh Scope - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- refresh_
schedule IcebergCatalog Federated Catalog Options Refresh Options Refresh Schedule - Schedule for periodic metadata refresh. Structure is documented below.
- refresh_
scope IcebergCatalog Federated Catalog Options Refresh Options Refresh Scope - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
- refresh
Schedule Property Map - Schedule for periodic metadata refresh. Structure is documented below.
- refresh
Scope Property Map - Scope of metadata to synchronize from the remote catalog. Structure is documented below.
IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshSchedule, IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScheduleArgs
- Refresh
Interval string - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- Refresh
Interval string - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- refresh_
interval string - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- refresh
Interval String - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- refresh
Interval string - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- refresh_
interval str - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
- refresh
Interval String - The interval between metadata refreshes, expressed as a duration
string (e.g.,
300s). The value must be at least 300s or 0s to disable refresh.
IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScope, IcebergCatalogFederatedCatalogOptionsRefreshOptionsRefreshScopeArgs
- Namespace
Filters List<string> A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- Namespace
Filters []string A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- namespace_
filters list(string) A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- namespace
Filters List<String> A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- namespace
Filters string[] A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- namespace_
filters Sequence[str] A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
- namespace
Filters List<String> A list of namespace filters to limit which namespaces are synchronized from the remote catalog.
The
refreshStatusblock contains:
IcebergCatalogFederatedCatalogOptionsRefreshStatus, IcebergCatalogFederatedCatalogOptionsRefreshStatusArgs
- End
Time string - Output only. The end time of the most recent refresh.
- Start
Time string - Output only. The start time of the most recent refresh.
- Statuses
List<Iceberg
Catalog Federated Catalog Options Refresh Status Status> - Output only. The error result of the last failed refresh, if any.
- End
Time string - Output only. The end time of the most recent refresh.
- Start
Time string - Output only. The start time of the most recent refresh.
- Statuses
[]Iceberg
Catalog Federated Catalog Options Refresh Status Status - Output only. The error result of the last failed refresh, if any.
- end_
time string - Output only. The end time of the most recent refresh.
- start_
time string - Output only. The start time of the most recent refresh.
- statuses list(object)
- Output only. The error result of the last failed refresh, if any.
- end
Time String - Output only. The end time of the most recent refresh.
- start
Time String - Output only. The start time of the most recent refresh.
- statuses
List<Iceberg
Catalog Federated Catalog Options Refresh Status Status> - Output only. The error result of the last failed refresh, if any.
- end
Time string - Output only. The end time of the most recent refresh.
- start
Time string - Output only. The start time of the most recent refresh.
- statuses
Iceberg
Catalog Federated Catalog Options Refresh Status Status[] - Output only. The error result of the last failed refresh, if any.
- end_
time str - Output only. The end time of the most recent refresh.
- start_
time str - Output only. The start time of the most recent refresh.
- statuses
Sequence[Iceberg
Catalog Federated Catalog Options Refresh Status Status] - Output only. The error result of the last failed refresh, if any.
- end
Time String - Output only. The end time of the most recent refresh.
- start
Time String - Output only. The start time of the most recent refresh.
- statuses List<Property Map>
- Output only. The error result of the last failed refresh, if any.
IcebergCatalogFederatedCatalogOptionsRefreshStatusStatus, IcebergCatalogFederatedCatalogOptionsRefreshStatusStatusArgs
IcebergCatalogFederatedCatalogOptionsUnityCatalogInfo, IcebergCatalogFederatedCatalogOptionsUnityCatalogInfoArgs
- Catalog
Name string - The name of the catalog within the Unity Catalog instance.
- Instance
Name string - The Databricks workspace instance name.
- Service
Principal stringApplication Id - The application ID of the Databricks service principal for OIDC authentication.
- Catalog
Name string - The name of the catalog within the Unity Catalog instance.
- Instance
Name string - The Databricks workspace instance name.
- Service
Principal stringApplication Id - The application ID of the Databricks service principal for OIDC authentication.
- catalog_
name string - The name of the catalog within the Unity Catalog instance.
- instance_
name string - The Databricks workspace instance name.
- service_
principal_ stringapplication_ id - The application ID of the Databricks service principal for OIDC authentication.
- catalog
Name String - The name of the catalog within the Unity Catalog instance.
- instance
Name String - The Databricks workspace instance name.
- service
Principal StringApplication Id - The application ID of the Databricks service principal for OIDC authentication.
- catalog
Name string - The name of the catalog within the Unity Catalog instance.
- instance
Name string - The Databricks workspace instance name.
- service
Principal stringApplication Id - The application ID of the Databricks service principal for OIDC authentication.
- catalog_
name str - The name of the catalog within the Unity Catalog instance.
- instance_
name str - The Databricks workspace instance name.
- service_
principal_ strapplication_ id - The application ID of the Databricks service principal for OIDC authentication.
- catalog
Name String - The name of the catalog within the Unity Catalog instance.
- instance
Name String - The Databricks workspace instance name.
- service
Principal StringApplication Id - The application ID of the Databricks service principal for OIDC authentication.
IcebergCatalogReplica, IcebergCatalogReplicaArgs
- Region string
- (Output)
The region of the replica, e.g.,
us-east1. - State string
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- Region string
- (Output)
The region of the replica, e.g.,
us-east1. - State string
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- region string
- (Output)
The region of the replica, e.g.,
us-east1. - state string
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- region String
- (Output)
The region of the replica, e.g.,
us-east1. - state String
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- region string
- (Output)
The region of the replica, e.g.,
us-east1. - state string
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- region str
- (Output)
The region of the replica, e.g.,
us-east1. - state str
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
- region String
- (Output)
The region of the replica, e.g.,
us-east1. - state String
- (Output) If the IcebergCatalog is replicated to multiple regions, this describes the current state of the replica. STATE_UNKNOWN - The replica state is unknown. STATE_PRIMARY - The replica is the writable primary. STATE_PRIMARY_IN_PROGRESS - The replica has been recently assigned as the primary, but not all namespaces are writeable yet. STATE_SECONDARY - The replica is a read-only secondary replica.
IcebergCatalogRestrictedLocationsConfig, IcebergCatalogRestrictedLocationsConfigArgs
- Restricted
Locations List<string> - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- Restricted
Locations []string - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- restricted_
locations list(string) - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- restricted
Locations List<String> - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- restricted
Locations string[] - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- restricted_
locations Sequence[str] - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
- restricted
Locations List<String> - A list of GCS locations (e.g.,
gs://my-other-bucket/...) that are permitted for use by resources within this catalog. Each entry can be either a GCS bucket or a path within it.
Import
IcebergCatalog can be imported using any of these accepted formats:
iceberg/v1/restcatalog/extensions/projects/{{project}}/catalogs/{{name}}{{project}}/{{name}}{{name}}
When using the pulumi import command, IcebergCatalog can be imported using one of the formats above. For example:
$ pulumi import gcp:biglake/icebergCatalog:IcebergCatalog default iceberg/v1/restcatalog/extensions/projects/{{project}}/catalogs/{{name}}
$ pulumi import gcp:biglake/icebergCatalog:IcebergCatalog default {{project}}/{{name}}
$ pulumi import gcp:biglake/icebergCatalog:IcebergCatalog default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-betaTerraform Provider.
published on Wednesday, Jul 29, 2026 by Pulumi