Class IcebergRestCatalogApi
java.lang.Object
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi
@Path("/api/catalog/v1/{prefix}")
@Generated(value="org.openapitools.codegen.languages.JavaResteasyServerCodegen",
date="2025-12-29T15:11:16.406523497Z[UTC]",
comments="Generator version: 7.12.0")
public class IcebergRestCatalogApi
extends Object
The CatalogApi API interface
This file is automatically generated by the OpenAPI Code Generator based on configuration in the
build.gradle file.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjakarta.ws.rs.core.ResponsecommitTransaction(String prefix, org.apache.iceberg.rest.requests.CommitTransactionRequest commitTransactionRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to multiple tables in an atomic operation Response type:Void.jakarta.ws.rs.core.ResponsecreateNamespace(String prefix, org.apache.iceberg.rest.requests.CreateNamespaceRequest createNamespaceRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Create a namespace, with an optional set of properties.jakarta.ws.rs.core.ResponsecreateTable(String prefix, String namespace, org.apache.iceberg.rest.requests.CreateTableRequest createTableRequest, String xIcebergAccessDelegation, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Create a table or start a create transaction, like atomic CTAS.jakarta.ws.rs.core.ResponsecreateView(String prefix, String namespace, org.apache.iceberg.rest.requests.CreateViewRequest createViewRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Create a view in the given namespace.jakarta.ws.rs.core.ResponsedropNamespace(String prefix, String namespace, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Drop a namespace from the catalog.jakarta.ws.rs.core.ResponsedropTable(String prefix, String namespace, String table, Boolean purgeRequested, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Remove a table from the catalog Response type:Void.jakarta.ws.rs.core.ResponsedropView(String prefix, String namespace, String view, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Remove a view from the catalog Response type:Void.jakarta.ws.rs.core.ResponselistNamespaces(String prefix, String pageToken, Integer pageSize, String parent, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) List all namespaces at a certain level, optionally starting from a given parent namespace.jakarta.ws.rs.core.ResponselistTables(String prefix, String namespace, String pageToken, Integer pageSize, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Return all table identifiers under this namespace Response type:ListTablesResponse.jakarta.ws.rs.core.ResponselistViews(String prefix, String namespace, String pageToken, Integer pageSize, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Return all view identifiers under this namespace Response type:ListTablesResponse.jakarta.ws.rs.core.ResponseloadCredentials(String prefix, String namespace, String table, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Load vended credentials for a table from the catalog.jakarta.ws.rs.core.ResponseloadNamespaceMetadata(String prefix, String namespace, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Return all stored metadata properties for a given namespace Response type:GetNamespaceResponse.jakarta.ws.rs.core.ResponseloadTable(String prefix, String namespace, String table, String xIcebergAccessDelegation, String ifNoneMatch, String snapshots, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Load a table from the catalog.jakarta.ws.rs.core.ResponseloadView(String prefix, String namespace, String view, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Load a view from the catalog.jakarta.ws.rs.core.ResponsenamespaceExists(String prefix, String namespace, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Check if a namespace exists.jakarta.ws.rs.core.ResponseregisterTable(String prefix, String namespace, org.apache.iceberg.rest.requests.RegisterTableRequest registerTableRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Register a table using given metadata file location.jakarta.ws.rs.core.ResponserenameTable(String prefix, org.apache.iceberg.rest.requests.RenameTableRequest renameTableRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Rename a table from one identifier to another.jakarta.ws.rs.core.ResponserenameView(String prefix, org.apache.iceberg.rest.requests.RenameTableRequest renameTableRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Rename a view from one identifier to another.jakarta.ws.rs.core.ResponsereplaceView(String prefix, String namespace, String view, CommitViewRequest commitViewRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to a view.jakarta.ws.rs.core.ResponsereportMetrics(String prefix, String namespace, String table, org.apache.iceberg.rest.requests.ReportMetricsRequest reportMetricsRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Send a metrics report to this endpoint to be processed by the backend Response type:Void.jakarta.ws.rs.core.ResponsesendNotification(String prefix, String namespace, String table, NotificationRequest notificationRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Sends a notification to the table Response type:Void.jakarta.ws.rs.core.ResponsetableExists(String prefix, String namespace, String table, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Check if a table exists within a given namespace.jakarta.ws.rs.core.ResponseupdateProperties(String prefix, String namespace, org.apache.iceberg.rest.requests.UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Set and/or remove properties on a namespace.jakarta.ws.rs.core.ResponseupdateTable(String prefix, String namespace, String table, CommitTableRequest commitTableRequest, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to a table.jakarta.ws.rs.core.ResponseviewExists(String prefix, String namespace, String view, org.apache.polaris.core.context.RealmContext realmContext, jakarta.ws.rs.core.SecurityContext securityContext) Check if a view exists within a given namespace.
-
Constructor Details
-
IcebergRestCatalogApi
-
-
Method Details
-
commitTransaction
@POST @Path("/transactions/commit") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response commitTransaction(@PathParam("prefix") String prefix, org.apache.iceberg.rest.requests.CommitTransactionRequest commitTransactionRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to multiple tables in an atomic operation Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathcommitTransactionRequest- Required - Commit updates to multiple tables in an atomic operation A commit for a single table consists of a table identifier with requirements and updates. Requirements are assertions that will be validated before attempting to make and commit changes. For example, `assert-ref-snapshot-id` will check that a named ref's snapshot ID has a certain value. Server implementations are required to fail with a 400 status code if any unknown updates or requirements are received. Updates are changes to make to table metadata. For example, after asserting that the current main ref is at the expected snapshot, a commit may add a new child snapshot and set the ref to the new snapshot id.- Returns:
- 204 - Success, no content
-
createNamespace
@POST @Path("/namespaces") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response createNamespace(@PathParam("prefix") String prefix, org.apache.iceberg.rest.requests.CreateNamespaceRequest createNamespaceRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Create a namespace, with an optional set of properties. The server might also add properties, such as `last_modified_time` etc. Response type:CreateNamespaceResponse.- Parameters:
prefix- Required - An optional prefix in the pathcreateNamespaceRequest- Required -- Returns:
- 200 - Represents a successful call to create a namespace. Returns the namespace created, as well as any properties that were stored for the namespace, including those the server might have added. Implementations are not required to support namespace properties.
-
createTable
@POST @Path("/namespaces/{namespace}/tables") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response createTable(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, org.apache.iceberg.rest.requests.CreateTableRequest createTableRequest, @HeaderParam("X-Iceberg-Access-Delegation") String xIcebergAccessDelegation, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Create a table or start a create transaction, like atomic CTAS. If `stage-create` is false, the table is created immediately. If `stage-create` is true, the table is not created, but table metadata is initialized and returned. The service should prepare as needed for a commit to the table commit endpoint to complete the create transaction. The client uses the returned metadata to begin a transaction. To commit the transaction, the client sends all create and subsequent changes to the table commit route. Changes from the table create operation include changes like AddSchemaUpdate and SetCurrentSchemaUpdate that set the initial table state. Response type:LoadTableResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.createTableRequest- Required -xIcebergAccessDelegation- Optional signal to the server that the client supports delegated access via a comma-separated list of access mechanisms. The server may choose to supply access via any or none of the requested mechanisms. Specific properties and handling for `vended-credentials` is documented in the `LoadTableResult` schema section of this spec document. The protocol and specification for `remote-signing` is documented in the `s3-signer-open-api.yaml` OpenApi spec in the `aws` module.- Returns:
- 200 - Table metadata result after creating a table
-
createView
@POST @Path("/namespaces/{namespace}/views") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response createView(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, org.apache.iceberg.rest.requests.CreateViewRequest createViewRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Create a view in the given namespace. Response type:LoadViewResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.createViewRequest- Required -- Returns:
- 200 - View metadata result when loading a view
-
dropNamespace
@DELETE @Path("/namespaces/{namespace}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response dropNamespace(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Drop a namespace from the catalog. Namespace must be empty. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.- Returns:
- 204 - Success, no content
-
dropTable
@DELETE @Path("/namespaces/{namespace}/tables/{table}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response dropTable(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, @DefaultValue("false") @QueryParam("purgeRequested") Boolean purgeRequested, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Remove a table from the catalog Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table namepurgeRequested- Whether the user requested to purge the underlying table's data and metadata- Returns:
- 204 - Success, no content
-
dropView
@DELETE @Path("/namespaces/{namespace}/views/{view}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response dropView(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("view") String view, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Remove a view from the catalog Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.view- Required - A view name- Returns:
- 204 - Success, no content
-
listNamespaces
@GET @Path("/namespaces") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response listNamespaces(@PathParam("prefix") String prefix, @QueryParam("pageToken") String pageToken, @QueryParam("pageSize") Integer pageSize, @QueryParam("parent") String parent, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) List all namespaces at a certain level, optionally starting from a given parent namespace. If table accounting.tax.paid.info exists, using 'SELECT NAMESPACE IN accounting' would translate into `GET /namespaces?parent=accounting` and must return a namespace, [\"accounting\", \"tax\"] only. Using 'SELECT NAMESPACE IN accounting.tax' would translate into `GET /namespaces?parent=accounting%1Ftax` and must return a namespace, [\"accounting\", \"tax\", \"paid\"]. If `parent` is not provided, all top-level namespaces should be listed. Response type:ListNamespacesResponse.- Parameters:
prefix- Required - An optional prefix in the pathpageToken-pageSize- For servers that support pagination, this signals an upper bound of the number of results that a client will receive. For servers that do not support pagination, clients may receive results larger than the indicated `pageSize`.parent- An optional namespace, underneath which to list namespaces. If not provided or empty, all top-level namespaces should be listed. If parent is a multipart namespace, the parts must be separated by the unit separator (`0x1F`) byte.- Returns:
- 200 - A list of namespaces
-
listTables
@GET @Path("/namespaces/{namespace}/tables") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response listTables(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @QueryParam("pageToken") String pageToken, @QueryParam("pageSize") Integer pageSize, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Return all table identifiers under this namespace Response type:ListTablesResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.pageToken-pageSize- For servers that support pagination, this signals an upper bound of the number of results that a client will receive. For servers that do not support pagination, clients may receive results larger than the indicated `pageSize`.- Returns:
- 200 - A list of table identifiers
-
listViews
@GET @Path("/namespaces/{namespace}/views") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response listViews(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @QueryParam("pageToken") String pageToken, @QueryParam("pageSize") Integer pageSize, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Return all view identifiers under this namespace Response type:ListTablesResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.pageToken-pageSize- For servers that support pagination, this signals an upper bound of the number of results that a client will receive. For servers that do not support pagination, clients may receive results larger than the indicated `pageSize`.- Returns:
- 200 - A list of table identifiers
-
loadCredentials
@GET @Path("/namespaces/{namespace}/tables/{table}/credentials") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response loadCredentials(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Load vended credentials for a table from the catalog. Response type:LoadCredentialsResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table name- Returns:
- 200 - Table credentials result when loading credentials for a table
-
loadNamespaceMetadata
@GET @Path("/namespaces/{namespace}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response loadNamespaceMetadata(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Return all stored metadata properties for a given namespace Response type:GetNamespaceResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.- Returns:
- 200 - Returns a namespace, as well as any properties stored on the namespace if namespace properties are supported by the server.
-
loadTable
@GET @Path("/namespaces/{namespace}/tables/{table}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response loadTable(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, @HeaderParam("X-Iceberg-Access-Delegation") String xIcebergAccessDelegation, @HeaderParam("If-None-Match") String ifNoneMatch, @QueryParam("snapshots") String snapshots, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Load a table from the catalog. The response contains both configuration and table metadata. The configuration, if non-empty is used as additional configuration for the table that overrides catalog configuration. For example, this configuration may change the FileIO implementation to be used for the table. The response also contains the table's full metadata, matching the table metadata JSON file. The catalog configuration may contain credentials that should be used for subsequent requests for the table. The configuration key \"token\" is used to pass an access token to be used as a bearer token for table requests. Otherwise, a token may be passed using a RFC 8693 token type as a configuration key. For example, \"urn:ietf:params:oauth:token-type:jwt=<JWT-token>\". Response type:LoadTableResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table namexIcebergAccessDelegation- Optional signal to the server that the client supports delegated access via a comma-separated list of access mechanisms. The server may choose to supply access via any or none of the requested mechanisms. Specific properties and handling for `vended-credentials` is documented in the `LoadTableResult` schema section of this spec document. The protocol and specification for `remote-signing` is documented in the `s3-signer-open-api.yaml` OpenApi spec in the `aws` module.ifNoneMatch- An optional header that allows the server to return 304 (Not Modified) if the metadata is current. The content is the value of the ETag received in a CreateTableResponse or LoadTableResponse.snapshots- The snapshots to return in the body of the metadata. Setting the value to `all` would return the full set of snapshots currently valid for the table. Setting the value to `refs` would load all snapshots referenced by branches or tags. Default if no param is provided is `all`.- Returns:
- 200 - Table metadata result when loading a table
-
loadView
@GET @Path("/namespaces/{namespace}/views/{view}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response loadView(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("view") String view, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Load a view from the catalog. The response contains both configuration and view metadata. The configuration, if non-empty is used as additional configuration for the view that overrides catalog configuration. The response also contains the view's full metadata, matching the view metadata JSON file. The catalog configuration may contain credentials that should be used for subsequent requests for the view. The configuration key \"token\" is used to pass an access token to be used as a bearer token for view requests. Otherwise, a token may be passed using a RFC 8693 token type as a configuration key. For example, \"urn:ietf:params:oauth:token-type:jwt=<JWT-token>\". Response type:LoadViewResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.view- Required - A view name- Returns:
- 200 - View metadata result when loading a view
-
namespaceExists
@HEAD @Path("/namespaces/{namespace}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response namespaceExists(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Check if a namespace exists. The response does not contain a body. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.- Returns:
- 204 - Success, no content
-
registerTable
@POST @Path("/namespaces/{namespace}/register") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response registerTable(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, org.apache.iceberg.rest.requests.RegisterTableRequest registerTableRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Register a table using given metadata file location. Response type:LoadTableResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.registerTableRequest- Required -- Returns:
- 200 - Table metadata result when loading a table
-
renameTable
@POST @Path("/tables/rename") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response renameTable(@PathParam("prefix") String prefix, org.apache.iceberg.rest.requests.RenameTableRequest renameTableRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Rename a table from one identifier to another. It's valid to move a table across namespaces, but the server implementation is not required to support it. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathrenameTableRequest- Required - Current table identifier to rename and new table identifier to rename to- Returns:
- 204 - Success, no content
-
renameView
@POST @Path("/views/rename") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response renameView(@PathParam("prefix") String prefix, org.apache.iceberg.rest.requests.RenameTableRequest renameTableRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Rename a view from one identifier to another. It's valid to move a view across namespaces, but the server implementation is not required to support it. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathrenameTableRequest- Required - Current view identifier to rename and new view identifier to rename to- Returns:
- 204 - Success, no content
-
replaceView
@POST @Path("/namespaces/{namespace}/views/{view}") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response replaceView(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("view") String view, CommitViewRequest commitViewRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to a view. Response type:LoadViewResult.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.view- Required - A view namecommitViewRequest- Required -- Returns:
- 200 - View metadata result when loading a view
-
reportMetrics
@POST @Path("/namespaces/{namespace}/tables/{table}/metrics") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response reportMetrics(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, org.apache.iceberg.rest.requests.ReportMetricsRequest reportMetricsRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Send a metrics report to this endpoint to be processed by the backend Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table namereportMetricsRequest- Required - The request containing the metrics report to be sent- Returns:
- 204 - Success, no content
-
sendNotification
@POST @Path("/namespaces/{namespace}/tables/{table}/notifications") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response sendNotification(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, NotificationRequest notificationRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Sends a notification to the table Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table namenotificationRequest- Required - The request containing the notification to be sent. For each table, Polaris will reject any notification where the timestamp in the request body is older than or equal to the most recent time Polaris has already processed for the table. The responsibility of ensuring the correct order of timestamps for a sequence of notifications lies with the caller of the API. This includes managing potential clock skew or inconsistencies when notifications are sent from multiple sources. A VALIDATE request behaves like a dry-run of a CREATE or UPDATE request up to but not including loading the contents of a metadata file; this includes validations of permissions, the specified metadata path being within ALLOWED_LOCATIONS, having an EXTERNAL catalog, etc. The intended use case for a VALIDATE notification is to allow a remote catalog to pre-validate the general settings of a receiving catalog against an intended new table location before possibly creating a table intended for sending notifications in the remote catalog at all. For a VALIDATE request, the specified metadata-location can either be a prospective full metadata file path, or a relevant parent directory of the intended table to validate against ALLOWED_LOCATIONS.- Returns:
- 204 - Success, no content
-
tableExists
@HEAD @Path("/namespaces/{namespace}/tables/{table}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response tableExists(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Check if a table exists within a given namespace. The response does not contain a body. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table name- Returns:
- 204 - Success, no content
-
updateProperties
@POST @Path("/namespaces/{namespace}/properties") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response updateProperties(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, org.apache.iceberg.rest.requests.UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Set and/or remove properties on a namespace. The request body specifies a list of properties to remove and a map of key value pairs to update. Properties that are not in the request are not modified or removed by this call. Server implementations are not required to support namespace properties. Response type:UpdateNamespacePropertiesResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.updateNamespacePropertiesRequest- Required -- Returns:
- 200 - JSON data response for a synchronous update properties request.
-
updateTable
@POST @Path("/namespaces/{namespace}/tables/{table}") @Consumes("application/json") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response updateTable(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("table") String table, CommitTableRequest commitTableRequest, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Commit updates to a table. Commits have two parts, requirements and updates. Requirements are assertions that will be validated before attempting to make and commit changes. For example, `assert-ref-snapshot-id` will check that a named ref's snapshot ID has a certain value. Server implementations are required to fail with a 400 status code if any unknown updates or requirements are received. Updates are changes to make to table metadata. For example, after asserting that the current main ref is at the expected snapshot, a commit may add a new child snapshot and set the ref to the new snapshot id. Create table transactions that are started by createTable with `stage-create` set to true are committed using this route. Transactions should include all changes to the table, including table initialization, like AddSchemaUpdate and SetCurrentSchemaUpdate. The `assert-create` requirement is used to ensure that the table was not created concurrently. Response type:CommitTableResponse.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.table- Required - A table namecommitTableRequest- Required -- Returns:
- 200 - Response used when a table is successfully updated. The table metadata JSON is returned in the metadata field. The corresponding file location of table metadata must be returned in the metadata-location field. Clients can check whether metadata has changed by comparing metadata locations.
-
viewExists
@HEAD @Path("/namespaces/{namespace}/views/{view}") @Produces("application/json") @RolesAllowed("**") @Timeout public jakarta.ws.rs.core.Response viewExists(@PathParam("prefix") String prefix, @PathParam("namespace") String namespace, @PathParam("view") String view, @Context org.apache.polaris.core.context.RealmContext realmContext, @Context jakarta.ws.rs.core.SecurityContext securityContext) Check if a view exists within a given namespace. This request does not return a response body. Response type:Void.- Parameters:
prefix- Required - An optional prefix in the pathnamespace- Required - A namespace identifier as a single string. Multipart namespace parts should be separated by the unit separator (`0x1F`) byte.view- Required - A view name- Returns:
- 204 - Success, no content
-