blob: c1862ad9d6cbe7854bcb7931790530f376ffd5fb [file]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include "paimon/visibility.h"
namespace paimon {
/// Catalog-level configuration option keys; table-level keys live in `Options`.
struct PAIMON_EXPORT CatalogOptions {
/// "metastore" - Metastore of the paimon catalog.
/// Supported values are "filesystem" (default) and "rest".
static const char METASTORE[];
/// "uri" - Server url of the REST catalog. Only used when METASTORE is "rest".
static const char URI[];
/// "token" - Token of the "bear" token provider of the REST catalog.
static const char TOKEN[];
/// "token.provider" - Authentication provider of the REST catalog. Supported values are
/// "bear" (the protocol's historical spelling of "bearer") and "dlf".
static const char TOKEN_PROVIDER[];
/// "dlf.region" - Region used by DLF request signing. Inferred from URI when absent.
static const char DLF_REGION[];
/// "dlf.token-path" - Path of a JSON file containing refreshable DLF credentials.
static const char DLF_TOKEN_PATH[];
/// "dlf.access-key-id" - DLF access key id.
static const char DLF_ACCESS_KEY_ID[];
/// "dlf.access-key-secret" - DLF access key secret.
static const char DLF_ACCESS_KEY_SECRET[];
/// "dlf.security-token" - Optional STS security token used with a DLF access key.
static const char DLF_SECURITY_TOKEN[];
/// "dlf.token-loader" - Refreshable DLF token loader ("ecs" or "local_file").
static const char DLF_TOKEN_LOADER[];
/// "dlf.token-ecs-metadata-url" - ECS RAM role metadata endpoint.
static const char DLF_TOKEN_ECS_METADATA_URL[];
/// "dlf.token-ecs-role-name" - Optional ECS RAM role name.
static const char DLF_TOKEN_ECS_ROLE_NAME[];
/// "dlf.signing-algorithm" - DLF signer ("default", "openapi" or "openapi-v4").
static const char DLF_SIGNING_ALGORITHM[];
/// "dlf.oss-endpoint" - OSS endpoint that overrides the "fs.oss.endpoint" of a data
/// token issued by the REST catalog.
static const char DLF_OSS_ENDPOINT[];
/// "data-token.enabled" - Whether table data is accessed with the temporary
/// credentials issued by the REST catalog instead of the credentials configured in
/// the catalog options. Defaults to false.
static const char DATA_TOKEN_ENABLED[];
/// "table-default." - Prefix of the catalog options that provide table option
/// defaults: "table-default.<key>=<value>" applies "<key>=<value>" to a created
/// table when the caller left "<key>" unset.
static const char TABLE_DEFAULT_OPTION_PREFIX[];
};
} // namespace paimon