| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | // Copyright 2024 Google LLC//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at////     http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.syntax = "proto3";package google.api;import "google/api/auth.proto";import "google/api/backend.proto";import "google/api/billing.proto";import "google/api/client.proto";import "google/api/context.proto";import "google/api/control.proto";import "google/api/documentation.proto";import "google/api/endpoint.proto";import "google/api/http.proto";import "google/api/log.proto";import "google/api/logging.proto";import "google/api/metric.proto";import "google/api/monitored_resource.proto";import "google/api/monitoring.proto";import "google/api/quota.proto";import "google/api/source_info.proto";import "google/api/system_parameter.proto";import "google/api/usage.proto";import "google/protobuf/api.proto";import "google/protobuf/type.proto";import "google/protobuf/wrappers.proto";option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";option java_multiple_files = true;option java_outer_classname = "ServiceProto";option java_package = "com.google.api";option objc_class_prefix = "GAPI";// `Service` is the root object of Google API service configuration (service// config). It describes the basic information about a logical service,// such as the service name and the user-facing title, and delegates other// aspects to sub-sections. Each sub-section is either a proto message or a// repeated proto message that configures a specific aspect, such as auth.// For more information, see each proto message definition.//// Example:////     type: google.api.Service//     name: calendar.googleapis.com//     title: Google Calendar API//     apis://     - name: google.calendar.v3.Calendar////     visibility://       rules://       - selector: "google.calendar.v3.*"//         restriction: PREVIEW//     backend://       rules://       - selector: "google.calendar.v3.*"//         address: calendar.example.com////     authentication://       providers://       - id: google_calendar_auth//         jwks_uri: https://www.googleapis.com/oauth2/v1/certs//         issuer: https://securetoken.google.com//       rules://       - selector: "*"//         requirements://           provider_id: google_calendar_authmessage Service {  // The service name, which is a DNS-like logical identifier for the  // service, such as `calendar.googleapis.com`. The service name  // typically goes through DNS verification to make sure the owner  // of the service also owns the DNS name.  string name = 1;  // The product title for this service, it is the name displayed in Google  // Cloud Console.  string title = 2;  // The Google project that owns this service.  string producer_project_id = 22;  // A unique ID for a specific instance of this message, typically assigned  // by the client for tracking purpose. Must be no longer than 63 characters  // and only lower case letters, digits, '.', '_' and '-' are allowed. If  // empty, the server may choose to generate one instead.  string id = 33;  // A list of API interfaces exported by this service. Only the `name` field  // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by  // the configuration author, as the remaining fields will be derived from the  // IDL during the normalization process. It is an error to specify an API  // interface here which cannot be resolved against the associated IDL files.  repeated google.protobuf.Api apis = 3;  // A list of all proto message types included in this API service.  // Types referenced directly or indirectly by the `apis` are automatically  // included.  Messages which are not referenced but shall be included, such as  // types used by the `google.protobuf.Any` type, should be listed here by  // name by the configuration author. Example:  //  //     types:  //     - name: google.protobuf.Int32  repeated google.protobuf.Type types = 4;  // A list of all enum types included in this API service.  Enums referenced  // directly or indirectly by the `apis` are automatically included.  Enums  // which are not referenced but shall be included should be listed here by  // name by the configuration author. Example:  //  //     enums:  //     - name: google.someapi.v1.SomeEnum  repeated google.protobuf.Enum enums = 5;  // Additional API documentation.  Documentation documentation = 6;  // API backend configuration.  Backend backend = 8;  // HTTP configuration.  Http http = 9;  // Quota configuration.  Quota quota = 10;  // Auth configuration.  Authentication authentication = 11;  // Context configuration.  Context context = 12;  // Configuration controlling usage of this service.  Usage usage = 15;  // Configuration for network endpoints.  If this is empty, then an endpoint  // with the same name as the service is automatically generated to service all  // defined APIs.  repeated Endpoint endpoints = 18;  // Configuration for the service control plane.  Control control = 21;  // Defines the logs used by this service.  repeated LogDescriptor logs = 23;  // Defines the metrics used by this service.  repeated MetricDescriptor metrics = 24;  // Defines the monitored resources used by this service. This is required  // by the [Service.monitoring][google.api.Service.monitoring] and  // [Service.logging][google.api.Service.logging] configurations.  repeated MonitoredResourceDescriptor monitored_resources = 25;  // Billing configuration.  Billing billing = 26;  // Logging configuration.  Logging logging = 27;  // Monitoring configuration.  Monitoring monitoring = 28;  // System parameter configuration.  SystemParameters system_parameters = 29;  // Output only. The source information for this configuration if available.  SourceInfo source_info = 37;  // Settings for [Google Cloud Client  // libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)  // generated from APIs defined as protocol buffers.  Publishing publishing = 45;  // Obsolete. Do not use.  //  // This field has no semantic meaning. The service config compiler always  // sets this field to `3`.  google.protobuf.UInt32Value config_version = 20;}
 |