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/auth.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/backend.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/billing.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/context.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/api/control.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/api/documentation.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/api/endpoint.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/api/http.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/api/log.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/api/logging.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/api/metric.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/api/monitored_resource.proto"; 32*d5c09012SAndroid Build Coastguard Workerimport "google/api/monitoring.proto"; 33*d5c09012SAndroid Build Coastguard Workerimport "google/api/quota.proto"; 34*d5c09012SAndroid Build Coastguard Workerimport "google/api/source_info.proto"; 35*d5c09012SAndroid Build Coastguard Workerimport "google/api/system_parameter.proto"; 36*d5c09012SAndroid Build Coastguard Workerimport "google/api/usage.proto"; 37*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/api.proto"; 38*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/type.proto"; 39*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 42*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 43*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceProto"; 44*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api"; 45*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GAPI"; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker// `Service` is the root object of Google API service configuration (service 48*d5c09012SAndroid Build Coastguard Worker// config). It describes the basic information about a logical service, 49*d5c09012SAndroid Build Coastguard Worker// such as the service name and the user-facing title, and delegates other 50*d5c09012SAndroid Build Coastguard Worker// aspects to sub-sections. Each sub-section is either a proto message or a 51*d5c09012SAndroid Build Coastguard Worker// repeated proto message that configures a specific aspect, such as auth. 52*d5c09012SAndroid Build Coastguard Worker// For more information, see each proto message definition. 53*d5c09012SAndroid Build Coastguard Worker// 54*d5c09012SAndroid Build Coastguard Worker// Example: 55*d5c09012SAndroid Build Coastguard Worker// 56*d5c09012SAndroid Build Coastguard Worker// type: google.api.Service 57*d5c09012SAndroid Build Coastguard Worker// name: calendar.googleapis.com 58*d5c09012SAndroid Build Coastguard Worker// title: Google Calendar API 59*d5c09012SAndroid Build Coastguard Worker// apis: 60*d5c09012SAndroid Build Coastguard Worker// - name: google.calendar.v3.Calendar 61*d5c09012SAndroid Build Coastguard Worker// 62*d5c09012SAndroid Build Coastguard Worker// visibility: 63*d5c09012SAndroid Build Coastguard Worker// rules: 64*d5c09012SAndroid Build Coastguard Worker// - selector: "google.calendar.v3.*" 65*d5c09012SAndroid Build Coastguard Worker// restriction: PREVIEW 66*d5c09012SAndroid Build Coastguard Worker// backend: 67*d5c09012SAndroid Build Coastguard Worker// rules: 68*d5c09012SAndroid Build Coastguard Worker// - selector: "google.calendar.v3.*" 69*d5c09012SAndroid Build Coastguard Worker// address: calendar.example.com 70*d5c09012SAndroid Build Coastguard Worker// 71*d5c09012SAndroid Build Coastguard Worker// authentication: 72*d5c09012SAndroid Build Coastguard Worker// providers: 73*d5c09012SAndroid Build Coastguard Worker// - id: google_calendar_auth 74*d5c09012SAndroid Build Coastguard Worker// jwks_uri: https://www.googleapis.com/oauth2/v1/certs 75*d5c09012SAndroid Build Coastguard Worker// issuer: https://securetoken.google.com 76*d5c09012SAndroid Build Coastguard Worker// rules: 77*d5c09012SAndroid Build Coastguard Worker// - selector: "*" 78*d5c09012SAndroid Build Coastguard Worker// requirements: 79*d5c09012SAndroid Build Coastguard Worker// provider_id: google_calendar_auth 80*d5c09012SAndroid Build Coastguard Workermessage Service { 81*d5c09012SAndroid Build Coastguard Worker // The service name, which is a DNS-like logical identifier for the 82*d5c09012SAndroid Build Coastguard Worker // service, such as `calendar.googleapis.com`. The service name 83*d5c09012SAndroid Build Coastguard Worker // typically goes through DNS verification to make sure the owner 84*d5c09012SAndroid Build Coastguard Worker // of the service also owns the DNS name. 85*d5c09012SAndroid Build Coastguard Worker string name = 1; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // The product title for this service, it is the name displayed in Google 88*d5c09012SAndroid Build Coastguard Worker // Cloud Console. 89*d5c09012SAndroid Build Coastguard Worker string title = 2; 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // The Google project that owns this service. 92*d5c09012SAndroid Build Coastguard Worker string producer_project_id = 22; 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // A unique ID for a specific instance of this message, typically assigned 95*d5c09012SAndroid Build Coastguard Worker // by the client for tracking purpose. Must be no longer than 63 characters 96*d5c09012SAndroid Build Coastguard Worker // and only lower case letters, digits, '.', '_' and '-' are allowed. If 97*d5c09012SAndroid Build Coastguard Worker // empty, the server may choose to generate one instead. 98*d5c09012SAndroid Build Coastguard Worker string id = 33; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // A list of API interfaces exported by this service. Only the `name` field 101*d5c09012SAndroid Build Coastguard Worker // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by 102*d5c09012SAndroid Build Coastguard Worker // the configuration author, as the remaining fields will be derived from the 103*d5c09012SAndroid Build Coastguard Worker // IDL during the normalization process. It is an error to specify an API 104*d5c09012SAndroid Build Coastguard Worker // interface here which cannot be resolved against the associated IDL files. 105*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Api apis = 3; 106*d5c09012SAndroid Build Coastguard Worker 107*d5c09012SAndroid Build Coastguard Worker // A list of all proto message types included in this API service. 108*d5c09012SAndroid Build Coastguard Worker // Types referenced directly or indirectly by the `apis` are automatically 109*d5c09012SAndroid Build Coastguard Worker // included. Messages which are not referenced but shall be included, such as 110*d5c09012SAndroid Build Coastguard Worker // types used by the `google.protobuf.Any` type, should be listed here by 111*d5c09012SAndroid Build Coastguard Worker // name by the configuration author. Example: 112*d5c09012SAndroid Build Coastguard Worker // 113*d5c09012SAndroid Build Coastguard Worker // types: 114*d5c09012SAndroid Build Coastguard Worker // - name: google.protobuf.Int32 115*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Type types = 4; 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // A list of all enum types included in this API service. Enums referenced 118*d5c09012SAndroid Build Coastguard Worker // directly or indirectly by the `apis` are automatically included. Enums 119*d5c09012SAndroid Build Coastguard Worker // which are not referenced but shall be included should be listed here by 120*d5c09012SAndroid Build Coastguard Worker // name by the configuration author. Example: 121*d5c09012SAndroid Build Coastguard Worker // 122*d5c09012SAndroid Build Coastguard Worker // enums: 123*d5c09012SAndroid Build Coastguard Worker // - name: google.someapi.v1.SomeEnum 124*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Enum enums = 5; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Additional API documentation. 127*d5c09012SAndroid Build Coastguard Worker Documentation documentation = 6; 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // API backend configuration. 130*d5c09012SAndroid Build Coastguard Worker Backend backend = 8; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // HTTP configuration. 133*d5c09012SAndroid Build Coastguard Worker Http http = 9; 134*d5c09012SAndroid Build Coastguard Worker 135*d5c09012SAndroid Build Coastguard Worker // Quota configuration. 136*d5c09012SAndroid Build Coastguard Worker Quota quota = 10; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Auth configuration. 139*d5c09012SAndroid Build Coastguard Worker Authentication authentication = 11; 140*d5c09012SAndroid Build Coastguard Worker 141*d5c09012SAndroid Build Coastguard Worker // Context configuration. 142*d5c09012SAndroid Build Coastguard Worker Context context = 12; 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // Configuration controlling usage of this service. 145*d5c09012SAndroid Build Coastguard Worker Usage usage = 15; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // Configuration for network endpoints. If this is empty, then an endpoint 148*d5c09012SAndroid Build Coastguard Worker // with the same name as the service is automatically generated to service all 149*d5c09012SAndroid Build Coastguard Worker // defined APIs. 150*d5c09012SAndroid Build Coastguard Worker repeated Endpoint endpoints = 18; 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // Configuration for the service control plane. 153*d5c09012SAndroid Build Coastguard Worker Control control = 21; 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Defines the logs used by this service. 156*d5c09012SAndroid Build Coastguard Worker repeated LogDescriptor logs = 23; 157*d5c09012SAndroid Build Coastguard Worker 158*d5c09012SAndroid Build Coastguard Worker // Defines the metrics used by this service. 159*d5c09012SAndroid Build Coastguard Worker repeated MetricDescriptor metrics = 24; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // Defines the monitored resources used by this service. This is required 162*d5c09012SAndroid Build Coastguard Worker // by the [Service.monitoring][google.api.Service.monitoring] and 163*d5c09012SAndroid Build Coastguard Worker // [Service.logging][google.api.Service.logging] configurations. 164*d5c09012SAndroid Build Coastguard Worker repeated MonitoredResourceDescriptor monitored_resources = 25; 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // Billing configuration. 167*d5c09012SAndroid Build Coastguard Worker Billing billing = 26; 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Logging configuration. 170*d5c09012SAndroid Build Coastguard Worker Logging logging = 27; 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker // Monitoring configuration. 173*d5c09012SAndroid Build Coastguard Worker Monitoring monitoring = 28; 174*d5c09012SAndroid Build Coastguard Worker 175*d5c09012SAndroid Build Coastguard Worker // System parameter configuration. 176*d5c09012SAndroid Build Coastguard Worker SystemParameters system_parameters = 29; 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker // Output only. The source information for this configuration if available. 179*d5c09012SAndroid Build Coastguard Worker SourceInfo source_info = 37; 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker // Settings for [Google Cloud Client 182*d5c09012SAndroid Build Coastguard Worker // libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) 183*d5c09012SAndroid Build Coastguard Worker // generated from APIs defined as protocol buffers. 184*d5c09012SAndroid Build Coastguard Worker Publishing publishing = 45; 185*d5c09012SAndroid Build Coastguard Worker 186*d5c09012SAndroid Build Coastguard Worker // Obsolete. Do not use. 187*d5c09012SAndroid Build Coastguard Worker // 188*d5c09012SAndroid Build Coastguard Worker // This field has no semantic meaning. The service config compiler always 189*d5c09012SAndroid Build Coastguard Worker // sets this field to `3`. 190*d5c09012SAndroid Build Coastguard Worker google.protobuf.UInt32Value config_version = 20; 191*d5c09012SAndroid Build Coastguard Worker} 192