#table #client #catalog #rest-client #iceberg #specification #version

iceberg_catalog_rest_client

Defines the specification for the first version of the Iceberg REST Catalog API. Implementations should ideally support both Iceberg table specs v1 and v2, with priority given to v2.

1 unstable release

0.0.1 Nov 7, 2022

#14 in #iceberg

Apache-2.0

175KB
3K SLoC

Rust API client for the Iceberg REST Catalog API

Defines the specification for the first version of the REST Catalog API. Implementations should ideally support both Iceberg table specs v1 and v2, with priority given to v2.

Overview

This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.

  • API version: 0.0.1
  • Package version: 0.0.1
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder in a directory named openapi and add the following to Cargo.toml under [dependencies]:

openapi = { path = "./openapi" }

Documentation for API Endpoints

All URIs are relative to https://localhost

Class Method HTTP request Description
CatalogApiApi create_namespace POST /v1/{prefix}/namespaces Create a namespace
CatalogApiApi create_table POST /v1/{prefix}/namespaces/{namespace}/tables Create a table in the given namespace
CatalogApiApi drop_namespace DELETE /v1/{prefix}/namespaces/{namespace} Drop a namespace from the catalog. Namespace must be empty.
CatalogApiApi drop_table DELETE /v1/{prefix}/namespaces/{namespace}/tables/{table} Drop a table from the catalog
CatalogApiApi list_namespaces GET /v1/{prefix}/namespaces List namespaces, optionally providing a parent namespace to list underneath
CatalogApiApi list_tables GET /v1/{prefix}/namespaces/{namespace}/tables List all table identifiers underneath a given namespace
CatalogApiApi load_namespace_metadata GET /v1/{prefix}/namespaces/{namespace} Load the metadata properties for a namespace
CatalogApiApi load_table GET /v1/{prefix}/namespaces/{namespace}/tables/{table} Load a table from the catalog
CatalogApiApi rename_table POST /v1/{prefix}/tables/rename Rename a table from its current name to a new name
CatalogApiApi report_metrics POST /v1/{prefix}/namespaces/{namespace}/tables/{table}/metrics Send a metrics report to this endpoint to be processed by the backend
CatalogApiApi table_exists HEAD /v1/{prefix}/namespaces/{namespace}/tables/{table} Check if a table exists
CatalogApiApi update_properties POST /v1/{prefix}/namespaces/{namespace}/properties Set or remove properties on a namespace
CatalogApiApi update_table POST /v1/{prefix}/namespaces/{namespace}/tables/{table} Commit updates to a table
ConfigurationApiApi get_config GET /v1/config List all catalog configuration settings
OAuth2ApiApi get_token POST /v1/oauth/tokens Get a token using an OAuth2 flow

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open

Author

Dependencies

~5–16MB
~223K SLoC