1// Copyright 2023 Google LLC 2// 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 at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// 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 and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.api; 18 19option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 20option java_multiple_files = true; 21option java_outer_classname = "EndpointProto"; 22option java_package = "com.google.api"; 23option objc_class_prefix = "GAPI"; 24 25// `Endpoint` describes a network address of a service that serves a set of 26// APIs. It is commonly known as a service endpoint. A service may expose 27// any number of service endpoints, and all service endpoints share the same 28// service definition, such as quota limits and monitoring metrics. 29// 30// Example: 31// 32// type: google.api.Service 33// name: library-example.googleapis.com 34// endpoints: 35// # Declares network address `https://library-example.googleapis.com` 36// # for service `library-example.googleapis.com`. The `https` scheme 37// # is implicit for all service endpoints. Other schemes may be 38// # supported in the future. 39// - name: library-example.googleapis.com 40// allow_cors: false 41// - name: content-staging-library-example.googleapis.com 42// # Allows HTTP OPTIONS calls to be passed to the API frontend, for it 43// # to decide whether the subsequent cross-origin request is allowed 44// # to proceed. 45// allow_cors: true 46message Endpoint { 47 // The canonical name of this endpoint. 48 string name = 1; 49 50 // Unimplemented. Dot not use. 51 // 52 // DEPRECATED: This field is no longer supported. Instead of using aliases, 53 // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each 54 // of the intended aliases. 55 // 56 // Additional names that this endpoint will be hosted on. 57 repeated string aliases = 2 [deprecated = true]; 58 59 // The specification of an Internet routable address of API frontend that will 60 // handle requests to this [API 61 // Endpoint](https://cloud.google.com/apis/design/glossary). It should be 62 // either a valid IPv4 address or a fully-qualified domain name. For example, 63 // "8.8.8.8" or "myservice.appspot.com". 64 string target = 101; 65 66 // Allowing 67 // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka 68 // cross-domain traffic, would allow the backends served from this endpoint to 69 // receive and respond to HTTP OPTIONS requests. The response will be used by 70 // the browser to determine whether the subsequent cross-origin request is 71 // allowed to proceed. 72 bool allow_cors = 5; 73} 74