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