codekingpro/portable-devtools
114k
1// Copyright 2023 Google LLC2//3// Licensed under the Apache License, Version 2.0 (the "License");4// you may not use this file except in compliance with the License.5// You may obtain a copy of the License at6//7// http://www.apache.org/licenses/LICENSE-2.08//9// Unless required by applicable law or agreed to in writing, software10// distributed under the License is distributed on an "AS IS" BASIS,11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12// See the License for the specific language governing permissions and13// limitations under the License.14 15syntax = "proto3";16 17package google.api;18 19import "google/api/auth.proto";20import "google/api/backend.proto";21import "google/api/billing.proto";22import "google/api/client.proto";23import "google/api/context.proto";24import "google/api/control.proto";25import "google/api/documentation.proto";26import "google/api/endpoint.proto";27import "google/api/http.proto";28import "google/api/log.proto";29import "google/api/logging.proto";30import "google/api/metric.proto";31import "google/api/monitored_resource.proto";32import "google/api/monitoring.proto";33import "google/api/quota.proto";34import "google/api/source_info.proto";35import "google/api/system_parameter.proto";36import "google/api/usage.proto";37import "google/protobuf/api.proto";38import "google/protobuf/type.proto";39import "google/protobuf/wrappers.proto";40 41option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";42option java_multiple_files = true;43option java_outer_classname = "ServiceProto";44option java_package = "com.google.api";45option objc_class_prefix = "GAPI";46 47// `Service` is the root object of Google API service configuration (service48// config). It describes the basic information about a logical service,49// such as the service name and the user-facing title, and delegates other50// aspects to sub-sections. Each sub-section is either a proto message or a51// repeated proto message that configures a specific aspect, such as auth.52// For more information, see each proto message definition.53//54// Example:55//56// type: google.api.Service57// name: calendar.googleapis.com58// title: Google Calendar API59// apis:60// - name: google.calendar.v3.Calendar61//62// visibility:63// rules:64// - selector: "google.calendar.v3.*"65// restriction: PREVIEW66// backend:67// rules:68// - selector: "google.calendar.v3.*"69// address: calendar.example.com70//71// authentication:72// providers:73// - id: google_calendar_auth74// jwks_uri: https://www.googleapis.com/oauth2/v1/certs75// issuer: https://securetoken.google.com76// rules:77// - selector: "*"78// requirements:79// provider_id: google_calendar_auth80message Service {81 // The service name, which is a DNS-like logical identifier for the82 // service, such as `calendar.googleapis.com`. The service name83 // typically goes through DNS verification to make sure the owner84 // of the service also owns the DNS name.85 string name = 1;86 87 // The product title for this service, it is the name displayed in Google88 // Cloud Console.89 string title = 2;90 91 // The Google project that owns this service.92 string producer_project_id = 22;93 94 // A unique ID for a specific instance of this message, typically assigned95 // by the client for tracking purpose. Must be no longer than 63 characters96 // and only lower case letters, digits, '.', '_' and '-' are allowed. If97 // empty, the server may choose to generate one instead.98 string id = 33;99 100 // A list of API interfaces exported by this service. Only the `name` field101 // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by102 // the configuration author, as the remaining fields will be derived from the103 // IDL during the normalization process. It is an error to specify an API104 // interface here which cannot be resolved against the associated IDL files.105 repeated google.protobuf.Api apis = 3;106 107 // A list of all proto message types included in this API service.108 // Types referenced directly or indirectly by the `apis` are automatically109 // included. Messages which are not referenced but shall be included, such as110 // types used by the `google.protobuf.Any` type, should be listed here by111 // name by the configuration author. Example:112 //113 // types:114 // - name: google.protobuf.Int32115 repeated google.protobuf.Type types = 4;116 117 // A list of all enum types included in this API service. Enums referenced118 // directly or indirectly by the `apis` are automatically included. Enums119 // which are not referenced but shall be included should be listed here by120 // name by the configuration author. Example:121 //122 // enums:123 // - name: google.someapi.v1.SomeEnum124 repeated google.protobuf.Enum enums = 5;125 126 // Additional API documentation.127 Documentation documentation = 6;128 129 // API backend configuration.130 Backend backend = 8;131 132 // HTTP configuration.133 Http http = 9;134 135 // Quota configuration.136 Quota quota = 10;137 138 // Auth configuration.139 Authentication authentication = 11;140 141 // Context configuration.142 Context context = 12;143 144 // Configuration controlling usage of this service.145 Usage usage = 15;146 147 // Configuration for network endpoints. If this is empty, then an endpoint148 // with the same name as the service is automatically generated to service all149 // defined APIs.150 repeated Endpoint endpoints = 18;151 152 // Configuration for the service control plane.153 Control control = 21;154 155 // Defines the logs used by this service.156 repeated LogDescriptor logs = 23;157 158 // Defines the metrics used by this service.159 repeated MetricDescriptor metrics = 24;160 161 // Defines the monitored resources used by this service. This is required162 // by the [Service.monitoring][google.api.Service.monitoring] and163 // [Service.logging][google.api.Service.logging] configurations.164 repeated MonitoredResourceDescriptor monitored_resources = 25;165 166 // Billing configuration.167 Billing billing = 26;168 169 // Logging configuration.170 Logging logging = 27;171 172 // Monitoring configuration.173 Monitoring monitoring = 28;174 175 // System parameter configuration.176 SystemParameters system_parameters = 29;177 178 // Output only. The source information for this configuration if available.179 SourceInfo source_info = 37;180 181 // Settings for [Google Cloud Client182 // libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)183 // generated from APIs defined as protocol buffers.184 Publishing publishing = 45;185 186 // Obsolete. Do not use.187 //188 // This field has no semantic meaning. The service config compiler always189 // sets this field to `3`.190 google.protobuf.UInt32Value config_version = 20;191}192 