- Resource: IcebergCatalog
- CredentialMode
- CatalogType
- Replica
- State
- RestrictedLocationsConfig
- EncryptionConfig
- FederatedCatalogOptions
- UnityCatalogInfo
- GlueCatalogInfo
- SnowflakeCatalogInfo
- WorkdayCatalogInfo
- RefreshOptions
- RefreshSchedule
- RefreshScope
- RefreshStatus
- CrossCloudCacheOptions
- Methods
Resource: IcebergCatalog
The Iceberg REST Catalog information.
| JSON representation |
|---|
{ "name": string, "credential-mode": enum ( |
| Fields | |
|---|---|
name |
Identifier. The catalog name, |
credential-mode |
Optional. The credential mode for the catalog. |
biglake-service-account |
Output only. The service account used for credential vending, output only. Might be empty if credential vending is never enabled for the catalog. For federated catalogs, the service account will be always provisioned and is used to access the remote catalog for background metadata refresh. If |
biglake-service-account-id |
Output only. The unique ID of the service account. This is used for federation scenarios. |
catalog-type |
Required. The catalog type. Required for catalogs.create. Catalog type is immutable, except for the case of conversion from CATALOG_TYPE_GCS_BUCKET to CATALOG_TYPE_BIGLAKE. |
default-location |
Optional. The default storage location for the catalog, e.g., For BigLake catalogs, this field must be provided and point to a Google Cloud Storage bucket or a path within that bucket. This path serves as the base directory for constructing the full path to a table's data and metadata directories when a location is not specified at the namespace or table level. The full path is formed by appending the namespace and table identifiers to the default location. |
storage-regions[] |
Output only. The GCP region(s) of the default location's bucket, e.g. |
create-time |
Output only. When the catalog was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
update-time |
Output only. When the catalog was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
replicas[] |
Output only. The replicas for the catalog metadata. |
description |
Optional. A user-provided description of the catalog. The description must be a UTF-8 string with a maximum length of 1024 characters. |
restricted-locations-config |
Optional. Restricted locations configuration. This field is currently only used for BigLake catalogs. If this field is unset, or if |
federated-catalog-options |
Optional. Configuration options for federated catalogs. |
cross-cloud-cache-options |
Optional. Configuration options for cross-cloud caching of data and metadata files. |
encryption-config |
Optional. Custom encryption configuration (e.g., Cloud KMS keys). |
CredentialMode
The credential mode used for the catalog.
| Enums | |
|---|---|
CREDENTIAL_MODE_UNSPECIFIED |
Default/unset value. This value is unused. |
CREDENTIAL_MODE_END_USER |
End user credentials mode, default. The authenticating user must have access to the catalog resources and the underlying Google Cloud Storage objects. |
CREDENTIAL_MODE_VENDED_CREDENTIALS |
Credential vending mode. The authenticating user only needs access to the catalog resources and the system will provide the caller with downscoped credentials to access the Google Cloud Storage objects. All table operations in this mode require the See https://docs.cloud.google.com/lakehouse/docs/credential-vending for more details. |
CatalogType
Determines the catalog type.
| Enums | |
|---|---|
CATALOG_TYPE_UNSPECIFIED |
Default/unset value. This value is unused. |
CATALOG_TYPE_GCS_BUCKET |
Google Cloud Storage bucket catalog type. |
CATALOG_TYPE_BIGLAKE |
BigLake catalog type. |
CATALOG_TYPE_FEDERATED |
Federated catalog type. |
Replica
The replica of the Catalog.
| JSON representation |
|---|
{
"region": string,
"state": enum ( |
| Fields | |
|---|---|
region |
Output only. The region of the replica. For example "us-east1" |
state |
Output only. The current state of the replica. |
State
If the catalog is replicated to multiple regions, this enum describes the current state of the replica.
| Enums | |
|---|---|
STATE_UNKNOWN |
Default/unset value. This value is unused. |
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. |
RestrictedLocationsConfig
Configuration of location restrictions.
| JSON representation |
|---|
{ "restricted-locations": [ string ] } |
| Fields | |
|---|---|
restricted-locations[] |
Optional. Additional Google Cloud Storage buckets and locations (e.g., If |
EncryptionConfig
Custom encryption configuration (e.g., Cloud KMS keys).
| JSON representation |
|---|
{ "kms-key-name": string } |
| Fields | |
|---|---|
kms-key-name |
Optional. Cloud KMS key name used to encrypt cached data fetched from the catalog. Format: |
FederatedCatalogOptions
Configuration options for a federated catalog.
| JSON representation |
|---|
{ "refresh-options": { object ( |
| Fields | |
|---|---|
refresh-options |
Optional. Refresh configuration. |
refresh-status |
Output only. The status of the background metadata refresh operations. |
| Information specific to the remote Iceberg REST catalog. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
unity-catalog-info |
Optional. Information specific to Databricks Unity Catalog. |
glue-catalog-info |
Optional. Information specific to AWS Glue Data Catalog. |
snowflake-catalog-info |
Optional. Information specific to Snowflake Horizon Catalog. |
workday-catalog-info |
Optional. Information specific to Workday Data Lake. |
| End of mutually exclusive fields. | |
secret-name |
Optional. The secret resource name in Secret Manager, in the format The project ID must match the catalog's project and the location must match the catalog's location. If the version is not specified, the latest version is used. This field is not used when |
service-directory-name |
Optional. The Service Directory resource name used to route transport layer traffic with the remote catalog (e.g. data file access in storage buckets) over a private network connection. Format: This is used by BigQuery queries to resolve private endpoints for fetching data files (e.g., Iceberg data in S3 or Azure Data Lake Storage) via a private network connection such as Cross-Cloud Interconnect. |
UnityCatalogInfo
Information specific to Databricks Unity Catalog. The Iceberg REST Catalog endpoint is of the form: https://<instanceName>/api/2.1/unity-catalog/iceberg-rest/v1/config?warehouse=<catalogName>.
| JSON representation |
|---|
{ "instance-name": string, "catalog-name": string, "service-principal-application-id": string } |
| Fields | |
|---|---|
instance-name |
Required. Immutable. The instance name of the Databricks workspace. For example, for the Databricks workspace URL |
catalog-name |
Required. Immutable. The name of the catalog in Databricks Unity Catalog. |
service-principal-application-id |
Optional. The application ID of the Databricks service principal used to access Databricks Unity Catalog in the OIDC authentication flow. |
GlueCatalogInfo
Information specific to AWS Glue Data Catalog. The Iceberg REST Catalog endpoint is of the form: https://glue.<awsRegion>.amazonaws.com/iceberg/v1/config?warehouse=<warehouse>.
| JSON representation |
|---|
{ "warehouse": string, "aws-region": string, "aws-role-arn": string } |
| Fields | |
|---|---|
warehouse |
Required. Immutable. The warehouse location in AWS Glue Data Catalog. For the default account catalog, use the 12-digit AWS account ID (for example, |
aws-region |
Required. Immutable. The AWS region of the AWS Glue Data Catalog (for example, |
aws-role-arn |
Required. The Amazon Resource Name (ARN) of the AWS IAM role that the federated catalog assumes to access the AWS Glue Data Catalog. |
SnowflakeCatalogInfo
Information specific to Snowflake Horizon Catalog. The Iceberg REST Catalog endpoint is of the form: https://<accountIdentifier>.snowflakecomputing.com/polaris/api/catalog/v1/config?warehouse=<warehouse>.
| JSON representation |
|---|
{ "account-identifier": string, "warehouse": string, "snowflake-role": string } |
| Fields | |
|---|---|
account-identifier |
Required. Immutable. The account identifier in Snowflake. For example, for the Snowflake deployment URL |
warehouse |
Required. Immutable. The database name in Snowflake Horizon Catalog. |
snowflake-role |
Optional. The Snowflake role name used to access Snowflake Horizon Catalog in the Workload Identity Federation (OIDC) authentication flow. |
WorkdayCatalogInfo
Information specific to Workday Data Lake. The Iceberg REST Catalog endpoint is of the form: https://<baseUrl>/datalake/api/catalog/v1/config?warehouse=workday.
| JSON representation |
|---|
{ "base-url": string, "tenant": string } |
| Fields | |
|---|---|
base-url |
Required. Immutable. The base URL of the Workday instance. For example, |
tenant |
Required. Immutable. The Workday tenant name. |
RefreshOptions
Refresh configuration.
| JSON representation |
|---|
{ "refresh-schedule": { object ( |
| Fields | |
|---|---|
refresh-schedule |
Optional. Schedule defines if and when metadata refresh should be scheduled. |
refresh-scope |
Optional. Refresh scope configurations. |
RefreshSchedule
Schedule defines if and when metadata refresh should be scheduled.
| JSON representation |
|---|
{ "refresh-interval": string } |
| Fields | |
|---|---|
refresh-interval |
Optional. The interval for refreshing metadata from the remote catalog. If unset or if the value is <= 0, the background metadata refresh will be disabled. If this field is updated for an existing federated catalog, the previous background metadata refresh must complete before the new refresh interval will take effect. A duration in seconds with up to nine fractional digits, ending with ' |
RefreshScope
The scope defines a subset of namespaces to be refreshed.
| JSON representation |
|---|
{ "namespace-filters": [ string ] } |
| Fields | |
|---|---|
namespace-filters[] |
Optional. Filters to determine which namespaces are included in the refresh process. - empty list means include all namespaces. - "[namespaces]" means include the specified namespaces. ['ns1', 'ns2'] : Discover only namespaces 'ns1' and 'ns2'. |
RefreshStatus
Remote catalog background metadata refresh status.
| JSON representation |
|---|
{
"start-time": string,
"end-time": string,
"status": {
object ( |
| Fields | |
|---|---|
start-time |
Output only. When the catalog refresh has started, including in-progress refreshes. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
end-time |
Output only. When the catalog refresh has ended, unset for in-progress refreshes. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
status |
Output only. The status of the last background metadata refresh operation, unset for in-progress refreshes. |
CrossCloudCacheOptions
Configuration options for cross-cloud caching of data and metadata files.
| JSON representation |
|---|
{ "enabled": boolean } |
| Fields | |
|---|---|
enabled |
Optional. Specifies whether cross-cloud caching of data and metadata files is enabled. This only affects queries through BigQuery. If this value is If this value is |
Methods |
|
|---|---|
|
Creates the Iceberg REST Catalog. |
|
Deletes the Iceberg REST Catalog. |
|
Failover the catalog to a new primary replica region. |
|
Returns the Iceberg REST Catalog configuration options. |
|
Lists the Iceberg REST Catalogs. |
|
Update the Iceberg REST Catalog configuration options. |