Messages
ClientLibrarySettings
| Field | Type | Description |
|---|---|---|
version | string | Version of the API to apply these settings to. This is the full protobuf package for the API, ending in the version element. Examples: “google.cloud.speech.v1” and “google.spanner.admin.database.v1”. |
launch_stage | LaunchStage | Launch stage of this version of the API. |
rest_numeric_enums | bool | When using transport=rest, the client request will encode enums as numbers rather than strings. |
java_settings | JavaSettings | Settings for legacy Java features, supported in the Service YAML. |
cpp_settings | CppSettings | Settings for C++ client libraries. |
php_settings | PhpSettings | Settings for PHP client libraries. |
python_settings | PythonSettings | Settings for Python client libraries. |
node_settings | NodeSettings | Settings for Node client libraries. |
dotnet_settings | DotnetSettings | Settings for .NET client libraries. |
ruby_settings | RubySettings | Settings for Ruby client libraries. |
go_settings | GoSettings | Settings for Go client libraries. |
CommonLanguageSettings
| Field | Type | Description |
|---|---|---|
reference_docs_uri | string | Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest |
destinations | repeated ``ClientLibraryDestination | The destination where API teams want this client library to be published. |
selective_gapic_generation | SelectiveGapicGeneration | Configuration for which RPCs should be generated in the GAPIC client. |
CppSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
DotnetSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
renamed_services | repeated ``DotnetSettings.RenamedServicesEntry | Map from original service names to renamed versions. This is used when the default generated types would cause a naming conflict. (Neither name is fully-qualified.) Example: Subscriber to SubscriberServiceApi. |
renamed_resources | repeated ``DotnetSettings.RenamedResourcesEntry | Map from full resource types to the effective short name for the resource. This is used when otherwise resource named from different services would cause naming collisions. Example entry: “datalabeling.googleapis.com/Dataset”: “DataLabelingDataset” |
ignored_resources | repeated ``string | List of full resource types to ignore during generation. This is typically used for API-specific Location resources, which should be handled by the generator as if they were actually the common Location resources. Example entry: “documentai.googleapis.com/Location” |
forced_namespace_aliases | repeated ``string | Namespaces which must be aliased in snippets due to a known (but non-generator-predictable) naming collision |
handwritten_signatures | repeated ``string | Method signatures (in the form “service.method(signature)”) which are provided separately, so shouldn’t be generated. Snippets calling these methods are still generated, however. |
RenamedResourcesEntry
| Field | Type | Description |
|---|---|---|
key | string | |
value | string |
RenamedServicesEntry
| Field | Type | Description |
|---|---|---|
key | string | |
value | string |
GoSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
renamed_services | repeated ``GoSettings.RenamedServicesEntry | Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin |
RenamedServicesEntry
| Field | Type | Description |
|---|---|---|
key | string | |
value | string |
JavaSettings
| Field | Type | Description |
|---|---|---|
library_package | string | The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used only by APIs who have already set the language_settings.java.package_name” field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 |
service_class_names | repeated ``JavaSettings.ServiceClassNamesEntry | Configure the Java class name to use instead of the service’s for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names” field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin |
common | CommonLanguageSettings | Some settings. |
ServiceClassNamesEntry
| Field | Type | Description |
|---|---|---|
key | string | |
value | string |
MethodSettings
| Field | Type | Description |
|---|---|---|
selector | string | The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder… |
long_running | MethodSettings.LongRunning | Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes |
auto_populated_fields | repeated ``string | List of top-level fields of the request message, that should be automatically populated by the client libraries based on their (google.api.field_info).format. Currently supported format: UUID4. Example of a YAML configuration: publishing: method_settings: - selector: google.example.v1.ExampleService.CreateExample auto_populated_fields: - request_id |
LongRunning
| Field | Type | Description |
|---|---|---|
initial_poll_delay | google.protobuf.Duration | Initial delay after which the first poll request will be made. Default value: 5 seconds. |
poll_delay_multiplier | float | Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. |
max_poll_delay | google.protobuf.Duration | Maximum time between two subsequent poll requests. Default value: 45 seconds. |
total_poll_timeout | google.protobuf.Duration | Total polling timeout. Default value: 5 minutes. |
NodeSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
PhpSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
Publishing
| Field | Type | Description |
|---|---|---|
method_settings | repeated ``MethodSettings | A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. |
new_issue_uri | string | Link to a public URI where users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 |
documentation_uri | string | Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview |
api_short_name | string | Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: “speech”. |
github_label | string | GitHub label to apply to issues and pull requests opened for this API. |
codeowner_github_teams | repeated ``string | GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. |
doc_tag_prefix | string | A prefix used in sample code when demarking regions to be included in documentation. |
organization | ClientLibraryOrganization | For whom the client library is being published. |
library_settings | repeated ``ClientLibrarySettings | Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. |
proto_reference_documentation_uri | string | Optional link to proto reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rpc |
rest_reference_documentation_uri | string | Optional link to REST reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rest |
PythonSettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
experimental_features | PythonSettings.ExperimentalFeatures | Experimental features to be included during client library generation. |
ExperimentalFeatures
| Field | Type | Description |
|---|---|---|
rest_async_io_enabled | bool | Enables generation of asynchronous REST clients if rest transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. |
protobuf_pythonic_types_enabled | bool | Enables generation of protobuf code using new types that are more Pythonic which are included in protobuf>=5.29.x. This feature will be enabled by default 1 month after launching the feature in preview packages. |
unversioned_package_disabled | bool | Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example import google.cloud.library_v2 instead of import google.cloud.library. |
RubySettings
| Field | Type | Description |
|---|---|---|
common | CommonLanguageSettings | Some settings. |
SelectiveGapicGeneration
| Field | Type | Description |
|---|---|---|
methods | repeated ``string | An allowlist of the fully qualified names of RPCs that should be included on public client surfaces. |
generate_omitted_as_internal | bool | Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns. |
Enums
ClientLibraryDestination
To where should client libraries be published?| Value | Number | Description |
|---|---|---|
CLIENT_LIBRARY_DESTINATION_UNSPECIFIED | 0 | Client libraries will neither be generated nor published to package managers. |
GITHUB | 10 | Generate the client library in a repo under github.com/googleapis, but don’t publish it to package managers. |
PACKAGE_MANAGER | 20 | Publish the library to package managers like nuget.org and npmjs.com. |
ClientLibraryOrganization
The organization for which the client libraries are being published. Affects the url where generated docs are published, etc.| Value | Number | Description |
|---|---|---|
CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED | 0 | Not useful. |
CLOUD | 1 | Google Cloud Platform Org. |
ADS | 2 | Ads (Advertising) Org. |
PHOTOS | 3 | Photos Org. |
STREET_VIEW | 4 | Street View Org. |
SHOPPING | 5 | Shopping Org. |
GEO | 6 | Geo Org. |
GENERATIVE_AI | 7 | Generative AI - https://developers.generativeai.google |