| // Copyright 2016 Google Inc. |
| // |
| // 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.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto"; // from google/api/auth.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto"; // from google/api/backend.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/context.proto"; // from google/api/context.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/control.proto"; // from google/api/control.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto"; // from google/api/documentation.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto"; // from google/api/endpoint.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/http.proto"; // from google/api/http.proto |
| import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/log.proto"; // from google/api/log.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto"; // from google/api/logging.proto |
| import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto |
| import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto"; // from google/api/monitoring.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto"; // from google/api/system_parameter.proto |
| import "google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto"; // from google/api/usage.proto |
| import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto |
| import "google.golang.org/genproto/protobuf/api.proto"; // from google/protobuf/api.proto |
| import "google.golang.org/genproto/protobuf/type.proto"; // from google/protobuf/type.proto |
| import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto |
| |
| 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 the configuration schema. It |
| // describes basic information like the name of the service and the |
| // exposed API interfaces, and delegates other aspects to configuration |
| // sub-sections. |
| // |
| // Example: |
| // |
| // type: google.api.Service |
| // config_version: 1 |
| // name: calendar.googleapis.com |
| // title: Google Calendar API |
| // apis: |
| // - name: google.calendar.Calendar |
| // backend: |
| // rules: |
| // - selector: "*" |
| // address: calendar.example.com |
| message Service { |
| // The version of the service configuration. The config version may |
| // influence interpretation of the configuration, for example, to |
| // determine defaults. This is documented together with applicable |
| // options. The current default for the config version itself is `3`. |
| google.protobuf.UInt32Value config_version = 20; |
| |
| // The DNS address at which this service is available, |
| // e.g. `calendar.googleapis.com`. |
| string name = 1; |
| |
| // A unique ID for a specific instance of this message, typically assigned |
| // by the client for tracking purpose. If empty, the server may choose to |
| // generate one instead. |
| string id = 33; |
| |
| // The product title associated with this service. |
| string title = 2; |
| |
| // The id of the Google developer project that owns the service. |
| // Members of this project can manage the service configuration, |
| // manage consumption of the service, etc. |
| string producer_project_id = 22; |
| |
| // 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. 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. 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; |
| |
| // 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; |
| |
| // Logging configuration of the service. |
| Logging logging = 27; |
| |
| // Monitoring configuration of the service. |
| Monitoring monitoring = 28; |
| |
| // Configuration for system parameters. |
| SystemParameters system_parameters = 29; |
| } |