This document describes the schema for the librarian.yaml.
| Field | Type | Description |
|---|---|---|
language |
string | Is the language for this workspace (go, python, rust). |
version |
string | Is the librarian tool version to use. |
repo |
string | Is the repository name, such as "googleapis/google-cloud-python". It is used for: - Providing to the Java GAPIC generator for observability features. - Generating the .repo-metadata.json. |
sources |
Sources (optional) | References external source repositories. |
tools |
Tools (optional) | Defines required tools. |
default |
Default (optional) | Contains default settings for all libraries. They apply to all libraries unless overridden. |
libraries |
list of Library (optional) | Contains configuration overrides for libraries that need special handling, and differ from default settings. |
| Field | Type | Description |
|---|---|---|
conformance |
Source (optional) | Is the path to the conformance-tests repository, used as include directory for protoc. |
discovery |
Source (optional) | Is the discovery-artifact-manager repository configuration. |
googleapis |
Source (optional) | Is the googleapis repository configuration. |
protobuf |
Source (optional) | Is the path to the protobuf repository, used as include directory for protoc. |
showcase |
Source (optional) | Is the showcase repository configuration. |
| Field | Type | Description |
|---|---|---|
commit |
string | Is the git commit hash or tag to use. |
dir |
string | Is a local directory path to use instead of fetching. If set, Commit and SHA256 are ignored. |
sha256 |
string | Is the expected hash of the tarball for this commit. |
subpath |
string | Is a directory inside the fetched archive that should be treated as the root for operations. |
| Field | Type | Description |
|---|---|---|
cargo |
list of CargoTool (optional) | Defines tools to install via cargo. |
composer |
list of ComposerTool (optional) | Defines tools to install via Composer. |
go |
list of GoTool (optional) | Defines tools to install via go. |
gem |
list of GemTool (optional) | Defines tools to install via gem. |
maven |
list of MavenTool (optional) | Defines tools to install via Maven. |
pip |
list of PipTool (optional) | Defines tools to install via pip. |
pnpm |
list of PNPMTool (optional) | Defines tools to install via pnpm. |
protoc |
Protoc (optional) | Defines the protoc installation. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the cargo package name. |
version |
string | Is the version to install. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the composer package name. |
version |
string | Is the version to install. |
repo |
string | Is the GitHub repository to fetch the tool from (e.g. github.com/googleapis/gapic-generator-php). |
sha256 |
string | Is the SHA256 checksum of the package. |
local_path |
string | Is the path to a local composer project. When present, Version, Repo, and SHA256 are ignored. |
entrypoint |
string | Is the path to the main script to execute. If set, an executable wrapper is generated for this tool. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the gem name. |
version |
string | Is the version to install. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the go module name. |
version |
string | Is the version to install. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the Maven tool name. It is used as the filename for the generated executable wrapper script. |
version |
string | Is the version to install. |
group_id |
string | Is the Maven artifact group ID. |
artifact_id |
string | Is the Maven artifact ID. |
classifier |
string | Is the classifier of the Maven artifact. |
packaging |
string | Is the Maven packaging. Acceptable values are lowercase "jar" and "exe". If the packaging is "exe", the wrapper script executes it directly. Otherwise, it executes the tool using "java -jar". |
local_path |
string | Is the path to a local Maven project directory containing a pom.xml file. When present, version, group_id, artifact_id are ignored. |
main_class |
string | Is the fully qualified main class name to execute (used with -cp). |
| Field | Type | Description |
|---|---|---|
name |
string | Is the pip package name. |
version |
string | Is the version to install. |
package |
string | Is the pip install specifier (e.g., "pkg@git+https://..."). |
local_path |
string | Is the path to a local Python package to install. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the pnpm package name. |
version |
string | Is the version to install. |
package |
string | Is the URL or path of the package to install. |
sha256 |
string | Is the SHA256 checksum of the package. |
checksum |
string | Is a deprecated alias for SHA256. |
build |
list of string | Defines the commands to run to build the tool after installation. |
src_dir |
string | Is the path to the directory inside the fetched archive that should be treated as the root for operations. |
| Field | Type | Description |
|---|---|---|
version |
string | Is the version to install. |
sha256 |
string | Is the SHA256 checksum of the tarball. |
| Field | Type | Description |
|---|---|---|
keep |
list of string | Lists files and directories to preserve during regeneration. These represent critical custom handwritten files (e.g., package.json, custom configs, and handwritten tests) and semi-handmade documentation files (README.md, CHANGELOG.md, .readme-partials.yaml) that are not natively generated from proto schemas but are strictly required by the post-processor's markdown generation and release tracking passes. |
output |
string | Is the directory where code is written. For example, for Rust this is src/generated. |
tag_format |
string | Is the template for git tags, such as "{name}/v{version}". |
dart |
DartPackage (optional) | Contains Dart-specific default configuration. |
dotnet |
DotnetPackage (optional) | Contains .NET-specific default configuration. |
go |
GoDefault (optional) | Contains Go-specific default configuration. |
java |
JavaDefault (optional) | Contains Java-specific default configuration. |
nodejs |
NodejsPackage (optional) | Contains Node.js-specific default configuration. |
php |
PHPDefault (optional) | Contains PHP-specific default configuration. |
rust |
RustDefault (optional) | Contains Rust-specific default configuration. |
python |
PythonDefault (optional) | Contains Python-specific default configuration. |
swift |
SwiftDefault (optional) | Contains Swift-specific default configuration. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the library name, such as "secretmanager" or "storage". |
version |
string | Is the library version. |
preview |
Library (optional) | Signifies that this API has a preview variant, and it contains overrides specific to the preview API variant. This is merged with the containing [Library], preferring those [Library.Preview] values that are set over their counterpart in the containing configuration. The most common overrides are [Library.Version] and [Library.APIs], with the former containing a pre-release version based on the containing version of the stable client, and the latter being a subset of APIs, typically omitting alpha and beta paths. The [Library.Output] may be a different location and derived on a per-language basis, but will not be serialized in the configuration. Important: The boolean fields [Library.SkipRelease] and [Library.SkipGenerate] set in the containing config will always be applied to the Preview library as well, because previews are related to the stable library and should be managed identically. |
apis |
list of API (optional) | API specifies which googleapis API to generate from (for generated libraries). |
copyright_year |
string | Is the copyright year for the library. |
title_override |
string | Overrides the title used in README generation. |
keep |
list of string | Lists files and directories to preserve during regeneration. These represent critical custom handwritten files (e.g., package.json, custom configs, and handwritten tests) and semi-handmade documentation files (README.md, CHANGELOG.md, .readme-partials.yaml) that are not natively generated from proto schemas but are strictly required by the post-processor's markdown generation and release tracking passes. |
output |
string | Is the directory where code is written. This overrides Default.Output. |
postprocess |
Postprocess (optional) | Contains post-processing operations executed after code generation. |
roots |
list of string | Specifies the source roots to use for generation. Defaults to googleapis. |
skip_generate |
bool | Disables code generation for this library. |
skip_release |
bool | Disables release for this library. |
specification_format |
string | Specifies the API specification format. Valid values are "protobuf" (default) or "discovery". |
dart |
DartPackage (optional) | Contains Dart-specific library configuration. |
dotnet |
DotnetPackage (optional) | Contains .NET-specific library configuration. |
go |
GoModule (optional) | Contains Go-specific library configuration. |
java |
JavaModule (optional) | Contains Java-specific library configuration. |
nodejs |
NodejsPackage (optional) | Contains Node.js-specific library configuration. |
php |
PHPPackage (optional) | Contains PHP-specific library configuration. |
python |
PythonPackage (optional) | Contains Python-specific library configuration. |
ruby |
RubyPackage (optional) | Contains Ruby-specific library configuration. |
rust |
RustCrate (optional) | Contains Rust-specific library configuration. |
swift |
SwiftPackage (optional) | Contains Swift-specific library configuration. |
| Field | Type | Description |
|---|---|---|
replace |
list of ReplaceConfig | Contains literal string replacement rules. |
replace_regex |
list of ReplaceRegexConfig | Contains regular expression replacement rules. |
copy_file |
list of CopyConfig | Contains file copy rules. |
remove_file |
list of string | Contains glob patterns of files to remove. |
method_operations |
list of MethodOperation | Contains method-level operations (delete, duplicate, deprecate). |
| Field | Type | Description |
|---|---|---|
path |
string | Specifies the relative file path to modify. |
action |
string | Specifies the operation (delete, duplicate, or deprecate). |
func_name |
string | Specifies the target method name. |
new_name |
string | Specifies the new method name for duplicate operations. |
deprecation_message |
string | Specifies the deprecation message for deprecate operations. |
| Field | Type | Description |
|---|---|---|
path |
string | Specifies the relative file path or glob pattern to modify. |
original |
string | Specifies the exact string to find. |
replacement |
string | Specifies the replacement string. |
| Field | Type | Description |
|---|---|---|
path |
string | Specifies the relative file path or glob pattern to modify. |
pattern |
string | Specifies the regular expression pattern to find. |
replacement |
string | Specifies the replacement string. |
| Field | Type | Description |
|---|---|---|
src |
string | Specifies the source file path relative to the staging directory. |
dst |
string | Specifies the destination file path relative to the library root. |
| Field | Type | Description |
|---|---|---|
path |
string | Specifies which googleapis Path to generate from (for generated libraries). |
go |
GoAPI (optional) | Contains Go-specific API configuration. |
java |
JavaAPI (optional) | Contains Java-specific API configuration. |
nodejs |
NodejsAPI (optional) | Contains Node.js-specific API configuration. |
php |
PHPAPI (optional) | Contains PHP-specific API configuration. |
ruby |
RubyAPI (optional) | Contains Ruby-specific API configuration. |
| Field | Type | Description |
|---|---|---|
toolchain |
string | Is the desired Go toolchain version (e.g., "go1.25.0"). |
default_enabled_generator_features |
list of string | Lists the generator features enabled by default for all APIs. These default features are appended AFTER any features explicitly declared in individual APIs. |
| Field | Type | Description |
|---|---|---|
path |
string | Is the path to the proto file, relative to the googleapis root. |
generate_proto_classes |
bool | Indicates whether to include this proto in standard Protocol Buffer Java classes generation. |
copy_to_output |
bool | Indicates whether to copy this proto to the output directory. |
| Field | Type | Description |
|---|---|---|
operation_id |
string | Is the ID of the LRO operation type (e.g., ".google.cloud.compute.v1.Operation"). |
pollers |
list of CommonPoller | Is a list of LRO polling configurations. |
| Field | Type | Description |
|---|---|---|
prefix |
string | Is an acceptable prefix for the URL path (e.g., "compute/v1/projects/{project}/zones/{zone}"). |
method_id |
string | Is the corresponding method ID (e.g., ".google.cloud.compute.v1.zoneOperations.get"). |
| Field | Type | Description |
|---|---|---|
api_keys_environment_variables |
string | Is a comma-separated list of environment variable names that can contain API keys (e.g., "GOOGLE_API_KEY,GEMINI_API_KEY"). |
dependencies |
string | Is a comma-separated list of dependencies. |
dev_dependencies |
string | Is a comma-separated list of development dependencies. |
extra_imports |
string | Is additional imports to include in the generated library. |
include_list |
list of string | Is a list of proto files to include (e.g., "date.proto", "expr.proto"). |
issue_tracker_url |
string | Is the URL for the issue tracker. |
library_path_override |
string | Overrides the library path. |
name_override |
string | Overrides the package name |
packages |
map[string]string | Maps Dart package names to version constraints. Keys are in the format "package:googleapis_auth" and values are version strings like "^2.0.0". These are merged with default settings, with library settings taking precedence. |
part_file |
string | Is the path to a part file to include in the generated library. |
prefixes |
map[string]string | Maps protobuf package names to Dart import prefixes. Keys are in the format "prefix:google.protobuf" and values are the prefix names. These are merged with default settings, with library settings taking precedence. |
protos |
map[string]string | Maps protobuf package names to Dart import paths. Keys are in the format "proto:google.api" and values are import paths like "package:google_cloud_api/api.dart". These are merged with default settings, with library settings taking precedence. |
readme_after_title_text |
string | Is text to insert in the README after the title. |
readme_quickstart_text |
string | Is text to use for the quickstart section in the README. |
repository_url |
string | Is the URL to the repository for this package. |
supports_sse |
bool | Indicates whether the target API supports Server-Sent Events (SSE) for methods where ServerSideStreaming is true. |
title_override |
string | Overrides the API title. |
version |
string | Is the version of the dart package. |
| Field | Type | Description |
|---|---|---|
snippets |
DotnetCsprojSnippets (optional) | Contains XML fragments for .csproj files. |
integration_tests |
DotnetCsprojSnippets (optional) | Contains configuration for integration test projects. |
| Field | Type | Description |
|---|---|---|
embedded_resources |
list of string | Is a list of glob patterns for embedded resources. |
| Field | Type | Description |
|---|---|---|
additional_service_descriptors |
list of string | Is a list of extra service descriptors to include. |
csproj |
DotnetCsproj (optional) | Contains configuration for .csproj file generation and overrides. |
dependencies |
map[string]string | Maps NuGet package IDs to version strings. |
generator |
string | Overrides the default generator (e.g., "proto"). |
package_group |
list of string | Lists packages that must be released together. |
postgeneration |
list of DotnetPostgeneration (optional) | Contains post-generation shell commands or extra protos. |
pregeneration |
list of DotnetPregeneration (optional) | Contains declarative proto mutations. |
| Field | Type | Description |
|---|---|---|
run |
string | Is a shell command to execute. |
extra_proto |
string | Is an extra proto file to compile. |
| Field | Type | Description |
|---|---|---|
rename_message |
DotnetRenameMessage (optional) | Renames a message. |
remove_field |
DotnetRemoveField (optional) | Removes a field from a message. |
rename_rpc |
DotnetRenameRPC (optional) | Renames an RPC. |
| Field | Type | Description |
|---|---|---|
message |
string | |
field |
string |
| Field | Type | Description |
|---|---|---|
from |
string | |
to |
string |
| Field | Type | Description |
|---|---|---|
from |
string | |
to |
string | |
wire_name |
string |
| Field | Type | Description |
|---|---|---|
client_package |
string | Is the package name of the generated client. |
diregapic |
bool | Indicates whether generation uses DIREGAPIC (Discovery REST GAPICs). This is typically false. Used for the GCE (compute) client. |
disabled_generator_features |
list of string | Provides a mechanism for disabling generator features at the API level. These features will be disabled if both specified in EnabledGeneratorFeatures and DisabledGeneratorFeatures. |
enabled_generator_features |
list of string | Provides a mechanism for enabling generator features at the API level. |
import_path |
string | Is the Go import path for the API. |
nested_protos |
list of string | Is a list of nested proto files. |
no_metadata |
bool | Indicates whether to skip generating gapic_metadata.json. This is typically false. |
no_snippets |
bool | Indicates whether to skip generating snippets. This is typically false. |
proto_only |
bool | Determines whether to generate a Proto-only client. A proto-only client does not define a service in the proto files. |
proto_package |
string | Is the proto package name. |
| Field | Type | Description |
|---|---|---|
delete_generation_output_paths |
list of string | Is a list of paths to delete before generation. |
module_path_version |
string | Is the version of the Go module path. |
nested_module |
string | Is the name of a nested module directory. |
| Field | Type | Description |
|---|---|---|
monolithic |
bool | Indicates whether to merge all modules (proto, grpc, gapic) into a single directory. This is currently only used for the grafeas library to maintain its legacy code structure. |
additional_protos |
list of AdditionalProto (optional) | Is a list of additional proto files to include in generation. By default, these files are used purely as compilation dependencies for the GAPIC generator. Note: google/cloud/common_resources.proto is included by default unless OmitCommonResources is set to true. |
omit_common_resources |
bool | Indicates whether to omit the default inclusion of google/cloud/common_resources.proto. |
excluded_protos |
list of string | Is a list of proto files to exclude from generation. It expects the full path starting from the root of the googleapis directory (e.g., "google/cloud/aiplatform/v1/schema/io_format.proto"). |
skip_proto_class_generation |
list of string | Is a list of proto files to exclude from generating proto module, but included in generating gRPC or GAPIC modules and packaged proto files. It expects the full path starting from the root of the googleapis directory (e.g., "google/cloud/aiplatform/v1beta1/schema/geometry.proto"). TODO(googleapis#5661): remove after migration. |
gapic_artifact_id_override |
string | Overrides the artifact ID for the GAPIC module. It determines the module's directory name and is used to derive proto and gRPC artifact IDs if they are not explicitly overridden. |
grpc_artifact_id_override |
string | Overrides the artifact ID for the gRPC module. The artifact ID is also used as the name for the module's directory. |
proto_artifact_id_override |
string | Overrides the artifact ID for the proto module. The artifact ID is also used as the name for the module's directory. |
generate_gapic |
bool (optional) | Indicates whether to generate the GAPIC client surface. Defaults to true. |
generate_proto |
bool (optional) | Indicates whether to generate proto module. Defaults to true. If set to false, should also set generate_resource_names to false. |
generate_grpc |
bool (optional) | Indicates whether to generate grpc module. Defaults to true. TODO(googleapis#6066): remove after this is resolved |
generate_resource_names |
bool (optional) | Indicates whether to extract resource names from the GAPIC phase. Defaults to true. |
copy_files |
list of JavaFileCopy (optional) | Is a list of file copies to perform after generation. It applies to files in the GAPIC module. |
samples |
bool (optional) | Determines whether to generate samples for the API, default is true when omitted. |
| Field | Type | Description |
|---|---|---|
custom_group_ids |
map[string]string | Maps API path prefixes (e.g., "google/shopping") to their corresponding Maven Group IDs (e.g., "com.google.shopping"). Use this to override the default "com.google.cloud" Group ID for specific API paths (e.g., maps, ads, shopping). |
libraries_bom_version |
string | Is the version of the libraries-bom to use for Java. This must be set in the default configuration. |
| Field | Type | Description |
|---|---|---|
source |
string | Is the source path relative to the generated GAPIC module directory (e.g., "src/main/java/com/google/storage/v2/gapic_metadata.json"). These paths are used before restructuring the output into Maven modules. |
destination |
string | Is the destination path relative to the generated GAPIC module directory. These paths are used before restructuring the output into Maven modules. |
| Field | Type | Description |
|---|---|---|
alternate_headers |
string | Is the path to a file containing alternate license header text. |
api_id_override |
string | Is the ID of the API (e.g., "pubsub.googleapis.com"), allows the "api_id" field in .repo-metadata.json to be overridden. Defaults to "{library.api_shortname}.googleapis.com". |
api_reference |
string | Is the URL for the API reference documentation. |
api_description_override |
string | Allows the "api_description" field in .repo-metadata.json to be overridden. |
api_shortname_override |
string | Allows the "api_shortname" field in .repo-metadata.json to be overridden. |
artifact_id |
string | Is the Maven artifact ID. |
client_documentation_override |
string | Allows the "client_documentation" field in .repo-metadata.json to be overridden. |
codeowner_team |
string | Is the GitHub team that owns the code. |
excluded_poms |
list of string | Is a list of artifact ids, whose module should be excluded when updating pom.xml and are omitted when counting new modules. |
extra_versioned_modules |
string | Is a list of extra versioned modules. |
group_id |
string | Is the Maven group ID, defaults to "com.google.cloud". |
issue_tracker_override |
string | Allows the "issue_tracker" field in .repo-metadata.json to be overridden. |
released_version |
string | Is the last released version of the library. If omitted, it will be derived from the library version. Note: It assumes a minor bump from the previous '.0' version (e.g., '1.2.0-SNAPSHOT' -> '1.1.0') and does not support deriving previous patch releases (e.g., '1.1.1'). |
library_type_override |
string | Allows the "library_type" field in .repo-metadata.json to be overridden. |
min_java_version |
int | Is the minimum Java version required. |
name_pretty_override |
string | Allows the "name_pretty" field in .repo-metadata.json to be overridden. |
product_documentation_override |
string | Allows the "product_documentation" field in .repo-metadata.json to be overridden. |
recommended_package |
string | Is the recommended package name. |
billing_not_required |
bool | Indicates whether the API does NOT require billing. This is typically false. |
rest_documentation |
string | Is the URL for the REST documentation. |
rpc_documentation |
string | Is the URL for the RPC documentation. |
transport_override |
string | Allows the "transport" field in .repo-metadata.json to be overridden. TODO(googleapis#5561): investigate and determine if can remove |
skip_pom_updates |
bool | Indicates whether to skip updating pom.xml files. TODO(googleapis#5277): re-evaluate together with ExcludedPOMs |
skip_api_id |
bool | Indicates whether to skip adding api_id to .repo-metadata.json. |
| Field | Type | Description |
|---|---|---|
additional_protos |
list of string | Is a list of additional proto files to include in generation. |
diregapic |
bool | Indicates whether generation uses DIREGAPIC (Discovery REST GAPICs). This is typically false. Used for the GCE (compute) client. |
mixins |
string | Controls mixin behavior for this API (e.g., "none" to disable). When set, this overrides the package-level mixins setting. |
omit_common_resources |
bool | Indicates whether to omit the default inclusion of google/cloud/common_resources.proto. |
path |
string | Is the source path. |
| Field | Type | Description |
|---|---|---|
additional_protos |
list of string | Is a list of additional proto files to include in generation. This can be overridden at the API level. |
bundle_config |
string | Is the path to a GAPIC bundle config file. |
default_version |
string | Is the default version of the API to use. When omitted, the version in the first API path is used. |
dependencies |
map[string]string | Maps npm package names to version constraints. |
esm |
bool | Indicates that generation should produce ES Modules (ESM) outputs. |
extra_protoc_parameters |
list of string | Is a list of extra parameters to pass to protoc. |
handwritten_layer |
bool | Indicates the library has a handwritten layer on top of the generated code. |
main_service |
string | Is the name of the main service for libraries with a handwritten layer. |
nodejs_apis |
list of NodejsAPI (optional) | Is a list of Node.js-specific API configurations. |
package_name |
string | Is the npm package name (e.g., "@google-cloud/access-approval"). |
client_documentation_override |
string | Allows the client_documentation field in .repo-metadata.json to be overridden from the default that's inferred. |
metadata_name_override |
string | Allows the name field in .repo-metadata.json to be overridden. |
name_pretty_override |
string | Allows the name_pretty field in .repo-metadata.json to be overridden. |
| Field | Type | Description |
|---|---|---|
additional_protos |
list of string | Is a list of additional proto files to include in generation. |
common_resources |
bool (optional) | Indicates whether to include common resources in generation. Must be configured either globally or per-API. |
proto_package |
string | Overrides the derived proto package for the API. |
staging_subdir |
string | Is the subdirectory in staging where the generated files should be placed. |
| Field | Type | Description |
|---|---|---|
common_resources |
bool (optional) | Indicates whether to include common resources in generation. Must be configured either globally or per-API. |
| Field | Type | Description |
|---|---|---|
component_name |
string | Overrides the derived component name used for output/staging. |
| Field | Type | Description |
|---|---|---|
allowed_namespaces |
list of string | Contains the list of allowed GAPIC namespaces. If empty, all namespaces are allowed. |
common_gapic_paths |
list of string | Contains paths which are generated for any package containing a GAPIC API. These are relative to the package's output directory, and the string "{neutral-source}" is replaced with the path to the version-neutral source code (e.g. "google/cloud/run"). If a library defines its own common_gapic_paths, they will be appended to the defaults. |
library_type |
string | Is the type to emit in .repo-metadata.json. |
| Field | Type | Description |
|---|---|---|
| (embedded) | PythonDefault | |
opt_args_by_api |
map[string][]string | Contains additional options passed to the generator. In each entry, the key is the API path and the value is the list of options to pass when generating that API. Example: {"google/cloud/secrets/v1beta": ["python-gapic-name=secretmanager"]} |
proto_only_apis |
list of string | Contains the list of API paths which are proto-only, so should use regular protoc Python generation instead of GAPIC. |
client_documentation_override |
string | Allows the client_documentation field in .repo-metadata.json to be overridden from the default that's inferred. TODO(googleapis#4175): reduce uses of this field to only cases where it's really needed. |
issue_tracker_override |
string | Allows the issue_tracker field in .repo-metadata.json to be overridden, to reduce diffs while migrating. TODO(googleapis#4175): remove this field. |
metadata_name_override |
string | Allows the name in .repo-metadata.json (which is also used as part of the client documentation URI) to be overridden. By default, it's the package name, but older packages use the API short name instead. |
default_version |
string | Is the default version of the API to use. When omitted, the version in the first API path is used. |
| Field | Type | Description |
|---|---|---|
additional_protos |
list of string | Is a list of additional proto files to include in generation. |
delete_generation_output_paths |
list of string | Is a list of directory paths relative to the output directory to delete after generation. |
ruby_cloud_opts |
RubyCloudOpts (optional) | Contains options passed to the Ruby Cloud GAPIC generator as the --ruby_cloud_opt option. |
| Field | Type | Description |
|---|---|---|
ruby-cloud-env-prefix |
string | Is the environment variable prefix. |
ruby-cloud-extra-dependencies |
string | Contains extra runtime dependencies to the .gemspec file. |
ruby-cloud-factory-method-suffix |
string | Appends a suffix to client constructor helper methods. |
ruby-cloud-gem-namespace |
string | Is the root Ruby namespace. |
ruby-cloud-migration-version |
string | Specifies the gem version milestone at which the library was migrated to GAPIC, generating a migration section in the README file. |
ruby-cloud-namespace-override |
string | Overrides token / segment replacements applied across all generated module & class paths. |
ruby-cloud-path-override |
string | Overrides file/directory paths under lib/ and proto_docs/. |
ruby-cloud-service-override |
string | Overrides generated service class names when proto package service names don't match desired Ruby conventions. |
ruby-cloud-wrapper-gem-override |
string | Overrides a versioned client gem to a custom non-standard main wrapper gem name. |
ruby-cloud-yard-strict |
string | Enables or disables strict YARD syntax checks during generation. |
| Field | Type | Description |
|---|---|---|
wrapper_of |
list of string | Contains the API versions (e.g. "v1:0.29") of versioned libraries that this library wraps. |
| Field | Type | Description |
|---|---|---|
| (embedded) | RustDefault | |
modules |
list of RustModule (optional) | Specifies generation targets for veneer crates. Each module defines a source proto path, output location, and template to use. |
per_service_features |
bool | Enables per-service feature flags. |
module_path |
string | Is the module path for the crate. |
template_override |
string | Overrides the default template. |
package_name_override |
string | Overrides the package name. |
root_name |
string | Is the root name for the crate. |
default_features |
list of string | Is a list of default features to enable. |
include_list |
list of string | Is a list of proto files to include (e.g., "date.proto", "expr.proto"). |
included_ids |
list of string | Is a list of IDs to include. |
skipped_ids |
list of string | Is a list of IDs to skip. |
disabled_clippy_warnings |
list of string | Is a list of clippy warnings to disable. |
has_veneer |
bool | Indicates whether the crate has a veneer. |
routing_required |
bool | Indicates whether routing is required. |
include_grpc_only_methods |
bool | Indicates whether to include gRPC-only methods. |
include_streaming_methods |
bool | Indicates whether to include gRPC streaming methods. |
include_bidi_streaming_methods |
bool | Indicates whether to include gRPC bi-directional streaming methods. |
post_process_protos |
string | Indicates whether to post-process protos. |
documentation_overrides |
list of RustDocumentationOverride | Contains overrides for element documentation. |
pagination_overrides |
list of RustPaginationOverride | Contains overrides for pagination configuration. |
name_overrides |
string | Contains codec-level overrides for type and service names. |
discovery |
RustDiscovery (optional) | Contains discovery-specific configuration for LRO polling. |
quickstart_service_override |
string | Overrides the default heuristically selected service for the package-level quickstart. |
| Field | Type | Description |
|---|---|---|
package_dependencies |
list of RustPackageDependency (optional) | Is a list of default package dependencies. These are inherited by all libraries. If a library defines its own package_dependencies, the library-specific ones take precedence over these defaults for dependencies with the same name. |
disabled_rustdoc_warnings |
list of string | Is a list of rustdoc warnings to disable. |
generate_setter_samples |
string | Indicates whether to generate setter samples. |
generate_rpc_samples |
string | Indicates whether to generate RPC samples. |
detailed_tracing_attributes |
bool (optional) | Indicates whether to include detailed tracing attributes. |
lro_stub_options |
bool (optional) | Indicates whether to include LRO poller options in generated stub traits. |
resource_name_heuristic |
bool (optional) | Indicates whether to apply heuristics to identify and generate resource names. |
| Field | Type | Description |
|---|---|---|
id |
string | Is the fully qualified element ID (e.g., .google.cloud.dialogflow.v2.Message.field). |
match |
string | Is the text to match in the documentation. |
replace |
string | Is the replacement text. |
| Field | Type | Description |
|---|---|---|
disabled_rustdoc_warnings |
yaml.StringSlice | Specifies rustdoc lints to disable. An empty slice explicitly enables all warnings. |
detailed_tracing_attributes |
bool (optional) | Indicates whether to include detailed tracing attributes. This overrides the crate-level setting. |
lro_stub_options |
bool (optional) | Indicates whether to include LRO poller options in generated stub traits. This overrides the crate-level setting. |
documentation_overrides |
list of RustDocumentationOverride | Contains overrides for element documentation. |
extend_grpc_transport |
bool | Indicates whether the transport stub can be extended (in order to support streams). |
generate_setter_samples |
string | Indicates whether to generate setter samples. |
generate_rpc_samples |
string | Indicates whether to generate RPC samples. |
has_veneer |
bool | Indicates whether this module has a handwritten wrapper. |
included_ids |
list of string | Is a list of proto IDs to include in generation. |
include_grpc_only_methods |
bool | Indicates whether to include gRPC-only methods. |
include_list |
yaml.StringSlice | Is a list of proto files to include (e.g., "date.proto", "expr.proto"). |
include_streaming_methods |
bool | Indicates whether to include gRPC streaming methods. |
include_bidi_streaming_methods |
bool | Indicates whether to include gRPC bi-directional streaming methods. |
internal_builders |
bool | Indicates whether generated builders should be internal to the crate. |
module_path |
string | Is the Rust module path for converters (e.g., "crate::generated::gapic::model"). |
module_roots |
map[string]string | |
name_overrides |
string | Contains codec-level overrides for type and service names. |
output |
string | Is the directory where generated code is written (e.g., "src/storage/src/generated/gapic"). |
post_process_protos |
string | Contains code to post-process generated protos. |
resource_name_heuristic |
bool (optional) | Indicates whether to apply heuristics to identify and generate resource names. This overrides the crate-level setting. |
root_name |
string | Is the key for the root directory in the source map. It overrides the default root, googleapis, used by the rust+prost generator. |
routing_required |
bool | Indicates whether routing is required. |
service_config |
string | Is the path to the service config file. |
skipped_ids |
list of string | Is a list of proto IDs to skip in generation. |
specification_format |
string | Overrides the library-level specification format. |
api_path |
string | Is the proto path to generate from (e.g., "google/storage/v2"). |
template |
string | Specifies which generator template to use. Valid values: "grpc-client", "http-client", "prost", "convert-prost", "mod", "storage". |
| Field | Type | Description |
|---|---|---|
name |
string | Is the dependency name. It is listed first so it appears at the top of each dependency entry in YAML. |
ignore |
bool | Prevents this package from being mapped to an external crate. When true, references to this package stay as crate:: instead of being mapped to the external crate name. This is used for self-referencing packages like location and longrunning. |
package |
string | Is the package name. |
source |
string | Is the dependency source. |
feature |
string | Is the feature name for the dependency. |
force_used |
bool | Forces the dependency to be used even if not referenced. |
used_if |
string | Specifies a condition for when the dependency is used. |
| Field | Type | Description |
|---|---|---|
id |
string | Is the fully qualified method ID (e.g., .google.cloud.sql.v1.Service.Method). |
item_field |
string | Is the name of the field used for items. |
| Field | Type | Description |
|---|---|---|
dependencies |
list of SwiftDependency | Is a list of package dependencies. |
default_version |
string | The default version for new libraries. |
| Field | Type | Description |
|---|---|---|
name |
string | Is the module imported from the dependency. Examples: - to import Logging from the swift-log package, create a dependency: {name: "Logging", version: "1.14.0", url: "https://github.com/apple/swift-log"},- to import GoogleIamV1 from the google-iam-v1 package. {name: "GoogleIamV1", path: "generated/google-iam-v1"} |
path |
string | Configures the path for local (to the monorepo) packages. For example, the authentication package definition will set this to packages/auth, which would generate the following snippet in the Package.swift files:.package(path: "../../packages/auth") |
url |
string | Configures the url: parameter in the package definition.For example, https://github.com/apple/swift-protobuf would generate the following snippet in the Package.swift files:.package(url: "https://github.com/apple/swift-protobuf") |
version |
string | Configures the minimum version for external package definitions. For example, if the swift-protobuf package used 1.36.1, then the codec would generate the following snippet in the Package.swift files:.package(url: "https://github.com/apple/swift-protobuf", from: "1.36.1") |
required_by_services |
bool | Is true if this dependency is required by packages with services. This will be set for the gax library and the auth library. Maybe more if we split the HTTP and gRPC clients into separate libraries. |
api_package |
string | Is the name of the API package provided by this library. In Swift a package contains at most one channel for one API. For packages that implement an API, this field contains the name of the package in the specification language of that API. At the moment this is only used by Protobuf-based APIs, as OpenAPI and discovery doc APIs are self-contained. Note that some packages, for example auth and gax, do not implement APIs. This field is empty for such libraries.Examples: - The GoogleCloudWkt package will set this to google.cloud.protobuf.- The GoogleCloudLocation package will set this to google.cloud.location. |
| Field | Type | Description |
|---|---|---|
output |
string | Is the directory where generated code is written (e.g., "Tests/ProtoJSON/generated"). |
service_config |
string | Is the path to the service config file (e.g., "google/storage/control/v2/storage_v2.yaml"). |
api_path |
string | Is the proto path to generate from (e.g., "google/storage/v2"). |
module_type |
string | Is the type of module to generate (e.g., "swift-protobuf", "convert-swift", or empty/"default" for standard GAPIC). |
include_list |
list of string | Is a subset of proto files under the target API path to include. This is typically reserved for special cases to avoid generating unused/dead code. For example, in Storage we need Protobuf gencode for a subset of the protos in the google/type directory. This code is private to the package (google-cloud-storage in Rust, GoogleCloudStorage in Swift). All other files in google/type would be dead code. |
skipped_ids |
list of string | Is a list of proto IDs to skip in generation for this module. |
module_path |
string | Is the module import path or target containing stubs (used by convert-swift). |
| Field | Type | Description |
|---|---|---|
| (embedded) | SwiftDefault | |
library_name_override |
string | Overrides the default library name. In Swift, each GAPIC package consists of a single product (the library), which contains a single target and module name. For example, the package for the google/cloud/secretmanager/v1 API is called google-cloud-secretmanager-v1, and contains a single product: GoogleCloudSecretManagerV1, which in turn contains a single target and module of the same name.To use the library applications use this import: import GoogleCloudSecretManagerV1Normally the name is derived from: - If the Protobuf namespace overrides for PHP, Ruby, and C# are consistent, sidekick uses this name. - Otherwise, the name implied by the Protobuf package - Or the package set in the service config yaml file |
include_list |
list of string | Is a subset of proto files under the target API path to include (e.g., ["date.proto", "expr.proto"]). |
skipped_ids |
list of string | Is a list of proto IDs to skip in generation for the package. |
modules |
list of SwiftModule (optional) | Specifies generation targets for veneers and test packages. Each module defines a source proto path, and output location. |
package_name_override |
string | Overrides the package name. This may be useful if the protobuf package lacks the necessary prefixes, e.g. grafeas.v1 may be published as google-grafeas-v1 to match the other packages. |
per_service_traits |
bool | Enables per-service compile-time flags. |
default_traits |
list of string | Is a list of compile-time traits enabled by default. |
discovery |
SwiftDiscovery (optional) | Contains discovery-specific configuration for LRO polling. |