1// Copyright 2020 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        v3.12.2
19// source: google/storage/v1/storage_resources.proto
20
21package storage
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
30	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// A set of properties to return in a response.
41type CommonEnums_Projection int32
42
43const (
44	// No specified projection.
45	CommonEnums_PROJECTION_UNSPECIFIED CommonEnums_Projection = 0
46	// Omit `owner`, `acl`, and `defaultObjectAcl` properties.
47	CommonEnums_NO_ACL CommonEnums_Projection = 1
48	// Include all properties.
49	CommonEnums_FULL CommonEnums_Projection = 2
50)
51
52// Enum value maps for CommonEnums_Projection.
53var (
54	CommonEnums_Projection_name = map[int32]string{
55		0: "PROJECTION_UNSPECIFIED",
56		1: "NO_ACL",
57		2: "FULL",
58	}
59	CommonEnums_Projection_value = map[string]int32{
60		"PROJECTION_UNSPECIFIED": 0,
61		"NO_ACL":                 1,
62		"FULL":                   2,
63	}
64)
65
66func (x CommonEnums_Projection) Enum() *CommonEnums_Projection {
67	p := new(CommonEnums_Projection)
68	*p = x
69	return p
70}
71
72func (x CommonEnums_Projection) String() string {
73	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
74}
75
76func (CommonEnums_Projection) Descriptor() protoreflect.EnumDescriptor {
77	return file_google_storage_v1_storage_resources_proto_enumTypes[0].Descriptor()
78}
79
80func (CommonEnums_Projection) Type() protoreflect.EnumType {
81	return &file_google_storage_v1_storage_resources_proto_enumTypes[0]
82}
83
84func (x CommonEnums_Projection) Number() protoreflect.EnumNumber {
85	return protoreflect.EnumNumber(x)
86}
87
88// Deprecated: Use CommonEnums_Projection.Descriptor instead.
89func (CommonEnums_Projection) EnumDescriptor() ([]byte, []int) {
90	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 0}
91}
92
93// Predefined or "canned" aliases for sets of specific bucket ACL entries.
94type CommonEnums_PredefinedBucketAcl int32
95
96const (
97	// No predefined ACL.
98	CommonEnums_PREDEFINED_BUCKET_ACL_UNSPECIFIED CommonEnums_PredefinedBucketAcl = 0
99	// Project team owners get `OWNER` access, and
100	// `allAuthenticatedUsers` get `READER` access.
101	CommonEnums_BUCKET_ACL_AUTHENTICATED_READ CommonEnums_PredefinedBucketAcl = 1
102	// Project team owners get `OWNER` access.
103	CommonEnums_BUCKET_ACL_PRIVATE CommonEnums_PredefinedBucketAcl = 2
104	// Project team members get access according to their roles.
105	CommonEnums_BUCKET_ACL_PROJECT_PRIVATE CommonEnums_PredefinedBucketAcl = 3
106	// Project team owners get `OWNER` access, and
107	// `allUsers` get `READER` access.
108	CommonEnums_BUCKET_ACL_PUBLIC_READ CommonEnums_PredefinedBucketAcl = 4
109	// Project team owners get `OWNER` access, and
110	// `allUsers` get `WRITER` access.
111	CommonEnums_BUCKET_ACL_PUBLIC_READ_WRITE CommonEnums_PredefinedBucketAcl = 5
112)
113
114// Enum value maps for CommonEnums_PredefinedBucketAcl.
115var (
116	CommonEnums_PredefinedBucketAcl_name = map[int32]string{
117		0: "PREDEFINED_BUCKET_ACL_UNSPECIFIED",
118		1: "BUCKET_ACL_AUTHENTICATED_READ",
119		2: "BUCKET_ACL_PRIVATE",
120		3: "BUCKET_ACL_PROJECT_PRIVATE",
121		4: "BUCKET_ACL_PUBLIC_READ",
122		5: "BUCKET_ACL_PUBLIC_READ_WRITE",
123	}
124	CommonEnums_PredefinedBucketAcl_value = map[string]int32{
125		"PREDEFINED_BUCKET_ACL_UNSPECIFIED": 0,
126		"BUCKET_ACL_AUTHENTICATED_READ":     1,
127		"BUCKET_ACL_PRIVATE":                2,
128		"BUCKET_ACL_PROJECT_PRIVATE":        3,
129		"BUCKET_ACL_PUBLIC_READ":            4,
130		"BUCKET_ACL_PUBLIC_READ_WRITE":      5,
131	}
132)
133
134func (x CommonEnums_PredefinedBucketAcl) Enum() *CommonEnums_PredefinedBucketAcl {
135	p := new(CommonEnums_PredefinedBucketAcl)
136	*p = x
137	return p
138}
139
140func (x CommonEnums_PredefinedBucketAcl) String() string {
141	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
142}
143
144func (CommonEnums_PredefinedBucketAcl) Descriptor() protoreflect.EnumDescriptor {
145	return file_google_storage_v1_storage_resources_proto_enumTypes[1].Descriptor()
146}
147
148func (CommonEnums_PredefinedBucketAcl) Type() protoreflect.EnumType {
149	return &file_google_storage_v1_storage_resources_proto_enumTypes[1]
150}
151
152func (x CommonEnums_PredefinedBucketAcl) Number() protoreflect.EnumNumber {
153	return protoreflect.EnumNumber(x)
154}
155
156// Deprecated: Use CommonEnums_PredefinedBucketAcl.Descriptor instead.
157func (CommonEnums_PredefinedBucketAcl) EnumDescriptor() ([]byte, []int) {
158	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 1}
159}
160
161// Predefined or "canned" aliases for sets of specific object ACL entries.
162type CommonEnums_PredefinedObjectAcl int32
163
164const (
165	// No predefined ACL.
166	CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED CommonEnums_PredefinedObjectAcl = 0
167	// Object owner gets `OWNER` access, and
168	// `allAuthenticatedUsers` get `READER` access.
169	CommonEnums_OBJECT_ACL_AUTHENTICATED_READ CommonEnums_PredefinedObjectAcl = 1
170	// Object owner gets `OWNER` access, and project team owners get
171	// `OWNER` access.
172	CommonEnums_OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL CommonEnums_PredefinedObjectAcl = 2
173	// Object owner gets `OWNER` access, and project team owners get
174	// `READER` access.
175	CommonEnums_OBJECT_ACL_BUCKET_OWNER_READ CommonEnums_PredefinedObjectAcl = 3
176	// Object owner gets `OWNER` access.
177	CommonEnums_OBJECT_ACL_PRIVATE CommonEnums_PredefinedObjectAcl = 4
178	// Object owner gets `OWNER` access, and project team members get
179	// access according to their roles.
180	CommonEnums_OBJECT_ACL_PROJECT_PRIVATE CommonEnums_PredefinedObjectAcl = 5
181	// Object owner gets `OWNER` access, and `allUsers`
182	// get `READER` access.
183	CommonEnums_OBJECT_ACL_PUBLIC_READ CommonEnums_PredefinedObjectAcl = 6
184)
185
186// Enum value maps for CommonEnums_PredefinedObjectAcl.
187var (
188	CommonEnums_PredefinedObjectAcl_name = map[int32]string{
189		0: "PREDEFINED_OBJECT_ACL_UNSPECIFIED",
190		1: "OBJECT_ACL_AUTHENTICATED_READ",
191		2: "OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL",
192		3: "OBJECT_ACL_BUCKET_OWNER_READ",
193		4: "OBJECT_ACL_PRIVATE",
194		5: "OBJECT_ACL_PROJECT_PRIVATE",
195		6: "OBJECT_ACL_PUBLIC_READ",
196	}
197	CommonEnums_PredefinedObjectAcl_value = map[string]int32{
198		"PREDEFINED_OBJECT_ACL_UNSPECIFIED":    0,
199		"OBJECT_ACL_AUTHENTICATED_READ":        1,
200		"OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL": 2,
201		"OBJECT_ACL_BUCKET_OWNER_READ":         3,
202		"OBJECT_ACL_PRIVATE":                   4,
203		"OBJECT_ACL_PROJECT_PRIVATE":           5,
204		"OBJECT_ACL_PUBLIC_READ":               6,
205	}
206)
207
208func (x CommonEnums_PredefinedObjectAcl) Enum() *CommonEnums_PredefinedObjectAcl {
209	p := new(CommonEnums_PredefinedObjectAcl)
210	*p = x
211	return p
212}
213
214func (x CommonEnums_PredefinedObjectAcl) String() string {
215	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
216}
217
218func (CommonEnums_PredefinedObjectAcl) Descriptor() protoreflect.EnumDescriptor {
219	return file_google_storage_v1_storage_resources_proto_enumTypes[2].Descriptor()
220}
221
222func (CommonEnums_PredefinedObjectAcl) Type() protoreflect.EnumType {
223	return &file_google_storage_v1_storage_resources_proto_enumTypes[2]
224}
225
226func (x CommonEnums_PredefinedObjectAcl) Number() protoreflect.EnumNumber {
227	return protoreflect.EnumNumber(x)
228}
229
230// Deprecated: Use CommonEnums_PredefinedObjectAcl.Descriptor instead.
231func (CommonEnums_PredefinedObjectAcl) EnumDescriptor() ([]byte, []int) {
232	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 2}
233}
234
235// A bucket.
236type Bucket struct {
237	state         protoimpl.MessageState
238	sizeCache     protoimpl.SizeCache
239	unknownFields protoimpl.UnknownFields
240
241	// Access controls on the bucket.
242	Acl []*BucketAccessControl `protobuf:"bytes,1,rep,name=acl,proto3" json:"acl,omitempty"`
243	// Default access controls to apply to new objects when no ACL is provided.
244	DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,2,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"`
245	// The bucket's lifecycle configuration. See
246	// [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management]
247	// for more information.
248	Lifecycle *Bucket_Lifecycle `protobuf:"bytes,3,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
249	// The creation time of the bucket in
250	// [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
251	// Attempting to set this field will result in an error.
252	TimeCreated *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"`
253	// The ID of the bucket. For buckets, the `id` and `name` properties are the
254	// same.
255	// Attempting to update this field after the bucket is created will result in
256	// an error.
257	Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
258	// The name of the bucket.
259	// Attempting to update this field after the bucket is created will result in
260	// an error.
261	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
262	// The project number of the project the bucket belongs to.
263	// Attempting to set this field will result in an error.
264	ProjectNumber int64 `protobuf:"varint,7,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
265	// The metadata generation of this bucket.
266	// Attempting to set this field will result in an error.
267	Metageneration int64 `protobuf:"varint,8,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
268	// The bucket's [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing]
269	// (CORS) configuration.
270	Cors []*Bucket_Cors `protobuf:"bytes,9,rep,name=cors,proto3" json:"cors,omitempty"`
271	// The location of the bucket. Object data for objects in the bucket resides
272	// in physical storage within this region.  Defaults to `US`. See the
273	// [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's
274	// guide] for the authoritative list. Attempting to update this field after
275	// the bucket is created will result in an error.
276	Location string `protobuf:"bytes,10,opt,name=location,proto3" json:"location,omitempty"`
277	// The bucket's default storage class, used whenever no storageClass is
278	// specified for a newly-created object. This defines how objects in the
279	// bucket are stored and determines the SLA and the cost of storage.
280	// If this value is not specified when the bucket is created, it will default
281	// to `STANDARD`. For more information, see
282	// https://developers.google.com/storage/docs/storage-classes.
283	StorageClass string `protobuf:"bytes,11,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
284	// HTTP 1.1 [https://tools.ietf.org/html/rfc7232#section-2.3"]Entity tag]
285	// for the bucket.
286	// Attempting to set this field will result in an error.
287	Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"`
288	// The modification time of the bucket.
289	// Attempting to set this field will result in an error.
290	Updated *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated,proto3" json:"updated,omitempty"`
291	// The default value for event-based hold on newly created objects in this
292	// bucket.  Event-based hold is a way to retain objects indefinitely until an
293	// event occurs, signified by the
294	// hold's release. After being released, such objects will be subject to
295	// bucket-level retention (if any).  One sample use case of this flag is for
296	// banks to hold loan documents for at least 3 years after loan is paid in
297	// full. Here, bucket-level retention is 3 years and the event is loan being
298	// paid in full. In this example, these objects will be held intact for any
299	// number of years until the event has occurred (event-based hold on the
300	// object is released) and then 3 more years after that. That means retention
301	// duration of the objects begins from the moment event-based hold
302	// transitioned from true to false.  Objects under event-based hold cannot be
303	// deleted, overwritten or archived until the hold is removed.
304	DefaultEventBasedHold bool `protobuf:"varint,14,opt,name=default_event_based_hold,json=defaultEventBasedHold,proto3" json:"default_event_based_hold,omitempty"`
305	// User-provided labels, in key/value pairs.
306	Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
307	// The bucket's website configuration, controlling how the service behaves
308	// when accessing bucket contents as a web site. See the
309	// [https://cloud.google.com/storage/docs/static-website][Static Website
310	// Examples] for more information.
311	Website *Bucket_Website `protobuf:"bytes,16,opt,name=website,proto3" json:"website,omitempty"`
312	// The bucket's versioning configuration.
313	Versioning *Bucket_Versioning `protobuf:"bytes,17,opt,name=versioning,proto3" json:"versioning,omitempty"`
314	// The bucket's logging configuration, which defines the destination bucket
315	// and optional name prefix for the current bucket's logs.
316	Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"`
317	// The owner of the bucket. This is always the project team's owner group.
318	Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"`
319	// Encryption configuration for a bucket.
320	Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"`
321	// The bucket's billing configuration.
322	Billing *Bucket_Billing `protobuf:"bytes,21,opt,name=billing,proto3" json:"billing,omitempty"`
323	// The bucket's retention policy. The retention policy enforces a minimum
324	// retention time for all objects contained in the bucket, based on their
325	// creation time. Any attempt to overwrite or delete objects younger than the
326	// retention period will result in a PERMISSION_DENIED error.  An unlocked
327	// retention policy can be modified or removed from the bucket via a
328	// storage.buckets.update operation. A locked retention policy cannot be
329	// removed or shortened in duration for the lifetime of the bucket.
330	// Attempting to remove or decrease period of a locked retention policy will
331	// result in a PERMISSION_DENIED error.
332	RetentionPolicy *Bucket_RetentionPolicy `protobuf:"bytes,22,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"`
333	// The location type of the bucket (region, dual-region, multi-region, etc).
334	LocationType string `protobuf:"bytes,23,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"`
335	// The bucket's IAM configuration.
336	IamConfiguration *Bucket_IamConfiguration `protobuf:"bytes,24,opt,name=iam_configuration,json=iamConfiguration,proto3" json:"iam_configuration,omitempty"`
337	// The zone or zones from which the bucket is intended to use zonal quota.
338	// Requests for data from outside the specified affinities are still allowed
339	// but won’t be able to use zonal quota. The values are case-insensitive.
340	// Attempting to update this field after bucket is created will result in an
341	// error.
342	ZoneAffinity []string `protobuf:"bytes,25,rep,name=zone_affinity,json=zoneAffinity,proto3" json:"zone_affinity,omitempty"`
343}
344
345func (x *Bucket) Reset() {
346	*x = Bucket{}
347	if protoimpl.UnsafeEnabled {
348		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[0]
349		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
350		ms.StoreMessageInfo(mi)
351	}
352}
353
354func (x *Bucket) String() string {
355	return protoimpl.X.MessageStringOf(x)
356}
357
358func (*Bucket) ProtoMessage() {}
359
360func (x *Bucket) ProtoReflect() protoreflect.Message {
361	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[0]
362	if protoimpl.UnsafeEnabled && x != nil {
363		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
364		if ms.LoadMessageInfo() == nil {
365			ms.StoreMessageInfo(mi)
366		}
367		return ms
368	}
369	return mi.MessageOf(x)
370}
371
372// Deprecated: Use Bucket.ProtoReflect.Descriptor instead.
373func (*Bucket) Descriptor() ([]byte, []int) {
374	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0}
375}
376
377func (x *Bucket) GetAcl() []*BucketAccessControl {
378	if x != nil {
379		return x.Acl
380	}
381	return nil
382}
383
384func (x *Bucket) GetDefaultObjectAcl() []*ObjectAccessControl {
385	if x != nil {
386		return x.DefaultObjectAcl
387	}
388	return nil
389}
390
391func (x *Bucket) GetLifecycle() *Bucket_Lifecycle {
392	if x != nil {
393		return x.Lifecycle
394	}
395	return nil
396}
397
398func (x *Bucket) GetTimeCreated() *timestamppb.Timestamp {
399	if x != nil {
400		return x.TimeCreated
401	}
402	return nil
403}
404
405func (x *Bucket) GetId() string {
406	if x != nil {
407		return x.Id
408	}
409	return ""
410}
411
412func (x *Bucket) GetName() string {
413	if x != nil {
414		return x.Name
415	}
416	return ""
417}
418
419func (x *Bucket) GetProjectNumber() int64 {
420	if x != nil {
421		return x.ProjectNumber
422	}
423	return 0
424}
425
426func (x *Bucket) GetMetageneration() int64 {
427	if x != nil {
428		return x.Metageneration
429	}
430	return 0
431}
432
433func (x *Bucket) GetCors() []*Bucket_Cors {
434	if x != nil {
435		return x.Cors
436	}
437	return nil
438}
439
440func (x *Bucket) GetLocation() string {
441	if x != nil {
442		return x.Location
443	}
444	return ""
445}
446
447func (x *Bucket) GetStorageClass() string {
448	if x != nil {
449		return x.StorageClass
450	}
451	return ""
452}
453
454func (x *Bucket) GetEtag() string {
455	if x != nil {
456		return x.Etag
457	}
458	return ""
459}
460
461func (x *Bucket) GetUpdated() *timestamppb.Timestamp {
462	if x != nil {
463		return x.Updated
464	}
465	return nil
466}
467
468func (x *Bucket) GetDefaultEventBasedHold() bool {
469	if x != nil {
470		return x.DefaultEventBasedHold
471	}
472	return false
473}
474
475func (x *Bucket) GetLabels() map[string]string {
476	if x != nil {
477		return x.Labels
478	}
479	return nil
480}
481
482func (x *Bucket) GetWebsite() *Bucket_Website {
483	if x != nil {
484		return x.Website
485	}
486	return nil
487}
488
489func (x *Bucket) GetVersioning() *Bucket_Versioning {
490	if x != nil {
491		return x.Versioning
492	}
493	return nil
494}
495
496func (x *Bucket) GetLogging() *Bucket_Logging {
497	if x != nil {
498		return x.Logging
499	}
500	return nil
501}
502
503func (x *Bucket) GetOwner() *Owner {
504	if x != nil {
505		return x.Owner
506	}
507	return nil
508}
509
510func (x *Bucket) GetEncryption() *Bucket_Encryption {
511	if x != nil {
512		return x.Encryption
513	}
514	return nil
515}
516
517func (x *Bucket) GetBilling() *Bucket_Billing {
518	if x != nil {
519		return x.Billing
520	}
521	return nil
522}
523
524func (x *Bucket) GetRetentionPolicy() *Bucket_RetentionPolicy {
525	if x != nil {
526		return x.RetentionPolicy
527	}
528	return nil
529}
530
531func (x *Bucket) GetLocationType() string {
532	if x != nil {
533		return x.LocationType
534	}
535	return ""
536}
537
538func (x *Bucket) GetIamConfiguration() *Bucket_IamConfiguration {
539	if x != nil {
540		return x.IamConfiguration
541	}
542	return nil
543}
544
545func (x *Bucket) GetZoneAffinity() []string {
546	if x != nil {
547		return x.ZoneAffinity
548	}
549	return nil
550}
551
552// An access-control entry.
553type BucketAccessControl struct {
554	state         protoimpl.MessageState
555	sizeCache     protoimpl.SizeCache
556	unknownFields protoimpl.UnknownFields
557
558	// The access permission for the entity.
559	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
560	// HTTP 1.1 ["https://tools.ietf.org/html/rfc7232#section-2.3][Entity tag]
561	// for the access-control entry.
562	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
563	// The ID of the access-control entry.
564	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
565	// The name of the bucket.
566	Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"`
567	// The entity holding the permission, in one of the following forms:
568	// * `user-{userid}`
569	// * `user-{email}`
570	// * `group-{groupid}`
571	// * `group-{email}`
572	// * `domain-{domain}`
573	// * `project-{team-projectid}`
574	// * `allUsers`
575	// * `allAuthenticatedUsers`
576	// Examples:
577	// * The user `liz@example.com` would be `user-liz@example.com`.
578	// * The group `example@googlegroups.com` would be
579	// `group-example@googlegroups.com`
580	// * All members of the Google Apps for Business domain `example.com` would be
581	// `domain-example.com`
582	Entity string `protobuf:"bytes,6,opt,name=entity,proto3" json:"entity,omitempty"`
583	// The ID for the entity, if any.
584	EntityId string `protobuf:"bytes,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
585	// The email address associated with the entity, if any.
586	Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"`
587	// The domain associated with the entity, if any.
588	Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain,omitempty"`
589	// The project team associated with the entity, if any.
590	ProjectTeam *ProjectTeam `protobuf:"bytes,10,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
591}
592
593func (x *BucketAccessControl) Reset() {
594	*x = BucketAccessControl{}
595	if protoimpl.UnsafeEnabled {
596		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[1]
597		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
598		ms.StoreMessageInfo(mi)
599	}
600}
601
602func (x *BucketAccessControl) String() string {
603	return protoimpl.X.MessageStringOf(x)
604}
605
606func (*BucketAccessControl) ProtoMessage() {}
607
608func (x *BucketAccessControl) ProtoReflect() protoreflect.Message {
609	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[1]
610	if protoimpl.UnsafeEnabled && x != nil {
611		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
612		if ms.LoadMessageInfo() == nil {
613			ms.StoreMessageInfo(mi)
614		}
615		return ms
616	}
617	return mi.MessageOf(x)
618}
619
620// Deprecated: Use BucketAccessControl.ProtoReflect.Descriptor instead.
621func (*BucketAccessControl) Descriptor() ([]byte, []int) {
622	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{1}
623}
624
625func (x *BucketAccessControl) GetRole() string {
626	if x != nil {
627		return x.Role
628	}
629	return ""
630}
631
632func (x *BucketAccessControl) GetEtag() string {
633	if x != nil {
634		return x.Etag
635	}
636	return ""
637}
638
639func (x *BucketAccessControl) GetId() string {
640	if x != nil {
641		return x.Id
642	}
643	return ""
644}
645
646func (x *BucketAccessControl) GetBucket() string {
647	if x != nil {
648		return x.Bucket
649	}
650	return ""
651}
652
653func (x *BucketAccessControl) GetEntity() string {
654	if x != nil {
655		return x.Entity
656	}
657	return ""
658}
659
660func (x *BucketAccessControl) GetEntityId() string {
661	if x != nil {
662		return x.EntityId
663	}
664	return ""
665}
666
667func (x *BucketAccessControl) GetEmail() string {
668	if x != nil {
669		return x.Email
670	}
671	return ""
672}
673
674func (x *BucketAccessControl) GetDomain() string {
675	if x != nil {
676		return x.Domain
677	}
678	return ""
679}
680
681func (x *BucketAccessControl) GetProjectTeam() *ProjectTeam {
682	if x != nil {
683		return x.ProjectTeam
684	}
685	return nil
686}
687
688// The response to a call to BucketAccessControls.ListBucketAccessControls.
689type ListBucketAccessControlsResponse struct {
690	state         protoimpl.MessageState
691	sizeCache     protoimpl.SizeCache
692	unknownFields protoimpl.UnknownFields
693
694	// The list of items.
695	Items []*BucketAccessControl `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
696}
697
698func (x *ListBucketAccessControlsResponse) Reset() {
699	*x = ListBucketAccessControlsResponse{}
700	if protoimpl.UnsafeEnabled {
701		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[2]
702		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
703		ms.StoreMessageInfo(mi)
704	}
705}
706
707func (x *ListBucketAccessControlsResponse) String() string {
708	return protoimpl.X.MessageStringOf(x)
709}
710
711func (*ListBucketAccessControlsResponse) ProtoMessage() {}
712
713func (x *ListBucketAccessControlsResponse) ProtoReflect() protoreflect.Message {
714	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[2]
715	if protoimpl.UnsafeEnabled && x != nil {
716		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
717		if ms.LoadMessageInfo() == nil {
718			ms.StoreMessageInfo(mi)
719		}
720		return ms
721	}
722	return mi.MessageOf(x)
723}
724
725// Deprecated: Use ListBucketAccessControlsResponse.ProtoReflect.Descriptor instead.
726func (*ListBucketAccessControlsResponse) Descriptor() ([]byte, []int) {
727	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{2}
728}
729
730func (x *ListBucketAccessControlsResponse) GetItems() []*BucketAccessControl {
731	if x != nil {
732		return x.Items
733	}
734	return nil
735}
736
737// The result of a call to Buckets.ListBuckets
738type ListBucketsResponse struct {
739	state         protoimpl.MessageState
740	sizeCache     protoimpl.SizeCache
741	unknownFields protoimpl.UnknownFields
742
743	// The list of items.
744	Items []*Bucket `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
745	// The continuation token, used to page through large result sets. Provide
746	// this value in a subsequent request to return the next page of results.
747	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
748}
749
750func (x *ListBucketsResponse) Reset() {
751	*x = ListBucketsResponse{}
752	if protoimpl.UnsafeEnabled {
753		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[3]
754		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
755		ms.StoreMessageInfo(mi)
756	}
757}
758
759func (x *ListBucketsResponse) String() string {
760	return protoimpl.X.MessageStringOf(x)
761}
762
763func (*ListBucketsResponse) ProtoMessage() {}
764
765func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message {
766	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[3]
767	if protoimpl.UnsafeEnabled && x != nil {
768		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
769		if ms.LoadMessageInfo() == nil {
770			ms.StoreMessageInfo(mi)
771		}
772		return ms
773	}
774	return mi.MessageOf(x)
775}
776
777// Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead.
778func (*ListBucketsResponse) Descriptor() ([]byte, []int) {
779	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{3}
780}
781
782func (x *ListBucketsResponse) GetItems() []*Bucket {
783	if x != nil {
784		return x.Items
785	}
786	return nil
787}
788
789func (x *ListBucketsResponse) GetNextPageToken() string {
790	if x != nil {
791		return x.NextPageToken
792	}
793	return ""
794}
795
796// An notification channel used to watch for resource changes.
797type Channel struct {
798	state         protoimpl.MessageState
799	sizeCache     protoimpl.SizeCache
800	unknownFields protoimpl.UnknownFields
801
802	// A UUID or similar unique string that identifies this channel.
803	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
804	// An opaque ID that identifies the resource being watched on this channel.
805	// Stable across different API versions.
806	ResourceId string `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
807	// A version-specific identifier for the watched resource.
808	ResourceUri string `protobuf:"bytes,3,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"`
809	// An arbitrary string delivered to the target address with each notification
810	// delivered over this channel. Optional.
811	Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"`
812	// Date and time of notification channel expiration. Optional.
813	Expiration *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration,proto3" json:"expiration,omitempty"`
814	// The type of delivery mechanism used for this channel.
815	Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"`
816	// The address where notifications are delivered for this channel.
817	Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"`
818	// Additional parameters controlling delivery channel behavior. Optional.
819	Params map[string]string `protobuf:"bytes,8,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
820	// A Boolean value to indicate whether payload is wanted. Optional.
821	Payload bool `protobuf:"varint,9,opt,name=payload,proto3" json:"payload,omitempty"`
822}
823
824func (x *Channel) Reset() {
825	*x = Channel{}
826	if protoimpl.UnsafeEnabled {
827		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[4]
828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
829		ms.StoreMessageInfo(mi)
830	}
831}
832
833func (x *Channel) String() string {
834	return protoimpl.X.MessageStringOf(x)
835}
836
837func (*Channel) ProtoMessage() {}
838
839func (x *Channel) ProtoReflect() protoreflect.Message {
840	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[4]
841	if protoimpl.UnsafeEnabled && x != nil {
842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
843		if ms.LoadMessageInfo() == nil {
844			ms.StoreMessageInfo(mi)
845		}
846		return ms
847	}
848	return mi.MessageOf(x)
849}
850
851// Deprecated: Use Channel.ProtoReflect.Descriptor instead.
852func (*Channel) Descriptor() ([]byte, []int) {
853	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{4}
854}
855
856func (x *Channel) GetId() string {
857	if x != nil {
858		return x.Id
859	}
860	return ""
861}
862
863func (x *Channel) GetResourceId() string {
864	if x != nil {
865		return x.ResourceId
866	}
867	return ""
868}
869
870func (x *Channel) GetResourceUri() string {
871	if x != nil {
872		return x.ResourceUri
873	}
874	return ""
875}
876
877func (x *Channel) GetToken() string {
878	if x != nil {
879		return x.Token
880	}
881	return ""
882}
883
884func (x *Channel) GetExpiration() *timestamppb.Timestamp {
885	if x != nil {
886		return x.Expiration
887	}
888	return nil
889}
890
891func (x *Channel) GetType() string {
892	if x != nil {
893		return x.Type
894	}
895	return ""
896}
897
898func (x *Channel) GetAddress() string {
899	if x != nil {
900		return x.Address
901	}
902	return ""
903}
904
905func (x *Channel) GetParams() map[string]string {
906	if x != nil {
907		return x.Params
908	}
909	return nil
910}
911
912func (x *Channel) GetPayload() bool {
913	if x != nil {
914		return x.Payload
915	}
916	return false
917}
918
919// The result of a call to Channels.ListChannels
920type ListChannelsResponse struct {
921	state         protoimpl.MessageState
922	sizeCache     protoimpl.SizeCache
923	unknownFields protoimpl.UnknownFields
924
925	// The list of notification channels for a bucket.
926	Items []*ListChannelsResponse_Items `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
927}
928
929func (x *ListChannelsResponse) Reset() {
930	*x = ListChannelsResponse{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[5]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *ListChannelsResponse) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*ListChannelsResponse) ProtoMessage() {}
943
944func (x *ListChannelsResponse) ProtoReflect() protoreflect.Message {
945	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[5]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use ListChannelsResponse.ProtoReflect.Descriptor instead.
957func (*ListChannelsResponse) Descriptor() ([]byte, []int) {
958	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{5}
959}
960
961func (x *ListChannelsResponse) GetItems() []*ListChannelsResponse_Items {
962	if x != nil {
963		return x.Items
964	}
965	return nil
966}
967
968// Message used to convey content being read or written, along with its
969// checksum.
970type ChecksummedData struct {
971	state         protoimpl.MessageState
972	sizeCache     protoimpl.SizeCache
973	unknownFields protoimpl.UnknownFields
974
975	// The data.
976	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
977	// CRC32C digest of the contents.
978	Crc32C *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=crc32c,proto3" json:"crc32c,omitempty"`
979}
980
981func (x *ChecksummedData) Reset() {
982	*x = ChecksummedData{}
983	if protoimpl.UnsafeEnabled {
984		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[6]
985		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
986		ms.StoreMessageInfo(mi)
987	}
988}
989
990func (x *ChecksummedData) String() string {
991	return protoimpl.X.MessageStringOf(x)
992}
993
994func (*ChecksummedData) ProtoMessage() {}
995
996func (x *ChecksummedData) ProtoReflect() protoreflect.Message {
997	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[6]
998	if protoimpl.UnsafeEnabled && x != nil {
999		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1000		if ms.LoadMessageInfo() == nil {
1001			ms.StoreMessageInfo(mi)
1002		}
1003		return ms
1004	}
1005	return mi.MessageOf(x)
1006}
1007
1008// Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead.
1009func (*ChecksummedData) Descriptor() ([]byte, []int) {
1010	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{6}
1011}
1012
1013func (x *ChecksummedData) GetContent() []byte {
1014	if x != nil {
1015		return x.Content
1016	}
1017	return nil
1018}
1019
1020func (x *ChecksummedData) GetCrc32C() *wrapperspb.UInt32Value {
1021	if x != nil {
1022		return x.Crc32C
1023	}
1024	return nil
1025}
1026
1027// Message used for storing full (not subrange) object checksums.
1028type ObjectChecksums struct {
1029	state         protoimpl.MessageState
1030	sizeCache     protoimpl.SizeCache
1031	unknownFields protoimpl.UnknownFields
1032
1033	// CRC32C digest of the object data. Computed by the GCS service for
1034	// all written objects, and validated by the GCS service against
1035	// client-supplied values if present in an InsertObjectRequest.
1036	Crc32C *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=crc32c,proto3" json:"crc32c,omitempty"`
1037	// Hex-encoded MD5 hash of the object data (hexdigest). Whether/how this
1038	// checksum is provided and validated is service-dependent.
1039	Md5Hash string `protobuf:"bytes,2,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"`
1040}
1041
1042func (x *ObjectChecksums) Reset() {
1043	*x = ObjectChecksums{}
1044	if protoimpl.UnsafeEnabled {
1045		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[7]
1046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047		ms.StoreMessageInfo(mi)
1048	}
1049}
1050
1051func (x *ObjectChecksums) String() string {
1052	return protoimpl.X.MessageStringOf(x)
1053}
1054
1055func (*ObjectChecksums) ProtoMessage() {}
1056
1057func (x *ObjectChecksums) ProtoReflect() protoreflect.Message {
1058	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[7]
1059	if protoimpl.UnsafeEnabled && x != nil {
1060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061		if ms.LoadMessageInfo() == nil {
1062			ms.StoreMessageInfo(mi)
1063		}
1064		return ms
1065	}
1066	return mi.MessageOf(x)
1067}
1068
1069// Deprecated: Use ObjectChecksums.ProtoReflect.Descriptor instead.
1070func (*ObjectChecksums) Descriptor() ([]byte, []int) {
1071	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{7}
1072}
1073
1074func (x *ObjectChecksums) GetCrc32C() *wrapperspb.UInt32Value {
1075	if x != nil {
1076		return x.Crc32C
1077	}
1078	return nil
1079}
1080
1081func (x *ObjectChecksums) GetMd5Hash() string {
1082	if x != nil {
1083		return x.Md5Hash
1084	}
1085	return ""
1086}
1087
1088// A collection of enums used in multiple places throughout the API.
1089type CommonEnums struct {
1090	state         protoimpl.MessageState
1091	sizeCache     protoimpl.SizeCache
1092	unknownFields protoimpl.UnknownFields
1093}
1094
1095func (x *CommonEnums) Reset() {
1096	*x = CommonEnums{}
1097	if protoimpl.UnsafeEnabled {
1098		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[8]
1099		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1100		ms.StoreMessageInfo(mi)
1101	}
1102}
1103
1104func (x *CommonEnums) String() string {
1105	return protoimpl.X.MessageStringOf(x)
1106}
1107
1108func (*CommonEnums) ProtoMessage() {}
1109
1110func (x *CommonEnums) ProtoReflect() protoreflect.Message {
1111	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[8]
1112	if protoimpl.UnsafeEnabled && x != nil {
1113		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1114		if ms.LoadMessageInfo() == nil {
1115			ms.StoreMessageInfo(mi)
1116		}
1117		return ms
1118	}
1119	return mi.MessageOf(x)
1120}
1121
1122// Deprecated: Use CommonEnums.ProtoReflect.Descriptor instead.
1123func (*CommonEnums) Descriptor() ([]byte, []int) {
1124	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8}
1125}
1126
1127// Specifies a requested range of bytes to download.
1128type ContentRange struct {
1129	state         protoimpl.MessageState
1130	sizeCache     protoimpl.SizeCache
1131	unknownFields protoimpl.UnknownFields
1132
1133	// The starting offset of the object data.
1134	Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
1135	// The ending offset of the object data.
1136	End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
1137	// The complete length of the object data.
1138	CompleteLength int64 `protobuf:"varint,3,opt,name=complete_length,json=completeLength,proto3" json:"complete_length,omitempty"`
1139}
1140
1141func (x *ContentRange) Reset() {
1142	*x = ContentRange{}
1143	if protoimpl.UnsafeEnabled {
1144		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[9]
1145		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1146		ms.StoreMessageInfo(mi)
1147	}
1148}
1149
1150func (x *ContentRange) String() string {
1151	return protoimpl.X.MessageStringOf(x)
1152}
1153
1154func (*ContentRange) ProtoMessage() {}
1155
1156func (x *ContentRange) ProtoReflect() protoreflect.Message {
1157	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[9]
1158	if protoimpl.UnsafeEnabled && x != nil {
1159		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1160		if ms.LoadMessageInfo() == nil {
1161			ms.StoreMessageInfo(mi)
1162		}
1163		return ms
1164	}
1165	return mi.MessageOf(x)
1166}
1167
1168// Deprecated: Use ContentRange.ProtoReflect.Descriptor instead.
1169func (*ContentRange) Descriptor() ([]byte, []int) {
1170	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{9}
1171}
1172
1173func (x *ContentRange) GetStart() int64 {
1174	if x != nil {
1175		return x.Start
1176	}
1177	return 0
1178}
1179
1180func (x *ContentRange) GetEnd() int64 {
1181	if x != nil {
1182		return x.End
1183	}
1184	return 0
1185}
1186
1187func (x *ContentRange) GetCompleteLength() int64 {
1188	if x != nil {
1189		return x.CompleteLength
1190	}
1191	return 0
1192}
1193
1194// Hmac Key Metadata, which includes all information other than the secret.
1195type HmacKeyMetadata struct {
1196	state         protoimpl.MessageState
1197	sizeCache     protoimpl.SizeCache
1198	unknownFields protoimpl.UnknownFields
1199
1200	// Resource name ID of the key in the format <projectId>/<accessId>.
1201	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1202	// Globally unique id for keys.
1203	AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
1204	// The project ID that the hmac key is contained in.
1205	ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1206	// Email of the service account the key authenticates as.
1207	ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
1208	// State of the key. One of ACTIVE, INACTIVE, or DELETED.
1209	State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
1210	// The creation time of the HMAC key in RFC 3339 format.
1211	TimeCreated *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"`
1212	// The last modification time of the HMAC key metadata in RFC 3339 format.
1213	Updated *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated,proto3" json:"updated,omitempty"`
1214	// Tag updated with each key update.
1215	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
1216}
1217
1218func (x *HmacKeyMetadata) Reset() {
1219	*x = HmacKeyMetadata{}
1220	if protoimpl.UnsafeEnabled {
1221		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[10]
1222		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1223		ms.StoreMessageInfo(mi)
1224	}
1225}
1226
1227func (x *HmacKeyMetadata) String() string {
1228	return protoimpl.X.MessageStringOf(x)
1229}
1230
1231func (*HmacKeyMetadata) ProtoMessage() {}
1232
1233func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message {
1234	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[10]
1235	if protoimpl.UnsafeEnabled && x != nil {
1236		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1237		if ms.LoadMessageInfo() == nil {
1238			ms.StoreMessageInfo(mi)
1239		}
1240		return ms
1241	}
1242	return mi.MessageOf(x)
1243}
1244
1245// Deprecated: Use HmacKeyMetadata.ProtoReflect.Descriptor instead.
1246func (*HmacKeyMetadata) Descriptor() ([]byte, []int) {
1247	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{10}
1248}
1249
1250func (x *HmacKeyMetadata) GetId() string {
1251	if x != nil {
1252		return x.Id
1253	}
1254	return ""
1255}
1256
1257func (x *HmacKeyMetadata) GetAccessId() string {
1258	if x != nil {
1259		return x.AccessId
1260	}
1261	return ""
1262}
1263
1264func (x *HmacKeyMetadata) GetProjectId() string {
1265	if x != nil {
1266		return x.ProjectId
1267	}
1268	return ""
1269}
1270
1271func (x *HmacKeyMetadata) GetServiceAccountEmail() string {
1272	if x != nil {
1273		return x.ServiceAccountEmail
1274	}
1275	return ""
1276}
1277
1278func (x *HmacKeyMetadata) GetState() string {
1279	if x != nil {
1280		return x.State
1281	}
1282	return ""
1283}
1284
1285func (x *HmacKeyMetadata) GetTimeCreated() *timestamppb.Timestamp {
1286	if x != nil {
1287		return x.TimeCreated
1288	}
1289	return nil
1290}
1291
1292func (x *HmacKeyMetadata) GetUpdated() *timestamppb.Timestamp {
1293	if x != nil {
1294		return x.Updated
1295	}
1296	return nil
1297}
1298
1299func (x *HmacKeyMetadata) GetEtag() string {
1300	if x != nil {
1301		return x.Etag
1302	}
1303	return ""
1304}
1305
1306// A subscription to receive Google PubSub notifications.
1307type Notification struct {
1308	state         protoimpl.MessageState
1309	sizeCache     protoimpl.SizeCache
1310	unknownFields protoimpl.UnknownFields
1311
1312	// The Cloud PubSub topic to which this subscription publishes. Formatted as:
1313	// '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
1314	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
1315	// If present, only send notifications about listed event types. If empty,
1316	// sent notifications for all event types.
1317	EventTypes []string `protobuf:"bytes,2,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"`
1318	// An optional list of additional attributes to attach to each Cloud PubSub
1319	// message published for this notification subscription.
1320	CustomAttributes map[string]string `protobuf:"bytes,3,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1321	// HTTP 1.1 [https://tools.ietf.org/html/rfc7232#section-2.3][Entity tag]
1322	// for this subscription notification.
1323	Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"`
1324	// If present, only apply this notification configuration to object names that
1325	// begin with this prefix.
1326	ObjectNamePrefix string `protobuf:"bytes,5,opt,name=object_name_prefix,json=objectNamePrefix,proto3" json:"object_name_prefix,omitempty"`
1327	// The desired content of the Payload.
1328	PayloadFormat string `protobuf:"bytes,6,opt,name=payload_format,json=payloadFormat,proto3" json:"payload_format,omitempty"`
1329	// The ID of the notification.
1330	Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"`
1331}
1332
1333func (x *Notification) Reset() {
1334	*x = Notification{}
1335	if protoimpl.UnsafeEnabled {
1336		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[11]
1337		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338		ms.StoreMessageInfo(mi)
1339	}
1340}
1341
1342func (x *Notification) String() string {
1343	return protoimpl.X.MessageStringOf(x)
1344}
1345
1346func (*Notification) ProtoMessage() {}
1347
1348func (x *Notification) ProtoReflect() protoreflect.Message {
1349	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[11]
1350	if protoimpl.UnsafeEnabled && x != nil {
1351		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1352		if ms.LoadMessageInfo() == nil {
1353			ms.StoreMessageInfo(mi)
1354		}
1355		return ms
1356	}
1357	return mi.MessageOf(x)
1358}
1359
1360// Deprecated: Use Notification.ProtoReflect.Descriptor instead.
1361func (*Notification) Descriptor() ([]byte, []int) {
1362	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{11}
1363}
1364
1365func (x *Notification) GetTopic() string {
1366	if x != nil {
1367		return x.Topic
1368	}
1369	return ""
1370}
1371
1372func (x *Notification) GetEventTypes() []string {
1373	if x != nil {
1374		return x.EventTypes
1375	}
1376	return nil
1377}
1378
1379func (x *Notification) GetCustomAttributes() map[string]string {
1380	if x != nil {
1381		return x.CustomAttributes
1382	}
1383	return nil
1384}
1385
1386func (x *Notification) GetEtag() string {
1387	if x != nil {
1388		return x.Etag
1389	}
1390	return ""
1391}
1392
1393func (x *Notification) GetObjectNamePrefix() string {
1394	if x != nil {
1395		return x.ObjectNamePrefix
1396	}
1397	return ""
1398}
1399
1400func (x *Notification) GetPayloadFormat() string {
1401	if x != nil {
1402		return x.PayloadFormat
1403	}
1404	return ""
1405}
1406
1407func (x *Notification) GetId() string {
1408	if x != nil {
1409		return x.Id
1410	}
1411	return ""
1412}
1413
1414// The result of a call to Notifications.ListNotifications
1415type ListNotificationsResponse struct {
1416	state         protoimpl.MessageState
1417	sizeCache     protoimpl.SizeCache
1418	unknownFields protoimpl.UnknownFields
1419
1420	// The list of items.
1421	Items []*Notification `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1422}
1423
1424func (x *ListNotificationsResponse) Reset() {
1425	*x = ListNotificationsResponse{}
1426	if protoimpl.UnsafeEnabled {
1427		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[12]
1428		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1429		ms.StoreMessageInfo(mi)
1430	}
1431}
1432
1433func (x *ListNotificationsResponse) String() string {
1434	return protoimpl.X.MessageStringOf(x)
1435}
1436
1437func (*ListNotificationsResponse) ProtoMessage() {}
1438
1439func (x *ListNotificationsResponse) ProtoReflect() protoreflect.Message {
1440	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[12]
1441	if protoimpl.UnsafeEnabled && x != nil {
1442		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1443		if ms.LoadMessageInfo() == nil {
1444			ms.StoreMessageInfo(mi)
1445		}
1446		return ms
1447	}
1448	return mi.MessageOf(x)
1449}
1450
1451// Deprecated: Use ListNotificationsResponse.ProtoReflect.Descriptor instead.
1452func (*ListNotificationsResponse) Descriptor() ([]byte, []int) {
1453	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{12}
1454}
1455
1456func (x *ListNotificationsResponse) GetItems() []*Notification {
1457	if x != nil {
1458		return x.Items
1459	}
1460	return nil
1461}
1462
1463// An object.
1464type Object struct {
1465	state         protoimpl.MessageState
1466	sizeCache     protoimpl.SizeCache
1467	unknownFields protoimpl.UnknownFields
1468
1469	// Content-Encoding of the object data, matching
1470	// [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2]
1471	ContentEncoding string `protobuf:"bytes,1,opt,name=content_encoding,json=contentEncoding,proto3" json:"content_encoding,omitempty"`
1472	// Content-Disposition of the object data, matching
1473	// [https://tools.ietf.org/html/rfc6266][RFC 6266].
1474	ContentDisposition string `protobuf:"bytes,2,opt,name=content_disposition,json=contentDisposition,proto3" json:"content_disposition,omitempty"`
1475	// Cache-Control directive for the object data, matching
1476	// [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2].
1477	// If omitted, and the object is accessible to all anonymous users, the
1478	// default will be `public, max-age=3600`.
1479	CacheControl string `protobuf:"bytes,3,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
1480	// Access controls on the object.
1481	Acl []*ObjectAccessControl `protobuf:"bytes,4,rep,name=acl,proto3" json:"acl,omitempty"`
1482	// Content-Language of the object data, matching
1483	// [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
1484	ContentLanguage string `protobuf:"bytes,5,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
1485	// The version of the metadata for this object at this generation. Used for
1486	// preconditions and for detecting changes in metadata. A metageneration
1487	// number is only meaningful in the context of a particular generation of a
1488	// particular object.
1489	// Attempting to set this field will result in an error.
1490	Metageneration int64 `protobuf:"varint,6,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
1491	// The deletion time of the object. Will be returned if and only if this
1492	// version of the object has been deleted.
1493	// Attempting to set this field will result in an error.
1494	TimeDeleted *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=time_deleted,json=timeDeleted,proto3" json:"time_deleted,omitempty"`
1495	// Content-Type of the object data, matching
1496	// [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5].
1497	// If an object is stored without a Content-Type, it is served as
1498	// `application/octet-stream`.
1499	ContentType string `protobuf:"bytes,8,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
1500	// Content-Length of the object data in bytes, matching
1501	// [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2].
1502	// Attempting to set this field will result in an error.
1503	Size int64 `protobuf:"varint,9,opt,name=size,proto3" json:"size,omitempty"`
1504	// The creation time of the object.
1505	// Attempting to set this field will result in an error.
1506	TimeCreated *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"`
1507	// CRC32c checksum. For more information about using the CRC32c
1508	// checksum, see
1509	// [https://cloud.google.com/storage/docs/hashes-etags#_JSONAPI][Hashes and
1510	// ETags: Best Practices]. This is a server determined value and should not be
1511	// supplied by the user when sending an Object. The server will ignore any
1512	// value provided. Users should instead use the object_checksums field on the
1513	// InsertObjectRequest when uploading an object.
1514	Crc32C *wrapperspb.UInt32Value `protobuf:"bytes,11,opt,name=crc32c,proto3" json:"crc32c,omitempty"`
1515	// Number of underlying components that make up this object. Components are
1516	// accumulated by compose operations.
1517	// Attempting to set this field will result in an error.
1518	ComponentCount int32 `protobuf:"varint,12,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"`
1519	// MD5 hash of the data; encoded using base64 as per
1520	// [https://tools.ietf.org/html/rfc4648#section-4][RFC 4648 §4]. For more
1521	// information about using the MD5 hash, see
1522	// [https://cloud.google.com/storage/docs/hashes-etags#_JSONAPI][Hashes and
1523	// ETags: Best Practices]. This is a server determined value and should not be
1524	// supplied by the user when sending an Object. The server will ignore any
1525	// value provided. Users should instead use the object_checksums field on the
1526	// InsertObjectRequest when uploading an object.
1527	Md5Hash string `protobuf:"bytes,13,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"`
1528	// HTTP 1.1 Entity tag for the object. See
1529	// [https://tools.ietf.org/html/rfc7232#section-2.3][RFC 7232 §2.3].
1530	// Attempting to set this field will result in an error.
1531	Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"`
1532	// The modification time of the object metadata.
1533	// Attempting to set this field will result in an error.
1534	Updated *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updated,proto3" json:"updated,omitempty"`
1535	// Storage class of the object.
1536	StorageClass string `protobuf:"bytes,16,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
1537	// Cloud KMS Key used to encrypt this object, if the object is encrypted by
1538	// such a key.
1539	KmsKeyName string `protobuf:"bytes,17,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
1540	// The time at which the object's storage class was last changed. When the
1541	// object is initially created, it will be set to time_created.
1542	// Attempting to set this field will result in an error.
1543	TimeStorageClassUpdated *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=time_storage_class_updated,json=timeStorageClassUpdated,proto3" json:"time_storage_class_updated,omitempty"`
1544	// Whether an object is under temporary hold. While this flag is set to true,
1545	// the object is protected against deletion and overwrites.  A common use case
1546	// of this flag is regulatory investigations where objects need to be retained
1547	// while the investigation is ongoing. Note that unlike event-based hold,
1548	// temporary hold does not impact retention expiration time of an object.
1549	TemporaryHold bool `protobuf:"varint,19,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"`
1550	// A server-determined value that specifies the earliest time that the
1551	// object's retention period expires. This value is in
1552	// [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
1553	// Note 1: This field is not provided for objects with an active event-based
1554	// hold, since retention expiration is unknown until the hold is removed.
1555	// Note 2: This value can be provided even when temporary hold is set (so that
1556	// the user can reason about policy without having to first unset the
1557	// temporary hold).
1558	RetentionExpirationTime *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=retention_expiration_time,json=retentionExpirationTime,proto3" json:"retention_expiration_time,omitempty"`
1559	// User-provided metadata, in key/value pairs.
1560	Metadata map[string]string `protobuf:"bytes,21,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1561	// Whether an object is under event-based hold. Event-based hold is a way to
1562	// retain objects until an event occurs, which is signified by the
1563	// hold's release (i.e. this value is set to false). After being released (set
1564	// to false), such objects will be subject to bucket-level retention (if any).
1565	// One sample use case of this flag is for banks to hold loan documents for at
1566	// least 3 years after loan is paid in full. Here, bucket-level retention is 3
1567	// years and the event is the loan being paid in full. In this example, these
1568	// objects will be held intact for any number of years until the event has
1569	// occurred (event-based hold on the object is released) and then 3 more years
1570	// after that. That means retention duration of the objects begins from the
1571	// moment event-based hold transitioned from true to false.
1572	EventBasedHold *wrapperspb.BoolValue `protobuf:"bytes,29,opt,name=event_based_hold,json=eventBasedHold,proto3" json:"event_based_hold,omitempty"`
1573	// The name of the object.
1574	// Attempting to update this field after the object is created will result in
1575	// an error.
1576	Name string `protobuf:"bytes,23,opt,name=name,proto3" json:"name,omitempty"`
1577	// The ID of the object, including the bucket name, object name, and
1578	// generation number.
1579	// Attempting to update this field after the object is created will result in
1580	// an error.
1581	Id string `protobuf:"bytes,24,opt,name=id,proto3" json:"id,omitempty"`
1582	// The name of the bucket containing this object.
1583	// Attempting to update this field after the object is created will result in
1584	// an error.
1585	Bucket string `protobuf:"bytes,25,opt,name=bucket,proto3" json:"bucket,omitempty"`
1586	// The content generation of this object. Used for object versioning.
1587	// Attempting to set this field will result in an error.
1588	Generation int64 `protobuf:"varint,26,opt,name=generation,proto3" json:"generation,omitempty"`
1589	// The owner of the object. This will always be the uploader of the object.
1590	// Attempting to set this field will result in an error.
1591	Owner *Owner `protobuf:"bytes,27,opt,name=owner,proto3" json:"owner,omitempty"`
1592	// Metadata of customer-supplied encryption key, if the object is encrypted by
1593	// such a key.
1594	CustomerEncryption *Object_CustomerEncryption `protobuf:"bytes,28,opt,name=customer_encryption,json=customerEncryption,proto3" json:"customer_encryption,omitempty"`
1595}
1596
1597func (x *Object) Reset() {
1598	*x = Object{}
1599	if protoimpl.UnsafeEnabled {
1600		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[13]
1601		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1602		ms.StoreMessageInfo(mi)
1603	}
1604}
1605
1606func (x *Object) String() string {
1607	return protoimpl.X.MessageStringOf(x)
1608}
1609
1610func (*Object) ProtoMessage() {}
1611
1612func (x *Object) ProtoReflect() protoreflect.Message {
1613	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[13]
1614	if protoimpl.UnsafeEnabled && x != nil {
1615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1616		if ms.LoadMessageInfo() == nil {
1617			ms.StoreMessageInfo(mi)
1618		}
1619		return ms
1620	}
1621	return mi.MessageOf(x)
1622}
1623
1624// Deprecated: Use Object.ProtoReflect.Descriptor instead.
1625func (*Object) Descriptor() ([]byte, []int) {
1626	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{13}
1627}
1628
1629func (x *Object) GetContentEncoding() string {
1630	if x != nil {
1631		return x.ContentEncoding
1632	}
1633	return ""
1634}
1635
1636func (x *Object) GetContentDisposition() string {
1637	if x != nil {
1638		return x.ContentDisposition
1639	}
1640	return ""
1641}
1642
1643func (x *Object) GetCacheControl() string {
1644	if x != nil {
1645		return x.CacheControl
1646	}
1647	return ""
1648}
1649
1650func (x *Object) GetAcl() []*ObjectAccessControl {
1651	if x != nil {
1652		return x.Acl
1653	}
1654	return nil
1655}
1656
1657func (x *Object) GetContentLanguage() string {
1658	if x != nil {
1659		return x.ContentLanguage
1660	}
1661	return ""
1662}
1663
1664func (x *Object) GetMetageneration() int64 {
1665	if x != nil {
1666		return x.Metageneration
1667	}
1668	return 0
1669}
1670
1671func (x *Object) GetTimeDeleted() *timestamppb.Timestamp {
1672	if x != nil {
1673		return x.TimeDeleted
1674	}
1675	return nil
1676}
1677
1678func (x *Object) GetContentType() string {
1679	if x != nil {
1680		return x.ContentType
1681	}
1682	return ""
1683}
1684
1685func (x *Object) GetSize() int64 {
1686	if x != nil {
1687		return x.Size
1688	}
1689	return 0
1690}
1691
1692func (x *Object) GetTimeCreated() *timestamppb.Timestamp {
1693	if x != nil {
1694		return x.TimeCreated
1695	}
1696	return nil
1697}
1698
1699func (x *Object) GetCrc32C() *wrapperspb.UInt32Value {
1700	if x != nil {
1701		return x.Crc32C
1702	}
1703	return nil
1704}
1705
1706func (x *Object) GetComponentCount() int32 {
1707	if x != nil {
1708		return x.ComponentCount
1709	}
1710	return 0
1711}
1712
1713func (x *Object) GetMd5Hash() string {
1714	if x != nil {
1715		return x.Md5Hash
1716	}
1717	return ""
1718}
1719
1720func (x *Object) GetEtag() string {
1721	if x != nil {
1722		return x.Etag
1723	}
1724	return ""
1725}
1726
1727func (x *Object) GetUpdated() *timestamppb.Timestamp {
1728	if x != nil {
1729		return x.Updated
1730	}
1731	return nil
1732}
1733
1734func (x *Object) GetStorageClass() string {
1735	if x != nil {
1736		return x.StorageClass
1737	}
1738	return ""
1739}
1740
1741func (x *Object) GetKmsKeyName() string {
1742	if x != nil {
1743		return x.KmsKeyName
1744	}
1745	return ""
1746}
1747
1748func (x *Object) GetTimeStorageClassUpdated() *timestamppb.Timestamp {
1749	if x != nil {
1750		return x.TimeStorageClassUpdated
1751	}
1752	return nil
1753}
1754
1755func (x *Object) GetTemporaryHold() bool {
1756	if x != nil {
1757		return x.TemporaryHold
1758	}
1759	return false
1760}
1761
1762func (x *Object) GetRetentionExpirationTime() *timestamppb.Timestamp {
1763	if x != nil {
1764		return x.RetentionExpirationTime
1765	}
1766	return nil
1767}
1768
1769func (x *Object) GetMetadata() map[string]string {
1770	if x != nil {
1771		return x.Metadata
1772	}
1773	return nil
1774}
1775
1776func (x *Object) GetEventBasedHold() *wrapperspb.BoolValue {
1777	if x != nil {
1778		return x.EventBasedHold
1779	}
1780	return nil
1781}
1782
1783func (x *Object) GetName() string {
1784	if x != nil {
1785		return x.Name
1786	}
1787	return ""
1788}
1789
1790func (x *Object) GetId() string {
1791	if x != nil {
1792		return x.Id
1793	}
1794	return ""
1795}
1796
1797func (x *Object) GetBucket() string {
1798	if x != nil {
1799		return x.Bucket
1800	}
1801	return ""
1802}
1803
1804func (x *Object) GetGeneration() int64 {
1805	if x != nil {
1806		return x.Generation
1807	}
1808	return 0
1809}
1810
1811func (x *Object) GetOwner() *Owner {
1812	if x != nil {
1813		return x.Owner
1814	}
1815	return nil
1816}
1817
1818func (x *Object) GetCustomerEncryption() *Object_CustomerEncryption {
1819	if x != nil {
1820		return x.CustomerEncryption
1821	}
1822	return nil
1823}
1824
1825// An access-control entry.
1826type ObjectAccessControl struct {
1827	state         protoimpl.MessageState
1828	sizeCache     protoimpl.SizeCache
1829	unknownFields protoimpl.UnknownFields
1830
1831	// The access permission for the entity.
1832	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
1833	// HTTP 1.1 Entity tag for the access-control entry.
1834	// See [https://tools.ietf.org/html/rfc7232#section-2.3][RFC 7232 §2.3].
1835	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
1836	// The ID of the access-control entry.
1837	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
1838	// The name of the bucket.
1839	Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"`
1840	// The name of the object, if applied to an object.
1841	Object string `protobuf:"bytes,5,opt,name=object,proto3" json:"object,omitempty"`
1842	// The content generation of the object, if applied to an object.
1843	Generation int64 `protobuf:"varint,6,opt,name=generation,proto3" json:"generation,omitempty"`
1844	// The entity holding the permission, in one of the following forms:
1845	// * `user-{userid}`
1846	// * `user-{email}`
1847	// * `group-{groupid}`
1848	// * `group-{email}`
1849	// * `domain-{domain}`
1850	// * `project-{team-projectid}`
1851	// * `allUsers`
1852	// * `allAuthenticatedUsers`
1853	// Examples:
1854	// * The user `liz@example.com` would be `user-liz@example.com`.
1855	// * The group `example@googlegroups.com` would be
1856	// `group-example@googlegroups.com`.
1857	// * All members of the Google Apps for Business domain `example.com` would be
1858	// `domain-example.com`.
1859	Entity string `protobuf:"bytes,7,opt,name=entity,proto3" json:"entity,omitempty"`
1860	// The ID for the entity, if any.
1861	EntityId string `protobuf:"bytes,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
1862	// The email address associated with the entity, if any.
1863	Email string `protobuf:"bytes,9,opt,name=email,proto3" json:"email,omitempty"`
1864	// The domain associated with the entity, if any.
1865	Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain,omitempty"`
1866	// The project team associated with the entity, if any.
1867	ProjectTeam *ProjectTeam `protobuf:"bytes,11,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
1868}
1869
1870func (x *ObjectAccessControl) Reset() {
1871	*x = ObjectAccessControl{}
1872	if protoimpl.UnsafeEnabled {
1873		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[14]
1874		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1875		ms.StoreMessageInfo(mi)
1876	}
1877}
1878
1879func (x *ObjectAccessControl) String() string {
1880	return protoimpl.X.MessageStringOf(x)
1881}
1882
1883func (*ObjectAccessControl) ProtoMessage() {}
1884
1885func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message {
1886	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[14]
1887	if protoimpl.UnsafeEnabled && x != nil {
1888		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1889		if ms.LoadMessageInfo() == nil {
1890			ms.StoreMessageInfo(mi)
1891		}
1892		return ms
1893	}
1894	return mi.MessageOf(x)
1895}
1896
1897// Deprecated: Use ObjectAccessControl.ProtoReflect.Descriptor instead.
1898func (*ObjectAccessControl) Descriptor() ([]byte, []int) {
1899	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{14}
1900}
1901
1902func (x *ObjectAccessControl) GetRole() string {
1903	if x != nil {
1904		return x.Role
1905	}
1906	return ""
1907}
1908
1909func (x *ObjectAccessControl) GetEtag() string {
1910	if x != nil {
1911		return x.Etag
1912	}
1913	return ""
1914}
1915
1916func (x *ObjectAccessControl) GetId() string {
1917	if x != nil {
1918		return x.Id
1919	}
1920	return ""
1921}
1922
1923func (x *ObjectAccessControl) GetBucket() string {
1924	if x != nil {
1925		return x.Bucket
1926	}
1927	return ""
1928}
1929
1930func (x *ObjectAccessControl) GetObject() string {
1931	if x != nil {
1932		return x.Object
1933	}
1934	return ""
1935}
1936
1937func (x *ObjectAccessControl) GetGeneration() int64 {
1938	if x != nil {
1939		return x.Generation
1940	}
1941	return 0
1942}
1943
1944func (x *ObjectAccessControl) GetEntity() string {
1945	if x != nil {
1946		return x.Entity
1947	}
1948	return ""
1949}
1950
1951func (x *ObjectAccessControl) GetEntityId() string {
1952	if x != nil {
1953		return x.EntityId
1954	}
1955	return ""
1956}
1957
1958func (x *ObjectAccessControl) GetEmail() string {
1959	if x != nil {
1960		return x.Email
1961	}
1962	return ""
1963}
1964
1965func (x *ObjectAccessControl) GetDomain() string {
1966	if x != nil {
1967		return x.Domain
1968	}
1969	return ""
1970}
1971
1972func (x *ObjectAccessControl) GetProjectTeam() *ProjectTeam {
1973	if x != nil {
1974		return x.ProjectTeam
1975	}
1976	return nil
1977}
1978
1979// The result of a call to ObjectAccessControls.ListObjectAccessControls.
1980type ListObjectAccessControlsResponse struct {
1981	state         protoimpl.MessageState
1982	sizeCache     protoimpl.SizeCache
1983	unknownFields protoimpl.UnknownFields
1984
1985	// The list of items.
1986	Items []*ObjectAccessControl `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1987}
1988
1989func (x *ListObjectAccessControlsResponse) Reset() {
1990	*x = ListObjectAccessControlsResponse{}
1991	if protoimpl.UnsafeEnabled {
1992		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[15]
1993		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1994		ms.StoreMessageInfo(mi)
1995	}
1996}
1997
1998func (x *ListObjectAccessControlsResponse) String() string {
1999	return protoimpl.X.MessageStringOf(x)
2000}
2001
2002func (*ListObjectAccessControlsResponse) ProtoMessage() {}
2003
2004func (x *ListObjectAccessControlsResponse) ProtoReflect() protoreflect.Message {
2005	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[15]
2006	if protoimpl.UnsafeEnabled && x != nil {
2007		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2008		if ms.LoadMessageInfo() == nil {
2009			ms.StoreMessageInfo(mi)
2010		}
2011		return ms
2012	}
2013	return mi.MessageOf(x)
2014}
2015
2016// Deprecated: Use ListObjectAccessControlsResponse.ProtoReflect.Descriptor instead.
2017func (*ListObjectAccessControlsResponse) Descriptor() ([]byte, []int) {
2018	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{15}
2019}
2020
2021func (x *ListObjectAccessControlsResponse) GetItems() []*ObjectAccessControl {
2022	if x != nil {
2023		return x.Items
2024	}
2025	return nil
2026}
2027
2028// The result of a call to Objects.ListObjects
2029type ListObjectsResponse struct {
2030	state         protoimpl.MessageState
2031	sizeCache     protoimpl.SizeCache
2032	unknownFields protoimpl.UnknownFields
2033
2034	// The list of prefixes of objects matching-but-not-listed up to and including
2035	// the requested delimiter.
2036	Prefixes []string `protobuf:"bytes,1,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
2037	// The list of items.
2038	Items []*Object `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
2039	// The continuation token, used to page through large result sets. Provide
2040	// this value in a subsequent request to return the next page of results.
2041	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2042}
2043
2044func (x *ListObjectsResponse) Reset() {
2045	*x = ListObjectsResponse{}
2046	if protoimpl.UnsafeEnabled {
2047		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[16]
2048		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2049		ms.StoreMessageInfo(mi)
2050	}
2051}
2052
2053func (x *ListObjectsResponse) String() string {
2054	return protoimpl.X.MessageStringOf(x)
2055}
2056
2057func (*ListObjectsResponse) ProtoMessage() {}
2058
2059func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message {
2060	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[16]
2061	if protoimpl.UnsafeEnabled && x != nil {
2062		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2063		if ms.LoadMessageInfo() == nil {
2064			ms.StoreMessageInfo(mi)
2065		}
2066		return ms
2067	}
2068	return mi.MessageOf(x)
2069}
2070
2071// Deprecated: Use ListObjectsResponse.ProtoReflect.Descriptor instead.
2072func (*ListObjectsResponse) Descriptor() ([]byte, []int) {
2073	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{16}
2074}
2075
2076func (x *ListObjectsResponse) GetPrefixes() []string {
2077	if x != nil {
2078		return x.Prefixes
2079	}
2080	return nil
2081}
2082
2083func (x *ListObjectsResponse) GetItems() []*Object {
2084	if x != nil {
2085		return x.Items
2086	}
2087	return nil
2088}
2089
2090func (x *ListObjectsResponse) GetNextPageToken() string {
2091	if x != nil {
2092		return x.NextPageToken
2093	}
2094	return ""
2095}
2096
2097// Represents the Viewers, Editors, or Owners of a given project.
2098type ProjectTeam struct {
2099	state         protoimpl.MessageState
2100	sizeCache     protoimpl.SizeCache
2101	unknownFields protoimpl.UnknownFields
2102
2103	// The project number.
2104	ProjectNumber string `protobuf:"bytes,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
2105	// The team.
2106	Team string `protobuf:"bytes,2,opt,name=team,proto3" json:"team,omitempty"`
2107}
2108
2109func (x *ProjectTeam) Reset() {
2110	*x = ProjectTeam{}
2111	if protoimpl.UnsafeEnabled {
2112		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[17]
2113		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2114		ms.StoreMessageInfo(mi)
2115	}
2116}
2117
2118func (x *ProjectTeam) String() string {
2119	return protoimpl.X.MessageStringOf(x)
2120}
2121
2122func (*ProjectTeam) ProtoMessage() {}
2123
2124func (x *ProjectTeam) ProtoReflect() protoreflect.Message {
2125	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[17]
2126	if protoimpl.UnsafeEnabled && x != nil {
2127		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2128		if ms.LoadMessageInfo() == nil {
2129			ms.StoreMessageInfo(mi)
2130		}
2131		return ms
2132	}
2133	return mi.MessageOf(x)
2134}
2135
2136// Deprecated: Use ProjectTeam.ProtoReflect.Descriptor instead.
2137func (*ProjectTeam) Descriptor() ([]byte, []int) {
2138	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{17}
2139}
2140
2141func (x *ProjectTeam) GetProjectNumber() string {
2142	if x != nil {
2143		return x.ProjectNumber
2144	}
2145	return ""
2146}
2147
2148func (x *ProjectTeam) GetTeam() string {
2149	if x != nil {
2150		return x.Team
2151	}
2152	return ""
2153}
2154
2155// A subscription to receive Google PubSub notifications.
2156type ServiceAccount struct {
2157	state         protoimpl.MessageState
2158	sizeCache     protoimpl.SizeCache
2159	unknownFields protoimpl.UnknownFields
2160
2161	// The ID of the notification.
2162	EmailAddress string `protobuf:"bytes,1,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
2163}
2164
2165func (x *ServiceAccount) Reset() {
2166	*x = ServiceAccount{}
2167	if protoimpl.UnsafeEnabled {
2168		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[18]
2169		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2170		ms.StoreMessageInfo(mi)
2171	}
2172}
2173
2174func (x *ServiceAccount) String() string {
2175	return protoimpl.X.MessageStringOf(x)
2176}
2177
2178func (*ServiceAccount) ProtoMessage() {}
2179
2180func (x *ServiceAccount) ProtoReflect() protoreflect.Message {
2181	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[18]
2182	if protoimpl.UnsafeEnabled && x != nil {
2183		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2184		if ms.LoadMessageInfo() == nil {
2185			ms.StoreMessageInfo(mi)
2186		}
2187		return ms
2188	}
2189	return mi.MessageOf(x)
2190}
2191
2192// Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead.
2193func (*ServiceAccount) Descriptor() ([]byte, []int) {
2194	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{18}
2195}
2196
2197func (x *ServiceAccount) GetEmailAddress() string {
2198	if x != nil {
2199		return x.EmailAddress
2200	}
2201	return ""
2202}
2203
2204// The owner of a specific resource.
2205type Owner struct {
2206	state         protoimpl.MessageState
2207	sizeCache     protoimpl.SizeCache
2208	unknownFields protoimpl.UnknownFields
2209
2210	// The entity, in the form `user-`*userId*.
2211	Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
2212	// The ID for the entity.
2213	EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
2214}
2215
2216func (x *Owner) Reset() {
2217	*x = Owner{}
2218	if protoimpl.UnsafeEnabled {
2219		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[19]
2220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2221		ms.StoreMessageInfo(mi)
2222	}
2223}
2224
2225func (x *Owner) String() string {
2226	return protoimpl.X.MessageStringOf(x)
2227}
2228
2229func (*Owner) ProtoMessage() {}
2230
2231func (x *Owner) ProtoReflect() protoreflect.Message {
2232	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[19]
2233	if protoimpl.UnsafeEnabled && x != nil {
2234		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2235		if ms.LoadMessageInfo() == nil {
2236			ms.StoreMessageInfo(mi)
2237		}
2238		return ms
2239	}
2240	return mi.MessageOf(x)
2241}
2242
2243// Deprecated: Use Owner.ProtoReflect.Descriptor instead.
2244func (*Owner) Descriptor() ([]byte, []int) {
2245	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{19}
2246}
2247
2248func (x *Owner) GetEntity() string {
2249	if x != nil {
2250		return x.Entity
2251	}
2252	return ""
2253}
2254
2255func (x *Owner) GetEntityId() string {
2256	if x != nil {
2257		return x.EntityId
2258	}
2259	return ""
2260}
2261
2262// Billing properties of a bucket.
2263type Bucket_Billing struct {
2264	state         protoimpl.MessageState
2265	sizeCache     protoimpl.SizeCache
2266	unknownFields protoimpl.UnknownFields
2267
2268	// When set to true, Requester Pays is enabled for this bucket.
2269	RequesterPays bool `protobuf:"varint,1,opt,name=requester_pays,json=requesterPays,proto3" json:"requester_pays,omitempty"`
2270}
2271
2272func (x *Bucket_Billing) Reset() {
2273	*x = Bucket_Billing{}
2274	if protoimpl.UnsafeEnabled {
2275		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[20]
2276		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2277		ms.StoreMessageInfo(mi)
2278	}
2279}
2280
2281func (x *Bucket_Billing) String() string {
2282	return protoimpl.X.MessageStringOf(x)
2283}
2284
2285func (*Bucket_Billing) ProtoMessage() {}
2286
2287func (x *Bucket_Billing) ProtoReflect() protoreflect.Message {
2288	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[20]
2289	if protoimpl.UnsafeEnabled && x != nil {
2290		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2291		if ms.LoadMessageInfo() == nil {
2292			ms.StoreMessageInfo(mi)
2293		}
2294		return ms
2295	}
2296	return mi.MessageOf(x)
2297}
2298
2299// Deprecated: Use Bucket_Billing.ProtoReflect.Descriptor instead.
2300func (*Bucket_Billing) Descriptor() ([]byte, []int) {
2301	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 0}
2302}
2303
2304func (x *Bucket_Billing) GetRequesterPays() bool {
2305	if x != nil {
2306		return x.RequesterPays
2307	}
2308	return false
2309}
2310
2311// Cross-Origin Response sharing (CORS) properties for a bucket.
2312// For more on GCS and CORS, see
2313// https://cloud.google.com/storage/docs/cross-origin.
2314// For more on CORS in general, see https://tools.ietf.org/html/rfc6454.
2315type Bucket_Cors struct {
2316	state         protoimpl.MessageState
2317	sizeCache     protoimpl.SizeCache
2318	unknownFields protoimpl.UnknownFields
2319
2320	// The list of Origins eligible to receive CORS response headers. See
2321	// [https://tools.ietf.org/html/rfc6454][RFC 6454] for more on origins.
2322	// Note: "*" is permitted in the list of origins, and means "any Origin".
2323	Origin []string `protobuf:"bytes,1,rep,name=origin,proto3" json:"origin,omitempty"`
2324	// The list of HTTP methods on which to include CORS response headers,
2325	// (`GET`, `OPTIONS`, `POST`, etc) Note: "*" is permitted in the list of
2326	// methods, and means "any method".
2327	Method []string `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"`
2328	// The list of HTTP headers other than the
2329	// [https://www.w3.org/TR/cors/#simple-response-header][simple response
2330	// headers] to give permission for the user-agent to share across domains.
2331	ResponseHeader []string `protobuf:"bytes,3,rep,name=response_header,json=responseHeader,proto3" json:"response_header,omitempty"`
2332	// The value, in seconds, to return in the
2333	// [https://www.w3.org/TR/cors/#access-control-max-age-response-header][Access-Control-Max-Age
2334	// header] used in preflight responses.
2335	MaxAgeSeconds int32 `protobuf:"varint,4,opt,name=max_age_seconds,json=maxAgeSeconds,proto3" json:"max_age_seconds,omitempty"`
2336}
2337
2338func (x *Bucket_Cors) Reset() {
2339	*x = Bucket_Cors{}
2340	if protoimpl.UnsafeEnabled {
2341		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[21]
2342		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2343		ms.StoreMessageInfo(mi)
2344	}
2345}
2346
2347func (x *Bucket_Cors) String() string {
2348	return protoimpl.X.MessageStringOf(x)
2349}
2350
2351func (*Bucket_Cors) ProtoMessage() {}
2352
2353func (x *Bucket_Cors) ProtoReflect() protoreflect.Message {
2354	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[21]
2355	if protoimpl.UnsafeEnabled && x != nil {
2356		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2357		if ms.LoadMessageInfo() == nil {
2358			ms.StoreMessageInfo(mi)
2359		}
2360		return ms
2361	}
2362	return mi.MessageOf(x)
2363}
2364
2365// Deprecated: Use Bucket_Cors.ProtoReflect.Descriptor instead.
2366func (*Bucket_Cors) Descriptor() ([]byte, []int) {
2367	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 1}
2368}
2369
2370func (x *Bucket_Cors) GetOrigin() []string {
2371	if x != nil {
2372		return x.Origin
2373	}
2374	return nil
2375}
2376
2377func (x *Bucket_Cors) GetMethod() []string {
2378	if x != nil {
2379		return x.Method
2380	}
2381	return nil
2382}
2383
2384func (x *Bucket_Cors) GetResponseHeader() []string {
2385	if x != nil {
2386		return x.ResponseHeader
2387	}
2388	return nil
2389}
2390
2391func (x *Bucket_Cors) GetMaxAgeSeconds() int32 {
2392	if x != nil {
2393		return x.MaxAgeSeconds
2394	}
2395	return 0
2396}
2397
2398// Encryption properties of a bucket.
2399type Bucket_Encryption struct {
2400	state         protoimpl.MessageState
2401	sizeCache     protoimpl.SizeCache
2402	unknownFields protoimpl.UnknownFields
2403
2404	// A Cloud KMS key that will be used to encrypt objects inserted into this
2405	// bucket, if no encryption method is specified.
2406	DefaultKmsKeyName string `protobuf:"bytes,1,opt,name=default_kms_key_name,json=defaultKmsKeyName,proto3" json:"default_kms_key_name,omitempty"`
2407}
2408
2409func (x *Bucket_Encryption) Reset() {
2410	*x = Bucket_Encryption{}
2411	if protoimpl.UnsafeEnabled {
2412		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[22]
2413		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2414		ms.StoreMessageInfo(mi)
2415	}
2416}
2417
2418func (x *Bucket_Encryption) String() string {
2419	return protoimpl.X.MessageStringOf(x)
2420}
2421
2422func (*Bucket_Encryption) ProtoMessage() {}
2423
2424func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message {
2425	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[22]
2426	if protoimpl.UnsafeEnabled && x != nil {
2427		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2428		if ms.LoadMessageInfo() == nil {
2429			ms.StoreMessageInfo(mi)
2430		}
2431		return ms
2432	}
2433	return mi.MessageOf(x)
2434}
2435
2436// Deprecated: Use Bucket_Encryption.ProtoReflect.Descriptor instead.
2437func (*Bucket_Encryption) Descriptor() ([]byte, []int) {
2438	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 2}
2439}
2440
2441func (x *Bucket_Encryption) GetDefaultKmsKeyName() string {
2442	if x != nil {
2443		return x.DefaultKmsKeyName
2444	}
2445	return ""
2446}
2447
2448// Bucket restriction options currently enforced on the bucket.
2449type Bucket_IamConfiguration struct {
2450	state         protoimpl.MessageState
2451	sizeCache     protoimpl.SizeCache
2452	unknownFields protoimpl.UnknownFields
2453
2454	UniformBucketLevelAccess *Bucket_IamConfiguration_UniformBucketLevelAccess `protobuf:"bytes,1,opt,name=uniform_bucket_level_access,json=uniformBucketLevelAccess,proto3" json:"uniform_bucket_level_access,omitempty"`
2455}
2456
2457func (x *Bucket_IamConfiguration) Reset() {
2458	*x = Bucket_IamConfiguration{}
2459	if protoimpl.UnsafeEnabled {
2460		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[23]
2461		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2462		ms.StoreMessageInfo(mi)
2463	}
2464}
2465
2466func (x *Bucket_IamConfiguration) String() string {
2467	return protoimpl.X.MessageStringOf(x)
2468}
2469
2470func (*Bucket_IamConfiguration) ProtoMessage() {}
2471
2472func (x *Bucket_IamConfiguration) ProtoReflect() protoreflect.Message {
2473	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[23]
2474	if protoimpl.UnsafeEnabled && x != nil {
2475		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2476		if ms.LoadMessageInfo() == nil {
2477			ms.StoreMessageInfo(mi)
2478		}
2479		return ms
2480	}
2481	return mi.MessageOf(x)
2482}
2483
2484// Deprecated: Use Bucket_IamConfiguration.ProtoReflect.Descriptor instead.
2485func (*Bucket_IamConfiguration) Descriptor() ([]byte, []int) {
2486	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 3}
2487}
2488
2489func (x *Bucket_IamConfiguration) GetUniformBucketLevelAccess() *Bucket_IamConfiguration_UniformBucketLevelAccess {
2490	if x != nil {
2491		return x.UniformBucketLevelAccess
2492	}
2493	return nil
2494}
2495
2496// Lifecycle properties of a bucket.
2497// For more information, see https://cloud.google.com/storage/docs/lifecycle.
2498type Bucket_Lifecycle struct {
2499	state         protoimpl.MessageState
2500	sizeCache     protoimpl.SizeCache
2501	unknownFields protoimpl.UnknownFields
2502
2503	// A lifecycle management rule, which is made of an action to take and the
2504	// condition(s) under which the action will be taken.
2505	Rule []*Bucket_Lifecycle_Rule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"`
2506}
2507
2508func (x *Bucket_Lifecycle) Reset() {
2509	*x = Bucket_Lifecycle{}
2510	if protoimpl.UnsafeEnabled {
2511		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[24]
2512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2513		ms.StoreMessageInfo(mi)
2514	}
2515}
2516
2517func (x *Bucket_Lifecycle) String() string {
2518	return protoimpl.X.MessageStringOf(x)
2519}
2520
2521func (*Bucket_Lifecycle) ProtoMessage() {}
2522
2523func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message {
2524	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[24]
2525	if protoimpl.UnsafeEnabled && x != nil {
2526		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2527		if ms.LoadMessageInfo() == nil {
2528			ms.StoreMessageInfo(mi)
2529		}
2530		return ms
2531	}
2532	return mi.MessageOf(x)
2533}
2534
2535// Deprecated: Use Bucket_Lifecycle.ProtoReflect.Descriptor instead.
2536func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) {
2537	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4}
2538}
2539
2540func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule {
2541	if x != nil {
2542		return x.Rule
2543	}
2544	return nil
2545}
2546
2547// Logging-related properties of a bucket.
2548type Bucket_Logging struct {
2549	state         protoimpl.MessageState
2550	sizeCache     protoimpl.SizeCache
2551	unknownFields protoimpl.UnknownFields
2552
2553	// The destination bucket where the current bucket's logs should be placed.
2554	LogBucket string `protobuf:"bytes,1,opt,name=log_bucket,json=logBucket,proto3" json:"log_bucket,omitempty"`
2555	// A prefix for log object names.
2556	LogObjectPrefix string `protobuf:"bytes,2,opt,name=log_object_prefix,json=logObjectPrefix,proto3" json:"log_object_prefix,omitempty"`
2557}
2558
2559func (x *Bucket_Logging) Reset() {
2560	*x = Bucket_Logging{}
2561	if protoimpl.UnsafeEnabled {
2562		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[25]
2563		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2564		ms.StoreMessageInfo(mi)
2565	}
2566}
2567
2568func (x *Bucket_Logging) String() string {
2569	return protoimpl.X.MessageStringOf(x)
2570}
2571
2572func (*Bucket_Logging) ProtoMessage() {}
2573
2574func (x *Bucket_Logging) ProtoReflect() protoreflect.Message {
2575	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[25]
2576	if protoimpl.UnsafeEnabled && x != nil {
2577		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2578		if ms.LoadMessageInfo() == nil {
2579			ms.StoreMessageInfo(mi)
2580		}
2581		return ms
2582	}
2583	return mi.MessageOf(x)
2584}
2585
2586// Deprecated: Use Bucket_Logging.ProtoReflect.Descriptor instead.
2587func (*Bucket_Logging) Descriptor() ([]byte, []int) {
2588	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 5}
2589}
2590
2591func (x *Bucket_Logging) GetLogBucket() string {
2592	if x != nil {
2593		return x.LogBucket
2594	}
2595	return ""
2596}
2597
2598func (x *Bucket_Logging) GetLogObjectPrefix() string {
2599	if x != nil {
2600		return x.LogObjectPrefix
2601	}
2602	return ""
2603}
2604
2605// Retention policy properties of a bucket.
2606type Bucket_RetentionPolicy struct {
2607	state         protoimpl.MessageState
2608	sizeCache     protoimpl.SizeCache
2609	unknownFields protoimpl.UnknownFields
2610
2611	// Server-determined value that indicates the time from which policy was
2612	// enforced and effective. This value is in
2613	// [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
2614	EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"`
2615	// Once locked, an object retention policy cannot be modified.
2616	IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
2617	// The duration in seconds that objects need to be retained. Retention
2618	// duration must be greater than zero and less than 100 years. Note that
2619	// enforcement of retention periods less than a day is not guaranteed. Such
2620	// periods should only be used for testing purposes.
2621	RetentionPeriod int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3" json:"retention_period,omitempty"`
2622}
2623
2624func (x *Bucket_RetentionPolicy) Reset() {
2625	*x = Bucket_RetentionPolicy{}
2626	if protoimpl.UnsafeEnabled {
2627		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[26]
2628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2629		ms.StoreMessageInfo(mi)
2630	}
2631}
2632
2633func (x *Bucket_RetentionPolicy) String() string {
2634	return protoimpl.X.MessageStringOf(x)
2635}
2636
2637func (*Bucket_RetentionPolicy) ProtoMessage() {}
2638
2639func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message {
2640	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[26]
2641	if protoimpl.UnsafeEnabled && x != nil {
2642		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2643		if ms.LoadMessageInfo() == nil {
2644			ms.StoreMessageInfo(mi)
2645		}
2646		return ms
2647	}
2648	return mi.MessageOf(x)
2649}
2650
2651// Deprecated: Use Bucket_RetentionPolicy.ProtoReflect.Descriptor instead.
2652func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) {
2653	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 6}
2654}
2655
2656func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamppb.Timestamp {
2657	if x != nil {
2658		return x.EffectiveTime
2659	}
2660	return nil
2661}
2662
2663func (x *Bucket_RetentionPolicy) GetIsLocked() bool {
2664	if x != nil {
2665		return x.IsLocked
2666	}
2667	return false
2668}
2669
2670func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 {
2671	if x != nil {
2672		return x.RetentionPeriod
2673	}
2674	return 0
2675}
2676
2677// Properties of a bucket related to versioning.
2678// For more on GCS versioning, see
2679// https://cloud.google.com/storage/docs/object-versioning.
2680type Bucket_Versioning struct {
2681	state         protoimpl.MessageState
2682	sizeCache     protoimpl.SizeCache
2683	unknownFields protoimpl.UnknownFields
2684
2685	// While set to true, versioning is fully enabled for this bucket.
2686	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
2687}
2688
2689func (x *Bucket_Versioning) Reset() {
2690	*x = Bucket_Versioning{}
2691	if protoimpl.UnsafeEnabled {
2692		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[27]
2693		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2694		ms.StoreMessageInfo(mi)
2695	}
2696}
2697
2698func (x *Bucket_Versioning) String() string {
2699	return protoimpl.X.MessageStringOf(x)
2700}
2701
2702func (*Bucket_Versioning) ProtoMessage() {}
2703
2704func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message {
2705	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[27]
2706	if protoimpl.UnsafeEnabled && x != nil {
2707		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2708		if ms.LoadMessageInfo() == nil {
2709			ms.StoreMessageInfo(mi)
2710		}
2711		return ms
2712	}
2713	return mi.MessageOf(x)
2714}
2715
2716// Deprecated: Use Bucket_Versioning.ProtoReflect.Descriptor instead.
2717func (*Bucket_Versioning) Descriptor() ([]byte, []int) {
2718	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 7}
2719}
2720
2721func (x *Bucket_Versioning) GetEnabled() bool {
2722	if x != nil {
2723		return x.Enabled
2724	}
2725	return false
2726}
2727
2728// Properties of a bucket related to accessing the contents as a static
2729// website. For more on hosting a static website via GCS, see
2730// https://cloud.google.com/storage/docs/hosting-static-website.
2731type Bucket_Website struct {
2732	state         protoimpl.MessageState
2733	sizeCache     protoimpl.SizeCache
2734	unknownFields protoimpl.UnknownFields
2735
2736	// If the requested object path is missing, the service will ensure the path
2737	// has a trailing '/', append this suffix, and attempt to retrieve the
2738	// resulting object. This allows the creation of `index.html`
2739	// objects to represent directory pages.
2740	MainPageSuffix string `protobuf:"bytes,1,opt,name=main_page_suffix,json=mainPageSuffix,proto3" json:"main_page_suffix,omitempty"`
2741	// If the requested object path is missing, and any
2742	// `mainPageSuffix` object is missing, if applicable, the service
2743	// will return the named object from this bucket as the content for a
2744	// [https://tools.ietf.org/html/rfc7231#section-6.5.4][404 Not Found]
2745	// result.
2746	NotFoundPage string `protobuf:"bytes,2,opt,name=not_found_page,json=notFoundPage,proto3" json:"not_found_page,omitempty"`
2747}
2748
2749func (x *Bucket_Website) Reset() {
2750	*x = Bucket_Website{}
2751	if protoimpl.UnsafeEnabled {
2752		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[28]
2753		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2754		ms.StoreMessageInfo(mi)
2755	}
2756}
2757
2758func (x *Bucket_Website) String() string {
2759	return protoimpl.X.MessageStringOf(x)
2760}
2761
2762func (*Bucket_Website) ProtoMessage() {}
2763
2764func (x *Bucket_Website) ProtoReflect() protoreflect.Message {
2765	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[28]
2766	if protoimpl.UnsafeEnabled && x != nil {
2767		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2768		if ms.LoadMessageInfo() == nil {
2769			ms.StoreMessageInfo(mi)
2770		}
2771		return ms
2772	}
2773	return mi.MessageOf(x)
2774}
2775
2776// Deprecated: Use Bucket_Website.ProtoReflect.Descriptor instead.
2777func (*Bucket_Website) Descriptor() ([]byte, []int) {
2778	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 8}
2779}
2780
2781func (x *Bucket_Website) GetMainPageSuffix() string {
2782	if x != nil {
2783		return x.MainPageSuffix
2784	}
2785	return ""
2786}
2787
2788func (x *Bucket_Website) GetNotFoundPage() string {
2789	if x != nil {
2790		return x.NotFoundPage
2791	}
2792	return ""
2793}
2794
2795type Bucket_IamConfiguration_UniformBucketLevelAccess struct {
2796	state         protoimpl.MessageState
2797	sizeCache     protoimpl.SizeCache
2798	unknownFields protoimpl.UnknownFields
2799
2800	// If set, access checks only use bucket-level IAM policies or above.
2801	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
2802	// The deadline time for changing
2803	// <code>iamConfiguration.uniformBucketLevelAccess.enabled</code> from
2804	// true to false in [https://tools.ietf.org/html/rfc3339][RFC 3339]. After
2805	// the deadline is passed the field is immutable.
2806	LockedTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=locked_time,json=lockedTime,proto3" json:"locked_time,omitempty"`
2807}
2808
2809func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) Reset() {
2810	*x = Bucket_IamConfiguration_UniformBucketLevelAccess{}
2811	if protoimpl.UnsafeEnabled {
2812		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[30]
2813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2814		ms.StoreMessageInfo(mi)
2815	}
2816}
2817
2818func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) String() string {
2819	return protoimpl.X.MessageStringOf(x)
2820}
2821
2822func (*Bucket_IamConfiguration_UniformBucketLevelAccess) ProtoMessage() {}
2823
2824func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message {
2825	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[30]
2826	if protoimpl.UnsafeEnabled && x != nil {
2827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2828		if ms.LoadMessageInfo() == nil {
2829			ms.StoreMessageInfo(mi)
2830		}
2831		return ms
2832	}
2833	return mi.MessageOf(x)
2834}
2835
2836// Deprecated: Use Bucket_IamConfiguration_UniformBucketLevelAccess.ProtoReflect.Descriptor instead.
2837func (*Bucket_IamConfiguration_UniformBucketLevelAccess) Descriptor() ([]byte, []int) {
2838	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 3, 0}
2839}
2840
2841func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) GetEnabled() bool {
2842	if x != nil {
2843		return x.Enabled
2844	}
2845	return false
2846}
2847
2848func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) GetLockedTime() *timestamppb.Timestamp {
2849	if x != nil {
2850		return x.LockedTime
2851	}
2852	return nil
2853}
2854
2855// A lifecycle Rule, combining an action to take on an object and a
2856// condition which will trigger that action.
2857type Bucket_Lifecycle_Rule struct {
2858	state         protoimpl.MessageState
2859	sizeCache     protoimpl.SizeCache
2860	unknownFields protoimpl.UnknownFields
2861
2862	// The action to take.
2863	Action *Bucket_Lifecycle_Rule_Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"`
2864	// The condition(s) under which the action will be taken.
2865	Condition *Bucket_Lifecycle_Rule_Condition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"`
2866}
2867
2868func (x *Bucket_Lifecycle_Rule) Reset() {
2869	*x = Bucket_Lifecycle_Rule{}
2870	if protoimpl.UnsafeEnabled {
2871		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[31]
2872		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2873		ms.StoreMessageInfo(mi)
2874	}
2875}
2876
2877func (x *Bucket_Lifecycle_Rule) String() string {
2878	return protoimpl.X.MessageStringOf(x)
2879}
2880
2881func (*Bucket_Lifecycle_Rule) ProtoMessage() {}
2882
2883func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message {
2884	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[31]
2885	if protoimpl.UnsafeEnabled && x != nil {
2886		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2887		if ms.LoadMessageInfo() == nil {
2888			ms.StoreMessageInfo(mi)
2889		}
2890		return ms
2891	}
2892	return mi.MessageOf(x)
2893}
2894
2895// Deprecated: Use Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead.
2896func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) {
2897	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0}
2898}
2899
2900func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action {
2901	if x != nil {
2902		return x.Action
2903	}
2904	return nil
2905}
2906
2907func (x *Bucket_Lifecycle_Rule) GetCondition() *Bucket_Lifecycle_Rule_Condition {
2908	if x != nil {
2909		return x.Condition
2910	}
2911	return nil
2912}
2913
2914// An action to take on an object.
2915type Bucket_Lifecycle_Rule_Action struct {
2916	state         protoimpl.MessageState
2917	sizeCache     protoimpl.SizeCache
2918	unknownFields protoimpl.UnknownFields
2919
2920	// Type of the action. Currently, only `Delete` and
2921	// `SetStorageClass` are supported.
2922	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
2923	// Target storage class. Required iff the type of the action is
2924	// SetStorageClass.
2925	StorageClass string `protobuf:"bytes,2,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
2926}
2927
2928func (x *Bucket_Lifecycle_Rule_Action) Reset() {
2929	*x = Bucket_Lifecycle_Rule_Action{}
2930	if protoimpl.UnsafeEnabled {
2931		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[32]
2932		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2933		ms.StoreMessageInfo(mi)
2934	}
2935}
2936
2937func (x *Bucket_Lifecycle_Rule_Action) String() string {
2938	return protoimpl.X.MessageStringOf(x)
2939}
2940
2941func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {}
2942
2943func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message {
2944	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[32]
2945	if protoimpl.UnsafeEnabled && x != nil {
2946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2947		if ms.LoadMessageInfo() == nil {
2948			ms.StoreMessageInfo(mi)
2949		}
2950		return ms
2951	}
2952	return mi.MessageOf(x)
2953}
2954
2955// Deprecated: Use Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead.
2956func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) {
2957	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0, 0}
2958}
2959
2960func (x *Bucket_Lifecycle_Rule_Action) GetType() string {
2961	if x != nil {
2962		return x.Type
2963	}
2964	return ""
2965}
2966
2967func (x *Bucket_Lifecycle_Rule_Action) GetStorageClass() string {
2968	if x != nil {
2969		return x.StorageClass
2970	}
2971	return ""
2972}
2973
2974// A condition of an object which triggers some action.
2975type Bucket_Lifecycle_Rule_Condition struct {
2976	state         protoimpl.MessageState
2977	sizeCache     protoimpl.SizeCache
2978	unknownFields protoimpl.UnknownFields
2979
2980	// Age of an object (in days). This condition is satisfied when an
2981	// object reaches the specified age.
2982	Age int32 `protobuf:"varint,1,opt,name=age,proto3" json:"age,omitempty"`
2983	// A date in [RFC 3339][1] format with only the date part (for
2984	// instance, "2013-01-15"). This condition is satisfied when an
2985	// object is created before midnight of the specified date in UTC.
2986	// [1]: https://tools.ietf.org/html/rfc3339
2987	CreatedBefore *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_before,json=createdBefore,proto3" json:"created_before,omitempty"`
2988	// Relevant only for versioned objects. If the value is
2989	// `true`, this condition matches live objects; if the value
2990	// is `false`, it matches archived objects.
2991	IsLive *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=is_live,json=isLive,proto3" json:"is_live,omitempty"`
2992	// Relevant only for versioned objects. If the value is N, this
2993	// condition is satisfied when there are at least N versions (including
2994	// the live version) newer than this version of the object.
2995	NumNewerVersions int32 `protobuf:"varint,4,opt,name=num_newer_versions,json=numNewerVersions,proto3" json:"num_newer_versions,omitempty"`
2996	// Objects having any of the storage classes specified by this condition
2997	// will be matched. Values include `MULTI_REGIONAL`, `REGIONAL`,
2998	// `NEARLINE`, `COLDLINE`, `STANDARD`, and
2999	// `DURABLE_REDUCED_AVAILABILITY`.
3000	MatchesStorageClass []string `protobuf:"bytes,5,rep,name=matches_storage_class,json=matchesStorageClass,proto3" json:"matches_storage_class,omitempty"`
3001	// A regular expression that satisfies the RE2 syntax. This condition is
3002	// satisfied when the name of the object matches the RE2 pattern.  Note:
3003	// This feature is currently in the "Early Access" launch stage and is
3004	// only available to a whitelisted set of users; that means that this
3005	// feature may be changed in backward-incompatible ways and that it is
3006	// not guaranteed to be released.
3007	MatchesPattern string `protobuf:"bytes,6,opt,name=matches_pattern,json=matchesPattern,proto3" json:"matches_pattern,omitempty"`
3008}
3009
3010func (x *Bucket_Lifecycle_Rule_Condition) Reset() {
3011	*x = Bucket_Lifecycle_Rule_Condition{}
3012	if protoimpl.UnsafeEnabled {
3013		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[33]
3014		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3015		ms.StoreMessageInfo(mi)
3016	}
3017}
3018
3019func (x *Bucket_Lifecycle_Rule_Condition) String() string {
3020	return protoimpl.X.MessageStringOf(x)
3021}
3022
3023func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {}
3024
3025func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message {
3026	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[33]
3027	if protoimpl.UnsafeEnabled && x != nil {
3028		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3029		if ms.LoadMessageInfo() == nil {
3030			ms.StoreMessageInfo(mi)
3031		}
3032		return ms
3033	}
3034	return mi.MessageOf(x)
3035}
3036
3037// Deprecated: Use Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead.
3038func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) {
3039	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0, 1}
3040}
3041
3042func (x *Bucket_Lifecycle_Rule_Condition) GetAge() int32 {
3043	if x != nil {
3044		return x.Age
3045	}
3046	return 0
3047}
3048
3049func (x *Bucket_Lifecycle_Rule_Condition) GetCreatedBefore() *timestamppb.Timestamp {
3050	if x != nil {
3051		return x.CreatedBefore
3052	}
3053	return nil
3054}
3055
3056func (x *Bucket_Lifecycle_Rule_Condition) GetIsLive() *wrapperspb.BoolValue {
3057	if x != nil {
3058		return x.IsLive
3059	}
3060	return nil
3061}
3062
3063func (x *Bucket_Lifecycle_Rule_Condition) GetNumNewerVersions() int32 {
3064	if x != nil {
3065		return x.NumNewerVersions
3066	}
3067	return 0
3068}
3069
3070func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesStorageClass() []string {
3071	if x != nil {
3072		return x.MatchesStorageClass
3073	}
3074	return nil
3075}
3076
3077func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesPattern() string {
3078	if x != nil {
3079		return x.MatchesPattern
3080	}
3081	return ""
3082}
3083
3084type ListChannelsResponse_Items struct {
3085	state         protoimpl.MessageState
3086	sizeCache     protoimpl.SizeCache
3087	unknownFields protoimpl.UnknownFields
3088
3089	// User-specified name for a channel. Needed to unsubscribe.
3090	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
3091	// Opaque value generated by GCS representing a bucket. Needed to
3092	// unsubscribe.
3093	ResourceId string `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
3094	// Url used to identify where notifications are sent to.
3095	PushUrl string `protobuf:"bytes,3,opt,name=push_url,json=pushUrl,proto3" json:"push_url,omitempty"`
3096	// Email address of the subscriber.
3097	SubscriberEmail string `protobuf:"bytes,4,opt,name=subscriber_email,json=subscriberEmail,proto3" json:"subscriber_email,omitempty"`
3098	// Time when the channel was created.
3099	CreationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
3100}
3101
3102func (x *ListChannelsResponse_Items) Reset() {
3103	*x = ListChannelsResponse_Items{}
3104	if protoimpl.UnsafeEnabled {
3105		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[35]
3106		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3107		ms.StoreMessageInfo(mi)
3108	}
3109}
3110
3111func (x *ListChannelsResponse_Items) String() string {
3112	return protoimpl.X.MessageStringOf(x)
3113}
3114
3115func (*ListChannelsResponse_Items) ProtoMessage() {}
3116
3117func (x *ListChannelsResponse_Items) ProtoReflect() protoreflect.Message {
3118	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[35]
3119	if protoimpl.UnsafeEnabled && x != nil {
3120		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3121		if ms.LoadMessageInfo() == nil {
3122			ms.StoreMessageInfo(mi)
3123		}
3124		return ms
3125	}
3126	return mi.MessageOf(x)
3127}
3128
3129// Deprecated: Use ListChannelsResponse_Items.ProtoReflect.Descriptor instead.
3130func (*ListChannelsResponse_Items) Descriptor() ([]byte, []int) {
3131	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{5, 0}
3132}
3133
3134func (x *ListChannelsResponse_Items) GetChannelId() string {
3135	if x != nil {
3136		return x.ChannelId
3137	}
3138	return ""
3139}
3140
3141func (x *ListChannelsResponse_Items) GetResourceId() string {
3142	if x != nil {
3143		return x.ResourceId
3144	}
3145	return ""
3146}
3147
3148func (x *ListChannelsResponse_Items) GetPushUrl() string {
3149	if x != nil {
3150		return x.PushUrl
3151	}
3152	return ""
3153}
3154
3155func (x *ListChannelsResponse_Items) GetSubscriberEmail() string {
3156	if x != nil {
3157		return x.SubscriberEmail
3158	}
3159	return ""
3160}
3161
3162func (x *ListChannelsResponse_Items) GetCreationTime() *timestamppb.Timestamp {
3163	if x != nil {
3164		return x.CreationTime
3165	}
3166	return nil
3167}
3168
3169// Describes the customer-specified mechanism used to store the data at rest.
3170type Object_CustomerEncryption struct {
3171	state         protoimpl.MessageState
3172	sizeCache     protoimpl.SizeCache
3173	unknownFields protoimpl.UnknownFields
3174
3175	// The encryption algorithm.
3176	EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
3177	// SHA256 hash value of the encryption key.
3178	KeySha256 string `protobuf:"bytes,2,opt,name=key_sha256,json=keySha256,proto3" json:"key_sha256,omitempty"`
3179}
3180
3181func (x *Object_CustomerEncryption) Reset() {
3182	*x = Object_CustomerEncryption{}
3183	if protoimpl.UnsafeEnabled {
3184		mi := &file_google_storage_v1_storage_resources_proto_msgTypes[37]
3185		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3186		ms.StoreMessageInfo(mi)
3187	}
3188}
3189
3190func (x *Object_CustomerEncryption) String() string {
3191	return protoimpl.X.MessageStringOf(x)
3192}
3193
3194func (*Object_CustomerEncryption) ProtoMessage() {}
3195
3196func (x *Object_CustomerEncryption) ProtoReflect() protoreflect.Message {
3197	mi := &file_google_storage_v1_storage_resources_proto_msgTypes[37]
3198	if protoimpl.UnsafeEnabled && x != nil {
3199		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3200		if ms.LoadMessageInfo() == nil {
3201			ms.StoreMessageInfo(mi)
3202		}
3203		return ms
3204	}
3205	return mi.MessageOf(x)
3206}
3207
3208// Deprecated: Use Object_CustomerEncryption.ProtoReflect.Descriptor instead.
3209func (*Object_CustomerEncryption) Descriptor() ([]byte, []int) {
3210	return file_google_storage_v1_storage_resources_proto_rawDescGZIP(), []int{13, 0}
3211}
3212
3213func (x *Object_CustomerEncryption) GetEncryptionAlgorithm() string {
3214	if x != nil {
3215		return x.EncryptionAlgorithm
3216	}
3217	return ""
3218}
3219
3220func (x *Object_CustomerEncryption) GetKeySha256() string {
3221	if x != nil {
3222		return x.KeySha256
3223	}
3224	return ""
3225}
3226
3227var File_google_storage_v1_storage_resources_proto protoreflect.FileDescriptor
3228
3229var file_google_storage_v1_storage_resources_proto_rawDesc = []byte{
3230	0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3231	0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f,
3232	0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f,
3233	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f,
3234	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
3235	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3236	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3237	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
3238	0xc1, 0x16, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63,
3239	0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3240	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b,
3241	0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52,
3242	0x03, 0x61, 0x63, 0x6c, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
3243	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
3244	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
3245	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73,
3246	0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
3247	0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69,
3248	0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
3249	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
3250	0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
3251	0x6c, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3d, 0x0a,
3252	0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20,
3253	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3254	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
3255	0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02,
3256	0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
3257	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3258	0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
3259	0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3260	0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67,
3261	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
3262	0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
3263	0x32, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
3264	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
3265	0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63,
3266	0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
3267	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
3268	0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
3269	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
3270	0x6c, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01,
3271	0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61,
3272	0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3273	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
3274	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37,
3275	0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
3276	0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
3277	0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61,
3278	0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
3279	0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3280	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b,
3281	0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
3282	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74,
3283	0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3284	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b,
3285	0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73,
3286	0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e,
3287	0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3288	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b,
3289	0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x76,
3290	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x6c, 0x6f, 0x67,
3291	0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
3292	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
3293	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6c,
3294	0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18,
3295	0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
3296	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52,
3297	0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
3298	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3299	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
3300	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
3301	0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07,
3302	0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
3303	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
3304	0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
3305	0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74,
3306	0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20,
3307	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
3308	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52,
3309	0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f,
3310	0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
3311	0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,
3312	0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3313	0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
3314	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32,
3315	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3316	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f,
3317	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x61, 0x6d,
3318	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
3319	0x0d, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x19,
3320	0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69,
3321	0x74, 0x79, 0x1a, 0x30, 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a,
3322	0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18,
3323	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72,
3324	0x50, 0x61, 0x79, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a,
3325	0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f,
3326	0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18,
3327	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a,
3328	0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
3329	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3330	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67,
3331	0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
3332	0x0d, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x3d,
3333	0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14,
3334	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3335	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61,
3336	0x75, 0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x8a, 0x02,
3337	0x0a, 0x10, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
3338	0x6f, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62,
3339	0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65,
3340	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3341	0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63,
3342	0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
3343	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b,
3344	0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75,
3345	0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65,
3346	0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x71, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f,
3347	0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63,
3348	0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01,
3349	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a,
3350	0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
3351	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3352	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
3353	0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xd3, 0x04, 0x0a, 0x09, 0x4c,
3354	0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65,
3355	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3356	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
3357	0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65,
3358	0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x87, 0x04, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12,
3359	0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3360	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3361	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63,
3362	0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3363	0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64,
3364	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
3365	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
3366	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
3367	0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3368	0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63,
3369	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
3370	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72,
3371	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3372	0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xa0, 0x02,
3373	0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61,
3374	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a,
3375	0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18,
3376	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3377	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
3378	0x70, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65,
3379	0x12, 0x33, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
3380	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3381	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x69,
3382	0x73, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77,
3383	0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
3384	0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
3385	0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73,
3386	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03,
3387	0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61,
3388	0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68,
3389	0x65, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
3390	0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
3391	0x1a, 0x54, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
3392	0x6f, 0x67, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3393	0x09, 0x6c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f,
3394	0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18,
3395	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
3396	0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e,
3397	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66,
3398	0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3399	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3400	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d,
3401	0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
3402	0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
3403	0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65,
3404	0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03,
3405	0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50,
3406	0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3407	0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01,
3408	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a,
3409	0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e,
3410	0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
3411	0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66,
3412	0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f,
3413	0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46,
3414	0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65,
3415	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
3416	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
3417	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
3418	0x02, 0x38, 0x01, 0x22, 0x8b, 0x02, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63,
3419	0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72,
3420	0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12,
3421	0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65,
3422	0x74, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
3423	0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20,
3424	0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65,
3425	0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74,
3426	0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
3427	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
3428	0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
3429	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
3430	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41,
3431	0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0a,
3432	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
3433	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3434	0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61,
3435	0x6d, 0x22, 0x60, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41,
3436	0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73,
3437	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01,
3438	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
3439	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41,
3440	0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x05, 0x69, 0x74,
3441	0x65, 0x6d, 0x73, 0x22, 0x6e, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65,
3442	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x69, 0x74,
3443	0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3444	0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
3445	0x63, 0x6b, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
3446	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
3447	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
3448	0x6b, 0x65, 0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12,
3449	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
3450	0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
3451	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
3452	0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69,
3453	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
3454	0x55, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01,
3455	0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x70,
3456	0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
3457	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3458	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
3459	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
3460	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64,
3461	0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
3462	0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20,
3463	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
3464	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e,
3465	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72,
3466	0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09,
3467	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x39, 0x0a,
3468	0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
3469	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
3470	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
3471	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xac, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73,
3472	0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3473	0x65, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3474	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
3475	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3476	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52,
3477	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xce, 0x01, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73,
3478	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01,
3479	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12,
3480	0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
3481	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
3482	0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01,
3483	0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x73, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x73,
3484	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
3485	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
3486	0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
3487	0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
3488	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3489	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74,
3490	0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b,
3491	0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
3492	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e,
3493	0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02,
3494	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3495	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
3496	0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x62, 0x0a, 0x0f, 0x4f, 0x62,
3497	0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x34, 0x0a,
3498	0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
3499	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3500	0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x63,
3501	0x33, 0x32, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
3502	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61, 0x73, 0x68, 0x22, 0xa7,
3503	0x04, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x22, 0x3e,
3504	0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16,
3505	0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
3506	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x5f, 0x41,
3507	0x43, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0xd5,
3508	0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63,
3509	0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46,
3510	0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f,
3511	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a,
3512	0x1d, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48,
3513	0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01,
3514	0x12, 0x16, 0x0a, 0x12, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50,
3515	0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x55, 0x43, 0x4b,
3516	0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50,
3517	0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x55, 0x43, 0x4b,
3518	0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45,
3519	0x41, 0x44, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41,
3520	0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57,
3521	0x52, 0x49, 0x54, 0x45, 0x10, 0x05, 0x22, 0xff, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x64, 0x65,
3522	0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x25,
3523	0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a,
3524	0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
3525	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
3526	0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45,
3527	0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45,
3528	0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f, 0x57,
3529	0x4e, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c,
3530	0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c,
3531	0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45,
3532	0x41, 0x44, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41,
3533	0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a,
3534	0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45,
3535	0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16,
3536	0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
3537	0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74,
3538	0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72,
3539	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10,
3540	0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64,
3541	0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x6e,
3542	0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
3543	0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xb0, 0x02, 0x0a, 0x0f, 0x48, 0x6d,
3544	0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a,
3545	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a,
3546	0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3547	0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
3548	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
3549	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72,
3550	0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61,
3551	0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
3552	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a,
3553	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74,
3554	0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61,
3555	0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3556	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
3557	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
3558	0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20,
3559	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3560	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
3561	0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67,
3562	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xe7, 0x02, 0x0a,
3563	0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
3564	0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
3565	0x70, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70,
3566	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54,
3567	0x79, 0x70, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61,
3568	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
3569	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3570	0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3571	0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
3572	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74,
3573	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67,
3574	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x2c, 0x0a, 0x12,
3575	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66,
3576	0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
3577	0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61,
3578	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
3579	0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61,
3580	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
3581	0x64, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69,
3582	0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
3583	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
3584	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
3585	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f,
3586	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
3587	0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03,
3588	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
3589	0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
3590	0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xc9, 0x0b, 0x0a, 0x06, 0x4f,
3591	0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3592	0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3593	0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67,
3594	0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70,
3595	0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63,
3596	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
3597	0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
3598	0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43,
3599	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20,
3600	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
3601	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63,
3602	0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c,
3603	0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67,
3604	0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74,
3605	0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d,
3606	0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
3607	0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
3608	0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65,
3609	0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3610	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
3611	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74,
3612	0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79,
3613	0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3614	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20,
3615	0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d,
3616	0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
3617	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3618	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x74, 0x69, 0x6d,
3619	0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33,
3620	0x32, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3621	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33,
3622	0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x27,
3623	0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
3624	0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
3625	0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68,
3626	0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61,
3627	0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
3628	0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
3629	0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3630	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3631	0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d,
3632	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x10, 0x20,
3633	0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73,
3634	0x73, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
3635	0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e,
3636	0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72,
3637	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
3638	0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3639	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3640	0x61, 0x6d, 0x70, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3641	0x43, 0x6c, 0x61, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e,
3642	0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x13,
3643	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48,
3644	0x6f, 0x6c, 0x64, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
3645	0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
3646	0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3647	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3648	0x6d, 0x70, 0x52, 0x17, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70,
3649	0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d,
3650	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
3651	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
3652	0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
3653	0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
3654	0x12, 0x44, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f,
3655	0x68, 0x6f, 0x6c, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3656	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
3657	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
3658	0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17,
3659	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
3660	0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75,
3661	0x63, 0x6b, 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b,
3662	0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3663	0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
3664	0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28,
3665	0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
3666	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e,
3667	0x65, 0x72, 0x12, 0x5d, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65,
3668	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32,
3669	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3670	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f,
3671	0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63,
3672	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
3673	0x6e, 0x1a, 0x66, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63,
3674	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79,
3675	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18,
3676	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
3677	0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65,
3678	0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
3679	0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74,
3680	0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
3681	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
3682	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
3683	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc3, 0x02, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63,
3684	0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12,
3685	0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f,
3686	0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3687	0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
3688	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
3689	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16,
3690	0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
3691	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
3692	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65,
3693	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
3694	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b,
3695	0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
3696	0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65,
3697	0x6d, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
3698	0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
3699	0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
3700	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
3701	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3702	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52,
3703	0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x60, 0x0a, 0x20,
3704	0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
3705	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3706	0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3707	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3708	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
3709	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8a,
3710	0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65,
3711	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
3712	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
3713	0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
3714	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
3715	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, 0x74,
3716	0x65, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
3717	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
3718	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50,
3719	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72,
3720	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
3721	0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65,
3722	0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3723	0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
3724	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c,
3725	0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
3726	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05,
3727	0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
3728	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a,
3729	0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3730	0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x6f, 0x0a, 0x15, 0x63, 0x6f,
3731	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3732	0x2e, 0x76, 0x31, 0x42, 0x1a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
3733	0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
3734	0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
3735	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
3736	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
3737	0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
3738	0x74, 0x6f, 0x33,
3739}
3740
3741var (
3742	file_google_storage_v1_storage_resources_proto_rawDescOnce sync.Once
3743	file_google_storage_v1_storage_resources_proto_rawDescData = file_google_storage_v1_storage_resources_proto_rawDesc
3744)
3745
3746func file_google_storage_v1_storage_resources_proto_rawDescGZIP() []byte {
3747	file_google_storage_v1_storage_resources_proto_rawDescOnce.Do(func() {
3748		file_google_storage_v1_storage_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_storage_v1_storage_resources_proto_rawDescData)
3749	})
3750	return file_google_storage_v1_storage_resources_proto_rawDescData
3751}
3752
3753var file_google_storage_v1_storage_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
3754var file_google_storage_v1_storage_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
3755var file_google_storage_v1_storage_resources_proto_goTypes = []interface{}{
3756	(CommonEnums_Projection)(0),              // 0: google.storage.v1.CommonEnums.Projection
3757	(CommonEnums_PredefinedBucketAcl)(0),     // 1: google.storage.v1.CommonEnums.PredefinedBucketAcl
3758	(CommonEnums_PredefinedObjectAcl)(0),     // 2: google.storage.v1.CommonEnums.PredefinedObjectAcl
3759	(*Bucket)(nil),                           // 3: google.storage.v1.Bucket
3760	(*BucketAccessControl)(nil),              // 4: google.storage.v1.BucketAccessControl
3761	(*ListBucketAccessControlsResponse)(nil), // 5: google.storage.v1.ListBucketAccessControlsResponse
3762	(*ListBucketsResponse)(nil),              // 6: google.storage.v1.ListBucketsResponse
3763	(*Channel)(nil),                          // 7: google.storage.v1.Channel
3764	(*ListChannelsResponse)(nil),             // 8: google.storage.v1.ListChannelsResponse
3765	(*ChecksummedData)(nil),                  // 9: google.storage.v1.ChecksummedData
3766	(*ObjectChecksums)(nil),                  // 10: google.storage.v1.ObjectChecksums
3767	(*CommonEnums)(nil),                      // 11: google.storage.v1.CommonEnums
3768	(*ContentRange)(nil),                     // 12: google.storage.v1.ContentRange
3769	(*HmacKeyMetadata)(nil),                  // 13: google.storage.v1.HmacKeyMetadata
3770	(*Notification)(nil),                     // 14: google.storage.v1.Notification
3771	(*ListNotificationsResponse)(nil),        // 15: google.storage.v1.ListNotificationsResponse
3772	(*Object)(nil),                           // 16: google.storage.v1.Object
3773	(*ObjectAccessControl)(nil),              // 17: google.storage.v1.ObjectAccessControl
3774	(*ListObjectAccessControlsResponse)(nil), // 18: google.storage.v1.ListObjectAccessControlsResponse
3775	(*ListObjectsResponse)(nil),              // 19: google.storage.v1.ListObjectsResponse
3776	(*ProjectTeam)(nil),                      // 20: google.storage.v1.ProjectTeam
3777	(*ServiceAccount)(nil),                   // 21: google.storage.v1.ServiceAccount
3778	(*Owner)(nil),                            // 22: google.storage.v1.Owner
3779	(*Bucket_Billing)(nil),                   // 23: google.storage.v1.Bucket.Billing
3780	(*Bucket_Cors)(nil),                      // 24: google.storage.v1.Bucket.Cors
3781	(*Bucket_Encryption)(nil),                // 25: google.storage.v1.Bucket.Encryption
3782	(*Bucket_IamConfiguration)(nil),          // 26: google.storage.v1.Bucket.IamConfiguration
3783	(*Bucket_Lifecycle)(nil),                 // 27: google.storage.v1.Bucket.Lifecycle
3784	(*Bucket_Logging)(nil),                   // 28: google.storage.v1.Bucket.Logging
3785	(*Bucket_RetentionPolicy)(nil),           // 29: google.storage.v1.Bucket.RetentionPolicy
3786	(*Bucket_Versioning)(nil),                // 30: google.storage.v1.Bucket.Versioning
3787	(*Bucket_Website)(nil),                   // 31: google.storage.v1.Bucket.Website
3788	nil,                                      // 32: google.storage.v1.Bucket.LabelsEntry
3789	(*Bucket_IamConfiguration_UniformBucketLevelAccess)(nil), // 33: google.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess
3790	(*Bucket_Lifecycle_Rule)(nil),                            // 34: google.storage.v1.Bucket.Lifecycle.Rule
3791	(*Bucket_Lifecycle_Rule_Action)(nil),                     // 35: google.storage.v1.Bucket.Lifecycle.Rule.Action
3792	(*Bucket_Lifecycle_Rule_Condition)(nil),                  // 36: google.storage.v1.Bucket.Lifecycle.Rule.Condition
3793	nil,                                                      // 37: google.storage.v1.Channel.ParamsEntry
3794	(*ListChannelsResponse_Items)(nil),                       // 38: google.storage.v1.ListChannelsResponse.Items
3795	nil,                                                      // 39: google.storage.v1.Notification.CustomAttributesEntry
3796	(*Object_CustomerEncryption)(nil),                        // 40: google.storage.v1.Object.CustomerEncryption
3797	nil,                                                      // 41: google.storage.v1.Object.MetadataEntry
3798	(*timestamppb.Timestamp)(nil),                            // 42: google.protobuf.Timestamp
3799	(*wrapperspb.UInt32Value)(nil),                           // 43: google.protobuf.UInt32Value
3800	(*wrapperspb.BoolValue)(nil),                             // 44: google.protobuf.BoolValue
3801}
3802var file_google_storage_v1_storage_resources_proto_depIdxs = []int32{
3803	4,  // 0: google.storage.v1.Bucket.acl:type_name -> google.storage.v1.BucketAccessControl
3804	17, // 1: google.storage.v1.Bucket.default_object_acl:type_name -> google.storage.v1.ObjectAccessControl
3805	27, // 2: google.storage.v1.Bucket.lifecycle:type_name -> google.storage.v1.Bucket.Lifecycle
3806	42, // 3: google.storage.v1.Bucket.time_created:type_name -> google.protobuf.Timestamp
3807	24, // 4: google.storage.v1.Bucket.cors:type_name -> google.storage.v1.Bucket.Cors
3808	42, // 5: google.storage.v1.Bucket.updated:type_name -> google.protobuf.Timestamp
3809	32, // 6: google.storage.v1.Bucket.labels:type_name -> google.storage.v1.Bucket.LabelsEntry
3810	31, // 7: google.storage.v1.Bucket.website:type_name -> google.storage.v1.Bucket.Website
3811	30, // 8: google.storage.v1.Bucket.versioning:type_name -> google.storage.v1.Bucket.Versioning
3812	28, // 9: google.storage.v1.Bucket.logging:type_name -> google.storage.v1.Bucket.Logging
3813	22, // 10: google.storage.v1.Bucket.owner:type_name -> google.storage.v1.Owner
3814	25, // 11: google.storage.v1.Bucket.encryption:type_name -> google.storage.v1.Bucket.Encryption
3815	23, // 12: google.storage.v1.Bucket.billing:type_name -> google.storage.v1.Bucket.Billing
3816	29, // 13: google.storage.v1.Bucket.retention_policy:type_name -> google.storage.v1.Bucket.RetentionPolicy
3817	26, // 14: google.storage.v1.Bucket.iam_configuration:type_name -> google.storage.v1.Bucket.IamConfiguration
3818	20, // 15: google.storage.v1.BucketAccessControl.project_team:type_name -> google.storage.v1.ProjectTeam
3819	4,  // 16: google.storage.v1.ListBucketAccessControlsResponse.items:type_name -> google.storage.v1.BucketAccessControl
3820	3,  // 17: google.storage.v1.ListBucketsResponse.items:type_name -> google.storage.v1.Bucket
3821	42, // 18: google.storage.v1.Channel.expiration:type_name -> google.protobuf.Timestamp
3822	37, // 19: google.storage.v1.Channel.params:type_name -> google.storage.v1.Channel.ParamsEntry
3823	38, // 20: google.storage.v1.ListChannelsResponse.items:type_name -> google.storage.v1.ListChannelsResponse.Items
3824	43, // 21: google.storage.v1.ChecksummedData.crc32c:type_name -> google.protobuf.UInt32Value
3825	43, // 22: google.storage.v1.ObjectChecksums.crc32c:type_name -> google.protobuf.UInt32Value
3826	42, // 23: google.storage.v1.HmacKeyMetadata.time_created:type_name -> google.protobuf.Timestamp
3827	42, // 24: google.storage.v1.HmacKeyMetadata.updated:type_name -> google.protobuf.Timestamp
3828	39, // 25: google.storage.v1.Notification.custom_attributes:type_name -> google.storage.v1.Notification.CustomAttributesEntry
3829	14, // 26: google.storage.v1.ListNotificationsResponse.items:type_name -> google.storage.v1.Notification
3830	17, // 27: google.storage.v1.Object.acl:type_name -> google.storage.v1.ObjectAccessControl
3831	42, // 28: google.storage.v1.Object.time_deleted:type_name -> google.protobuf.Timestamp
3832	42, // 29: google.storage.v1.Object.time_created:type_name -> google.protobuf.Timestamp
3833	43, // 30: google.storage.v1.Object.crc32c:type_name -> google.protobuf.UInt32Value
3834	42, // 31: google.storage.v1.Object.updated:type_name -> google.protobuf.Timestamp
3835	42, // 32: google.storage.v1.Object.time_storage_class_updated:type_name -> google.protobuf.Timestamp
3836	42, // 33: google.storage.v1.Object.retention_expiration_time:type_name -> google.protobuf.Timestamp
3837	41, // 34: google.storage.v1.Object.metadata:type_name -> google.storage.v1.Object.MetadataEntry
3838	44, // 35: google.storage.v1.Object.event_based_hold:type_name -> google.protobuf.BoolValue
3839	22, // 36: google.storage.v1.Object.owner:type_name -> google.storage.v1.Owner
3840	40, // 37: google.storage.v1.Object.customer_encryption:type_name -> google.storage.v1.Object.CustomerEncryption
3841	20, // 38: google.storage.v1.ObjectAccessControl.project_team:type_name -> google.storage.v1.ProjectTeam
3842	17, // 39: google.storage.v1.ListObjectAccessControlsResponse.items:type_name -> google.storage.v1.ObjectAccessControl
3843	16, // 40: google.storage.v1.ListObjectsResponse.items:type_name -> google.storage.v1.Object
3844	33, // 41: google.storage.v1.Bucket.IamConfiguration.uniform_bucket_level_access:type_name -> google.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess
3845	34, // 42: google.storage.v1.Bucket.Lifecycle.rule:type_name -> google.storage.v1.Bucket.Lifecycle.Rule
3846	42, // 43: google.storage.v1.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
3847	42, // 44: google.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess.locked_time:type_name -> google.protobuf.Timestamp
3848	35, // 45: google.storage.v1.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v1.Bucket.Lifecycle.Rule.Action
3849	36, // 46: google.storage.v1.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v1.Bucket.Lifecycle.Rule.Condition
3850	42, // 47: google.storage.v1.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.protobuf.Timestamp
3851	44, // 48: google.storage.v1.Bucket.Lifecycle.Rule.Condition.is_live:type_name -> google.protobuf.BoolValue
3852	42, // 49: google.storage.v1.ListChannelsResponse.Items.creation_time:type_name -> google.protobuf.Timestamp
3853	50, // [50:50] is the sub-list for method output_type
3854	50, // [50:50] is the sub-list for method input_type
3855	50, // [50:50] is the sub-list for extension type_name
3856	50, // [50:50] is the sub-list for extension extendee
3857	0,  // [0:50] is the sub-list for field type_name
3858}
3859
3860func init() { file_google_storage_v1_storage_resources_proto_init() }
3861func file_google_storage_v1_storage_resources_proto_init() {
3862	if File_google_storage_v1_storage_resources_proto != nil {
3863		return
3864	}
3865	if !protoimpl.UnsafeEnabled {
3866		file_google_storage_v1_storage_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3867			switch v := v.(*Bucket); i {
3868			case 0:
3869				return &v.state
3870			case 1:
3871				return &v.sizeCache
3872			case 2:
3873				return &v.unknownFields
3874			default:
3875				return nil
3876			}
3877		}
3878		file_google_storage_v1_storage_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3879			switch v := v.(*BucketAccessControl); i {
3880			case 0:
3881				return &v.state
3882			case 1:
3883				return &v.sizeCache
3884			case 2:
3885				return &v.unknownFields
3886			default:
3887				return nil
3888			}
3889		}
3890		file_google_storage_v1_storage_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3891			switch v := v.(*ListBucketAccessControlsResponse); i {
3892			case 0:
3893				return &v.state
3894			case 1:
3895				return &v.sizeCache
3896			case 2:
3897				return &v.unknownFields
3898			default:
3899				return nil
3900			}
3901		}
3902		file_google_storage_v1_storage_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3903			switch v := v.(*ListBucketsResponse); i {
3904			case 0:
3905				return &v.state
3906			case 1:
3907				return &v.sizeCache
3908			case 2:
3909				return &v.unknownFields
3910			default:
3911				return nil
3912			}
3913		}
3914		file_google_storage_v1_storage_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3915			switch v := v.(*Channel); i {
3916			case 0:
3917				return &v.state
3918			case 1:
3919				return &v.sizeCache
3920			case 2:
3921				return &v.unknownFields
3922			default:
3923				return nil
3924			}
3925		}
3926		file_google_storage_v1_storage_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3927			switch v := v.(*ListChannelsResponse); i {
3928			case 0:
3929				return &v.state
3930			case 1:
3931				return &v.sizeCache
3932			case 2:
3933				return &v.unknownFields
3934			default:
3935				return nil
3936			}
3937		}
3938		file_google_storage_v1_storage_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3939			switch v := v.(*ChecksummedData); i {
3940			case 0:
3941				return &v.state
3942			case 1:
3943				return &v.sizeCache
3944			case 2:
3945				return &v.unknownFields
3946			default:
3947				return nil
3948			}
3949		}
3950		file_google_storage_v1_storage_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3951			switch v := v.(*ObjectChecksums); i {
3952			case 0:
3953				return &v.state
3954			case 1:
3955				return &v.sizeCache
3956			case 2:
3957				return &v.unknownFields
3958			default:
3959				return nil
3960			}
3961		}
3962		file_google_storage_v1_storage_resources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3963			switch v := v.(*CommonEnums); i {
3964			case 0:
3965				return &v.state
3966			case 1:
3967				return &v.sizeCache
3968			case 2:
3969				return &v.unknownFields
3970			default:
3971				return nil
3972			}
3973		}
3974		file_google_storage_v1_storage_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3975			switch v := v.(*ContentRange); i {
3976			case 0:
3977				return &v.state
3978			case 1:
3979				return &v.sizeCache
3980			case 2:
3981				return &v.unknownFields
3982			default:
3983				return nil
3984			}
3985		}
3986		file_google_storage_v1_storage_resources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3987			switch v := v.(*HmacKeyMetadata); i {
3988			case 0:
3989				return &v.state
3990			case 1:
3991				return &v.sizeCache
3992			case 2:
3993				return &v.unknownFields
3994			default:
3995				return nil
3996			}
3997		}
3998		file_google_storage_v1_storage_resources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3999			switch v := v.(*Notification); i {
4000			case 0:
4001				return &v.state
4002			case 1:
4003				return &v.sizeCache
4004			case 2:
4005				return &v.unknownFields
4006			default:
4007				return nil
4008			}
4009		}
4010		file_google_storage_v1_storage_resources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4011			switch v := v.(*ListNotificationsResponse); i {
4012			case 0:
4013				return &v.state
4014			case 1:
4015				return &v.sizeCache
4016			case 2:
4017				return &v.unknownFields
4018			default:
4019				return nil
4020			}
4021		}
4022		file_google_storage_v1_storage_resources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4023			switch v := v.(*Object); i {
4024			case 0:
4025				return &v.state
4026			case 1:
4027				return &v.sizeCache
4028			case 2:
4029				return &v.unknownFields
4030			default:
4031				return nil
4032			}
4033		}
4034		file_google_storage_v1_storage_resources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4035			switch v := v.(*ObjectAccessControl); i {
4036			case 0:
4037				return &v.state
4038			case 1:
4039				return &v.sizeCache
4040			case 2:
4041				return &v.unknownFields
4042			default:
4043				return nil
4044			}
4045		}
4046		file_google_storage_v1_storage_resources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4047			switch v := v.(*ListObjectAccessControlsResponse); i {
4048			case 0:
4049				return &v.state
4050			case 1:
4051				return &v.sizeCache
4052			case 2:
4053				return &v.unknownFields
4054			default:
4055				return nil
4056			}
4057		}
4058		file_google_storage_v1_storage_resources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4059			switch v := v.(*ListObjectsResponse); i {
4060			case 0:
4061				return &v.state
4062			case 1:
4063				return &v.sizeCache
4064			case 2:
4065				return &v.unknownFields
4066			default:
4067				return nil
4068			}
4069		}
4070		file_google_storage_v1_storage_resources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4071			switch v := v.(*ProjectTeam); i {
4072			case 0:
4073				return &v.state
4074			case 1:
4075				return &v.sizeCache
4076			case 2:
4077				return &v.unknownFields
4078			default:
4079				return nil
4080			}
4081		}
4082		file_google_storage_v1_storage_resources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4083			switch v := v.(*ServiceAccount); i {
4084			case 0:
4085				return &v.state
4086			case 1:
4087				return &v.sizeCache
4088			case 2:
4089				return &v.unknownFields
4090			default:
4091				return nil
4092			}
4093		}
4094		file_google_storage_v1_storage_resources_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4095			switch v := v.(*Owner); i {
4096			case 0:
4097				return &v.state
4098			case 1:
4099				return &v.sizeCache
4100			case 2:
4101				return &v.unknownFields
4102			default:
4103				return nil
4104			}
4105		}
4106		file_google_storage_v1_storage_resources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4107			switch v := v.(*Bucket_Billing); i {
4108			case 0:
4109				return &v.state
4110			case 1:
4111				return &v.sizeCache
4112			case 2:
4113				return &v.unknownFields
4114			default:
4115				return nil
4116			}
4117		}
4118		file_google_storage_v1_storage_resources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4119			switch v := v.(*Bucket_Cors); i {
4120			case 0:
4121				return &v.state
4122			case 1:
4123				return &v.sizeCache
4124			case 2:
4125				return &v.unknownFields
4126			default:
4127				return nil
4128			}
4129		}
4130		file_google_storage_v1_storage_resources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4131			switch v := v.(*Bucket_Encryption); i {
4132			case 0:
4133				return &v.state
4134			case 1:
4135				return &v.sizeCache
4136			case 2:
4137				return &v.unknownFields
4138			default:
4139				return nil
4140			}
4141		}
4142		file_google_storage_v1_storage_resources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4143			switch v := v.(*Bucket_IamConfiguration); i {
4144			case 0:
4145				return &v.state
4146			case 1:
4147				return &v.sizeCache
4148			case 2:
4149				return &v.unknownFields
4150			default:
4151				return nil
4152			}
4153		}
4154		file_google_storage_v1_storage_resources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4155			switch v := v.(*Bucket_Lifecycle); i {
4156			case 0:
4157				return &v.state
4158			case 1:
4159				return &v.sizeCache
4160			case 2:
4161				return &v.unknownFields
4162			default:
4163				return nil
4164			}
4165		}
4166		file_google_storage_v1_storage_resources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4167			switch v := v.(*Bucket_Logging); i {
4168			case 0:
4169				return &v.state
4170			case 1:
4171				return &v.sizeCache
4172			case 2:
4173				return &v.unknownFields
4174			default:
4175				return nil
4176			}
4177		}
4178		file_google_storage_v1_storage_resources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4179			switch v := v.(*Bucket_RetentionPolicy); i {
4180			case 0:
4181				return &v.state
4182			case 1:
4183				return &v.sizeCache
4184			case 2:
4185				return &v.unknownFields
4186			default:
4187				return nil
4188			}
4189		}
4190		file_google_storage_v1_storage_resources_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4191			switch v := v.(*Bucket_Versioning); i {
4192			case 0:
4193				return &v.state
4194			case 1:
4195				return &v.sizeCache
4196			case 2:
4197				return &v.unknownFields
4198			default:
4199				return nil
4200			}
4201		}
4202		file_google_storage_v1_storage_resources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4203			switch v := v.(*Bucket_Website); i {
4204			case 0:
4205				return &v.state
4206			case 1:
4207				return &v.sizeCache
4208			case 2:
4209				return &v.unknownFields
4210			default:
4211				return nil
4212			}
4213		}
4214		file_google_storage_v1_storage_resources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4215			switch v := v.(*Bucket_IamConfiguration_UniformBucketLevelAccess); i {
4216			case 0:
4217				return &v.state
4218			case 1:
4219				return &v.sizeCache
4220			case 2:
4221				return &v.unknownFields
4222			default:
4223				return nil
4224			}
4225		}
4226		file_google_storage_v1_storage_resources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4227			switch v := v.(*Bucket_Lifecycle_Rule); i {
4228			case 0:
4229				return &v.state
4230			case 1:
4231				return &v.sizeCache
4232			case 2:
4233				return &v.unknownFields
4234			default:
4235				return nil
4236			}
4237		}
4238		file_google_storage_v1_storage_resources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4239			switch v := v.(*Bucket_Lifecycle_Rule_Action); i {
4240			case 0:
4241				return &v.state
4242			case 1:
4243				return &v.sizeCache
4244			case 2:
4245				return &v.unknownFields
4246			default:
4247				return nil
4248			}
4249		}
4250		file_google_storage_v1_storage_resources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4251			switch v := v.(*Bucket_Lifecycle_Rule_Condition); i {
4252			case 0:
4253				return &v.state
4254			case 1:
4255				return &v.sizeCache
4256			case 2:
4257				return &v.unknownFields
4258			default:
4259				return nil
4260			}
4261		}
4262		file_google_storage_v1_storage_resources_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4263			switch v := v.(*ListChannelsResponse_Items); i {
4264			case 0:
4265				return &v.state
4266			case 1:
4267				return &v.sizeCache
4268			case 2:
4269				return &v.unknownFields
4270			default:
4271				return nil
4272			}
4273		}
4274		file_google_storage_v1_storage_resources_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4275			switch v := v.(*Object_CustomerEncryption); i {
4276			case 0:
4277				return &v.state
4278			case 1:
4279				return &v.sizeCache
4280			case 2:
4281				return &v.unknownFields
4282			default:
4283				return nil
4284			}
4285		}
4286	}
4287	type x struct{}
4288	out := protoimpl.TypeBuilder{
4289		File: protoimpl.DescBuilder{
4290			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4291			RawDescriptor: file_google_storage_v1_storage_resources_proto_rawDesc,
4292			NumEnums:      3,
4293			NumMessages:   39,
4294			NumExtensions: 0,
4295			NumServices:   0,
4296		},
4297		GoTypes:           file_google_storage_v1_storage_resources_proto_goTypes,
4298		DependencyIndexes: file_google_storage_v1_storage_resources_proto_depIdxs,
4299		EnumInfos:         file_google_storage_v1_storage_resources_proto_enumTypes,
4300		MessageInfos:      file_google_storage_v1_storage_resources_proto_msgTypes,
4301	}.Build()
4302	File_google_storage_v1_storage_resources_proto = out.File
4303	file_google_storage_v1_storage_resources_proto_rawDesc = nil
4304	file_google_storage_v1_storage_resources_proto_goTypes = nil
4305	file_google_storage_v1_storage_resources_proto_depIdxs = nil
4306}
4307