resource.pb.go raw
1 // Copyright 2025 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
15 // Code generated by protoc-gen-go. DO NOT EDIT.
16 // versions:
17 // protoc-gen-go v1.26.0
18 // protoc v4.24.4
19 // source: google/api/resource.proto
20
21 package annotations
22
23 import (
24 reflect "reflect"
25 sync "sync"
26
27 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29 descriptorpb "google.golang.org/protobuf/types/descriptorpb"
30 )
31
32 const (
33 // Verify that this generated code is sufficiently up-to-date.
34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
35 // Verify that runtime/protoimpl is sufficiently up-to-date.
36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
37 )
38
39 // A description of the historical or future-looking state of the
40 // resource pattern.
41 type ResourceDescriptor_History int32
42
43 const (
44 // The "unset" value.
45 ResourceDescriptor_HISTORY_UNSPECIFIED ResourceDescriptor_History = 0
46 // The resource originally had one pattern and launched as such, and
47 // additional patterns were added later.
48 ResourceDescriptor_ORIGINALLY_SINGLE_PATTERN ResourceDescriptor_History = 1
49 // The resource has one pattern, but the API owner expects to add more
50 // later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
51 // that from being necessary once there are multiple patterns.)
52 ResourceDescriptor_FUTURE_MULTI_PATTERN ResourceDescriptor_History = 2
53 )
54
55 // Enum value maps for ResourceDescriptor_History.
56 var (
57 ResourceDescriptor_History_name = map[int32]string{
58 0: "HISTORY_UNSPECIFIED",
59 1: "ORIGINALLY_SINGLE_PATTERN",
60 2: "FUTURE_MULTI_PATTERN",
61 }
62 ResourceDescriptor_History_value = map[string]int32{
63 "HISTORY_UNSPECIFIED": 0,
64 "ORIGINALLY_SINGLE_PATTERN": 1,
65 "FUTURE_MULTI_PATTERN": 2,
66 }
67 )
68
69 func (x ResourceDescriptor_History) Enum() *ResourceDescriptor_History {
70 p := new(ResourceDescriptor_History)
71 *p = x
72 return p
73 }
74
75 func (x ResourceDescriptor_History) String() string {
76 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
77 }
78
79 func (ResourceDescriptor_History) Descriptor() protoreflect.EnumDescriptor {
80 return file_google_api_resource_proto_enumTypes[0].Descriptor()
81 }
82
83 func (ResourceDescriptor_History) Type() protoreflect.EnumType {
84 return &file_google_api_resource_proto_enumTypes[0]
85 }
86
87 func (x ResourceDescriptor_History) Number() protoreflect.EnumNumber {
88 return protoreflect.EnumNumber(x)
89 }
90
91 // Deprecated: Use ResourceDescriptor_History.Descriptor instead.
92 func (ResourceDescriptor_History) EnumDescriptor() ([]byte, []int) {
93 return file_google_api_resource_proto_rawDescGZIP(), []int{0, 0}
94 }
95
96 // A flag representing a specific style that a resource claims to conform to.
97 type ResourceDescriptor_Style int32
98
99 const (
100 // The unspecified value. Do not use.
101 ResourceDescriptor_STYLE_UNSPECIFIED ResourceDescriptor_Style = 0
102 // This resource is intended to be "declarative-friendly".
103 //
104 // Declarative-friendly resources must be more strictly consistent, and
105 // setting this to true communicates to tools that this resource should
106 // adhere to declarative-friendly expectations.
107 //
108 // Note: This is used by the API linter (linter.aip.dev) to enable
109 // additional checks.
110 ResourceDescriptor_DECLARATIVE_FRIENDLY ResourceDescriptor_Style = 1
111 )
112
113 // Enum value maps for ResourceDescriptor_Style.
114 var (
115 ResourceDescriptor_Style_name = map[int32]string{
116 0: "STYLE_UNSPECIFIED",
117 1: "DECLARATIVE_FRIENDLY",
118 }
119 ResourceDescriptor_Style_value = map[string]int32{
120 "STYLE_UNSPECIFIED": 0,
121 "DECLARATIVE_FRIENDLY": 1,
122 }
123 )
124
125 func (x ResourceDescriptor_Style) Enum() *ResourceDescriptor_Style {
126 p := new(ResourceDescriptor_Style)
127 *p = x
128 return p
129 }
130
131 func (x ResourceDescriptor_Style) String() string {
132 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
133 }
134
135 func (ResourceDescriptor_Style) Descriptor() protoreflect.EnumDescriptor {
136 return file_google_api_resource_proto_enumTypes[1].Descriptor()
137 }
138
139 func (ResourceDescriptor_Style) Type() protoreflect.EnumType {
140 return &file_google_api_resource_proto_enumTypes[1]
141 }
142
143 func (x ResourceDescriptor_Style) Number() protoreflect.EnumNumber {
144 return protoreflect.EnumNumber(x)
145 }
146
147 // Deprecated: Use ResourceDescriptor_Style.Descriptor instead.
148 func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
149 return file_google_api_resource_proto_rawDescGZIP(), []int{0, 1}
150 }
151
152 // A simple descriptor of a resource type.
153 //
154 // ResourceDescriptor annotates a resource message (either by means of a
155 // protobuf annotation or use in the service config), and associates the
156 // resource's schema, the resource type, and the pattern of the resource name.
157 //
158 // Example:
159 //
160 // message Topic {
161 // // Indicates this message defines a resource schema.
162 // // Declares the resource type in the format of {service}/{kind}.
163 // // For Kubernetes resources, the format is {api group}/{kind}.
164 // option (google.api.resource) = {
165 // type: "pubsub.googleapis.com/Topic"
166 // pattern: "projects/{project}/topics/{topic}"
167 // };
168 // }
169 //
170 // The ResourceDescriptor Yaml config will look like:
171 //
172 // resources:
173 // - type: "pubsub.googleapis.com/Topic"
174 // pattern: "projects/{project}/topics/{topic}"
175 //
176 // Sometimes, resources have multiple patterns, typically because they can
177 // live under multiple parents.
178 //
179 // Example:
180 //
181 // message LogEntry {
182 // option (google.api.resource) = {
183 // type: "logging.googleapis.com/LogEntry"
184 // pattern: "projects/{project}/logs/{log}"
185 // pattern: "folders/{folder}/logs/{log}"
186 // pattern: "organizations/{organization}/logs/{log}"
187 // pattern: "billingAccounts/{billing_account}/logs/{log}"
188 // };
189 // }
190 //
191 // The ResourceDescriptor Yaml config will look like:
192 //
193 // resources:
194 // - type: 'logging.googleapis.com/LogEntry'
195 // pattern: "projects/{project}/logs/{log}"
196 // pattern: "folders/{folder}/logs/{log}"
197 // pattern: "organizations/{organization}/logs/{log}"
198 // pattern: "billingAccounts/{billing_account}/logs/{log}"
199 type ResourceDescriptor struct {
200 state protoimpl.MessageState
201 sizeCache protoimpl.SizeCache
202 unknownFields protoimpl.UnknownFields
203
204 // The resource type. It must be in the format of
205 // {service_name}/{resource_type_kind}. The `resource_type_kind` must be
206 // singular and must not include version numbers.
207 //
208 // Example: `storage.googleapis.com/Bucket`
209 //
210 // The value of the resource_type_kind must follow the regular expression
211 // /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
212 // should use PascalCase (UpperCamelCase). The maximum number of
213 // characters allowed for the `resource_type_kind` is 100.
214 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
215 // Optional. The relative resource name pattern associated with this resource
216 // type. The DNS prefix of the full resource name shouldn't be specified here.
217 //
218 // The path pattern must follow the syntax, which aligns with HTTP binding
219 // syntax:
220 //
221 // Template = Segment { "/" Segment } ;
222 // Segment = LITERAL | Variable ;
223 // Variable = "{" LITERAL "}" ;
224 //
225 // Examples:
226 //
227 // - "projects/{project}/topics/{topic}"
228 // - "projects/{project}/knowledgeBases/{knowledge_base}"
229 //
230 // The components in braces correspond to the IDs for each resource in the
231 // hierarchy. It is expected that, if multiple patterns are provided,
232 // the same component name (e.g. "project") refers to IDs of the same
233 // type of resource.
234 Pattern []string `protobuf:"bytes,2,rep,name=pattern,proto3" json:"pattern,omitempty"`
235 // Optional. The field on the resource that designates the resource name
236 // field. If omitted, this is assumed to be "name".
237 NameField string `protobuf:"bytes,3,opt,name=name_field,json=nameField,proto3" json:"name_field,omitempty"`
238 // Optional. The historical or future-looking state of the resource pattern.
239 //
240 // Example:
241 //
242 // // The InspectTemplate message originally only supported resource
243 // // names with organization, and project was added later.
244 // message InspectTemplate {
245 // option (google.api.resource) = {
246 // type: "dlp.googleapis.com/InspectTemplate"
247 // pattern:
248 // "organizations/{organization}/inspectTemplates/{inspect_template}"
249 // pattern: "projects/{project}/inspectTemplates/{inspect_template}"
250 // history: ORIGINALLY_SINGLE_PATTERN
251 // };
252 // }
253 History ResourceDescriptor_History `protobuf:"varint,4,opt,name=history,proto3,enum=google.api.ResourceDescriptor_History" json:"history,omitempty"`
254 // The plural name used in the resource name and permission names, such as
255 // 'projects' for the resource name of 'projects/{project}' and the permission
256 // name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
257 // to this is for Nested Collections that have stuttering names, as defined
258 // in [AIP-122](https://google.aip.dev/122#nested-collections), where the
259 // collection ID in the resource name pattern does not necessarily directly
260 // match the `plural` value.
261 //
262 // It is the same concept of the `plural` field in k8s CRD spec
263 // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
264 //
265 // Note: The plural form is required even for singleton resources. See
266 // https://aip.dev/156
267 Plural string `protobuf:"bytes,5,opt,name=plural,proto3" json:"plural,omitempty"`
268 // The same concept of the `singular` field in k8s CRD spec
269 // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
270 // Such as "project" for the `resourcemanager.googleapis.com/Project` type.
271 Singular string `protobuf:"bytes,6,opt,name=singular,proto3" json:"singular,omitempty"`
272 // Style flag(s) for this resource.
273 // These indicate that a resource is expected to conform to a given
274 // style. See the specific style flags for additional information.
275 Style []ResourceDescriptor_Style `protobuf:"varint,10,rep,packed,name=style,proto3,enum=google.api.ResourceDescriptor_Style" json:"style,omitempty"`
276 }
277
278 func (x *ResourceDescriptor) Reset() {
279 *x = ResourceDescriptor{}
280 if protoimpl.UnsafeEnabled {
281 mi := &file_google_api_resource_proto_msgTypes[0]
282 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283 ms.StoreMessageInfo(mi)
284 }
285 }
286
287 func (x *ResourceDescriptor) String() string {
288 return protoimpl.X.MessageStringOf(x)
289 }
290
291 func (*ResourceDescriptor) ProtoMessage() {}
292
293 func (x *ResourceDescriptor) ProtoReflect() protoreflect.Message {
294 mi := &file_google_api_resource_proto_msgTypes[0]
295 if protoimpl.UnsafeEnabled && x != nil {
296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297 if ms.LoadMessageInfo() == nil {
298 ms.StoreMessageInfo(mi)
299 }
300 return ms
301 }
302 return mi.MessageOf(x)
303 }
304
305 // Deprecated: Use ResourceDescriptor.ProtoReflect.Descriptor instead.
306 func (*ResourceDescriptor) Descriptor() ([]byte, []int) {
307 return file_google_api_resource_proto_rawDescGZIP(), []int{0}
308 }
309
310 func (x *ResourceDescriptor) GetType() string {
311 if x != nil {
312 return x.Type
313 }
314 return ""
315 }
316
317 func (x *ResourceDescriptor) GetPattern() []string {
318 if x != nil {
319 return x.Pattern
320 }
321 return nil
322 }
323
324 func (x *ResourceDescriptor) GetNameField() string {
325 if x != nil {
326 return x.NameField
327 }
328 return ""
329 }
330
331 func (x *ResourceDescriptor) GetHistory() ResourceDescriptor_History {
332 if x != nil {
333 return x.History
334 }
335 return ResourceDescriptor_HISTORY_UNSPECIFIED
336 }
337
338 func (x *ResourceDescriptor) GetPlural() string {
339 if x != nil {
340 return x.Plural
341 }
342 return ""
343 }
344
345 func (x *ResourceDescriptor) GetSingular() string {
346 if x != nil {
347 return x.Singular
348 }
349 return ""
350 }
351
352 func (x *ResourceDescriptor) GetStyle() []ResourceDescriptor_Style {
353 if x != nil {
354 return x.Style
355 }
356 return nil
357 }
358
359 // Defines a proto annotation that describes a string field that refers to
360 // an API resource.
361 type ResourceReference struct {
362 state protoimpl.MessageState
363 sizeCache protoimpl.SizeCache
364 unknownFields protoimpl.UnknownFields
365
366 // The resource type that the annotated field references.
367 //
368 // Example:
369 //
370 // message Subscription {
371 // string topic = 2 [(google.api.resource_reference) = {
372 // type: "pubsub.googleapis.com/Topic"
373 // }];
374 // }
375 //
376 // Occasionally, a field may reference an arbitrary resource. In this case,
377 // APIs use the special value * in their resource reference.
378 //
379 // Example:
380 //
381 // message GetIamPolicyRequest {
382 // string resource = 2 [(google.api.resource_reference) = {
383 // type: "*"
384 // }];
385 // }
386 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
387 // The resource type of a child collection that the annotated field
388 // references. This is useful for annotating the `parent` field that
389 // doesn't have a fixed resource type.
390 //
391 // Example:
392 //
393 // message ListLogEntriesRequest {
394 // string parent = 1 [(google.api.resource_reference) = {
395 // child_type: "logging.googleapis.com/LogEntry"
396 // };
397 // }
398 ChildType string `protobuf:"bytes,2,opt,name=child_type,json=childType,proto3" json:"child_type,omitempty"`
399 }
400
401 func (x *ResourceReference) Reset() {
402 *x = ResourceReference{}
403 if protoimpl.UnsafeEnabled {
404 mi := &file_google_api_resource_proto_msgTypes[1]
405 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
406 ms.StoreMessageInfo(mi)
407 }
408 }
409
410 func (x *ResourceReference) String() string {
411 return protoimpl.X.MessageStringOf(x)
412 }
413
414 func (*ResourceReference) ProtoMessage() {}
415
416 func (x *ResourceReference) ProtoReflect() protoreflect.Message {
417 mi := &file_google_api_resource_proto_msgTypes[1]
418 if protoimpl.UnsafeEnabled && x != nil {
419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
420 if ms.LoadMessageInfo() == nil {
421 ms.StoreMessageInfo(mi)
422 }
423 return ms
424 }
425 return mi.MessageOf(x)
426 }
427
428 // Deprecated: Use ResourceReference.ProtoReflect.Descriptor instead.
429 func (*ResourceReference) Descriptor() ([]byte, []int) {
430 return file_google_api_resource_proto_rawDescGZIP(), []int{1}
431 }
432
433 func (x *ResourceReference) GetType() string {
434 if x != nil {
435 return x.Type
436 }
437 return ""
438 }
439
440 func (x *ResourceReference) GetChildType() string {
441 if x != nil {
442 return x.ChildType
443 }
444 return ""
445 }
446
447 var file_google_api_resource_proto_extTypes = []protoimpl.ExtensionInfo{
448 {
449 ExtendedType: (*descriptorpb.FieldOptions)(nil),
450 ExtensionType: (*ResourceReference)(nil),
451 Field: 1055,
452 Name: "google.api.resource_reference",
453 Tag: "bytes,1055,opt,name=resource_reference",
454 Filename: "google/api/resource.proto",
455 },
456 {
457 ExtendedType: (*descriptorpb.FileOptions)(nil),
458 ExtensionType: ([]*ResourceDescriptor)(nil),
459 Field: 1053,
460 Name: "google.api.resource_definition",
461 Tag: "bytes,1053,rep,name=resource_definition",
462 Filename: "google/api/resource.proto",
463 },
464 {
465 ExtendedType: (*descriptorpb.MessageOptions)(nil),
466 ExtensionType: (*ResourceDescriptor)(nil),
467 Field: 1053,
468 Name: "google.api.resource",
469 Tag: "bytes,1053,opt,name=resource",
470 Filename: "google/api/resource.proto",
471 },
472 }
473
474 // Extension fields to descriptorpb.FieldOptions.
475 var (
476 // An annotation that describes a resource reference, see
477 // [ResourceReference][].
478 //
479 // optional google.api.ResourceReference resource_reference = 1055;
480 E_ResourceReference = &file_google_api_resource_proto_extTypes[0]
481 )
482
483 // Extension fields to descriptorpb.FileOptions.
484 var (
485 // An annotation that describes a resource definition without a corresponding
486 // message; see [ResourceDescriptor][].
487 //
488 // repeated google.api.ResourceDescriptor resource_definition = 1053;
489 E_ResourceDefinition = &file_google_api_resource_proto_extTypes[1]
490 )
491
492 // Extension fields to descriptorpb.MessageOptions.
493 var (
494 // An annotation that describes a resource definition, see
495 // [ResourceDescriptor][].
496 //
497 // optional google.api.ResourceDescriptor resource = 1053;
498 E_Resource = &file_google_api_resource_proto_extTypes[2]
499 )
500
501 var File_google_api_resource_proto protoreflect.FileDescriptor
502
503 var file_google_api_resource_proto_rawDesc = []byte{
504 0x0a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
505 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f,
506 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
507 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
508 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x12, 0x52, 0x65,
509 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
510 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
511 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18,
512 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1d,
513 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01,
514 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x40, 0x0a,
515 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
516 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f,
517 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x48,
518 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
519 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
520 0x06, 0x70, 0x6c, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x67, 0x75,
521 0x6c, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x67, 0x75,
522 0x6c, 0x61, 0x72, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x03,
523 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
524 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
525 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22,
526 0x5b, 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x49,
527 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
528 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x4c,
529 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x54, 0x45, 0x52, 0x4e,
530 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x55, 0x4c,
531 0x54, 0x49, 0x5f, 0x50, 0x41, 0x54, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x05,
532 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55,
533 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14,
534 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x46, 0x52, 0x49, 0x45,
535 0x4e, 0x44, 0x4c, 0x59, 0x10, 0x01, 0x22, 0x46, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
536 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74,
537 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
538 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
539 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x6c,
540 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72,
541 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
542 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
543 0x6f, 0x6e, 0x73, 0x18, 0x9f, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
544 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
545 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75,
546 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x6e, 0x0a, 0x13,
547 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
548 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
549 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
550 0x73, 0x18, 0x9d, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
551 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65,
552 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
553 0x63, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x5c, 0x0a, 0x08,
554 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
555 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
556 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9d, 0x08, 0x20, 0x01, 0x28, 0x0b,
557 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
558 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
559 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x6b, 0x0a, 0x0e, 0x63, 0x6f,
560 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0d, 0x52, 0x65,
561 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67,
562 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
563 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
564 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
565 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
566 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
567 }
568
569 var (
570 file_google_api_resource_proto_rawDescOnce sync.Once
571 file_google_api_resource_proto_rawDescData = file_google_api_resource_proto_rawDesc
572 )
573
574 func file_google_api_resource_proto_rawDescGZIP() []byte {
575 file_google_api_resource_proto_rawDescOnce.Do(func() {
576 file_google_api_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_resource_proto_rawDescData)
577 })
578 return file_google_api_resource_proto_rawDescData
579 }
580
581 var file_google_api_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
582 var file_google_api_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
583 var file_google_api_resource_proto_goTypes = []interface{}{
584 (ResourceDescriptor_History)(0), // 0: google.api.ResourceDescriptor.History
585 (ResourceDescriptor_Style)(0), // 1: google.api.ResourceDescriptor.Style
586 (*ResourceDescriptor)(nil), // 2: google.api.ResourceDescriptor
587 (*ResourceReference)(nil), // 3: google.api.ResourceReference
588 (*descriptorpb.FieldOptions)(nil), // 4: google.protobuf.FieldOptions
589 (*descriptorpb.FileOptions)(nil), // 5: google.protobuf.FileOptions
590 (*descriptorpb.MessageOptions)(nil), // 6: google.protobuf.MessageOptions
591 }
592 var file_google_api_resource_proto_depIdxs = []int32{
593 0, // 0: google.api.ResourceDescriptor.history:type_name -> google.api.ResourceDescriptor.History
594 1, // 1: google.api.ResourceDescriptor.style:type_name -> google.api.ResourceDescriptor.Style
595 4, // 2: google.api.resource_reference:extendee -> google.protobuf.FieldOptions
596 5, // 3: google.api.resource_definition:extendee -> google.protobuf.FileOptions
597 6, // 4: google.api.resource:extendee -> google.protobuf.MessageOptions
598 3, // 5: google.api.resource_reference:type_name -> google.api.ResourceReference
599 2, // 6: google.api.resource_definition:type_name -> google.api.ResourceDescriptor
600 2, // 7: google.api.resource:type_name -> google.api.ResourceDescriptor
601 8, // [8:8] is the sub-list for method output_type
602 8, // [8:8] is the sub-list for method input_type
603 5, // [5:8] is the sub-list for extension type_name
604 2, // [2:5] is the sub-list for extension extendee
605 0, // [0:2] is the sub-list for field type_name
606 }
607
608 func init() { file_google_api_resource_proto_init() }
609 func file_google_api_resource_proto_init() {
610 if File_google_api_resource_proto != nil {
611 return
612 }
613 if !protoimpl.UnsafeEnabled {
614 file_google_api_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
615 switch v := v.(*ResourceDescriptor); i {
616 case 0:
617 return &v.state
618 case 1:
619 return &v.sizeCache
620 case 2:
621 return &v.unknownFields
622 default:
623 return nil
624 }
625 }
626 file_google_api_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
627 switch v := v.(*ResourceReference); i {
628 case 0:
629 return &v.state
630 case 1:
631 return &v.sizeCache
632 case 2:
633 return &v.unknownFields
634 default:
635 return nil
636 }
637 }
638 }
639 type x struct{}
640 out := protoimpl.TypeBuilder{
641 File: protoimpl.DescBuilder{
642 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
643 RawDescriptor: file_google_api_resource_proto_rawDesc,
644 NumEnums: 2,
645 NumMessages: 2,
646 NumExtensions: 3,
647 NumServices: 0,
648 },
649 GoTypes: file_google_api_resource_proto_goTypes,
650 DependencyIndexes: file_google_api_resource_proto_depIdxs,
651 EnumInfos: file_google_api_resource_proto_enumTypes,
652 MessageInfos: file_google_api_resource_proto_msgTypes,
653 ExtensionInfos: file_google_api_resource_proto_extTypes,
654 }.Build()
655 File_google_api_resource_proto = out.File
656 file_google_api_resource_proto_rawDesc = nil
657 file_google_api_resource_proto_goTypes = nil
658 file_google_api_resource_proto_depIdxs = nil
659 }
660