REST Resource: iceberg.v1beta.restcatalog.extensions.projects.catalogs

Resource: IcebergCatalog

The Iceberg REST Catalog information.

JSON representation
{
  "name": string,
  "credential-mode": enum (CredentialMode),
  "biglake-service-account": string,
  "catalog-type": enum (CatalogType),
  "default-location": string,
  "storage-regions": [
    string
  ],
  "create-time": string,
  "update-time": string,
  "replicas": [
    {
      object (Replica)
    }
  ],
  "description": string
}
Fields
name

string

Identifier. The catalog name, projects/my-project/catalogs/my-catalog. This field is immutable. This field is ignored for catalogs.create.

credential-mode

enum (CredentialMode)

Optional. The credential mode for the catalog.

biglake-service-account

string

Output only. The service account used for credential vending, output only. Might be empty if Credential vending was never enabled for the catalog.

catalog-type

enum (CatalogType)

Required. The catalog type. Required for catalogs.create.

default-location

string

Optional. The default storage location for the catalog, e.g., gs://my-bucket. For the Google Cloud Storage Bucket catalog this is output only. For BigLake Iceberg 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[]

string

Output only. The Google Cloud region(s) where the physical metadata for the tables is stored, e.g. us-central1, nam4 or us.

This will contain one value for all locations, except for the catalogs that are configured to use custom dual region buckets.

create-time

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

update-time

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

replicas[]

object (Replica)

Output only. The replicas for the catalog metadata.

description

string

Optional. A user-provided description of the catalog. The description must be a UTF-8 string with a maximum length of 1024 characters.

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 X-Iceberg-Access-Delegation header with vended-credentials value included. System will generate a service account and the catalog administrator must grant the service account appropriate permissions.

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 Catalog type for Google Cloud Storage Buckets.

Replica

The replica of the Catalog.

JSON representation
{
  "region": string,
  "state": enum (State)
}
Fields
region

string

Output only. The region of the replica. For example "us-east1"

state

enum (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.

Methods

create

Creates the Iceberg REST Catalog.

delete

Deletes the Iceberg REST Catalog.

failover

Failover the catalog to a new primary replica region.

get

Returns the Iceberg REST Catalog configuration options.

list

Lists the Iceberg REST Catalogs.

patch

Update the Iceberg REST Catalog configuration options.