xref: /aosp_15_r20/external/googleapis/google/api/client.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.api;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/launch_stage.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/descriptor.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
24*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
25*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ClientProto";
26*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api";
27*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GAPI";
28*d5c09012SAndroid Build Coastguard Worker
29*d5c09012SAndroid Build Coastguard Workerextend google.protobuf.MethodOptions {
30*d5c09012SAndroid Build Coastguard Worker  // A definition of a client library method signature.
31*d5c09012SAndroid Build Coastguard Worker  //
32*d5c09012SAndroid Build Coastguard Worker  // In client libraries, each proto RPC corresponds to one or more methods
33*d5c09012SAndroid Build Coastguard Worker  // which the end user is able to call, and calls the underlying RPC.
34*d5c09012SAndroid Build Coastguard Worker  // Normally, this method receives a single argument (a struct or instance
35*d5c09012SAndroid Build Coastguard Worker  // corresponding to the RPC request object). Defining this field will
36*d5c09012SAndroid Build Coastguard Worker  // add one or more overloads providing flattened or simpler method signatures
37*d5c09012SAndroid Build Coastguard Worker  // in some languages.
38*d5c09012SAndroid Build Coastguard Worker  //
39*d5c09012SAndroid Build Coastguard Worker  // The fields on the method signature are provided as a comma-separated
40*d5c09012SAndroid Build Coastguard Worker  // string.
41*d5c09012SAndroid Build Coastguard Worker  //
42*d5c09012SAndroid Build Coastguard Worker  // For example, the proto RPC and annotation:
43*d5c09012SAndroid Build Coastguard Worker  //
44*d5c09012SAndroid Build Coastguard Worker  //   rpc CreateSubscription(CreateSubscriptionRequest)
45*d5c09012SAndroid Build Coastguard Worker  //       returns (Subscription) {
46*d5c09012SAndroid Build Coastguard Worker  //     option (google.api.method_signature) = "name,topic";
47*d5c09012SAndroid Build Coastguard Worker  //   }
48*d5c09012SAndroid Build Coastguard Worker  //
49*d5c09012SAndroid Build Coastguard Worker  // Would add the following Java overload (in addition to the method accepting
50*d5c09012SAndroid Build Coastguard Worker  // the request object):
51*d5c09012SAndroid Build Coastguard Worker  //
52*d5c09012SAndroid Build Coastguard Worker  //   public final Subscription createSubscription(String name, String topic)
53*d5c09012SAndroid Build Coastguard Worker  //
54*d5c09012SAndroid Build Coastguard Worker  // The following backwards-compatibility guidelines apply:
55*d5c09012SAndroid Build Coastguard Worker  //
56*d5c09012SAndroid Build Coastguard Worker  //   * Adding this annotation to an unannotated method is backwards
57*d5c09012SAndroid Build Coastguard Worker  //     compatible.
58*d5c09012SAndroid Build Coastguard Worker  //   * Adding this annotation to a method which already has existing
59*d5c09012SAndroid Build Coastguard Worker  //     method signature annotations is backwards compatible if and only if
60*d5c09012SAndroid Build Coastguard Worker  //     the new method signature annotation is last in the sequence.
61*d5c09012SAndroid Build Coastguard Worker  //   * Modifying or removing an existing method signature annotation is
62*d5c09012SAndroid Build Coastguard Worker  //     a breaking change.
63*d5c09012SAndroid Build Coastguard Worker  //   * Re-ordering existing method signature annotations is a breaking
64*d5c09012SAndroid Build Coastguard Worker  //     change.
65*d5c09012SAndroid Build Coastguard Worker  repeated string method_signature = 1051;
66*d5c09012SAndroid Build Coastguard Worker}
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Workerextend google.protobuf.ServiceOptions {
69*d5c09012SAndroid Build Coastguard Worker  // The hostname for this service.
70*d5c09012SAndroid Build Coastguard Worker  // This should be specified with no prefix or protocol.
71*d5c09012SAndroid Build Coastguard Worker  //
72*d5c09012SAndroid Build Coastguard Worker  // Example:
73*d5c09012SAndroid Build Coastguard Worker  //
74*d5c09012SAndroid Build Coastguard Worker  //   service Foo {
75*d5c09012SAndroid Build Coastguard Worker  //     option (google.api.default_host) = "foo.googleapi.com";
76*d5c09012SAndroid Build Coastguard Worker  //     ...
77*d5c09012SAndroid Build Coastguard Worker  //   }
78*d5c09012SAndroid Build Coastguard Worker  string default_host = 1049;
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // OAuth scopes needed for the client.
81*d5c09012SAndroid Build Coastguard Worker  //
82*d5c09012SAndroid Build Coastguard Worker  // Example:
83*d5c09012SAndroid Build Coastguard Worker  //
84*d5c09012SAndroid Build Coastguard Worker  //   service Foo {
85*d5c09012SAndroid Build Coastguard Worker  //     option (google.api.oauth_scopes) = \
86*d5c09012SAndroid Build Coastguard Worker  //       "https://www.googleapis.com/auth/cloud-platform";
87*d5c09012SAndroid Build Coastguard Worker  //     ...
88*d5c09012SAndroid Build Coastguard Worker  //   }
89*d5c09012SAndroid Build Coastguard Worker  //
90*d5c09012SAndroid Build Coastguard Worker  // If there is more than one scope, use a comma-separated string:
91*d5c09012SAndroid Build Coastguard Worker  //
92*d5c09012SAndroid Build Coastguard Worker  // Example:
93*d5c09012SAndroid Build Coastguard Worker  //
94*d5c09012SAndroid Build Coastguard Worker  //   service Foo {
95*d5c09012SAndroid Build Coastguard Worker  //     option (google.api.oauth_scopes) = \
96*d5c09012SAndroid Build Coastguard Worker  //       "https://www.googleapis.com/auth/cloud-platform,"
97*d5c09012SAndroid Build Coastguard Worker  //       "https://www.googleapis.com/auth/monitoring";
98*d5c09012SAndroid Build Coastguard Worker  //     ...
99*d5c09012SAndroid Build Coastguard Worker  //   }
100*d5c09012SAndroid Build Coastguard Worker  string oauth_scopes = 1050;
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker  // The API version of this service, which should be sent by version-aware
103*d5c09012SAndroid Build Coastguard Worker  // clients to the service. This allows services to abide by the schema and
104*d5c09012SAndroid Build Coastguard Worker  // behavior of the service at the time this API version was deployed.
105*d5c09012SAndroid Build Coastguard Worker  // The format of the API version must be treated as opaque by clients.
106*d5c09012SAndroid Build Coastguard Worker  // Services may use a format with an apparent structure, but clients must
107*d5c09012SAndroid Build Coastguard Worker  // not rely on this to determine components within an API version, or attempt
108*d5c09012SAndroid Build Coastguard Worker  // to construct other valid API versions. Note that this is for upcoming
109*d5c09012SAndroid Build Coastguard Worker  // functionality and may not be implemented for all services.
110*d5c09012SAndroid Build Coastguard Worker  //
111*d5c09012SAndroid Build Coastguard Worker  // Example:
112*d5c09012SAndroid Build Coastguard Worker  //
113*d5c09012SAndroid Build Coastguard Worker  //   service Foo {
114*d5c09012SAndroid Build Coastguard Worker  //     option (google.api.api_version) = "v1_20230821_preview";
115*d5c09012SAndroid Build Coastguard Worker  //   }
116*d5c09012SAndroid Build Coastguard Worker  string api_version = 525000001;
117*d5c09012SAndroid Build Coastguard Worker}
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker// Required information for every language.
120*d5c09012SAndroid Build Coastguard Workermessage CommonLanguageSettings {
121*d5c09012SAndroid Build Coastguard Worker  // Link to automatically generated reference documentation.  Example:
122*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/nodejs/docs/reference/asset/latest
123*d5c09012SAndroid Build Coastguard Worker  string reference_docs_uri = 1 [deprecated = true];
124*d5c09012SAndroid Build Coastguard Worker
125*d5c09012SAndroid Build Coastguard Worker  // The destination where API teams want this client library to be published.
126*d5c09012SAndroid Build Coastguard Worker  repeated ClientLibraryDestination destinations = 2;
127*d5c09012SAndroid Build Coastguard Worker}
128*d5c09012SAndroid Build Coastguard Worker
129*d5c09012SAndroid Build Coastguard Worker// Details about how and where to publish client libraries.
130*d5c09012SAndroid Build Coastguard Workermessage ClientLibrarySettings {
131*d5c09012SAndroid Build Coastguard Worker  // Version of the API to apply these settings to. This is the full protobuf
132*d5c09012SAndroid Build Coastguard Worker  // package for the API, ending in the version element.
133*d5c09012SAndroid Build Coastguard Worker  // Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
134*d5c09012SAndroid Build Coastguard Worker  string version = 1;
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker  // Launch stage of this version of the API.
137*d5c09012SAndroid Build Coastguard Worker  LaunchStage launch_stage = 2;
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // When using transport=rest, the client request will encode enums as
140*d5c09012SAndroid Build Coastguard Worker  // numbers rather than strings.
141*d5c09012SAndroid Build Coastguard Worker  bool rest_numeric_enums = 3;
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker  // Settings for legacy Java features, supported in the Service YAML.
144*d5c09012SAndroid Build Coastguard Worker  JavaSettings java_settings = 21;
145*d5c09012SAndroid Build Coastguard Worker
146*d5c09012SAndroid Build Coastguard Worker  // Settings for C++ client libraries.
147*d5c09012SAndroid Build Coastguard Worker  CppSettings cpp_settings = 22;
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Settings for PHP client libraries.
150*d5c09012SAndroid Build Coastguard Worker  PhpSettings php_settings = 23;
151*d5c09012SAndroid Build Coastguard Worker
152*d5c09012SAndroid Build Coastguard Worker  // Settings for Python client libraries.
153*d5c09012SAndroid Build Coastguard Worker  PythonSettings python_settings = 24;
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // Settings for Node client libraries.
156*d5c09012SAndroid Build Coastguard Worker  NodeSettings node_settings = 25;
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Settings for .NET client libraries.
159*d5c09012SAndroid Build Coastguard Worker  DotnetSettings dotnet_settings = 26;
160*d5c09012SAndroid Build Coastguard Worker
161*d5c09012SAndroid Build Coastguard Worker  // Settings for Ruby client libraries.
162*d5c09012SAndroid Build Coastguard Worker  RubySettings ruby_settings = 27;
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // Settings for Go client libraries.
165*d5c09012SAndroid Build Coastguard Worker  GoSettings go_settings = 28;
166*d5c09012SAndroid Build Coastguard Worker}
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker// This message configures the settings for publishing [Google Cloud Client
169*d5c09012SAndroid Build Coastguard Worker// libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
170*d5c09012SAndroid Build Coastguard Worker// generated from the service config.
171*d5c09012SAndroid Build Coastguard Workermessage Publishing {
172*d5c09012SAndroid Build Coastguard Worker  // A list of API method settings, e.g. the behavior for methods that use the
173*d5c09012SAndroid Build Coastguard Worker  // long-running operation pattern.
174*d5c09012SAndroid Build Coastguard Worker  repeated MethodSettings method_settings = 2;
175*d5c09012SAndroid Build Coastguard Worker
176*d5c09012SAndroid Build Coastguard Worker  // Link to a *public* URI where users can report issues.  Example:
177*d5c09012SAndroid Build Coastguard Worker  // https://issuetracker.google.com/issues/new?component=190865&template=1161103
178*d5c09012SAndroid Build Coastguard Worker  string new_issue_uri = 101;
179*d5c09012SAndroid Build Coastguard Worker
180*d5c09012SAndroid Build Coastguard Worker  // Link to product home page.  Example:
181*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/asset-inventory/docs/overview
182*d5c09012SAndroid Build Coastguard Worker  string documentation_uri = 102;
183*d5c09012SAndroid Build Coastguard Worker
184*d5c09012SAndroid Build Coastguard Worker  // Used as a tracking tag when collecting data about the APIs developer
185*d5c09012SAndroid Build Coastguard Worker  // relations artifacts like docs, packages delivered to package managers,
186*d5c09012SAndroid Build Coastguard Worker  // etc.  Example: "speech".
187*d5c09012SAndroid Build Coastguard Worker  string api_short_name = 103;
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // GitHub label to apply to issues and pull requests opened for this API.
190*d5c09012SAndroid Build Coastguard Worker  string github_label = 104;
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // GitHub teams to be added to CODEOWNERS in the directory in GitHub
193*d5c09012SAndroid Build Coastguard Worker  // containing source code for the client libraries for this API.
194*d5c09012SAndroid Build Coastguard Worker  repeated string codeowner_github_teams = 105;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // A prefix used in sample code when demarking regions to be included in
197*d5c09012SAndroid Build Coastguard Worker  // documentation.
198*d5c09012SAndroid Build Coastguard Worker  string doc_tag_prefix = 106;
199*d5c09012SAndroid Build Coastguard Worker
200*d5c09012SAndroid Build Coastguard Worker  // For whom the client library is being published.
201*d5c09012SAndroid Build Coastguard Worker  ClientLibraryOrganization organization = 107;
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker  // Client library settings.  If the same version string appears multiple
204*d5c09012SAndroid Build Coastguard Worker  // times in this list, then the last one wins.  Settings from earlier
205*d5c09012SAndroid Build Coastguard Worker  // settings with the same version string are discarded.
206*d5c09012SAndroid Build Coastguard Worker  repeated ClientLibrarySettings library_settings = 109;
207*d5c09012SAndroid Build Coastguard Worker
208*d5c09012SAndroid Build Coastguard Worker  // Optional link to proto reference documentation.  Example:
209*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/pubsub/lite/docs/reference/rpc
210*d5c09012SAndroid Build Coastguard Worker  string proto_reference_documentation_uri = 110;
211*d5c09012SAndroid Build Coastguard Worker
212*d5c09012SAndroid Build Coastguard Worker  // Optional link to REST reference documentation.  Example:
213*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/pubsub/lite/docs/reference/rest
214*d5c09012SAndroid Build Coastguard Worker  string rest_reference_documentation_uri = 111;
215*d5c09012SAndroid Build Coastguard Worker}
216*d5c09012SAndroid Build Coastguard Worker
217*d5c09012SAndroid Build Coastguard Worker// Settings for Java client libraries.
218*d5c09012SAndroid Build Coastguard Workermessage JavaSettings {
219*d5c09012SAndroid Build Coastguard Worker  // The package name to use in Java. Clobbers the java_package option
220*d5c09012SAndroid Build Coastguard Worker  // set in the protobuf. This should be used **only** by APIs
221*d5c09012SAndroid Build Coastguard Worker  // who have already set the language_settings.java.package_name" field
222*d5c09012SAndroid Build Coastguard Worker  // in gapic.yaml. API teams should use the protobuf java_package option
223*d5c09012SAndroid Build Coastguard Worker  // where possible.
224*d5c09012SAndroid Build Coastguard Worker  //
225*d5c09012SAndroid Build Coastguard Worker  // Example of a YAML configuration::
226*d5c09012SAndroid Build Coastguard Worker  //
227*d5c09012SAndroid Build Coastguard Worker  //  publishing:
228*d5c09012SAndroid Build Coastguard Worker  //    java_settings:
229*d5c09012SAndroid Build Coastguard Worker  //      library_package: com.google.cloud.pubsub.v1
230*d5c09012SAndroid Build Coastguard Worker  string library_package = 1;
231*d5c09012SAndroid Build Coastguard Worker
232*d5c09012SAndroid Build Coastguard Worker  // Configure the Java class name to use instead of the service's for its
233*d5c09012SAndroid Build Coastguard Worker  // corresponding generated GAPIC client. Keys are fully-qualified
234*d5c09012SAndroid Build Coastguard Worker  // service names as they appear in the protobuf (including the full
235*d5c09012SAndroid Build Coastguard Worker  // the language_settings.java.interface_names" field in gapic.yaml. API
236*d5c09012SAndroid Build Coastguard Worker  // teams should otherwise use the service name as it appears in the
237*d5c09012SAndroid Build Coastguard Worker  // protobuf.
238*d5c09012SAndroid Build Coastguard Worker  //
239*d5c09012SAndroid Build Coastguard Worker  // Example of a YAML configuration::
240*d5c09012SAndroid Build Coastguard Worker  //
241*d5c09012SAndroid Build Coastguard Worker  //  publishing:
242*d5c09012SAndroid Build Coastguard Worker  //    java_settings:
243*d5c09012SAndroid Build Coastguard Worker  //      service_class_names:
244*d5c09012SAndroid Build Coastguard Worker  //        - google.pubsub.v1.Publisher: TopicAdmin
245*d5c09012SAndroid Build Coastguard Worker  //        - google.pubsub.v1.Subscriber: SubscriptionAdmin
246*d5c09012SAndroid Build Coastguard Worker  map<string, string> service_class_names = 2;
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // Some settings.
249*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 3;
250*d5c09012SAndroid Build Coastguard Worker}
251*d5c09012SAndroid Build Coastguard Worker
252*d5c09012SAndroid Build Coastguard Worker// Settings for C++ client libraries.
253*d5c09012SAndroid Build Coastguard Workermessage CppSettings {
254*d5c09012SAndroid Build Coastguard Worker  // Some settings.
255*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
256*d5c09012SAndroid Build Coastguard Worker}
257*d5c09012SAndroid Build Coastguard Worker
258*d5c09012SAndroid Build Coastguard Worker// Settings for Php client libraries.
259*d5c09012SAndroid Build Coastguard Workermessage PhpSettings {
260*d5c09012SAndroid Build Coastguard Worker  // Some settings.
261*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
262*d5c09012SAndroid Build Coastguard Worker}
263*d5c09012SAndroid Build Coastguard Worker
264*d5c09012SAndroid Build Coastguard Worker// Settings for Python client libraries.
265*d5c09012SAndroid Build Coastguard Workermessage PythonSettings {
266*d5c09012SAndroid Build Coastguard Worker  // Some settings.
267*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
268*d5c09012SAndroid Build Coastguard Worker}
269*d5c09012SAndroid Build Coastguard Worker
270*d5c09012SAndroid Build Coastguard Worker// Settings for Node client libraries.
271*d5c09012SAndroid Build Coastguard Workermessage NodeSettings {
272*d5c09012SAndroid Build Coastguard Worker  // Some settings.
273*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
274*d5c09012SAndroid Build Coastguard Worker}
275*d5c09012SAndroid Build Coastguard Worker
276*d5c09012SAndroid Build Coastguard Worker// Settings for Dotnet client libraries.
277*d5c09012SAndroid Build Coastguard Workermessage DotnetSettings {
278*d5c09012SAndroid Build Coastguard Worker  // Some settings.
279*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
280*d5c09012SAndroid Build Coastguard Worker
281*d5c09012SAndroid Build Coastguard Worker  // Map from original service names to renamed versions.
282*d5c09012SAndroid Build Coastguard Worker  // This is used when the default generated types
283*d5c09012SAndroid Build Coastguard Worker  // would cause a naming conflict. (Neither name is
284*d5c09012SAndroid Build Coastguard Worker  // fully-qualified.)
285*d5c09012SAndroid Build Coastguard Worker  // Example: Subscriber to SubscriberServiceApi.
286*d5c09012SAndroid Build Coastguard Worker  map<string, string> renamed_services = 2;
287*d5c09012SAndroid Build Coastguard Worker
288*d5c09012SAndroid Build Coastguard Worker  // Map from full resource types to the effective short name
289*d5c09012SAndroid Build Coastguard Worker  // for the resource. This is used when otherwise resource
290*d5c09012SAndroid Build Coastguard Worker  // named from different services would cause naming collisions.
291*d5c09012SAndroid Build Coastguard Worker  // Example entry:
292*d5c09012SAndroid Build Coastguard Worker  // "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
293*d5c09012SAndroid Build Coastguard Worker  map<string, string> renamed_resources = 3;
294*d5c09012SAndroid Build Coastguard Worker
295*d5c09012SAndroid Build Coastguard Worker  // List of full resource types to ignore during generation.
296*d5c09012SAndroid Build Coastguard Worker  // This is typically used for API-specific Location resources,
297*d5c09012SAndroid Build Coastguard Worker  // which should be handled by the generator as if they were actually
298*d5c09012SAndroid Build Coastguard Worker  // the common Location resources.
299*d5c09012SAndroid Build Coastguard Worker  // Example entry: "documentai.googleapis.com/Location"
300*d5c09012SAndroid Build Coastguard Worker  repeated string ignored_resources = 4;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker  // Namespaces which must be aliased in snippets due to
303*d5c09012SAndroid Build Coastguard Worker  // a known (but non-generator-predictable) naming collision
304*d5c09012SAndroid Build Coastguard Worker  repeated string forced_namespace_aliases = 5;
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker  // Method signatures (in the form "service.method(signature)")
307*d5c09012SAndroid Build Coastguard Worker  // which are provided separately, so shouldn't be generated.
308*d5c09012SAndroid Build Coastguard Worker  // Snippets *calling* these methods are still generated, however.
309*d5c09012SAndroid Build Coastguard Worker  repeated string handwritten_signatures = 6;
310*d5c09012SAndroid Build Coastguard Worker}
311*d5c09012SAndroid Build Coastguard Worker
312*d5c09012SAndroid Build Coastguard Worker// Settings for Ruby client libraries.
313*d5c09012SAndroid Build Coastguard Workermessage RubySettings {
314*d5c09012SAndroid Build Coastguard Worker  // Some settings.
315*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
316*d5c09012SAndroid Build Coastguard Worker}
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker// Settings for Go client libraries.
319*d5c09012SAndroid Build Coastguard Workermessage GoSettings {
320*d5c09012SAndroid Build Coastguard Worker  // Some settings.
321*d5c09012SAndroid Build Coastguard Worker  CommonLanguageSettings common = 1;
322*d5c09012SAndroid Build Coastguard Worker}
323*d5c09012SAndroid Build Coastguard Worker
324*d5c09012SAndroid Build Coastguard Worker// Describes the generator configuration for a method.
325*d5c09012SAndroid Build Coastguard Workermessage MethodSettings {
326*d5c09012SAndroid Build Coastguard Worker  // Describes settings to use when generating API methods that use the
327*d5c09012SAndroid Build Coastguard Worker  // long-running operation pattern.
328*d5c09012SAndroid Build Coastguard Worker  // All default values below are from those used in the client library
329*d5c09012SAndroid Build Coastguard Worker  // generators (e.g.
330*d5c09012SAndroid Build Coastguard Worker  // [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
331*d5c09012SAndroid Build Coastguard Worker  message LongRunning {
332*d5c09012SAndroid Build Coastguard Worker    // Initial delay after which the first poll request will be made.
333*d5c09012SAndroid Build Coastguard Worker    // Default value: 5 seconds.
334*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Duration initial_poll_delay = 1;
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker    // Multiplier to gradually increase delay between subsequent polls until it
337*d5c09012SAndroid Build Coastguard Worker    // reaches max_poll_delay.
338*d5c09012SAndroid Build Coastguard Worker    // Default value: 1.5.
339*d5c09012SAndroid Build Coastguard Worker    float poll_delay_multiplier = 2;
340*d5c09012SAndroid Build Coastguard Worker
341*d5c09012SAndroid Build Coastguard Worker    // Maximum time between two subsequent poll requests.
342*d5c09012SAndroid Build Coastguard Worker    // Default value: 45 seconds.
343*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Duration max_poll_delay = 3;
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker    // Total polling timeout.
346*d5c09012SAndroid Build Coastguard Worker    // Default value: 5 minutes.
347*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Duration total_poll_timeout = 4;
348*d5c09012SAndroid Build Coastguard Worker  }
349*d5c09012SAndroid Build Coastguard Worker
350*d5c09012SAndroid Build Coastguard Worker  // The fully qualified name of the method, for which the options below apply.
351*d5c09012SAndroid Build Coastguard Worker  // This is used to find the method to apply the options.
352*d5c09012SAndroid Build Coastguard Worker  string selector = 1;
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker  // Describes settings to use for long-running operations when generating
355*d5c09012SAndroid Build Coastguard Worker  // API methods for RPCs. Complements RPCs that use the annotations in
356*d5c09012SAndroid Build Coastguard Worker  // google/longrunning/operations.proto.
357*d5c09012SAndroid Build Coastguard Worker  //
358*d5c09012SAndroid Build Coastguard Worker  // Example of a YAML configuration::
359*d5c09012SAndroid Build Coastguard Worker  //
360*d5c09012SAndroid Build Coastguard Worker  //  publishing:
361*d5c09012SAndroid Build Coastguard Worker  //    method_settings:
362*d5c09012SAndroid Build Coastguard Worker  //      - selector: google.cloud.speech.v2.Speech.BatchRecognize
363*d5c09012SAndroid Build Coastguard Worker  //        long_running:
364*d5c09012SAndroid Build Coastguard Worker  //          initial_poll_delay:
365*d5c09012SAndroid Build Coastguard Worker  //            seconds: 60 # 1 minute
366*d5c09012SAndroid Build Coastguard Worker  //          poll_delay_multiplier: 1.5
367*d5c09012SAndroid Build Coastguard Worker  //          max_poll_delay:
368*d5c09012SAndroid Build Coastguard Worker  //            seconds: 360 # 6 minutes
369*d5c09012SAndroid Build Coastguard Worker  //          total_poll_timeout:
370*d5c09012SAndroid Build Coastguard Worker  //             seconds: 54000 # 90 minutes
371*d5c09012SAndroid Build Coastguard Worker  LongRunning long_running = 2;
372*d5c09012SAndroid Build Coastguard Worker
373*d5c09012SAndroid Build Coastguard Worker  // List of top-level fields of the request message, that should be
374*d5c09012SAndroid Build Coastguard Worker  // automatically populated by the client libraries based on their
375*d5c09012SAndroid Build Coastguard Worker  // (google.api.field_info).format. Currently supported format: UUID4.
376*d5c09012SAndroid Build Coastguard Worker  //
377*d5c09012SAndroid Build Coastguard Worker  // Example of a YAML configuration:
378*d5c09012SAndroid Build Coastguard Worker  //
379*d5c09012SAndroid Build Coastguard Worker  //  publishing:
380*d5c09012SAndroid Build Coastguard Worker  //    method_settings:
381*d5c09012SAndroid Build Coastguard Worker  //      - selector: google.example.v1.ExampleService.CreateExample
382*d5c09012SAndroid Build Coastguard Worker  //        auto_populated_fields:
383*d5c09012SAndroid Build Coastguard Worker  //        - request_id
384*d5c09012SAndroid Build Coastguard Worker  repeated string auto_populated_fields = 3;
385*d5c09012SAndroid Build Coastguard Worker}
386*d5c09012SAndroid Build Coastguard Worker
387*d5c09012SAndroid Build Coastguard Worker// The organization for which the client libraries are being published.
388*d5c09012SAndroid Build Coastguard Worker// Affects the url where generated docs are published, etc.
389*d5c09012SAndroid Build Coastguard Workerenum ClientLibraryOrganization {
390*d5c09012SAndroid Build Coastguard Worker  // Not useful.
391*d5c09012SAndroid Build Coastguard Worker  CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0;
392*d5c09012SAndroid Build Coastguard Worker
393*d5c09012SAndroid Build Coastguard Worker  // Google Cloud Platform Org.
394*d5c09012SAndroid Build Coastguard Worker  CLOUD = 1;
395*d5c09012SAndroid Build Coastguard Worker
396*d5c09012SAndroid Build Coastguard Worker  // Ads (Advertising) Org.
397*d5c09012SAndroid Build Coastguard Worker  ADS = 2;
398*d5c09012SAndroid Build Coastguard Worker
399*d5c09012SAndroid Build Coastguard Worker  // Photos Org.
400*d5c09012SAndroid Build Coastguard Worker  PHOTOS = 3;
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker  // Street View Org.
403*d5c09012SAndroid Build Coastguard Worker  STREET_VIEW = 4;
404*d5c09012SAndroid Build Coastguard Worker
405*d5c09012SAndroid Build Coastguard Worker  // Shopping Org.
406*d5c09012SAndroid Build Coastguard Worker  SHOPPING = 5;
407*d5c09012SAndroid Build Coastguard Worker
408*d5c09012SAndroid Build Coastguard Worker  // Geo Org.
409*d5c09012SAndroid Build Coastguard Worker  GEO = 6;
410*d5c09012SAndroid Build Coastguard Worker
411*d5c09012SAndroid Build Coastguard Worker  // Generative AI - https://developers.generativeai.google
412*d5c09012SAndroid Build Coastguard Worker  GENERATIVE_AI = 7;
413*d5c09012SAndroid Build Coastguard Worker}
414*d5c09012SAndroid Build Coastguard Worker
415*d5c09012SAndroid Build Coastguard Worker// To where should client libraries be published?
416*d5c09012SAndroid Build Coastguard Workerenum ClientLibraryDestination {
417*d5c09012SAndroid Build Coastguard Worker  // Client libraries will neither be generated nor published to package
418*d5c09012SAndroid Build Coastguard Worker  // managers.
419*d5c09012SAndroid Build Coastguard Worker  CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0;
420*d5c09012SAndroid Build Coastguard Worker
421*d5c09012SAndroid Build Coastguard Worker  // Generate the client library in a repo under github.com/googleapis,
422*d5c09012SAndroid Build Coastguard Worker  // but don't publish it to package managers.
423*d5c09012SAndroid Build Coastguard Worker  GITHUB = 10;
424*d5c09012SAndroid Build Coastguard Worker
425*d5c09012SAndroid Build Coastguard Worker  // Publish the library to package managers like nuget.org and npmjs.com.
426*d5c09012SAndroid Build Coastguard Worker  PACKAGE_MANAGER = 20;
427*d5c09012SAndroid Build Coastguard Worker}
428