1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/api/backend.proto
3
4package serviceconfig
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11)
12
13// Reference imports to suppress errors if they are not otherwise used.
14var _ = proto.Marshal
15var _ = fmt.Errorf
16var _ = math.Inf
17
18// This is a compile-time assertion to ensure that this generated file
19// is compatible with the proto package it is being compiled against.
20// A compilation error at this line likely means your copy of the
21// proto package needs to be updated.
22const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
23
24// Path Translation specifies how to combine the backend address with the
25// request path in order to produce the appropriate forwarding URL for the
26// request.
27//
28// Path Translation is applicable only to HTTP-based backends. Backends which
29// do not accept requests over HTTP/HTTPS should leave `path_translation`
30// unspecified.
31type BackendRule_PathTranslation int32
32
33const (
34	BackendRule_PATH_TRANSLATION_UNSPECIFIED BackendRule_PathTranslation = 0
35	// Use the backend address as-is, with no modification to the path. If the
36	// URL pattern contains variables, the variable names and values will be
37	// appended to the query string. If a query string parameter and a URL
38	// pattern variable have the same name, this may result in duplicate keys in
39	// the query string.
40	//
41	// # Examples
42	//
43	// Given the following operation config:
44	//
45	//     Method path:        /api/company/{cid}/user/{uid}
46	//     Backend address:    https://example.cloudfunctions.net/getUser
47	//
48	// Requests to the following request paths will call the backend at the
49	// translated path:
50	//
51	//     Request path: /api/company/widgetworks/user/johndoe
52	//     Translated:
53	//     https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe
54	//
55	//     Request path: /api/company/widgetworks/user/johndoe?timezone=EST
56	//     Translated:
57	//     https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe
58	BackendRule_CONSTANT_ADDRESS BackendRule_PathTranslation = 1
59	// The request path will be appended to the backend address.
60	//
61	// # Examples
62	//
63	// Given the following operation config:
64	//
65	//     Method path:        /api/company/{cid}/user/{uid}
66	//     Backend address:    https://example.appspot.com
67	//
68	// Requests to the following request paths will call the backend at the
69	// translated path:
70	//
71	//     Request path: /api/company/widgetworks/user/johndoe
72	//     Translated:
73	//     https://example.appspot.com/api/company/widgetworks/user/johndoe
74	//
75	//     Request path: /api/company/widgetworks/user/johndoe?timezone=EST
76	//     Translated:
77	//     https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST
78	BackendRule_APPEND_PATH_TO_ADDRESS BackendRule_PathTranslation = 2
79)
80
81var BackendRule_PathTranslation_name = map[int32]string{
82	0: "PATH_TRANSLATION_UNSPECIFIED",
83	1: "CONSTANT_ADDRESS",
84	2: "APPEND_PATH_TO_ADDRESS",
85}
86
87var BackendRule_PathTranslation_value = map[string]int32{
88	"PATH_TRANSLATION_UNSPECIFIED": 0,
89	"CONSTANT_ADDRESS":             1,
90	"APPEND_PATH_TO_ADDRESS":       2,
91}
92
93func (x BackendRule_PathTranslation) String() string {
94	return proto.EnumName(BackendRule_PathTranslation_name, int32(x))
95}
96
97func (BackendRule_PathTranslation) EnumDescriptor() ([]byte, []int) {
98	return fileDescriptor_87d0f28daa3f64f0, []int{1, 0}
99}
100
101// `Backend` defines the backend configuration for a service.
102type Backend struct {
103	// A list of API backend rules that apply to individual API methods.
104	//
105	// **NOTE:** All service configuration rules follow "last one wins" order.
106	Rules                []*BackendRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
107	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
108	XXX_unrecognized     []byte         `json:"-"`
109	XXX_sizecache        int32          `json:"-"`
110}
111
112func (m *Backend) Reset()         { *m = Backend{} }
113func (m *Backend) String() string { return proto.CompactTextString(m) }
114func (*Backend) ProtoMessage()    {}
115func (*Backend) Descriptor() ([]byte, []int) {
116	return fileDescriptor_87d0f28daa3f64f0, []int{0}
117}
118
119func (m *Backend) XXX_Unmarshal(b []byte) error {
120	return xxx_messageInfo_Backend.Unmarshal(m, b)
121}
122func (m *Backend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
123	return xxx_messageInfo_Backend.Marshal(b, m, deterministic)
124}
125func (m *Backend) XXX_Merge(src proto.Message) {
126	xxx_messageInfo_Backend.Merge(m, src)
127}
128func (m *Backend) XXX_Size() int {
129	return xxx_messageInfo_Backend.Size(m)
130}
131func (m *Backend) XXX_DiscardUnknown() {
132	xxx_messageInfo_Backend.DiscardUnknown(m)
133}
134
135var xxx_messageInfo_Backend proto.InternalMessageInfo
136
137func (m *Backend) GetRules() []*BackendRule {
138	if m != nil {
139		return m.Rules
140	}
141	return nil
142}
143
144// A backend rule provides configuration for an individual API element.
145type BackendRule struct {
146	// Selects the methods to which this rule applies.
147	//
148	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
149	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
150	// The address of the API backend.
151	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
152	// The number of seconds to wait for a response from a request.  The default
153	// deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.
154	Deadline float64 `protobuf:"fixed64,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
155	// Minimum deadline in seconds needed for this method. Calls having deadline
156	// value lower than this will be rejected.
157	MinDeadline float64 `protobuf:"fixed64,4,opt,name=min_deadline,json=minDeadline,proto3" json:"min_deadline,omitempty"`
158	// The number of seconds to wait for the completion of a long running
159	// operation. The default is no deadline.
160	OperationDeadline float64                     `protobuf:"fixed64,5,opt,name=operation_deadline,json=operationDeadline,proto3" json:"operation_deadline,omitempty"`
161	PathTranslation   BackendRule_PathTranslation `protobuf:"varint,6,opt,name=path_translation,json=pathTranslation,proto3,enum=google.api.BackendRule_PathTranslation" json:"path_translation,omitempty"`
162	// Authentication settings used by the backend.
163	//
164	// These are typically used to provide service management functionality to
165	// a backend served on a publicly-routable URL. The `authentication`
166	// details should match the authentication behavior used by the backend.
167	//
168	// For example, specifying `jwt_audience` implies that the backend expects
169	// authentication via a JWT.
170	//
171	// Types that are valid to be assigned to Authentication:
172	//	*BackendRule_JwtAudience
173	Authentication       isBackendRule_Authentication `protobuf_oneof:"authentication"`
174	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
175	XXX_unrecognized     []byte                       `json:"-"`
176	XXX_sizecache        int32                        `json:"-"`
177}
178
179func (m *BackendRule) Reset()         { *m = BackendRule{} }
180func (m *BackendRule) String() string { return proto.CompactTextString(m) }
181func (*BackendRule) ProtoMessage()    {}
182func (*BackendRule) Descriptor() ([]byte, []int) {
183	return fileDescriptor_87d0f28daa3f64f0, []int{1}
184}
185
186func (m *BackendRule) XXX_Unmarshal(b []byte) error {
187	return xxx_messageInfo_BackendRule.Unmarshal(m, b)
188}
189func (m *BackendRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
190	return xxx_messageInfo_BackendRule.Marshal(b, m, deterministic)
191}
192func (m *BackendRule) XXX_Merge(src proto.Message) {
193	xxx_messageInfo_BackendRule.Merge(m, src)
194}
195func (m *BackendRule) XXX_Size() int {
196	return xxx_messageInfo_BackendRule.Size(m)
197}
198func (m *BackendRule) XXX_DiscardUnknown() {
199	xxx_messageInfo_BackendRule.DiscardUnknown(m)
200}
201
202var xxx_messageInfo_BackendRule proto.InternalMessageInfo
203
204func (m *BackendRule) GetSelector() string {
205	if m != nil {
206		return m.Selector
207	}
208	return ""
209}
210
211func (m *BackendRule) GetAddress() string {
212	if m != nil {
213		return m.Address
214	}
215	return ""
216}
217
218func (m *BackendRule) GetDeadline() float64 {
219	if m != nil {
220		return m.Deadline
221	}
222	return 0
223}
224
225func (m *BackendRule) GetMinDeadline() float64 {
226	if m != nil {
227		return m.MinDeadline
228	}
229	return 0
230}
231
232func (m *BackendRule) GetOperationDeadline() float64 {
233	if m != nil {
234		return m.OperationDeadline
235	}
236	return 0
237}
238
239func (m *BackendRule) GetPathTranslation() BackendRule_PathTranslation {
240	if m != nil {
241		return m.PathTranslation
242	}
243	return BackendRule_PATH_TRANSLATION_UNSPECIFIED
244}
245
246type isBackendRule_Authentication interface {
247	isBackendRule_Authentication()
248}
249
250type BackendRule_JwtAudience struct {
251	JwtAudience string `protobuf:"bytes,7,opt,name=jwt_audience,json=jwtAudience,proto3,oneof"`
252}
253
254func (*BackendRule_JwtAudience) isBackendRule_Authentication() {}
255
256func (m *BackendRule) GetAuthentication() isBackendRule_Authentication {
257	if m != nil {
258		return m.Authentication
259	}
260	return nil
261}
262
263func (m *BackendRule) GetJwtAudience() string {
264	if x, ok := m.GetAuthentication().(*BackendRule_JwtAudience); ok {
265		return x.JwtAudience
266	}
267	return ""
268}
269
270// XXX_OneofWrappers is for the internal use of the proto package.
271func (*BackendRule) XXX_OneofWrappers() []interface{} {
272	return []interface{}{
273		(*BackendRule_JwtAudience)(nil),
274	}
275}
276
277func init() {
278	proto.RegisterEnum("google.api.BackendRule_PathTranslation", BackendRule_PathTranslation_name, BackendRule_PathTranslation_value)
279	proto.RegisterType((*Backend)(nil), "google.api.Backend")
280	proto.RegisterType((*BackendRule)(nil), "google.api.BackendRule")
281}
282
283func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor_87d0f28daa3f64f0) }
284
285var fileDescriptor_87d0f28daa3f64f0 = []byte{
286	// 408 bytes of a gzipped FileDescriptorProto
287	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x41, 0x6f, 0xd3, 0x30,
288	0x14, 0xc7, 0x97, 0x76, 0x5b, 0xe1, 0xb5, 0xea, 0x82, 0x85, 0x20, 0x9a, 0x38, 0x84, 0x72, 0xa0,
289	0x97, 0xa5, 0xd2, 0xb8, 0x20, 0x71, 0x4a, 0x97, 0xc0, 0x2a, 0xa1, 0x34, 0x72, 0xc2, 0x85, 0x4b,
290	0xe4, 0x25, 0x8f, 0xd4, 0x23, 0xb5, 0x23, 0xc7, 0x65, 0xdf, 0x07, 0xbe, 0x28, 0xaa, 0x93, 0x65,
291	0x2d, 0x12, 0xc7, 0xff, 0xfb, 0xfd, 0x9e, 0xad, 0xbf, 0xf4, 0xc0, 0x29, 0xa5, 0x2c, 0x2b, 0x5c,
292	0xb0, 0x9a, 0x2f, 0xee, 0x58, 0xfe, 0x13, 0x45, 0xe1, 0xd5, 0x4a, 0x6a, 0x49, 0xa0, 0x25, 0x1e,
293	0xab, 0xf9, 0xec, 0x23, 0x8c, 0x96, 0x2d, 0x24, 0x57, 0x70, 0xa6, 0x76, 0x15, 0x36, 0x8e, 0xe5,
294	0x0e, 0xe7, 0xe3, 0xeb, 0xd7, 0xde, 0x93, 0xe6, 0x75, 0x0e, 0xdd, 0x55, 0x48, 0x5b, 0x6b, 0xf6,
295	0x67, 0x08, 0xe3, 0x83, 0x31, 0xb9, 0x84, 0x67, 0x0d, 0x56, 0x98, 0x6b, 0xa9, 0x1c, 0xcb, 0xb5,
296	0xe6, 0xcf, 0x69, 0x9f, 0x89, 0x03, 0x23, 0x56, 0x14, 0x0a, 0x9b, 0xc6, 0x19, 0x18, 0xf4, 0x18,
297	0xf7, 0x5b, 0x05, 0xb2, 0xa2, 0xe2, 0x02, 0x9d, 0xa1, 0x6b, 0xcd, 0x2d, 0xda, 0x67, 0xf2, 0x16,
298	0x26, 0x5b, 0x2e, 0xb2, 0x9e, 0x9f, 0x1a, 0x3e, 0xde, 0x72, 0x11, 0x3c, 0x2a, 0x57, 0x40, 0x64,
299	0x8d, 0x8a, 0x69, 0x2e, 0x0f, 0xc4, 0x33, 0x23, 0xbe, 0xe8, 0x49, 0xaf, 0x53, 0xb0, 0x6b, 0xa6,
300	0x37, 0x99, 0x56, 0x4c, 0x34, 0x95, 0x61, 0xce, 0xb9, 0x6b, 0xcd, 0xa7, 0xd7, 0xef, 0xff, 0xd3,
301	0xd6, 0x8b, 0x99, 0xde, 0xa4, 0x4f, 0x3a, 0xbd, 0xa8, 0x8f, 0x07, 0xe4, 0x1d, 0x4c, 0xee, 0x1f,
302	0x74, 0xc6, 0x76, 0x05, 0x47, 0x91, 0xa3, 0x33, 0xda, 0x17, 0xbc, 0x3d, 0xa1, 0xe3, 0xfb, 0x07,
303	0xed, 0x77, 0xc3, 0x19, 0xc2, 0xc5, 0x3f, 0x0f, 0x11, 0x17, 0xde, 0xc4, 0x7e, 0x7a, 0x9b, 0xa5,
304	0xd4, 0x8f, 0x92, 0xaf, 0x7e, 0xba, 0x5a, 0x47, 0xd9, 0xb7, 0x28, 0x89, 0xc3, 0x9b, 0xd5, 0xe7,
305	0x55, 0x18, 0xd8, 0x27, 0xe4, 0x25, 0xd8, 0x37, 0xeb, 0x28, 0x49, 0xfd, 0x28, 0xcd, 0xfc, 0x20,
306	0xa0, 0x61, 0x92, 0xd8, 0x16, 0xb9, 0x84, 0x57, 0x7e, 0x1c, 0x87, 0x51, 0x90, 0xb5, 0xeb, 0xeb,
307	0x9e, 0x0d, 0x96, 0x36, 0x4c, 0xd9, 0x4e, 0x6f, 0x50, 0x68, 0x9e, 0x9b, 0x5f, 0x96, 0x02, 0xa6,
308	0xb9, 0xdc, 0x1e, 0x94, 0x5b, 0x4e, 0xba, 0x76, 0xf1, 0xfe, 0x16, 0x62, 0xeb, 0x7b, 0xd8, 0xb1,
309	0x52, 0x56, 0x4c, 0x94, 0x9e, 0x54, 0xe5, 0xa2, 0x44, 0x61, 0x2e, 0x65, 0xd1, 0x22, 0x56, 0xf3,
310	0xc6, 0x9c, 0x51, 0x83, 0xea, 0x17, 0xcf, 0x31, 0x97, 0xe2, 0x07, 0x2f, 0x3f, 0x1d, 0xa5, 0xdf,
311	0x83, 0xd3, 0x2f, 0x7e, 0xbc, 0xba, 0x3b, 0x37, 0x8b, 0x1f, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff,
312	0x2b, 0x64, 0x62, 0xc8, 0x7e, 0x02, 0x00, 0x00,
313}
314