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