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