xref: /aosp_15_r20/external/googleapis/google/api/endpoint.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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