blob: 4f34ab73cba11f846c72641f56d3a94268d5dce6 [file] [log] [blame]
khenaidoo7d3c5582021-08-11 18:09:44 -04001// Copyright 2015 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
Holger Hildebrandtfa074992020-03-27 15:42:06 +000015// Code generated by protoc-gen-go. DO NOT EDIT.
khenaidoo7d3c5582021-08-11 18:09:44 -040016// versions:
17// protoc-gen-go v1.26.0
18// protoc v3.12.2
Holger Hildebrandtfa074992020-03-27 15:42:06 +000019// source: google/api/http.proto
20
21package annotations
22
23import (
khenaidoo7d3c5582021-08-11 18:09:44 -040024 reflect "reflect"
25 sync "sync"
Holger Hildebrandtfa074992020-03-27 15:42:06 +000026
khenaidoo7d3c5582021-08-11 18:09:44 -040027 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
Holger Hildebrandtfa074992020-03-27 15:42:06 +000029)
30
khenaidoo7d3c5582021-08-11 18:09:44 -040031const (
32 // Verify that this generated code is sufficiently up-to-date.
33 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
34 // Verify that runtime/protoimpl is sufficiently up-to-date.
35 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
36)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000037
38// Defines the HTTP configuration for an API service. It contains a list of
39// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
40// to one or more HTTP REST API methods.
41type Http struct {
khenaidoo7d3c5582021-08-11 18:09:44 -040042 state protoimpl.MessageState
43 sizeCache protoimpl.SizeCache
44 unknownFields protoimpl.UnknownFields
45
Holger Hildebrandtfa074992020-03-27 15:42:06 +000046 // A list of HTTP configuration rules that apply to individual API methods.
47 //
48 // **NOTE:** All service configuration rules follow "last one wins" order.
49 Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
50 // When set to true, URL path parameters will be fully URI-decoded except in
51 // cases of single segment matches in reserved expansion, where "%2F" will be
52 // left encoded.
53 //
54 // The default behavior is to not decode RFC 6570 reserved characters in multi
55 // segment matches.
khenaidoo7d3c5582021-08-11 18:09:44 -040056 FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"`
Holger Hildebrandtfa074992020-03-27 15:42:06 +000057}
58
khenaidoo7d3c5582021-08-11 18:09:44 -040059func (x *Http) Reset() {
60 *x = Http{}
61 if protoimpl.UnsafeEnabled {
62 mi := &file_google_api_http_proto_msgTypes[0]
63 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
64 ms.StoreMessageInfo(mi)
65 }
66}
67
68func (x *Http) String() string {
69 return protoimpl.X.MessageStringOf(x)
70}
71
72func (*Http) ProtoMessage() {}
73
74func (x *Http) ProtoReflect() protoreflect.Message {
75 mi := &file_google_api_http_proto_msgTypes[0]
76 if protoimpl.UnsafeEnabled && x != nil {
77 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
78 if ms.LoadMessageInfo() == nil {
79 ms.StoreMessageInfo(mi)
80 }
81 return ms
82 }
83 return mi.MessageOf(x)
84}
85
86// Deprecated: Use Http.ProtoReflect.Descriptor instead.
Holger Hildebrandtfa074992020-03-27 15:42:06 +000087func (*Http) Descriptor() ([]byte, []int) {
khenaidoo7d3c5582021-08-11 18:09:44 -040088 return file_google_api_http_proto_rawDescGZIP(), []int{0}
Holger Hildebrandtfa074992020-03-27 15:42:06 +000089}
90
khenaidoo7d3c5582021-08-11 18:09:44 -040091func (x *Http) GetRules() []*HttpRule {
92 if x != nil {
93 return x.Rules
Holger Hildebrandtfa074992020-03-27 15:42:06 +000094 }
95 return nil
96}
97
khenaidoo7d3c5582021-08-11 18:09:44 -040098func (x *Http) GetFullyDecodeReservedExpansion() bool {
99 if x != nil {
100 return x.FullyDecodeReservedExpansion
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000101 }
102 return false
103}
104
105// # gRPC Transcoding
106//
107// gRPC Transcoding is a feature for mapping between a gRPC method and one or
108// more HTTP REST endpoints. It allows developers to build a single API service
109// that supports both gRPC APIs and REST APIs. Many systems, including [Google
110// APIs](https://github.com/googleapis/googleapis),
111// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
112// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
113// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
114// and use it for large scale production services.
115//
116// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
117// how different portions of the gRPC request message are mapped to the URL
118// path, URL query parameters, and HTTP request body. It also controls how the
119// gRPC response message is mapped to the HTTP response body. `HttpRule` is
120// typically specified as an `google.api.http` annotation on the gRPC method.
121//
122// Each mapping specifies a URL path template and an HTTP method. The path
123// template may refer to one or more fields in the gRPC request message, as long
124// as each field is a non-repeated field with a primitive (non-message) type.
125// The path template controls how fields of the request message are mapped to
126// the URL path.
127//
128// Example:
129//
130// service Messaging {
131// rpc GetMessage(GetMessageRequest) returns (Message) {
132// option (google.api.http) = {
133// get: "/v1/{name=messages/*}"
134// };
135// }
136// }
137// message GetMessageRequest {
138// string name = 1; // Mapped to URL path.
139// }
140// message Message {
141// string text = 1; // The resource content.
142// }
143//
144// This enables an HTTP REST to gRPC mapping as below:
145//
146// HTTP | gRPC
147// -----|-----
148// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
149//
150// Any fields in the request message which are not bound by the path template
151// automatically become HTTP query parameters if there is no HTTP request body.
152// For example:
153//
154// service Messaging {
155// rpc GetMessage(GetMessageRequest) returns (Message) {
156// option (google.api.http) = {
157// get:"/v1/messages/{message_id}"
158// };
159// }
160// }
161// message GetMessageRequest {
162// message SubMessage {
163// string subfield = 1;
164// }
165// string message_id = 1; // Mapped to URL path.
166// int64 revision = 2; // Mapped to URL query parameter `revision`.
167// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
168// }
169//
170// This enables a HTTP JSON to RPC mapping as below:
171//
172// HTTP | gRPC
173// -----|-----
174// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
175// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
176// "foo"))`
177//
178// Note that fields which are mapped to URL query parameters must have a
179// primitive type or a repeated primitive type or a non-repeated message type.
180// In the case of a repeated type, the parameter can be repeated in the URL
181// as `...?param=A&param=B`. In the case of a message type, each field of the
182// message is mapped to a separate parameter, such as
183// `...?foo.a=A&foo.b=B&foo.c=C`.
184//
185// For HTTP methods that allow a request body, the `body` field
186// specifies the mapping. Consider a REST update method on the
187// message resource collection:
188//
189// service Messaging {
190// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
191// option (google.api.http) = {
192// patch: "/v1/messages/{message_id}"
193// body: "message"
194// };
195// }
196// }
197// message UpdateMessageRequest {
198// string message_id = 1; // mapped to the URL
199// Message message = 2; // mapped to the body
200// }
201//
202// The following HTTP JSON to RPC mapping is enabled, where the
203// representation of the JSON in the request body is determined by
204// protos JSON encoding:
205//
206// HTTP | gRPC
207// -----|-----
208// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
209// "123456" message { text: "Hi!" })`
210//
211// The special name `*` can be used in the body mapping to define that
212// every field not bound by the path template should be mapped to the
213// request body. This enables the following alternative definition of
214// the update method:
215//
216// service Messaging {
217// rpc UpdateMessage(Message) returns (Message) {
218// option (google.api.http) = {
219// patch: "/v1/messages/{message_id}"
220// body: "*"
221// };
222// }
223// }
224// message Message {
225// string message_id = 1;
226// string text = 2;
227// }
228//
229//
230// The following HTTP JSON to RPC mapping is enabled:
231//
232// HTTP | gRPC
233// -----|-----
234// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
235// "123456" text: "Hi!")`
236//
237// Note that when using `*` in the body mapping, it is not possible to
238// have HTTP parameters, as all fields not bound by the path end in
239// the body. This makes this option more rarely used in practice when
240// defining REST APIs. The common usage of `*` is in custom methods
241// which don't use the URL at all for transferring data.
242//
243// It is possible to define multiple HTTP methods for one RPC by using
244// the `additional_bindings` option. Example:
245//
246// service Messaging {
247// rpc GetMessage(GetMessageRequest) returns (Message) {
248// option (google.api.http) = {
249// get: "/v1/messages/{message_id}"
250// additional_bindings {
251// get: "/v1/users/{user_id}/messages/{message_id}"
252// }
253// };
254// }
255// }
256// message GetMessageRequest {
257// string message_id = 1;
258// string user_id = 2;
259// }
260//
261// This enables the following two alternative HTTP JSON to RPC mappings:
262//
263// HTTP | gRPC
264// -----|-----
265// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
266// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
267// "123456")`
268//
269// ## Rules for HTTP mapping
270//
271// 1. Leaf request fields (recursive expansion nested messages in the request
272// message) are classified into three categories:
273// - Fields referred by the path template. They are passed via the URL path.
274// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
275// request body.
276// - All other fields are passed via the URL query parameters, and the
277// parameter name is the field path in the request message. A repeated
278// field can be represented as multiple query parameters under the same
279// name.
280// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
281// are passed via URL path and HTTP request body.
282// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
283// fields are passed via URL path and URL query parameters.
284//
285// ### Path template syntax
286//
287// Template = "/" Segments [ Verb ] ;
288// Segments = Segment { "/" Segment } ;
289// Segment = "*" | "**" | LITERAL | Variable ;
290// Variable = "{" FieldPath [ "=" Segments ] "}" ;
291// FieldPath = IDENT { "." IDENT } ;
292// Verb = ":" LITERAL ;
293//
294// The syntax `*` matches a single URL path segment. The syntax `**` matches
295// zero or more URL path segments, which must be the last part of the URL path
296// except the `Verb`.
297//
298// The syntax `Variable` matches part of the URL path as specified by its
299// template. A variable template must not contain other variables. If a variable
300// matches a single path segment, its template may be omitted, e.g. `{var}`
301// is equivalent to `{var=*}`.
302//
303// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
304// contains any reserved character, such characters should be percent-encoded
305// before the matching.
306//
307// If a variable contains exactly one path segment, such as `"{var}"` or
308// `"{var=*}"`, when such a variable is expanded into a URL path on the client
309// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
310// server side does the reverse decoding. Such variables show up in the
311// [Discovery
312// Document](https://developers.google.com/discovery/v1/reference/apis) as
313// `{var}`.
314//
315// If a variable contains multiple path segments, such as `"{var=foo/*}"`
316// or `"{var=**}"`, when such a variable is expanded into a URL path on the
317// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
318// The server side does the reverse decoding, except "%2F" and "%2f" are left
319// unchanged. Such variables show up in the
320// [Discovery
321// Document](https://developers.google.com/discovery/v1/reference/apis) as
322// `{+var}`.
323//
324// ## Using gRPC API Service Configuration
325//
326// gRPC API Service Configuration (service config) is a configuration language
327// for configuring a gRPC service to become a user-facing product. The
328// service config is simply the YAML representation of the `google.api.Service`
329// proto message.
330//
331// As an alternative to annotating your proto file, you can configure gRPC
332// transcoding in your service config YAML files. You do this by specifying a
333// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
334// effect as the proto annotation. This can be particularly useful if you
335// have a proto that is reused in multiple services. Note that any transcoding
336// specified in the service config will override any matching transcoding
337// configuration in the proto.
338//
339// Example:
340//
341// http:
342// rules:
343// # Selects a gRPC method and applies HttpRule to it.
344// - selector: example.v1.Messaging.GetMessage
345// get: /v1/messages/{message_id}/{sub.subfield}
346//
347// ## Special notes
348//
349// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
350// proto to JSON conversion must follow the [proto3
351// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
352//
353// While the single segment variable follows the semantics of
354// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
355// Expansion, the multi segment variable **does not** follow RFC 6570 Section
356// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
357// does not expand special characters like `?` and `#`, which would lead
358// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
359// for multi segment variables.
360//
361// The path variables **must not** refer to any repeated or mapped field,
362// because client libraries are not capable of handling such variable expansion.
363//
364// The path variables **must not** capture the leading "/" character. The reason
365// is that the most common use case "{var}" does not capture the leading "/"
366// character. For consistency, all path variables must share the same behavior.
367//
368// Repeated message fields must not be mapped to URL query parameters, because
369// no client library can support such complicated mapping.
370//
371// If an API needs to use a JSON array for request or response body, it can map
372// the request or response body to a repeated field. However, some gRPC
373// Transcoding implementations may not support this feature.
374type HttpRule struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400375 state protoimpl.MessageState
376 sizeCache protoimpl.SizeCache
377 unknownFields protoimpl.UnknownFields
378
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000379 // Selects a method to which this rule applies.
380 //
381 // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
382 Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
383 // Determines the URL pattern is matched by this rules. This pattern can be
384 // used with any of the {get|put|post|delete|patch} methods. A custom method
385 // can be defined using the 'custom' field.
386 //
khenaidoo7d3c5582021-08-11 18:09:44 -0400387 // Types that are assignable to Pattern:
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000388 // *HttpRule_Get
389 // *HttpRule_Put
390 // *HttpRule_Post
391 // *HttpRule_Delete
392 // *HttpRule_Patch
393 // *HttpRule_Custom
394 Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
395 // The name of the request field whose value is mapped to the HTTP request
396 // body, or `*` for mapping all request fields not captured by the path
397 // pattern to the HTTP body, or omitted for not having any HTTP request body.
398 //
399 // NOTE: the referred field must be present at the top-level of the request
400 // message type.
401 Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
402 // Optional. The name of the response field whose value is mapped to the HTTP
403 // response body. When omitted, the entire response message will be used
404 // as the HTTP response body.
405 //
406 // NOTE: The referred field must be present at the top-level of the response
407 // message type.
408 ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
409 // Additional HTTP bindings for the selector. Nested bindings must
410 // not contain an `additional_bindings` field themselves (that is,
411 // the nesting may only be one level deep).
khenaidoo7d3c5582021-08-11 18:09:44 -0400412 AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"`
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000413}
414
khenaidoo7d3c5582021-08-11 18:09:44 -0400415func (x *HttpRule) Reset() {
416 *x = HttpRule{}
417 if protoimpl.UnsafeEnabled {
418 mi := &file_google_api_http_proto_msgTypes[1]
419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
420 ms.StoreMessageInfo(mi)
421 }
422}
423
424func (x *HttpRule) String() string {
425 return protoimpl.X.MessageStringOf(x)
426}
427
428func (*HttpRule) ProtoMessage() {}
429
430func (x *HttpRule) ProtoReflect() protoreflect.Message {
431 mi := &file_google_api_http_proto_msgTypes[1]
432 if protoimpl.UnsafeEnabled && x != nil {
433 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
434 if ms.LoadMessageInfo() == nil {
435 ms.StoreMessageInfo(mi)
436 }
437 return ms
438 }
439 return mi.MessageOf(x)
440}
441
442// Deprecated: Use HttpRule.ProtoReflect.Descriptor instead.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000443func (*HttpRule) Descriptor() ([]byte, []int) {
khenaidoo7d3c5582021-08-11 18:09:44 -0400444 return file_google_api_http_proto_rawDescGZIP(), []int{1}
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000445}
446
khenaidoo7d3c5582021-08-11 18:09:44 -0400447func (x *HttpRule) GetSelector() string {
448 if x != nil {
449 return x.Selector
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000450 }
451 return ""
452}
453
khenaidoo7d3c5582021-08-11 18:09:44 -0400454func (m *HttpRule) GetPattern() isHttpRule_Pattern {
455 if m != nil {
456 return m.Pattern
457 }
458 return nil
459}
460
461func (x *HttpRule) GetGet() string {
462 if x, ok := x.GetPattern().(*HttpRule_Get); ok {
463 return x.Get
464 }
465 return ""
466}
467
468func (x *HttpRule) GetPut() string {
469 if x, ok := x.GetPattern().(*HttpRule_Put); ok {
470 return x.Put
471 }
472 return ""
473}
474
475func (x *HttpRule) GetPost() string {
476 if x, ok := x.GetPattern().(*HttpRule_Post); ok {
477 return x.Post
478 }
479 return ""
480}
481
482func (x *HttpRule) GetDelete() string {
483 if x, ok := x.GetPattern().(*HttpRule_Delete); ok {
484 return x.Delete
485 }
486 return ""
487}
488
489func (x *HttpRule) GetPatch() string {
490 if x, ok := x.GetPattern().(*HttpRule_Patch); ok {
491 return x.Patch
492 }
493 return ""
494}
495
496func (x *HttpRule) GetCustom() *CustomHttpPattern {
497 if x, ok := x.GetPattern().(*HttpRule_Custom); ok {
498 return x.Custom
499 }
500 return nil
501}
502
503func (x *HttpRule) GetBody() string {
504 if x != nil {
505 return x.Body
506 }
507 return ""
508}
509
510func (x *HttpRule) GetResponseBody() string {
511 if x != nil {
512 return x.ResponseBody
513 }
514 return ""
515}
516
517func (x *HttpRule) GetAdditionalBindings() []*HttpRule {
518 if x != nil {
519 return x.AdditionalBindings
520 }
521 return nil
522}
523
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000524type isHttpRule_Pattern interface {
525 isHttpRule_Pattern()
526}
527
528type HttpRule_Get struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400529 // Maps to HTTP GET. Used for listing and getting information about
530 // resources.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000531 Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"`
532}
533
534type HttpRule_Put struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400535 // Maps to HTTP PUT. Used for replacing a resource.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000536 Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"`
537}
538
539type HttpRule_Post struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400540 // Maps to HTTP POST. Used for creating a resource or performing an action.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000541 Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"`
542}
543
544type HttpRule_Delete struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400545 // Maps to HTTP DELETE. Used for deleting a resource.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000546 Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
547}
548
549type HttpRule_Patch struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400550 // Maps to HTTP PATCH. Used for updating a resource.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000551 Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"`
552}
553
554type HttpRule_Custom struct {
khenaidoo7d3c5582021-08-11 18:09:44 -0400555 // The custom pattern is used for specifying an HTTP method that is not
556 // included in the `pattern` field, such as HEAD, or "*" to leave the
557 // HTTP method unspecified for this rule. The wild-card rule is useful
558 // for services that provide content to Web (HTML) clients.
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000559 Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
560}
561
562func (*HttpRule_Get) isHttpRule_Pattern() {}
563
564func (*HttpRule_Put) isHttpRule_Pattern() {}
565
566func (*HttpRule_Post) isHttpRule_Pattern() {}
567
568func (*HttpRule_Delete) isHttpRule_Pattern() {}
569
570func (*HttpRule_Patch) isHttpRule_Pattern() {}
571
572func (*HttpRule_Custom) isHttpRule_Pattern() {}
573
khenaidoo7d3c5582021-08-11 18:09:44 -0400574// A custom pattern is used for defining custom HTTP verb.
575type CustomHttpPattern struct {
576 state protoimpl.MessageState
577 sizeCache protoimpl.SizeCache
578 unknownFields protoimpl.UnknownFields
579
580 // The name of this custom HTTP verb.
581 Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
582 // The path matched by this custom verb.
583 Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000584}
585
khenaidoo7d3c5582021-08-11 18:09:44 -0400586func (x *CustomHttpPattern) Reset() {
587 *x = CustomHttpPattern{}
588 if protoimpl.UnsafeEnabled {
589 mi := &file_google_api_http_proto_msgTypes[2]
590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
591 ms.StoreMessageInfo(mi)
592 }
593}
594
595func (x *CustomHttpPattern) String() string {
596 return protoimpl.X.MessageStringOf(x)
597}
598
599func (*CustomHttpPattern) ProtoMessage() {}
600
601func (x *CustomHttpPattern) ProtoReflect() protoreflect.Message {
602 mi := &file_google_api_http_proto_msgTypes[2]
603 if protoimpl.UnsafeEnabled && x != nil {
604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
605 if ms.LoadMessageInfo() == nil {
606 ms.StoreMessageInfo(mi)
607 }
608 return ms
609 }
610 return mi.MessageOf(x)
611}
612
613// Deprecated: Use CustomHttpPattern.ProtoReflect.Descriptor instead.
614func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
615 return file_google_api_http_proto_rawDescGZIP(), []int{2}
616}
617
618func (x *CustomHttpPattern) GetKind() string {
619 if x != nil {
620 return x.Kind
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000621 }
622 return ""
623}
624
khenaidoo7d3c5582021-08-11 18:09:44 -0400625func (x *CustomHttpPattern) GetPath() string {
626 if x != nil {
627 return x.Path
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000628 }
629 return ""
630}
631
khenaidoo7d3c5582021-08-11 18:09:44 -0400632var File_google_api_http_proto protoreflect.FileDescriptor
633
634var file_google_api_http_proto_rawDesc = []byte{
635 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74,
636 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
637 0x61, 0x70, 0x69, 0x22, 0x79, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x72,
638 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
639 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65,
640 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x75, 0x6c, 0x6c, 0x79,
641 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
642 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
643 0x52, 0x1c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73,
644 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda,
645 0x02, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73,
646 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73,
647 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x02,
648 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x70,
649 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, 0x75, 0x74, 0x12,
650 0x14, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
651 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18,
652 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
653 0x16, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
654 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f,
655 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
656 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50,
657 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
658 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
659 0x62, 0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
660 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
661 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x13, 0x61, 0x64, 0x64,
662 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
663 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
664 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x12, 0x61, 0x64,
665 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
666 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x3b, 0x0a, 0x11, 0x43,
667 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
668 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
669 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
670 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e,
671 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70,
672 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
673 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
674 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61,
675 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61,
676 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04,
677 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000678}
679
khenaidoo7d3c5582021-08-11 18:09:44 -0400680var (
681 file_google_api_http_proto_rawDescOnce sync.Once
682 file_google_api_http_proto_rawDescData = file_google_api_http_proto_rawDesc
683)
684
685func file_google_api_http_proto_rawDescGZIP() []byte {
686 file_google_api_http_proto_rawDescOnce.Do(func() {
687 file_google_api_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_http_proto_rawDescData)
688 })
689 return file_google_api_http_proto_rawDescData
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000690}
691
khenaidoo7d3c5582021-08-11 18:09:44 -0400692var file_google_api_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
693var file_google_api_http_proto_goTypes = []interface{}{
694 (*Http)(nil), // 0: google.api.Http
695 (*HttpRule)(nil), // 1: google.api.HttpRule
696 (*CustomHttpPattern)(nil), // 2: google.api.CustomHttpPattern
697}
698var file_google_api_http_proto_depIdxs = []int32{
699 1, // 0: google.api.Http.rules:type_name -> google.api.HttpRule
700 2, // 1: google.api.HttpRule.custom:type_name -> google.api.CustomHttpPattern
701 1, // 2: google.api.HttpRule.additional_bindings:type_name -> google.api.HttpRule
702 3, // [3:3] is the sub-list for method output_type
703 3, // [3:3] is the sub-list for method input_type
704 3, // [3:3] is the sub-list for extension type_name
705 3, // [3:3] is the sub-list for extension extendee
706 0, // [0:3] is the sub-list for field type_name
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000707}
708
khenaidoo7d3c5582021-08-11 18:09:44 -0400709func init() { file_google_api_http_proto_init() }
710func file_google_api_http_proto_init() {
711 if File_google_api_http_proto != nil {
712 return
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000713 }
khenaidoo7d3c5582021-08-11 18:09:44 -0400714 if !protoimpl.UnsafeEnabled {
715 file_google_api_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
716 switch v := v.(*Http); i {
717 case 0:
718 return &v.state
719 case 1:
720 return &v.sizeCache
721 case 2:
722 return &v.unknownFields
723 default:
724 return nil
725 }
726 }
727 file_google_api_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
728 switch v := v.(*HttpRule); i {
729 case 0:
730 return &v.state
731 case 1:
732 return &v.sizeCache
733 case 2:
734 return &v.unknownFields
735 default:
736 return nil
737 }
738 }
739 file_google_api_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
740 switch v := v.(*CustomHttpPattern); i {
741 case 0:
742 return &v.state
743 case 1:
744 return &v.sizeCache
745 case 2:
746 return &v.unknownFields
747 default:
748 return nil
749 }
750 }
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000751 }
khenaidoo7d3c5582021-08-11 18:09:44 -0400752 file_google_api_http_proto_msgTypes[1].OneofWrappers = []interface{}{
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000753 (*HttpRule_Get)(nil),
754 (*HttpRule_Put)(nil),
755 (*HttpRule_Post)(nil),
756 (*HttpRule_Delete)(nil),
757 (*HttpRule_Patch)(nil),
758 (*HttpRule_Custom)(nil),
759 }
khenaidoo7d3c5582021-08-11 18:09:44 -0400760 type x struct{}
761 out := protoimpl.TypeBuilder{
762 File: protoimpl.DescBuilder{
763 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
764 RawDescriptor: file_google_api_http_proto_rawDesc,
765 NumEnums: 0,
766 NumMessages: 3,
767 NumExtensions: 0,
768 NumServices: 0,
769 },
770 GoTypes: file_google_api_http_proto_goTypes,
771 DependencyIndexes: file_google_api_http_proto_depIdxs,
772 MessageInfos: file_google_api_http_proto_msgTypes,
773 }.Build()
774 File_google_api_http_proto = out.File
775 file_google_api_http_proto_rawDesc = nil
776 file_google_api_http_proto_goTypes = nil
777 file_google_api_http_proto_depIdxs = nil
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000778}