- Resource: IcebergCatalog
- CredentialMode
- CatalogType
- Replica
- State
- RestrictedLocationsConfig
- FederatedCatalogOptions
- UnityCatalogInfo
- GlueCatalogInfo
- RefreshOptions
- RefreshSchedule
- RefreshScope
- RefreshStatus
- 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 was never enabled for the catalog. For federated catalogs, the service account will be always provisioned and will be used to access the remote Iceberg REST Catalog using access to Secret Manager secret or identity federation. |
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. |
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. |
CredentialMode
The credential mode used for the catalog.
| Enums | |
|---|---|
CREDENTIAL_MODE_UNSPECIFIED |
Default value. This value is unused. |
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 See: https://github.com/apache/iceberg/blob/931865ecaf40a827f9081dddb675bf1c95c05461/open-api/rest-catalog-open-api.yaml#L1854 for more details. |
CatalogType
Determines the catalog type.
| Enums | |
|---|---|
CATALOG_TYPE_UNSPECIFIED |
Default 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 |
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. |
RestrictedLocationsConfig
Configuration of location restrictions.
| JSON representation |
|---|
{ "restricted-locations": [ string ] } |
| Fields | |
|---|---|
restricted-locations[] |
Optional. Additional Google Cloud Storage buckets and locations (e.g., If |
FederatedCatalogOptions
Configuration options for a federated catalog.
| JSON representation |
|---|
{ "secret-name": string, "service-directory-name": string, "refresh-options": { object ( |
| Fields | |
|---|---|
secret-name |
Required. The secret resource name in Secret Manager, in the format The project ID must match the catalog's project and location must match the catalog's location. If the version is not specified, the latest version will be used. |
service-directory-name |
Optional. The service directory resource name for routing traffic over a private network connection through Cross-Cloud Interconnect, in the format |
refresh-options |
Optional. Refresh configuration. |
refresh-status |
Output only. The status of the background refresh operations. |
Union field remote_catalog_info. Info specific to a remote Iceberg REST catalog. remote_catalog_info can be only one of the following: |
|
unity-catalog-info |
Optional. Info specific to a Unity Catalog by Databricks. |
glue-catalog-info |
Optional. Info specific to an AWS Glue Catalog. |
UnityCatalogInfo
Unity Catalog info.
| JSON representation |
|---|
{ "instance-name": string, "catalog-name": string } |
| Fields | |
|---|---|
instance-name |
Required. The instance name is the first part of the URL when logging into the Databricks deployment. For example, for a Databricks on GCP workspace URL https://1.1.gcp.databricks.com, the instance name is 1.1.gcp.databricks.com. |
catalog-name |
Required. Name of the catalog in Unity Catalog. |
GlueCatalogInfo
AWS Glue Catalog info. We support regional AWS Glue default account catalog and S3 Table Buckets.
| JSON representation |
|---|
{ "warehouse": string, "aws-region": string, "aws-role-arn": string } |
| Fields | |
|---|---|
warehouse |
Required. Immutable. The warehouse to connect to a regional AWS Glue Iceberg REST Catalog. For top level access, use the AWS account ID (e.g. 111222333444). For an S3 table bucket, the warehouse is of the form: 111222333444:s3tablescatalog/ |
aws-region |
Required. Immutable. The AWS region of the Glue catalog to connect to. The region should be in the same geographical region and jurisdiction as the federated catalog. Must be non-empty and is immutable. |
aws-role-arn |
Required. The AWS role ARN of the Glue catalog that the federated catalog will assume to access the catalog. Must be non-empty. Can be updated. |
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 refresh will be disabled. If this field is updated for an existing federated catalog, the previous background 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'. The maximum number of namespace filters allowed is 32. |
RefreshStatus
Remote catalog background 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 refresh operation, unset for in-progress refreshes. |
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. |