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