// 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/api/annotations.proto"; option java_multiple_files = true; option java_outer_classname = "EndpointProto"; option java_package = "com.google.api"; option objc_class_prefix = "GAPI"; // `Endpoint` describes a network endpoint that serves a set of APIs. // A service may expose any number of endpoints, and all endpoints share the // same service configuration, such as quota configuration and monitoring // configuration. // // Example service configuration: // // name: library-example.googleapis.com // endpoints: // # Below entry makes 'google.example.library.v1.Library' // # API be served from endpoint address library-example.googleapis.com. // # It also allows HTTP OPTIONS calls to be passed to the backend, for // # it to decide whether the subsequent cross-origin request is // # allowed to proceed. // - name: library-example.googleapis.com // apis: google.example.library.v1.Library // allow_cors: true // # Below entry makes 'google.example.library.v1.Library' // # API be served from endpoint address // # google.example.library-example.v1.LibraryManager. // - name: library-manager.googleapis.com // apis: google.example.library.v1.LibraryManager // # BNS address for a borg job. Can specify a task by appending // # "/taskId" (e.g. "/0") to the job spec. // // Example OpenAPI extension for endpoint with allow_cors set to true: // // { // "swagger": "2.0", // "info": { // "description": "A simple..." // }, // "host": "MY_PROJECT_ID.appspot.com", // "x-google-endpoints": [{ // "name": "MY_PROJECT_ID.appspot.com", // "allow_cors": "true" // }] // } message Endpoint { // The canonical name of this endpoint. string name = 1; // DEPRECATED: This field is no longer supported. Instead of using aliases, // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intented // alias. // // Additional names that this endpoint will be hosted on. repeated string aliases = 2; // The list of APIs served by this endpoint. repeated string apis = 3; // The list of features enabled on this endpoint. repeated string features = 4; // Allowing // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka // cross-domain traffic, would allow the backends served from this endpoint to // receive and respond to HTTP OPTIONS requests. The response will be used by // the browser to determine whether the subsequent cross-origin request is // allowed to proceed. bool allow_cors = 5; }