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/logging/v2/logging_config.proto 20 21package logging 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "github.com/golang/protobuf/ptypes/duration" 30 empty "github.com/golang/protobuf/ptypes/empty" 31 timestamp "github.com/golang/protobuf/ptypes/timestamp" 32 _ "google.golang.org/genproto/googleapis/api/annotations" 33 field_mask "google.golang.org/genproto/protobuf/field_mask" 34 grpc "google.golang.org/grpc" 35 codes "google.golang.org/grpc/codes" 36 status "google.golang.org/grpc/status" 37 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 38 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 39) 40 41const ( 42 // Verify that this generated code is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 44 // Verify that runtime/protoimpl is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 46) 47 48// This is a compile-time assertion that a sufficiently up-to-date version 49// of the legacy proto package is being used. 50const _ = proto.ProtoPackageIsVersion4 51 52// LogBucket lifecycle states (Beta). 53type LifecycleState int32 54 55const ( 56 // Unspecified state. This is only used/useful for distinguishing 57 // unset values. 58 LifecycleState_LIFECYCLE_STATE_UNSPECIFIED LifecycleState = 0 59 // The normal and active state. 60 LifecycleState_ACTIVE LifecycleState = 1 61 // The bucket has been marked for deletion by the user. 62 LifecycleState_DELETE_REQUESTED LifecycleState = 2 63) 64 65// Enum value maps for LifecycleState. 66var ( 67 LifecycleState_name = map[int32]string{ 68 0: "LIFECYCLE_STATE_UNSPECIFIED", 69 1: "ACTIVE", 70 2: "DELETE_REQUESTED", 71 } 72 LifecycleState_value = map[string]int32{ 73 "LIFECYCLE_STATE_UNSPECIFIED": 0, 74 "ACTIVE": 1, 75 "DELETE_REQUESTED": 2, 76 } 77) 78 79func (x LifecycleState) Enum() *LifecycleState { 80 p := new(LifecycleState) 81 *p = x 82 return p 83} 84 85func (x LifecycleState) String() string { 86 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 87} 88 89func (LifecycleState) Descriptor() protoreflect.EnumDescriptor { 90 return file_google_logging_v2_logging_config_proto_enumTypes[0].Descriptor() 91} 92 93func (LifecycleState) Type() protoreflect.EnumType { 94 return &file_google_logging_v2_logging_config_proto_enumTypes[0] 95} 96 97func (x LifecycleState) Number() protoreflect.EnumNumber { 98 return protoreflect.EnumNumber(x) 99} 100 101// Deprecated: Use LifecycleState.Descriptor instead. 102func (LifecycleState) EnumDescriptor() ([]byte, []int) { 103 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{0} 104} 105 106// Available log entry formats. Log entries can be written to 107// Logging in either format and can be exported in either format. 108// Version 2 is the preferred format. 109type LogSink_VersionFormat int32 110 111const ( 112 // An unspecified format version that will default to V2. 113 LogSink_VERSION_FORMAT_UNSPECIFIED LogSink_VersionFormat = 0 114 // `LogEntry` version 2 format. 115 LogSink_V2 LogSink_VersionFormat = 1 116 // `LogEntry` version 1 format. 117 LogSink_V1 LogSink_VersionFormat = 2 118) 119 120// Enum value maps for LogSink_VersionFormat. 121var ( 122 LogSink_VersionFormat_name = map[int32]string{ 123 0: "VERSION_FORMAT_UNSPECIFIED", 124 1: "V2", 125 2: "V1", 126 } 127 LogSink_VersionFormat_value = map[string]int32{ 128 "VERSION_FORMAT_UNSPECIFIED": 0, 129 "V2": 1, 130 "V1": 2, 131 } 132) 133 134func (x LogSink_VersionFormat) Enum() *LogSink_VersionFormat { 135 p := new(LogSink_VersionFormat) 136 *p = x 137 return p 138} 139 140func (x LogSink_VersionFormat) String() string { 141 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 142} 143 144func (LogSink_VersionFormat) Descriptor() protoreflect.EnumDescriptor { 145 return file_google_logging_v2_logging_config_proto_enumTypes[1].Descriptor() 146} 147 148func (LogSink_VersionFormat) Type() protoreflect.EnumType { 149 return &file_google_logging_v2_logging_config_proto_enumTypes[1] 150} 151 152func (x LogSink_VersionFormat) Number() protoreflect.EnumNumber { 153 return protoreflect.EnumNumber(x) 154} 155 156// Deprecated: Use LogSink_VersionFormat.Descriptor instead. 157func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { 158 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{1, 0} 159} 160 161// Describes a repository of logs (Beta). 162type LogBucket struct { 163 state protoimpl.MessageState 164 sizeCache protoimpl.SizeCache 165 unknownFields protoimpl.UnknownFields 166 167 // The resource name of the bucket. 168 // For example: 169 // "projects/my-project-id/locations/my-location/buckets/my-bucket-id The 170 // supported locations are: 171 // "global" 172 // "us-central1" 173 // 174 // For the location of `global` it is unspecified where logs are actually 175 // stored. 176 // Once a bucket has been created, the location can not be changed. 177 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 178 // Describes this bucket. 179 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 180 // Output only. The creation timestamp of the bucket. This is not set for any of the 181 // default buckets. 182 CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 183 // Output only. The last update timestamp of the bucket. 184 UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 185 // Logs will be retained by default for this amount of time, after which they 186 // will automatically be deleted. The minimum retention period is 1 day. 187 // If this value is set to zero at bucket creation time, the default time of 188 // 30 days will be used. 189 RetentionDays int32 `protobuf:"varint,11,opt,name=retention_days,json=retentionDays,proto3" json:"retention_days,omitempty"` 190 // Output only. The bucket lifecycle state. 191 LifecycleState LifecycleState `protobuf:"varint,12,opt,name=lifecycle_state,json=lifecycleState,proto3,enum=google.logging.v2.LifecycleState" json:"lifecycle_state,omitempty"` 192} 193 194func (x *LogBucket) Reset() { 195 *x = LogBucket{} 196 if protoimpl.UnsafeEnabled { 197 mi := &file_google_logging_v2_logging_config_proto_msgTypes[0] 198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 199 ms.StoreMessageInfo(mi) 200 } 201} 202 203func (x *LogBucket) String() string { 204 return protoimpl.X.MessageStringOf(x) 205} 206 207func (*LogBucket) ProtoMessage() {} 208 209func (x *LogBucket) ProtoReflect() protoreflect.Message { 210 mi := &file_google_logging_v2_logging_config_proto_msgTypes[0] 211 if protoimpl.UnsafeEnabled && x != nil { 212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 213 if ms.LoadMessageInfo() == nil { 214 ms.StoreMessageInfo(mi) 215 } 216 return ms 217 } 218 return mi.MessageOf(x) 219} 220 221// Deprecated: Use LogBucket.ProtoReflect.Descriptor instead. 222func (*LogBucket) Descriptor() ([]byte, []int) { 223 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{0} 224} 225 226func (x *LogBucket) GetName() string { 227 if x != nil { 228 return x.Name 229 } 230 return "" 231} 232 233func (x *LogBucket) GetDescription() string { 234 if x != nil { 235 return x.Description 236 } 237 return "" 238} 239 240func (x *LogBucket) GetCreateTime() *timestamp.Timestamp { 241 if x != nil { 242 return x.CreateTime 243 } 244 return nil 245} 246 247func (x *LogBucket) GetUpdateTime() *timestamp.Timestamp { 248 if x != nil { 249 return x.UpdateTime 250 } 251 return nil 252} 253 254func (x *LogBucket) GetRetentionDays() int32 { 255 if x != nil { 256 return x.RetentionDays 257 } 258 return 0 259} 260 261func (x *LogBucket) GetLifecycleState() LifecycleState { 262 if x != nil { 263 return x.LifecycleState 264 } 265 return LifecycleState_LIFECYCLE_STATE_UNSPECIFIED 266} 267 268// Describes a sink used to export log entries to one of the following 269// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a 270// Cloud Pub/Sub topic. A logs filter controls which log entries are exported. 271// The sink must be created within a project, organization, billing account, or 272// folder. 273type LogSink struct { 274 state protoimpl.MessageState 275 sizeCache protoimpl.SizeCache 276 unknownFields protoimpl.UnknownFields 277 278 // Required. The client-assigned sink identifier, unique within the project. Example: 279 // `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100 280 // characters and can include only the following characters: upper and 281 // lower-case alphanumeric characters, underscores, hyphens, and periods. 282 // First character has to be alphanumeric. 283 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 284 // Required. The export destination: 285 // 286 // "storage.googleapis.com/[GCS_BUCKET]" 287 // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" 288 // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" 289 // 290 // The sink's `writer_identity`, set when the sink is created, must 291 // have permission to write to the destination or else the log 292 // entries are not exported. For more information, see 293 // [Exporting Logs with Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). 294 Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"` 295 // Optional. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced-queries). The only 296 // exported log entries are those that are in the resource owning the sink and 297 // that match the filter. For example: 298 // 299 // logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR 300 Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` 301 // Optional. A description of this sink. 302 // The maximum length of the description is 8000 characters. 303 Description string `protobuf:"bytes,18,opt,name=description,proto3" json:"description,omitempty"` 304 // Optional. If set to True, then this sink is disabled and it does not 305 // export any log entries. 306 Disabled bool `protobuf:"varint,19,opt,name=disabled,proto3" json:"disabled,omitempty"` 307 // Deprecated. The log entry format to use for this sink's exported log 308 // entries. The v2 format is used by default and cannot be changed. 309 // 310 // Deprecated: Do not use. 311 OutputVersionFormat LogSink_VersionFormat `protobuf:"varint,6,opt,name=output_version_format,json=outputVersionFormat,proto3,enum=google.logging.v2.LogSink_VersionFormat" json:"output_version_format,omitempty"` 312 // Output only. An IAM identity–a service account or group—under which Logging 313 // writes the exported log entries to the sink's destination. This field is 314 // set by [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and 315 // [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the 316 // value of `unique_writer_identity` in those methods. 317 // 318 // Until you grant this identity write-access to the destination, log entry 319 // exports from this sink will fail. For more information, 320 // see [Granting Access for a 321 // Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). 322 // Consult the destination service's documentation to determine the 323 // appropriate IAM roles to assign to the identity. 324 WriterIdentity string `protobuf:"bytes,8,opt,name=writer_identity,json=writerIdentity,proto3" json:"writer_identity,omitempty"` 325 // Optional. This field applies only to sinks owned by organizations and 326 // folders. If the field is false, the default, only the logs owned by the 327 // sink's parent resource are available for export. If the field is true, then 328 // logs from all the projects, folders, and billing accounts contained in the 329 // sink's parent resource are also available for export. Whether a particular 330 // log entry from the children is exported depends on the sink's filter 331 // expression. For example, if this field is true, then the filter 332 // `resource.type=gce_instance` would export all Compute Engine VM instance 333 // log entries from all projects in the sink's parent. To only export entries 334 // from certain child projects, filter on the project part of the log name: 335 // 336 // logName:("projects/test-project1/" OR "projects/test-project2/") AND 337 // resource.type=gce_instance 338 IncludeChildren bool `protobuf:"varint,9,opt,name=include_children,json=includeChildren,proto3" json:"include_children,omitempty"` 339 // Destination dependent options. 340 // 341 // Types that are assignable to Options: 342 // *LogSink_BigqueryOptions 343 Options isLogSink_Options `protobuf_oneof:"options"` 344 // Output only. The creation timestamp of the sink. 345 // 346 // This field may not be present for older sinks. 347 CreateTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 348 // Output only. The last update timestamp of the sink. 349 // 350 // This field may not be present for older sinks. 351 UpdateTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 352} 353 354func (x *LogSink) Reset() { 355 *x = LogSink{} 356 if protoimpl.UnsafeEnabled { 357 mi := &file_google_logging_v2_logging_config_proto_msgTypes[1] 358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 359 ms.StoreMessageInfo(mi) 360 } 361} 362 363func (x *LogSink) String() string { 364 return protoimpl.X.MessageStringOf(x) 365} 366 367func (*LogSink) ProtoMessage() {} 368 369func (x *LogSink) ProtoReflect() protoreflect.Message { 370 mi := &file_google_logging_v2_logging_config_proto_msgTypes[1] 371 if protoimpl.UnsafeEnabled && x != nil { 372 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 373 if ms.LoadMessageInfo() == nil { 374 ms.StoreMessageInfo(mi) 375 } 376 return ms 377 } 378 return mi.MessageOf(x) 379} 380 381// Deprecated: Use LogSink.ProtoReflect.Descriptor instead. 382func (*LogSink) Descriptor() ([]byte, []int) { 383 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{1} 384} 385 386func (x *LogSink) GetName() string { 387 if x != nil { 388 return x.Name 389 } 390 return "" 391} 392 393func (x *LogSink) GetDestination() string { 394 if x != nil { 395 return x.Destination 396 } 397 return "" 398} 399 400func (x *LogSink) GetFilter() string { 401 if x != nil { 402 return x.Filter 403 } 404 return "" 405} 406 407func (x *LogSink) GetDescription() string { 408 if x != nil { 409 return x.Description 410 } 411 return "" 412} 413 414func (x *LogSink) GetDisabled() bool { 415 if x != nil { 416 return x.Disabled 417 } 418 return false 419} 420 421// Deprecated: Do not use. 422func (x *LogSink) GetOutputVersionFormat() LogSink_VersionFormat { 423 if x != nil { 424 return x.OutputVersionFormat 425 } 426 return LogSink_VERSION_FORMAT_UNSPECIFIED 427} 428 429func (x *LogSink) GetWriterIdentity() string { 430 if x != nil { 431 return x.WriterIdentity 432 } 433 return "" 434} 435 436func (x *LogSink) GetIncludeChildren() bool { 437 if x != nil { 438 return x.IncludeChildren 439 } 440 return false 441} 442 443func (m *LogSink) GetOptions() isLogSink_Options { 444 if m != nil { 445 return m.Options 446 } 447 return nil 448} 449 450func (x *LogSink) GetBigqueryOptions() *BigQueryOptions { 451 if x, ok := x.GetOptions().(*LogSink_BigqueryOptions); ok { 452 return x.BigqueryOptions 453 } 454 return nil 455} 456 457func (x *LogSink) GetCreateTime() *timestamp.Timestamp { 458 if x != nil { 459 return x.CreateTime 460 } 461 return nil 462} 463 464func (x *LogSink) GetUpdateTime() *timestamp.Timestamp { 465 if x != nil { 466 return x.UpdateTime 467 } 468 return nil 469} 470 471type isLogSink_Options interface { 472 isLogSink_Options() 473} 474 475type LogSink_BigqueryOptions struct { 476 // Optional. Options that affect sinks exporting data to BigQuery. 477 BigqueryOptions *BigQueryOptions `protobuf:"bytes,12,opt,name=bigquery_options,json=bigqueryOptions,proto3,oneof"` 478} 479 480func (*LogSink_BigqueryOptions) isLogSink_Options() {} 481 482// Options that change functionality of a sink exporting data to BigQuery. 483type BigQueryOptions struct { 484 state protoimpl.MessageState 485 sizeCache protoimpl.SizeCache 486 unknownFields protoimpl.UnknownFields 487 488 // Optional. Whether to use [BigQuery's partition 489 // tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Logging 490 // creates dated tables based on the log entries' timestamps, e.g. 491 // syslog_20170523. With partitioned tables the date suffix is no longer 492 // present and [special query 493 // syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. 494 // In both cases, tables are sharded based on UTC timezone. 495 UsePartitionedTables bool `protobuf:"varint,1,opt,name=use_partitioned_tables,json=usePartitionedTables,proto3" json:"use_partitioned_tables,omitempty"` 496 // Output only. True if new timestamp column based partitioning is in use, 497 // false if legacy ingestion-time partitioning is in use. 498 // All new sinks will have this field set true and will use timestamp column 499 // based partitioning. If use_partitioned_tables is false, this value has no 500 // meaning and will be false. Legacy sinks using partitioned tables will have 501 // this field set to false. 502 UsesTimestampColumnPartitioning bool `protobuf:"varint,3,opt,name=uses_timestamp_column_partitioning,json=usesTimestampColumnPartitioning,proto3" json:"uses_timestamp_column_partitioning,omitempty"` 503} 504 505func (x *BigQueryOptions) Reset() { 506 *x = BigQueryOptions{} 507 if protoimpl.UnsafeEnabled { 508 mi := &file_google_logging_v2_logging_config_proto_msgTypes[2] 509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 510 ms.StoreMessageInfo(mi) 511 } 512} 513 514func (x *BigQueryOptions) String() string { 515 return protoimpl.X.MessageStringOf(x) 516} 517 518func (*BigQueryOptions) ProtoMessage() {} 519 520func (x *BigQueryOptions) ProtoReflect() protoreflect.Message { 521 mi := &file_google_logging_v2_logging_config_proto_msgTypes[2] 522 if protoimpl.UnsafeEnabled && x != nil { 523 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 524 if ms.LoadMessageInfo() == nil { 525 ms.StoreMessageInfo(mi) 526 } 527 return ms 528 } 529 return mi.MessageOf(x) 530} 531 532// Deprecated: Use BigQueryOptions.ProtoReflect.Descriptor instead. 533func (*BigQueryOptions) Descriptor() ([]byte, []int) { 534 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{2} 535} 536 537func (x *BigQueryOptions) GetUsePartitionedTables() bool { 538 if x != nil { 539 return x.UsePartitionedTables 540 } 541 return false 542} 543 544func (x *BigQueryOptions) GetUsesTimestampColumnPartitioning() bool { 545 if x != nil { 546 return x.UsesTimestampColumnPartitioning 547 } 548 return false 549} 550 551// The parameters to `ListBuckets` (Beta). 552type ListBucketsRequest struct { 553 state protoimpl.MessageState 554 sizeCache protoimpl.SizeCache 555 unknownFields protoimpl.UnknownFields 556 557 // Required. The parent resource whose buckets are to be listed: 558 // 559 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" 560 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" 561 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" 562 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]" 563 // 564 // Note: The locations portion of the resource must be specified, but 565 // supplying the character `-` in place of [LOCATION_ID] will return all 566 // buckets. 567 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 568 // Optional. If present, then retrieve the next batch of results from the 569 // preceding call to this method. `pageToken` must be the value of 570 // `nextPageToken` from the previous response. The values of other method 571 // parameters should be identical to those in the previous call. 572 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 573 // Optional. The maximum number of results to return from this request. 574 // Non-positive values are ignored. The presence of `nextPageToken` in the 575 // response indicates that more results might be available. 576 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 577} 578 579func (x *ListBucketsRequest) Reset() { 580 *x = ListBucketsRequest{} 581 if protoimpl.UnsafeEnabled { 582 mi := &file_google_logging_v2_logging_config_proto_msgTypes[3] 583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 584 ms.StoreMessageInfo(mi) 585 } 586} 587 588func (x *ListBucketsRequest) String() string { 589 return protoimpl.X.MessageStringOf(x) 590} 591 592func (*ListBucketsRequest) ProtoMessage() {} 593 594func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { 595 mi := &file_google_logging_v2_logging_config_proto_msgTypes[3] 596 if protoimpl.UnsafeEnabled && x != nil { 597 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 598 if ms.LoadMessageInfo() == nil { 599 ms.StoreMessageInfo(mi) 600 } 601 return ms 602 } 603 return mi.MessageOf(x) 604} 605 606// Deprecated: Use ListBucketsRequest.ProtoReflect.Descriptor instead. 607func (*ListBucketsRequest) Descriptor() ([]byte, []int) { 608 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{3} 609} 610 611func (x *ListBucketsRequest) GetParent() string { 612 if x != nil { 613 return x.Parent 614 } 615 return "" 616} 617 618func (x *ListBucketsRequest) GetPageToken() string { 619 if x != nil { 620 return x.PageToken 621 } 622 return "" 623} 624 625func (x *ListBucketsRequest) GetPageSize() int32 { 626 if x != nil { 627 return x.PageSize 628 } 629 return 0 630} 631 632// The response from ListBuckets (Beta). 633type ListBucketsResponse struct { 634 state protoimpl.MessageState 635 sizeCache protoimpl.SizeCache 636 unknownFields protoimpl.UnknownFields 637 638 // A list of buckets. 639 Buckets []*LogBucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` 640 // If there might be more results than appear in this response, then 641 // `nextPageToken` is included. To get the next set of results, call the same 642 // method again using the value of `nextPageToken` as `pageToken`. 643 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 644} 645 646func (x *ListBucketsResponse) Reset() { 647 *x = ListBucketsResponse{} 648 if protoimpl.UnsafeEnabled { 649 mi := &file_google_logging_v2_logging_config_proto_msgTypes[4] 650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 651 ms.StoreMessageInfo(mi) 652 } 653} 654 655func (x *ListBucketsResponse) String() string { 656 return protoimpl.X.MessageStringOf(x) 657} 658 659func (*ListBucketsResponse) ProtoMessage() {} 660 661func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { 662 mi := &file_google_logging_v2_logging_config_proto_msgTypes[4] 663 if protoimpl.UnsafeEnabled && x != nil { 664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 665 if ms.LoadMessageInfo() == nil { 666 ms.StoreMessageInfo(mi) 667 } 668 return ms 669 } 670 return mi.MessageOf(x) 671} 672 673// Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead. 674func (*ListBucketsResponse) Descriptor() ([]byte, []int) { 675 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{4} 676} 677 678func (x *ListBucketsResponse) GetBuckets() []*LogBucket { 679 if x != nil { 680 return x.Buckets 681 } 682 return nil 683} 684 685func (x *ListBucketsResponse) GetNextPageToken() string { 686 if x != nil { 687 return x.NextPageToken 688 } 689 return "" 690} 691 692// The parameters to `UpdateBucket` (Beta). 693type UpdateBucketRequest struct { 694 state protoimpl.MessageState 695 sizeCache protoimpl.SizeCache 696 unknownFields protoimpl.UnknownFields 697 698 // Required. The full resource name of the bucket to update. 699 // 700 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 701 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 702 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 703 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 704 // 705 // Example: 706 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. Also 707 // requires permission "resourcemanager.projects.updateLiens" to set the 708 // locked property 709 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 710 // Required. The updated bucket. 711 Bucket *LogBucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` 712 // Required. Field mask that specifies the fields in `bucket` that need an update. A 713 // bucket field will be overwritten if, and only if, it is in the update 714 // mask. `name` and output only fields cannot be updated. 715 // 716 // For a detailed `FieldMask` definition, see 717 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask 718 // 719 // Example: `updateMask=retention_days`. 720 UpdateMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 721} 722 723func (x *UpdateBucketRequest) Reset() { 724 *x = UpdateBucketRequest{} 725 if protoimpl.UnsafeEnabled { 726 mi := &file_google_logging_v2_logging_config_proto_msgTypes[5] 727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 728 ms.StoreMessageInfo(mi) 729 } 730} 731 732func (x *UpdateBucketRequest) String() string { 733 return protoimpl.X.MessageStringOf(x) 734} 735 736func (*UpdateBucketRequest) ProtoMessage() {} 737 738func (x *UpdateBucketRequest) ProtoReflect() protoreflect.Message { 739 mi := &file_google_logging_v2_logging_config_proto_msgTypes[5] 740 if protoimpl.UnsafeEnabled && x != nil { 741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 742 if ms.LoadMessageInfo() == nil { 743 ms.StoreMessageInfo(mi) 744 } 745 return ms 746 } 747 return mi.MessageOf(x) 748} 749 750// Deprecated: Use UpdateBucketRequest.ProtoReflect.Descriptor instead. 751func (*UpdateBucketRequest) Descriptor() ([]byte, []int) { 752 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{5} 753} 754 755func (x *UpdateBucketRequest) GetName() string { 756 if x != nil { 757 return x.Name 758 } 759 return "" 760} 761 762func (x *UpdateBucketRequest) GetBucket() *LogBucket { 763 if x != nil { 764 return x.Bucket 765 } 766 return nil 767} 768 769func (x *UpdateBucketRequest) GetUpdateMask() *field_mask.FieldMask { 770 if x != nil { 771 return x.UpdateMask 772 } 773 return nil 774} 775 776// The parameters to `GetBucket` (Beta). 777type GetBucketRequest struct { 778 state protoimpl.MessageState 779 sizeCache protoimpl.SizeCache 780 unknownFields protoimpl.UnknownFields 781 782 // Required. The resource name of the bucket: 783 // 784 // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 785 // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 786 // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 787 // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" 788 // 789 // Example: 790 // `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. 791 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 792} 793 794func (x *GetBucketRequest) Reset() { 795 *x = GetBucketRequest{} 796 if protoimpl.UnsafeEnabled { 797 mi := &file_google_logging_v2_logging_config_proto_msgTypes[6] 798 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 799 ms.StoreMessageInfo(mi) 800 } 801} 802 803func (x *GetBucketRequest) String() string { 804 return protoimpl.X.MessageStringOf(x) 805} 806 807func (*GetBucketRequest) ProtoMessage() {} 808 809func (x *GetBucketRequest) ProtoReflect() protoreflect.Message { 810 mi := &file_google_logging_v2_logging_config_proto_msgTypes[6] 811 if protoimpl.UnsafeEnabled && x != nil { 812 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 813 if ms.LoadMessageInfo() == nil { 814 ms.StoreMessageInfo(mi) 815 } 816 return ms 817 } 818 return mi.MessageOf(x) 819} 820 821// Deprecated: Use GetBucketRequest.ProtoReflect.Descriptor instead. 822func (*GetBucketRequest) Descriptor() ([]byte, []int) { 823 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{6} 824} 825 826func (x *GetBucketRequest) GetName() string { 827 if x != nil { 828 return x.Name 829 } 830 return "" 831} 832 833// The parameters to `ListSinks`. 834type ListSinksRequest struct { 835 state protoimpl.MessageState 836 sizeCache protoimpl.SizeCache 837 unknownFields protoimpl.UnknownFields 838 839 // Required. The parent resource whose sinks are to be listed: 840 // 841 // "projects/[PROJECT_ID]" 842 // "organizations/[ORGANIZATION_ID]" 843 // "billingAccounts/[BILLING_ACCOUNT_ID]" 844 // "folders/[FOLDER_ID]" 845 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 846 // Optional. If present, then retrieve the next batch of results from the 847 // preceding call to this method. `pageToken` must be the value of 848 // `nextPageToken` from the previous response. The values of other method 849 // parameters should be identical to those in the previous call. 850 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 851 // Optional. The maximum number of results to return from this request. 852 // Non-positive values are ignored. The presence of `nextPageToken` in the 853 // response indicates that more results might be available. 854 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 855} 856 857func (x *ListSinksRequest) Reset() { 858 *x = ListSinksRequest{} 859 if protoimpl.UnsafeEnabled { 860 mi := &file_google_logging_v2_logging_config_proto_msgTypes[7] 861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 862 ms.StoreMessageInfo(mi) 863 } 864} 865 866func (x *ListSinksRequest) String() string { 867 return protoimpl.X.MessageStringOf(x) 868} 869 870func (*ListSinksRequest) ProtoMessage() {} 871 872func (x *ListSinksRequest) ProtoReflect() protoreflect.Message { 873 mi := &file_google_logging_v2_logging_config_proto_msgTypes[7] 874 if protoimpl.UnsafeEnabled && x != nil { 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 if ms.LoadMessageInfo() == nil { 877 ms.StoreMessageInfo(mi) 878 } 879 return ms 880 } 881 return mi.MessageOf(x) 882} 883 884// Deprecated: Use ListSinksRequest.ProtoReflect.Descriptor instead. 885func (*ListSinksRequest) Descriptor() ([]byte, []int) { 886 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{7} 887} 888 889func (x *ListSinksRequest) GetParent() string { 890 if x != nil { 891 return x.Parent 892 } 893 return "" 894} 895 896func (x *ListSinksRequest) GetPageToken() string { 897 if x != nil { 898 return x.PageToken 899 } 900 return "" 901} 902 903func (x *ListSinksRequest) GetPageSize() int32 { 904 if x != nil { 905 return x.PageSize 906 } 907 return 0 908} 909 910// Result returned from `ListSinks`. 911type ListSinksResponse struct { 912 state protoimpl.MessageState 913 sizeCache protoimpl.SizeCache 914 unknownFields protoimpl.UnknownFields 915 916 // A list of sinks. 917 Sinks []*LogSink `protobuf:"bytes,1,rep,name=sinks,proto3" json:"sinks,omitempty"` 918 // If there might be more results than appear in this response, then 919 // `nextPageToken` is included. To get the next set of results, call the same 920 // method again using the value of `nextPageToken` as `pageToken`. 921 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 922} 923 924func (x *ListSinksResponse) Reset() { 925 *x = ListSinksResponse{} 926 if protoimpl.UnsafeEnabled { 927 mi := &file_google_logging_v2_logging_config_proto_msgTypes[8] 928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 929 ms.StoreMessageInfo(mi) 930 } 931} 932 933func (x *ListSinksResponse) String() string { 934 return protoimpl.X.MessageStringOf(x) 935} 936 937func (*ListSinksResponse) ProtoMessage() {} 938 939func (x *ListSinksResponse) ProtoReflect() protoreflect.Message { 940 mi := &file_google_logging_v2_logging_config_proto_msgTypes[8] 941 if protoimpl.UnsafeEnabled && x != nil { 942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 943 if ms.LoadMessageInfo() == nil { 944 ms.StoreMessageInfo(mi) 945 } 946 return ms 947 } 948 return mi.MessageOf(x) 949} 950 951// Deprecated: Use ListSinksResponse.ProtoReflect.Descriptor instead. 952func (*ListSinksResponse) Descriptor() ([]byte, []int) { 953 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{8} 954} 955 956func (x *ListSinksResponse) GetSinks() []*LogSink { 957 if x != nil { 958 return x.Sinks 959 } 960 return nil 961} 962 963func (x *ListSinksResponse) GetNextPageToken() string { 964 if x != nil { 965 return x.NextPageToken 966 } 967 return "" 968} 969 970// The parameters to `GetSink`. 971type GetSinkRequest struct { 972 state protoimpl.MessageState 973 sizeCache protoimpl.SizeCache 974 unknownFields protoimpl.UnknownFields 975 976 // Required. The resource name of the sink: 977 // 978 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 979 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 980 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 981 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 982 // 983 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 984 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 985} 986 987func (x *GetSinkRequest) Reset() { 988 *x = GetSinkRequest{} 989 if protoimpl.UnsafeEnabled { 990 mi := &file_google_logging_v2_logging_config_proto_msgTypes[9] 991 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 992 ms.StoreMessageInfo(mi) 993 } 994} 995 996func (x *GetSinkRequest) String() string { 997 return protoimpl.X.MessageStringOf(x) 998} 999 1000func (*GetSinkRequest) ProtoMessage() {} 1001 1002func (x *GetSinkRequest) ProtoReflect() protoreflect.Message { 1003 mi := &file_google_logging_v2_logging_config_proto_msgTypes[9] 1004 if protoimpl.UnsafeEnabled && x != nil { 1005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1006 if ms.LoadMessageInfo() == nil { 1007 ms.StoreMessageInfo(mi) 1008 } 1009 return ms 1010 } 1011 return mi.MessageOf(x) 1012} 1013 1014// Deprecated: Use GetSinkRequest.ProtoReflect.Descriptor instead. 1015func (*GetSinkRequest) Descriptor() ([]byte, []int) { 1016 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{9} 1017} 1018 1019func (x *GetSinkRequest) GetSinkName() string { 1020 if x != nil { 1021 return x.SinkName 1022 } 1023 return "" 1024} 1025 1026// The parameters to `CreateSink`. 1027type CreateSinkRequest struct { 1028 state protoimpl.MessageState 1029 sizeCache protoimpl.SizeCache 1030 unknownFields protoimpl.UnknownFields 1031 1032 // Required. The resource in which to create the sink: 1033 // 1034 // "projects/[PROJECT_ID]" 1035 // "organizations/[ORGANIZATION_ID]" 1036 // "billingAccounts/[BILLING_ACCOUNT_ID]" 1037 // "folders/[FOLDER_ID]" 1038 // 1039 // Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. 1040 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1041 // Required. The new sink, whose `name` parameter is a sink identifier that 1042 // is not already in use. 1043 Sink *LogSink `protobuf:"bytes,2,opt,name=sink,proto3" json:"sink,omitempty"` 1044 // Optional. Determines the kind of IAM identity returned as `writer_identity` 1045 // in the new sink. If this value is omitted or set to false, and if the 1046 // sink's parent is a project, then the value returned as `writer_identity` is 1047 // the same group or service account used by Logging before the addition of 1048 // writer identities to this API. The sink's destination must be in the same 1049 // project as the sink itself. 1050 // 1051 // If this field is set to true, or if the sink is owned by a non-project 1052 // resource such as an organization, then the value of `writer_identity` will 1053 // be a unique service account used only for exports from the new sink. For 1054 // more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink]. 1055 UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity,proto3" json:"unique_writer_identity,omitempty"` 1056} 1057 1058func (x *CreateSinkRequest) Reset() { 1059 *x = CreateSinkRequest{} 1060 if protoimpl.UnsafeEnabled { 1061 mi := &file_google_logging_v2_logging_config_proto_msgTypes[10] 1062 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1063 ms.StoreMessageInfo(mi) 1064 } 1065} 1066 1067func (x *CreateSinkRequest) String() string { 1068 return protoimpl.X.MessageStringOf(x) 1069} 1070 1071func (*CreateSinkRequest) ProtoMessage() {} 1072 1073func (x *CreateSinkRequest) ProtoReflect() protoreflect.Message { 1074 mi := &file_google_logging_v2_logging_config_proto_msgTypes[10] 1075 if protoimpl.UnsafeEnabled && x != nil { 1076 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1077 if ms.LoadMessageInfo() == nil { 1078 ms.StoreMessageInfo(mi) 1079 } 1080 return ms 1081 } 1082 return mi.MessageOf(x) 1083} 1084 1085// Deprecated: Use CreateSinkRequest.ProtoReflect.Descriptor instead. 1086func (*CreateSinkRequest) Descriptor() ([]byte, []int) { 1087 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{10} 1088} 1089 1090func (x *CreateSinkRequest) GetParent() string { 1091 if x != nil { 1092 return x.Parent 1093 } 1094 return "" 1095} 1096 1097func (x *CreateSinkRequest) GetSink() *LogSink { 1098 if x != nil { 1099 return x.Sink 1100 } 1101 return nil 1102} 1103 1104func (x *CreateSinkRequest) GetUniqueWriterIdentity() bool { 1105 if x != nil { 1106 return x.UniqueWriterIdentity 1107 } 1108 return false 1109} 1110 1111// The parameters to `UpdateSink`. 1112type UpdateSinkRequest struct { 1113 state protoimpl.MessageState 1114 sizeCache protoimpl.SizeCache 1115 unknownFields protoimpl.UnknownFields 1116 1117 // Required. The full resource name of the sink to update, including the parent 1118 // resource and the sink identifier: 1119 // 1120 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 1121 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 1122 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 1123 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 1124 // 1125 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 1126 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 1127 // Required. The updated sink, whose name is the same identifier that appears as part 1128 // of `sink_name`. 1129 Sink *LogSink `protobuf:"bytes,2,opt,name=sink,proto3" json:"sink,omitempty"` 1130 // Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] 1131 // for a description of this field. When updating a sink, the effect of this 1132 // field on the value of `writer_identity` in the updated sink depends on both 1133 // the old and new values of this field: 1134 // 1135 // + If the old and new values of this field are both false or both true, 1136 // then there is no change to the sink's `writer_identity`. 1137 // + If the old value is false and the new value is true, then 1138 // `writer_identity` is changed to a unique service account. 1139 // + It is an error if the old value is true and the new value is 1140 // set to false or defaulted to false. 1141 UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity,proto3" json:"unique_writer_identity,omitempty"` 1142 // Optional. Field mask that specifies the fields in `sink` that need 1143 // an update. A sink field will be overwritten if, and only if, it is 1144 // in the update mask. `name` and output only fields cannot be updated. 1145 // 1146 // An empty updateMask is temporarily treated as using the following mask 1147 // for backwards compatibility purposes: 1148 // destination,filter,includeChildren 1149 // At some point in the future, behavior will be removed and specifying an 1150 // empty updateMask will be an error. 1151 // 1152 // For a detailed `FieldMask` definition, see 1153 // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask 1154 // 1155 // Example: `updateMask=filter`. 1156 UpdateMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1157} 1158 1159func (x *UpdateSinkRequest) Reset() { 1160 *x = UpdateSinkRequest{} 1161 if protoimpl.UnsafeEnabled { 1162 mi := &file_google_logging_v2_logging_config_proto_msgTypes[11] 1163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1164 ms.StoreMessageInfo(mi) 1165 } 1166} 1167 1168func (x *UpdateSinkRequest) String() string { 1169 return protoimpl.X.MessageStringOf(x) 1170} 1171 1172func (*UpdateSinkRequest) ProtoMessage() {} 1173 1174func (x *UpdateSinkRequest) ProtoReflect() protoreflect.Message { 1175 mi := &file_google_logging_v2_logging_config_proto_msgTypes[11] 1176 if protoimpl.UnsafeEnabled && x != nil { 1177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1178 if ms.LoadMessageInfo() == nil { 1179 ms.StoreMessageInfo(mi) 1180 } 1181 return ms 1182 } 1183 return mi.MessageOf(x) 1184} 1185 1186// Deprecated: Use UpdateSinkRequest.ProtoReflect.Descriptor instead. 1187func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { 1188 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{11} 1189} 1190 1191func (x *UpdateSinkRequest) GetSinkName() string { 1192 if x != nil { 1193 return x.SinkName 1194 } 1195 return "" 1196} 1197 1198func (x *UpdateSinkRequest) GetSink() *LogSink { 1199 if x != nil { 1200 return x.Sink 1201 } 1202 return nil 1203} 1204 1205func (x *UpdateSinkRequest) GetUniqueWriterIdentity() bool { 1206 if x != nil { 1207 return x.UniqueWriterIdentity 1208 } 1209 return false 1210} 1211 1212func (x *UpdateSinkRequest) GetUpdateMask() *field_mask.FieldMask { 1213 if x != nil { 1214 return x.UpdateMask 1215 } 1216 return nil 1217} 1218 1219// The parameters to `DeleteSink`. 1220type DeleteSinkRequest struct { 1221 state protoimpl.MessageState 1222 sizeCache protoimpl.SizeCache 1223 unknownFields protoimpl.UnknownFields 1224 1225 // Required. The full resource name of the sink to delete, including the parent 1226 // resource and the sink identifier: 1227 // 1228 // "projects/[PROJECT_ID]/sinks/[SINK_ID]" 1229 // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" 1230 // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" 1231 // "folders/[FOLDER_ID]/sinks/[SINK_ID]" 1232 // 1233 // Example: `"projects/my-project-id/sinks/my-sink-id"`. 1234 SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` 1235} 1236 1237func (x *DeleteSinkRequest) Reset() { 1238 *x = DeleteSinkRequest{} 1239 if protoimpl.UnsafeEnabled { 1240 mi := &file_google_logging_v2_logging_config_proto_msgTypes[12] 1241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1242 ms.StoreMessageInfo(mi) 1243 } 1244} 1245 1246func (x *DeleteSinkRequest) String() string { 1247 return protoimpl.X.MessageStringOf(x) 1248} 1249 1250func (*DeleteSinkRequest) ProtoMessage() {} 1251 1252func (x *DeleteSinkRequest) ProtoReflect() protoreflect.Message { 1253 mi := &file_google_logging_v2_logging_config_proto_msgTypes[12] 1254 if protoimpl.UnsafeEnabled && x != nil { 1255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1256 if ms.LoadMessageInfo() == nil { 1257 ms.StoreMessageInfo(mi) 1258 } 1259 return ms 1260 } 1261 return mi.MessageOf(x) 1262} 1263 1264// Deprecated: Use DeleteSinkRequest.ProtoReflect.Descriptor instead. 1265func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { 1266 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{12} 1267} 1268 1269func (x *DeleteSinkRequest) GetSinkName() string { 1270 if x != nil { 1271 return x.SinkName 1272 } 1273 return "" 1274} 1275 1276// Specifies a set of log entries that are not to be stored in 1277// Logging. If your GCP resource receives a large volume of logs, you can 1278// use exclusions to reduce your chargeable logs. Exclusions are 1279// processed after log sinks, so you can export log entries before they are 1280// excluded. Note that organization-level and folder-level exclusions don't 1281// apply to child resources, and that you can't exclude audit log entries. 1282type LogExclusion struct { 1283 state protoimpl.MessageState 1284 sizeCache protoimpl.SizeCache 1285 unknownFields protoimpl.UnknownFields 1286 1287 // Required. A client-assigned identifier, such as `"load-balancer-exclusion"`. 1288 // Identifiers are limited to 100 characters and can include only letters, 1289 // digits, underscores, hyphens, and periods. First character has to be 1290 // alphanumeric. 1291 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1292 // Optional. A description of this exclusion. 1293 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 1294 // Required. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced-queries) 1295 // that matches the log entries to be excluded. By using the 1296 // [sample function](https://cloud.google.com/logging/docs/view/advanced-queries#sample), 1297 // you can exclude less than 100% of the matching log entries. 1298 // For example, the following query matches 99% of low-severity log 1299 // entries from Google Cloud Storage buckets: 1300 // 1301 // `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"` 1302 Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` 1303 // Optional. If set to True, then this exclusion is disabled and it does not 1304 // exclude any log entries. You can [update an 1305 // exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the 1306 // value of this field. 1307 Disabled bool `protobuf:"varint,4,opt,name=disabled,proto3" json:"disabled,omitempty"` 1308 // Output only. The creation timestamp of the exclusion. 1309 // 1310 // This field may not be present for older exclusions. 1311 CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1312 // Output only. The last update timestamp of the exclusion. 1313 // 1314 // This field may not be present for older exclusions. 1315 UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 1316} 1317 1318func (x *LogExclusion) Reset() { 1319 *x = LogExclusion{} 1320 if protoimpl.UnsafeEnabled { 1321 mi := &file_google_logging_v2_logging_config_proto_msgTypes[13] 1322 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1323 ms.StoreMessageInfo(mi) 1324 } 1325} 1326 1327func (x *LogExclusion) String() string { 1328 return protoimpl.X.MessageStringOf(x) 1329} 1330 1331func (*LogExclusion) ProtoMessage() {} 1332 1333func (x *LogExclusion) ProtoReflect() protoreflect.Message { 1334 mi := &file_google_logging_v2_logging_config_proto_msgTypes[13] 1335 if protoimpl.UnsafeEnabled && x != nil { 1336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1337 if ms.LoadMessageInfo() == nil { 1338 ms.StoreMessageInfo(mi) 1339 } 1340 return ms 1341 } 1342 return mi.MessageOf(x) 1343} 1344 1345// Deprecated: Use LogExclusion.ProtoReflect.Descriptor instead. 1346func (*LogExclusion) Descriptor() ([]byte, []int) { 1347 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{13} 1348} 1349 1350func (x *LogExclusion) GetName() string { 1351 if x != nil { 1352 return x.Name 1353 } 1354 return "" 1355} 1356 1357func (x *LogExclusion) GetDescription() string { 1358 if x != nil { 1359 return x.Description 1360 } 1361 return "" 1362} 1363 1364func (x *LogExclusion) GetFilter() string { 1365 if x != nil { 1366 return x.Filter 1367 } 1368 return "" 1369} 1370 1371func (x *LogExclusion) GetDisabled() bool { 1372 if x != nil { 1373 return x.Disabled 1374 } 1375 return false 1376} 1377 1378func (x *LogExclusion) GetCreateTime() *timestamp.Timestamp { 1379 if x != nil { 1380 return x.CreateTime 1381 } 1382 return nil 1383} 1384 1385func (x *LogExclusion) GetUpdateTime() *timestamp.Timestamp { 1386 if x != nil { 1387 return x.UpdateTime 1388 } 1389 return nil 1390} 1391 1392// The parameters to `ListExclusions`. 1393type ListExclusionsRequest struct { 1394 state protoimpl.MessageState 1395 sizeCache protoimpl.SizeCache 1396 unknownFields protoimpl.UnknownFields 1397 1398 // Required. The parent resource whose exclusions are to be listed. 1399 // 1400 // "projects/[PROJECT_ID]" 1401 // "organizations/[ORGANIZATION_ID]" 1402 // "billingAccounts/[BILLING_ACCOUNT_ID]" 1403 // "folders/[FOLDER_ID]" 1404 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1405 // Optional. If present, then retrieve the next batch of results from the 1406 // preceding call to this method. `pageToken` must be the value of 1407 // `nextPageToken` from the previous response. The values of other method 1408 // parameters should be identical to those in the previous call. 1409 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1410 // Optional. The maximum number of results to return from this request. 1411 // Non-positive values are ignored. The presence of `nextPageToken` in the 1412 // response indicates that more results might be available. 1413 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1414} 1415 1416func (x *ListExclusionsRequest) Reset() { 1417 *x = ListExclusionsRequest{} 1418 if protoimpl.UnsafeEnabled { 1419 mi := &file_google_logging_v2_logging_config_proto_msgTypes[14] 1420 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1421 ms.StoreMessageInfo(mi) 1422 } 1423} 1424 1425func (x *ListExclusionsRequest) String() string { 1426 return protoimpl.X.MessageStringOf(x) 1427} 1428 1429func (*ListExclusionsRequest) ProtoMessage() {} 1430 1431func (x *ListExclusionsRequest) ProtoReflect() protoreflect.Message { 1432 mi := &file_google_logging_v2_logging_config_proto_msgTypes[14] 1433 if protoimpl.UnsafeEnabled && x != nil { 1434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1435 if ms.LoadMessageInfo() == nil { 1436 ms.StoreMessageInfo(mi) 1437 } 1438 return ms 1439 } 1440 return mi.MessageOf(x) 1441} 1442 1443// Deprecated: Use ListExclusionsRequest.ProtoReflect.Descriptor instead. 1444func (*ListExclusionsRequest) Descriptor() ([]byte, []int) { 1445 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{14} 1446} 1447 1448func (x *ListExclusionsRequest) GetParent() string { 1449 if x != nil { 1450 return x.Parent 1451 } 1452 return "" 1453} 1454 1455func (x *ListExclusionsRequest) GetPageToken() string { 1456 if x != nil { 1457 return x.PageToken 1458 } 1459 return "" 1460} 1461 1462func (x *ListExclusionsRequest) GetPageSize() int32 { 1463 if x != nil { 1464 return x.PageSize 1465 } 1466 return 0 1467} 1468 1469// Result returned from `ListExclusions`. 1470type ListExclusionsResponse struct { 1471 state protoimpl.MessageState 1472 sizeCache protoimpl.SizeCache 1473 unknownFields protoimpl.UnknownFields 1474 1475 // A list of exclusions. 1476 Exclusions []*LogExclusion `protobuf:"bytes,1,rep,name=exclusions,proto3" json:"exclusions,omitempty"` 1477 // If there might be more results than appear in this response, then 1478 // `nextPageToken` is included. To get the next set of results, call the same 1479 // method again using the value of `nextPageToken` as `pageToken`. 1480 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1481} 1482 1483func (x *ListExclusionsResponse) Reset() { 1484 *x = ListExclusionsResponse{} 1485 if protoimpl.UnsafeEnabled { 1486 mi := &file_google_logging_v2_logging_config_proto_msgTypes[15] 1487 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1488 ms.StoreMessageInfo(mi) 1489 } 1490} 1491 1492func (x *ListExclusionsResponse) String() string { 1493 return protoimpl.X.MessageStringOf(x) 1494} 1495 1496func (*ListExclusionsResponse) ProtoMessage() {} 1497 1498func (x *ListExclusionsResponse) ProtoReflect() protoreflect.Message { 1499 mi := &file_google_logging_v2_logging_config_proto_msgTypes[15] 1500 if protoimpl.UnsafeEnabled && x != nil { 1501 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1502 if ms.LoadMessageInfo() == nil { 1503 ms.StoreMessageInfo(mi) 1504 } 1505 return ms 1506 } 1507 return mi.MessageOf(x) 1508} 1509 1510// Deprecated: Use ListExclusionsResponse.ProtoReflect.Descriptor instead. 1511func (*ListExclusionsResponse) Descriptor() ([]byte, []int) { 1512 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{15} 1513} 1514 1515func (x *ListExclusionsResponse) GetExclusions() []*LogExclusion { 1516 if x != nil { 1517 return x.Exclusions 1518 } 1519 return nil 1520} 1521 1522func (x *ListExclusionsResponse) GetNextPageToken() string { 1523 if x != nil { 1524 return x.NextPageToken 1525 } 1526 return "" 1527} 1528 1529// The parameters to `GetExclusion`. 1530type GetExclusionRequest struct { 1531 state protoimpl.MessageState 1532 sizeCache protoimpl.SizeCache 1533 unknownFields protoimpl.UnknownFields 1534 1535 // Required. The resource name of an existing exclusion: 1536 // 1537 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 1538 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 1539 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 1540 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 1541 // 1542 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 1543 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1544} 1545 1546func (x *GetExclusionRequest) Reset() { 1547 *x = GetExclusionRequest{} 1548 if protoimpl.UnsafeEnabled { 1549 mi := &file_google_logging_v2_logging_config_proto_msgTypes[16] 1550 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1551 ms.StoreMessageInfo(mi) 1552 } 1553} 1554 1555func (x *GetExclusionRequest) String() string { 1556 return protoimpl.X.MessageStringOf(x) 1557} 1558 1559func (*GetExclusionRequest) ProtoMessage() {} 1560 1561func (x *GetExclusionRequest) ProtoReflect() protoreflect.Message { 1562 mi := &file_google_logging_v2_logging_config_proto_msgTypes[16] 1563 if protoimpl.UnsafeEnabled && x != nil { 1564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1565 if ms.LoadMessageInfo() == nil { 1566 ms.StoreMessageInfo(mi) 1567 } 1568 return ms 1569 } 1570 return mi.MessageOf(x) 1571} 1572 1573// Deprecated: Use GetExclusionRequest.ProtoReflect.Descriptor instead. 1574func (*GetExclusionRequest) Descriptor() ([]byte, []int) { 1575 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{16} 1576} 1577 1578func (x *GetExclusionRequest) GetName() string { 1579 if x != nil { 1580 return x.Name 1581 } 1582 return "" 1583} 1584 1585// The parameters to `CreateExclusion`. 1586type CreateExclusionRequest struct { 1587 state protoimpl.MessageState 1588 sizeCache protoimpl.SizeCache 1589 unknownFields protoimpl.UnknownFields 1590 1591 // Required. The parent resource in which to create the exclusion: 1592 // 1593 // "projects/[PROJECT_ID]" 1594 // "organizations/[ORGANIZATION_ID]" 1595 // "billingAccounts/[BILLING_ACCOUNT_ID]" 1596 // "folders/[FOLDER_ID]" 1597 // 1598 // Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. 1599 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1600 // Required. The new exclusion, whose `name` parameter is an exclusion name 1601 // that is not already used in the parent resource. 1602 Exclusion *LogExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` 1603} 1604 1605func (x *CreateExclusionRequest) Reset() { 1606 *x = CreateExclusionRequest{} 1607 if protoimpl.UnsafeEnabled { 1608 mi := &file_google_logging_v2_logging_config_proto_msgTypes[17] 1609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1610 ms.StoreMessageInfo(mi) 1611 } 1612} 1613 1614func (x *CreateExclusionRequest) String() string { 1615 return protoimpl.X.MessageStringOf(x) 1616} 1617 1618func (*CreateExclusionRequest) ProtoMessage() {} 1619 1620func (x *CreateExclusionRequest) ProtoReflect() protoreflect.Message { 1621 mi := &file_google_logging_v2_logging_config_proto_msgTypes[17] 1622 if protoimpl.UnsafeEnabled && x != nil { 1623 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1624 if ms.LoadMessageInfo() == nil { 1625 ms.StoreMessageInfo(mi) 1626 } 1627 return ms 1628 } 1629 return mi.MessageOf(x) 1630} 1631 1632// Deprecated: Use CreateExclusionRequest.ProtoReflect.Descriptor instead. 1633func (*CreateExclusionRequest) Descriptor() ([]byte, []int) { 1634 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{17} 1635} 1636 1637func (x *CreateExclusionRequest) GetParent() string { 1638 if x != nil { 1639 return x.Parent 1640 } 1641 return "" 1642} 1643 1644func (x *CreateExclusionRequest) GetExclusion() *LogExclusion { 1645 if x != nil { 1646 return x.Exclusion 1647 } 1648 return nil 1649} 1650 1651// The parameters to `UpdateExclusion`. 1652type UpdateExclusionRequest struct { 1653 state protoimpl.MessageState 1654 sizeCache protoimpl.SizeCache 1655 unknownFields protoimpl.UnknownFields 1656 1657 // Required. The resource name of the exclusion to update: 1658 // 1659 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 1660 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 1661 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 1662 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 1663 // 1664 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 1665 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1666 // Required. New values for the existing exclusion. Only the fields specified in 1667 // `update_mask` are relevant. 1668 Exclusion *LogExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` 1669 // Required. A non-empty list of fields to change in the existing exclusion. New values 1670 // for the fields are taken from the corresponding fields in the 1671 // [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in 1672 // `update_mask` are not changed and are ignored in the request. 1673 // 1674 // For example, to change the filter and description of an exclusion, 1675 // specify an `update_mask` of `"filter,description"`. 1676 UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1677} 1678 1679func (x *UpdateExclusionRequest) Reset() { 1680 *x = UpdateExclusionRequest{} 1681 if protoimpl.UnsafeEnabled { 1682 mi := &file_google_logging_v2_logging_config_proto_msgTypes[18] 1683 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1684 ms.StoreMessageInfo(mi) 1685 } 1686} 1687 1688func (x *UpdateExclusionRequest) String() string { 1689 return protoimpl.X.MessageStringOf(x) 1690} 1691 1692func (*UpdateExclusionRequest) ProtoMessage() {} 1693 1694func (x *UpdateExclusionRequest) ProtoReflect() protoreflect.Message { 1695 mi := &file_google_logging_v2_logging_config_proto_msgTypes[18] 1696 if protoimpl.UnsafeEnabled && x != nil { 1697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1698 if ms.LoadMessageInfo() == nil { 1699 ms.StoreMessageInfo(mi) 1700 } 1701 return ms 1702 } 1703 return mi.MessageOf(x) 1704} 1705 1706// Deprecated: Use UpdateExclusionRequest.ProtoReflect.Descriptor instead. 1707func (*UpdateExclusionRequest) Descriptor() ([]byte, []int) { 1708 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{18} 1709} 1710 1711func (x *UpdateExclusionRequest) GetName() string { 1712 if x != nil { 1713 return x.Name 1714 } 1715 return "" 1716} 1717 1718func (x *UpdateExclusionRequest) GetExclusion() *LogExclusion { 1719 if x != nil { 1720 return x.Exclusion 1721 } 1722 return nil 1723} 1724 1725func (x *UpdateExclusionRequest) GetUpdateMask() *field_mask.FieldMask { 1726 if x != nil { 1727 return x.UpdateMask 1728 } 1729 return nil 1730} 1731 1732// The parameters to `DeleteExclusion`. 1733type DeleteExclusionRequest struct { 1734 state protoimpl.MessageState 1735 sizeCache protoimpl.SizeCache 1736 unknownFields protoimpl.UnknownFields 1737 1738 // Required. The resource name of an existing exclusion to delete: 1739 // 1740 // "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" 1741 // "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" 1742 // "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" 1743 // "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" 1744 // 1745 // Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. 1746 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1747} 1748 1749func (x *DeleteExclusionRequest) Reset() { 1750 *x = DeleteExclusionRequest{} 1751 if protoimpl.UnsafeEnabled { 1752 mi := &file_google_logging_v2_logging_config_proto_msgTypes[19] 1753 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1754 ms.StoreMessageInfo(mi) 1755 } 1756} 1757 1758func (x *DeleteExclusionRequest) String() string { 1759 return protoimpl.X.MessageStringOf(x) 1760} 1761 1762func (*DeleteExclusionRequest) ProtoMessage() {} 1763 1764func (x *DeleteExclusionRequest) ProtoReflect() protoreflect.Message { 1765 mi := &file_google_logging_v2_logging_config_proto_msgTypes[19] 1766 if protoimpl.UnsafeEnabled && x != nil { 1767 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1768 if ms.LoadMessageInfo() == nil { 1769 ms.StoreMessageInfo(mi) 1770 } 1771 return ms 1772 } 1773 return mi.MessageOf(x) 1774} 1775 1776// Deprecated: Use DeleteExclusionRequest.ProtoReflect.Descriptor instead. 1777func (*DeleteExclusionRequest) Descriptor() ([]byte, []int) { 1778 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{19} 1779} 1780 1781func (x *DeleteExclusionRequest) GetName() string { 1782 if x != nil { 1783 return x.Name 1784 } 1785 return "" 1786} 1787 1788// The parameters to 1789// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings]. 1790// 1791// See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 1792// for more information. 1793type GetCmekSettingsRequest struct { 1794 state protoimpl.MessageState 1795 sizeCache protoimpl.SizeCache 1796 unknownFields protoimpl.UnknownFields 1797 1798 // Required. The resource for which to retrieve CMEK settings. 1799 // 1800 // "projects/[PROJECT_ID]/cmekSettings" 1801 // "organizations/[ORGANIZATION_ID]/cmekSettings" 1802 // "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" 1803 // "folders/[FOLDER_ID]/cmekSettings" 1804 // 1805 // Example: `"organizations/12345/cmekSettings"`. 1806 // 1807 // Note: CMEK for the Logs Router can currently only be configured for GCP 1808 // organizations. Once configured, it applies to all projects and folders in 1809 // the GCP organization. 1810 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1811} 1812 1813func (x *GetCmekSettingsRequest) Reset() { 1814 *x = GetCmekSettingsRequest{} 1815 if protoimpl.UnsafeEnabled { 1816 mi := &file_google_logging_v2_logging_config_proto_msgTypes[20] 1817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1818 ms.StoreMessageInfo(mi) 1819 } 1820} 1821 1822func (x *GetCmekSettingsRequest) String() string { 1823 return protoimpl.X.MessageStringOf(x) 1824} 1825 1826func (*GetCmekSettingsRequest) ProtoMessage() {} 1827 1828func (x *GetCmekSettingsRequest) ProtoReflect() protoreflect.Message { 1829 mi := &file_google_logging_v2_logging_config_proto_msgTypes[20] 1830 if protoimpl.UnsafeEnabled && x != nil { 1831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1832 if ms.LoadMessageInfo() == nil { 1833 ms.StoreMessageInfo(mi) 1834 } 1835 return ms 1836 } 1837 return mi.MessageOf(x) 1838} 1839 1840// Deprecated: Use GetCmekSettingsRequest.ProtoReflect.Descriptor instead. 1841func (*GetCmekSettingsRequest) Descriptor() ([]byte, []int) { 1842 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{20} 1843} 1844 1845func (x *GetCmekSettingsRequest) GetName() string { 1846 if x != nil { 1847 return x.Name 1848 } 1849 return "" 1850} 1851 1852// The parameters to 1853// [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings]. 1854// 1855// See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 1856// for more information. 1857type UpdateCmekSettingsRequest struct { 1858 state protoimpl.MessageState 1859 sizeCache protoimpl.SizeCache 1860 unknownFields protoimpl.UnknownFields 1861 1862 // Required. The resource name for the CMEK settings to update. 1863 // 1864 // "projects/[PROJECT_ID]/cmekSettings" 1865 // "organizations/[ORGANIZATION_ID]/cmekSettings" 1866 // "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" 1867 // "folders/[FOLDER_ID]/cmekSettings" 1868 // 1869 // Example: `"organizations/12345/cmekSettings"`. 1870 // 1871 // Note: CMEK for the Logs Router can currently only be configured for GCP 1872 // organizations. Once configured, it applies to all projects and folders in 1873 // the GCP organization. 1874 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1875 // Required. The CMEK settings to update. 1876 // 1877 // See [Enabling CMEK for Logs 1878 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 1879 CmekSettings *CmekSettings `protobuf:"bytes,2,opt,name=cmek_settings,json=cmekSettings,proto3" json:"cmek_settings,omitempty"` 1880 // Optional. Field mask identifying which fields from `cmek_settings` should 1881 // be updated. A field will be overwritten if and only if it is in the update 1882 // mask. Output only fields cannot be updated. 1883 // 1884 // See [FieldMask][google.protobuf.FieldMask] for more information. 1885 // 1886 // Example: `"updateMask=kmsKeyName"` 1887 UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1888} 1889 1890func (x *UpdateCmekSettingsRequest) Reset() { 1891 *x = UpdateCmekSettingsRequest{} 1892 if protoimpl.UnsafeEnabled { 1893 mi := &file_google_logging_v2_logging_config_proto_msgTypes[21] 1894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1895 ms.StoreMessageInfo(mi) 1896 } 1897} 1898 1899func (x *UpdateCmekSettingsRequest) String() string { 1900 return protoimpl.X.MessageStringOf(x) 1901} 1902 1903func (*UpdateCmekSettingsRequest) ProtoMessage() {} 1904 1905func (x *UpdateCmekSettingsRequest) ProtoReflect() protoreflect.Message { 1906 mi := &file_google_logging_v2_logging_config_proto_msgTypes[21] 1907 if protoimpl.UnsafeEnabled && x != nil { 1908 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1909 if ms.LoadMessageInfo() == nil { 1910 ms.StoreMessageInfo(mi) 1911 } 1912 return ms 1913 } 1914 return mi.MessageOf(x) 1915} 1916 1917// Deprecated: Use UpdateCmekSettingsRequest.ProtoReflect.Descriptor instead. 1918func (*UpdateCmekSettingsRequest) Descriptor() ([]byte, []int) { 1919 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{21} 1920} 1921 1922func (x *UpdateCmekSettingsRequest) GetName() string { 1923 if x != nil { 1924 return x.Name 1925 } 1926 return "" 1927} 1928 1929func (x *UpdateCmekSettingsRequest) GetCmekSettings() *CmekSettings { 1930 if x != nil { 1931 return x.CmekSettings 1932 } 1933 return nil 1934} 1935 1936func (x *UpdateCmekSettingsRequest) GetUpdateMask() *field_mask.FieldMask { 1937 if x != nil { 1938 return x.UpdateMask 1939 } 1940 return nil 1941} 1942 1943// Describes the customer-managed encryption key (CMEK) settings associated with 1944// a project, folder, organization, billing account, or flexible resource. 1945// 1946// Note: CMEK for the Logs Router can currently only be configured for GCP 1947// organizations. Once configured, it applies to all projects and folders in the 1948// GCP organization. 1949// 1950// See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption) 1951// for more information. 1952type CmekSettings struct { 1953 state protoimpl.MessageState 1954 sizeCache protoimpl.SizeCache 1955 unknownFields protoimpl.UnknownFields 1956 1957 // Output only. The resource name of the CMEK settings. 1958 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1959 // The resource name for the configured Cloud KMS key. 1960 // 1961 // KMS key name format: 1962 // "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" 1963 // 1964 // For example: 1965 // `"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"` 1966 // 1967 // 1968 // 1969 // To enable CMEK for the Logs Router, set this field to a valid 1970 // `kms_key_name` for which the associated service account has the required 1971 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key. 1972 // 1973 // The Cloud KMS key used by the Log Router can be updated by changing the 1974 // `kms_key_name` to a new valid key name. Encryption operations that are in 1975 // progress will be completed with the key that was in use when they started. 1976 // Decryption operations will be completed using the key that was used at the 1977 // time of encryption unless access to that key has been revoked. 1978 // 1979 // To disable CMEK for the Logs Router, set this field to an empty string. 1980 // 1981 // See [Enabling CMEK for Logs 1982 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 1983 KmsKeyName string `protobuf:"bytes,2,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` 1984 // Output only. The service account that will be used by the Logs Router to access your 1985 // Cloud KMS key. 1986 // 1987 // Before enabling CMEK for Logs Router, you must first assign the role 1988 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that 1989 // the Logs Router will use to access your Cloud KMS key. Use 1990 // [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings] to 1991 // obtain the service account ID. 1992 // 1993 // See [Enabling CMEK for Logs 1994 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 1995 ServiceAccountId string `protobuf:"bytes,3,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"` 1996} 1997 1998func (x *CmekSettings) Reset() { 1999 *x = CmekSettings{} 2000 if protoimpl.UnsafeEnabled { 2001 mi := &file_google_logging_v2_logging_config_proto_msgTypes[22] 2002 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2003 ms.StoreMessageInfo(mi) 2004 } 2005} 2006 2007func (x *CmekSettings) String() string { 2008 return protoimpl.X.MessageStringOf(x) 2009} 2010 2011func (*CmekSettings) ProtoMessage() {} 2012 2013func (x *CmekSettings) ProtoReflect() protoreflect.Message { 2014 mi := &file_google_logging_v2_logging_config_proto_msgTypes[22] 2015 if protoimpl.UnsafeEnabled && x != nil { 2016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2017 if ms.LoadMessageInfo() == nil { 2018 ms.StoreMessageInfo(mi) 2019 } 2020 return ms 2021 } 2022 return mi.MessageOf(x) 2023} 2024 2025// Deprecated: Use CmekSettings.ProtoReflect.Descriptor instead. 2026func (*CmekSettings) Descriptor() ([]byte, []int) { 2027 return file_google_logging_v2_logging_config_proto_rawDescGZIP(), []int{22} 2028} 2029 2030func (x *CmekSettings) GetName() string { 2031 if x != nil { 2032 return x.Name 2033 } 2034 return "" 2035} 2036 2037func (x *CmekSettings) GetKmsKeyName() string { 2038 if x != nil { 2039 return x.KmsKeyName 2040 } 2041 return "" 2042} 2043 2044func (x *CmekSettings) GetServiceAccountId() string { 2045 if x != nil { 2046 return x.ServiceAccountId 2047 } 2048 return "" 2049} 2050 2051var File_google_logging_v2_logging_config_proto protoreflect.FileDescriptor 2052 2053var file_google_logging_v2_logging_config_proto_rawDesc = []byte{ 2054 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2055 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 2056 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2057 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 2058 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 2059 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2060 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 2061 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 2062 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2063 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2064 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2065 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2066 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 2067 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 2068 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2069 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2070 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2071 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 2072 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 2073 0x04, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 2074 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2075 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 2076 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 2077 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 2078 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2079 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 2080 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 2081 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 2082 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2083 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 2084 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 2085 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 2086 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 2087 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x4f, 0x0a, 2088 0x0f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 2089 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2090 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 2091 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 2092 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x3a, 0xa5, 2093 0x02, 0xea, 0x41, 0xa1, 0x02, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 2094 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 2095 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2096 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 2097 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 2098 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 2099 0x7d, 0x12, 0x42, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2100 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 2101 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2102 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 2103 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x36, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 2104 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2105 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 2106 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x47, 0x62, 2107 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 2108 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 2109 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 2110 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 2111 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22, 0xdc, 0x06, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x53, 0x69, 2112 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2113 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x0b, 0x64, 2114 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2115 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x0b, 0x64, 0x65, 0x73, 2116 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 2117 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 2118 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 2119 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2120 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 2121 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 2122 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x60, 0x0a, 2123 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 2124 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 2125 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 2126 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 2127 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x6f, 0x75, 0x74, 0x70, 2128 0x75, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 2129 0x2c, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 2130 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x77, 2131 0x72, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 2132 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 2133 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 2134 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x54, 0x0a, 2135 0x10, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2136 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2137 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 2138 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 2139 0x48, 0x00, 0x52, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 2140 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 2141 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2142 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 2143 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 2144 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 2145 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 2146 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 2147 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 2148 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x73, 0x69, 2149 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x45, 0x52, 0x53, 2150 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 2151 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 2152 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x02, 0x3a, 0xbf, 0x01, 0xea, 0x41, 0xbb, 0x01, 0x0a, 2153 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 2154 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x12, 2155 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2156 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 2157 0x12, 0x29, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2158 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 2159 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 0x12, 0x1d, 0x66, 0x6f, 0x6c, 2160 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x69, 2161 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 0x12, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 2162 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 2163 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x73, 0x69, 2164 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x7d, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 2165 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 2166 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x16, 0x75, 0x73, 0x65, 2167 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 2168 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 2169 0x75, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x61, 2170 0x62, 0x6c, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x22, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 2171 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x70, 0x61, 2172 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 2173 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1f, 0x75, 0x73, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 2174 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 2175 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 2176 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 2177 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 2178 0x41, 0x02, 0xfa, 0x41, 0x22, 0x12, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 2179 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 2180 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2181 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 2182 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 2183 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 2184 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 2185 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x75, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 2186 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 2187 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 2188 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2189 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 2190 0x6b, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 2191 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 2192 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 2193 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 2194 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 2195 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 2196 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 2197 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 2198 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 2199 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 2200 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 2201 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x40, 0x0a, 2202 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 2203 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2204 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 2205 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 2206 0x50, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 2207 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2208 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2209 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 2210 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 2211 0x65, 0x22, 0x98, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 2212 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2213 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x12, 0x1e, 2214 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 2215 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x06, 2216 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 2217 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2218 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 2219 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 2220 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x6d, 0x0a, 0x11, 2221 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2222 0x65, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 2223 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2224 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x73, 0x69, 2225 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 2226 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 2227 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x55, 0x0a, 0x0e, 0x47, 2228 0x65, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 2229 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2230 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2231 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2232 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 2233 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 2234 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 2235 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 2236 0x12, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2237 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 2238 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 2239 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2240 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 2241 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 2242 0x16, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x69, 2243 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 2244 0x41, 0x01, 0x52, 0x14, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 2245 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x8a, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 2246 0x61, 0x74, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 2247 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2248 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2249 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 2250 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 2251 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 2252 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2253 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 2254 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x16, 0x75, 0x6e, 0x69, 0x71, 2255 0x75, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 2256 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 2257 0x6e, 0x69, 0x71, 0x75, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 2258 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 2259 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2260 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 2261 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 2262 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x58, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 2263 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x69, 2264 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 2265 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 2266 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 2267 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 2268 0xff, 0x03, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 2269 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2270 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 2271 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2272 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2273 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 2274 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 2275 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 2276 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 2277 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 2278 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2279 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 2280 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 2281 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 2282 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2283 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 2284 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 2285 0x6d, 0x65, 0x3a, 0xec, 0x01, 0xea, 0x41, 0xe8, 0x01, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2286 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 2287 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 2288 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2289 0x74, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 2290 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x33, 0x6f, 0x72, 0x67, 0x61, 0x6e, 2291 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 2292 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2293 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x27, 2294 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 2295 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x63, 2296 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x38, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 2297 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 2298 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 2299 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 2300 0x7d, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 2301 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 2302 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 2303 0xfa, 0x41, 0x25, 0x12, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 2304 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x45, 2305 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2306 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 2307 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 2308 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 2309 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 2310 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 2311 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2312 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 2313 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2314 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 2315 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2316 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 2317 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 2318 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 2319 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2320 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2321 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2322 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2323 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 2324 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 2325 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 2326 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 2327 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 2328 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 2329 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 2330 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2331 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2332 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 2333 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x63, 2334 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 2335 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2336 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2337 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2338 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2339 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 2340 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 2341 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2342 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 2343 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x63, 2344 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 2345 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2346 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 2347 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 2348 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x59, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 2349 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 2350 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2351 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2352 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2353 0x2f, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 2354 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 2355 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 2356 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 2357 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 2358 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6d, 0x65, 0x6b, 2359 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc1, 2360 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 2361 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 2362 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 2363 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6d, 0x65, 0x6b, 0x5f, 0x73, 0x65, 2364 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 2365 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 2366 0x2e, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 2367 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 2368 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 2369 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2370 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 2371 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 2372 0x73, 0x6b, 0x22, 0xc3, 0x02, 0x0a, 0x0c, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 2373 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2374 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 2375 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 2376 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 2377 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 2378 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2379 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 2380 0x64, 0x3a, 0xc4, 0x01, 0xea, 0x41, 0xc0, 0x01, 0x0a, 0x23, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2381 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2382 0x2f, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1f, 0x70, 2383 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2384 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 2385 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 2386 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 2387 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 2388 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 2389 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 2390 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 2391 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 2392 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2a, 0x53, 0x0a, 0x0e, 0x4c, 0x69, 0x66, 0x65, 2393 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x49, 2394 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 2395 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 2396 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4c, 0x45, 0x54, 2397 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x32, 0xaf, 0x27, 2398 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 2399 0x32, 0x12, 0xdc, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 2400 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2401 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 2402 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2403 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 2404 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2405 0x22, 0xfd, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xed, 0x01, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 2406 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 2407 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 2408 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2409 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2410 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5a, 2411 0x32, 0x12, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 2412 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 2413 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 2414 0x65, 0x74, 0x73, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 2415 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 2416 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 2417 0x73, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2418 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 2419 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 2420 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2421 0x12, 0xb9, 0x02, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 2422 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2423 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 2424 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 2425 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 2426 0x74, 0x22, 0xe8, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xe1, 0x01, 0x12, 0x24, 0x2f, 0x76, 0x32, 2427 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2428 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 2429 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 2430 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 2431 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 2432 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 2433 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 2434 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 2435 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 2436 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 2437 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 2438 0x2a, 0x7d, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2439 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 2440 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf3, 0x02, 0x0a, 2441 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 2442 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2443 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 2444 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2445 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x63, 2446 0x6b, 0x65, 0x74, 0x22, 0x9c, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x02, 0x32, 0x24, 0x2f, 2447 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 2448 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 2449 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x35, 0x32, 0x2b, 0x2f, 2450 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2451 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 2452 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 2453 0x65, 0x74, 0x5a, 0x3a, 0x32, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2454 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 2455 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 2456 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x34, 2457 0x32, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 2458 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2459 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 2460 0x63, 0x6b, 0x65, 0x74, 0x5a, 0x3c, 0x32, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 2461 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 2462 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 2463 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x75, 0x63, 0x6b, 2464 0x65, 0x74, 0x12, 0x90, 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 2465 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2466 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 2467 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2468 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 2469 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x82, 0xd3, 2470 0xe4, 0x93, 0x02, 0xa7, 0x01, 0x12, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 2471 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x1f, 0x12, 2472 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 2473 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x24, 2474 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 2475 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 2476 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 2477 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 2478 0x69, 0x6e, 0x6b, 0x73, 0x5a, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 2479 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 2480 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0xda, 0x41, 0x06, 0x70, 2481 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9e, 0x02, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 2482 0x6b, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 2483 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 2484 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 2485 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 2486 0x22, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 2487 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x73, 2488 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 2489 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2490 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x12, 2491 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2492 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 2493 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, 0x2f, 2494 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 2495 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x12, 2496 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2497 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 2498 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x09, 0x73, 0x69, 0x6e, 2499 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xab, 0x02, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 2500 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2501 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 2502 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 2503 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 2504 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xda, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc5, 2505 0x01, 0x22, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 2506 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 2507 0x25, 0x22, 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 2508 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 2509 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2a, 0x22, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 2510 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 2511 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 2512 0x6e, 0x6b, 0x5a, 0x24, 0x22, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 2513 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 2514 0x6b, 0x73, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2c, 0x22, 0x24, 0x2f, 0x76, 0x32, 0x2f, 2515 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 2516 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 2517 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0xda, 0x41, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 2518 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x9f, 0x04, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 2519 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 2520 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 2521 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2522 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 2523 0x67, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xce, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x03, 0x1a, 2524 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2525 0x2a, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 2526 0x6e, 0x6b, 0x5a, 0x2a, 0x1a, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 2527 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 2528 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2f, 2529 0x1a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 2530 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2531 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 2532 0x29, 0x1a, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 2533 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 2534 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x31, 0x1a, 0x29, 0x2f, 0x76, 2535 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 2536 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 2537 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2a, 0x32, 2538 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 2539 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 2540 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x2f, 0x32, 0x27, 0x2f, 0x76, 0x32, 2541 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 2542 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 2543 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x29, 0x32, 0x21, 0x2f, 0x76, 2544 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 2545 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 2546 0x04, 0x73, 0x69, 0x6e, 0x6b, 0x5a, 0x31, 0x32, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 2547 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 2548 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 2549 0x2a, 0x7d, 0x3a, 0x04, 0x73, 0x69, 0x6e, 0x6b, 0xda, 0x41, 0x1a, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 2550 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x69, 0x6e, 0x6b, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 2551 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xda, 0x41, 0x0e, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 2552 0x65, 0x2c, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0xa0, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 2553 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2554 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 2555 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 2556 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 2557 0x70, 0x74, 0x79, 0x22, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x2a, 0x1b, 0x2f, 2558 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 2559 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x2a, 0x22, 0x2f, 0x76, 2560 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2561 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 2562 0x5a, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 2563 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2564 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 2565 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 2566 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 2567 0x5a, 0x2b, 0x2a, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 2568 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 2569 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x09, 2570 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb8, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 2571 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 2572 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 2573 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 2574 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2575 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 2576 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2577 0x65, 0x22, 0xd0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x12, 0x1b, 0x2f, 0x76, 0x32, 2578 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 2579 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 2580 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2581 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x29, 2582 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 2583 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 2584 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, 2585 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 2586 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x2b, 2587 0x12, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 2588 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 2589 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 2590 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa8, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x6c, 2591 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2592 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 2593 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 2594 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2595 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xce, 2596 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc0, 0x01, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 2597 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2598 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 2599 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 2600 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x12, 0x27, 0x2f, 2601 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 2602 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 2603 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 2604 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 2605 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 2606 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 2607 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 2608 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 2609 0xf1, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 2610 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 2611 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 2612 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 2613 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2614 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 2615 0x91, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf7, 0x01, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 2616 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 2617 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2618 0x6e, 0x5a, 0x2f, 0x22, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2619 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 2620 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 2621 0x6f, 0x6e, 0x5a, 0x34, 0x22, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 2622 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2623 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 2624 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x2e, 0x22, 0x21, 0x2f, 0x76, 0x32, 0x2f, 2625 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 2626 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 2627 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x36, 0x22, 0x29, 0x2f, 0x76, 0x32, 0x2f, 2628 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 2629 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 2630 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 2631 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 2632 0x69, 0x6f, 0x6e, 0x12, 0xfb, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 2633 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2634 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 2635 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 2636 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 2637 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 2638 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf7, 0x01, 0x32, 0x1b, 0x2f, 2639 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 2640 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 2641 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x2f, 0x32, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 2642 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 2643 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 2644 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x34, 0x32, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 2645 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2646 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2647 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x2e, 0x32, 0x21, 2648 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 2649 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2650 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5a, 0x36, 0x32, 0x29, 2651 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 2652 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 2653 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 2654 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x65, 0x78, 0x63, 0x6c, 2655 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 2656 0x6b, 0x12, 0xa5, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x63, 0x6c, 2657 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2658 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 2659 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2660 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2661 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xce, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2662 0xc0, 0x01, 0x2a, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 2663 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 2664 0x24, 0x2a, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2665 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2666 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 2667 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2668 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 2669 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 2670 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2671 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2b, 0x2a, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 2672 0x6d, 0x65, 0x3d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 2673 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2674 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x0f, 0x47, 0x65, 2675 0x74, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x2e, 2676 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 2677 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 2678 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2679 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6d, 0x65, 2680 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2681 0x48, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 2682 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5a, 0x29, 2683 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 2684 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 2685 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x12, 0x55, 0x70, 2686 0x64, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 2687 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 2688 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x65, 0x6b, 0x53, 2689 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 2690 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2691 0x76, 0x32, 0x2e, 0x43, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 2692 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x32, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 2693 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 2694 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x0d, 0x63, 0x6d, 0x65, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 2695 0x6e, 0x67, 0x73, 0x5a, 0x38, 0x32, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 2696 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2697 0x7d, 0x2f, 0x63, 0x6d, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x0d, 2698 0x63, 0x6d, 0x65, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xdf, 0x01, 2699 0xca, 0x41, 0x16, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2700 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xc2, 0x01, 0x68, 0x74, 0x74, 2701 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 2702 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 2703 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 2704 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 2705 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 2706 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 2707 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 2708 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2709 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, 0x6d, 2710 0x69, 0x6e, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 2711 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 2712 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x42, 2713 0xbc, 0x03, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2714 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x4c, 0x6f, 0x67, 0x67, 0x69, 2715 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 2716 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 2717 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 2718 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 2719 0x32, 0x3b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x17, 0x47, 2720 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 2721 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 2722 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 2723 0xea, 0x41, 0x60, 0x0a, 0x2b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 2724 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x67, 0x61, 2725 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2726 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2727 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 2728 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 2729 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x4e, 0x0a, 0x25, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 2730 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 2731 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x66, 2732 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 2733 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2734 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x67, 0x0a, 0x2d, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 2735 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2736 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 2737 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 2738 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 2739 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 2740 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 2741 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2742} 2743 2744var ( 2745 file_google_logging_v2_logging_config_proto_rawDescOnce sync.Once 2746 file_google_logging_v2_logging_config_proto_rawDescData = file_google_logging_v2_logging_config_proto_rawDesc 2747) 2748 2749func file_google_logging_v2_logging_config_proto_rawDescGZIP() []byte { 2750 file_google_logging_v2_logging_config_proto_rawDescOnce.Do(func() { 2751 file_google_logging_v2_logging_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_logging_v2_logging_config_proto_rawDescData) 2752 }) 2753 return file_google_logging_v2_logging_config_proto_rawDescData 2754} 2755 2756var file_google_logging_v2_logging_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 2757var file_google_logging_v2_logging_config_proto_msgTypes = make([]protoimpl.MessageInfo, 23) 2758var file_google_logging_v2_logging_config_proto_goTypes = []interface{}{ 2759 (LifecycleState)(0), // 0: google.logging.v2.LifecycleState 2760 (LogSink_VersionFormat)(0), // 1: google.logging.v2.LogSink.VersionFormat 2761 (*LogBucket)(nil), // 2: google.logging.v2.LogBucket 2762 (*LogSink)(nil), // 3: google.logging.v2.LogSink 2763 (*BigQueryOptions)(nil), // 4: google.logging.v2.BigQueryOptions 2764 (*ListBucketsRequest)(nil), // 5: google.logging.v2.ListBucketsRequest 2765 (*ListBucketsResponse)(nil), // 6: google.logging.v2.ListBucketsResponse 2766 (*UpdateBucketRequest)(nil), // 7: google.logging.v2.UpdateBucketRequest 2767 (*GetBucketRequest)(nil), // 8: google.logging.v2.GetBucketRequest 2768 (*ListSinksRequest)(nil), // 9: google.logging.v2.ListSinksRequest 2769 (*ListSinksResponse)(nil), // 10: google.logging.v2.ListSinksResponse 2770 (*GetSinkRequest)(nil), // 11: google.logging.v2.GetSinkRequest 2771 (*CreateSinkRequest)(nil), // 12: google.logging.v2.CreateSinkRequest 2772 (*UpdateSinkRequest)(nil), // 13: google.logging.v2.UpdateSinkRequest 2773 (*DeleteSinkRequest)(nil), // 14: google.logging.v2.DeleteSinkRequest 2774 (*LogExclusion)(nil), // 15: google.logging.v2.LogExclusion 2775 (*ListExclusionsRequest)(nil), // 16: google.logging.v2.ListExclusionsRequest 2776 (*ListExclusionsResponse)(nil), // 17: google.logging.v2.ListExclusionsResponse 2777 (*GetExclusionRequest)(nil), // 18: google.logging.v2.GetExclusionRequest 2778 (*CreateExclusionRequest)(nil), // 19: google.logging.v2.CreateExclusionRequest 2779 (*UpdateExclusionRequest)(nil), // 20: google.logging.v2.UpdateExclusionRequest 2780 (*DeleteExclusionRequest)(nil), // 21: google.logging.v2.DeleteExclusionRequest 2781 (*GetCmekSettingsRequest)(nil), // 22: google.logging.v2.GetCmekSettingsRequest 2782 (*UpdateCmekSettingsRequest)(nil), // 23: google.logging.v2.UpdateCmekSettingsRequest 2783 (*CmekSettings)(nil), // 24: google.logging.v2.CmekSettings 2784 (*timestamp.Timestamp)(nil), // 25: google.protobuf.Timestamp 2785 (*field_mask.FieldMask)(nil), // 26: google.protobuf.FieldMask 2786 (*empty.Empty)(nil), // 27: google.protobuf.Empty 2787} 2788var file_google_logging_v2_logging_config_proto_depIdxs = []int32{ 2789 25, // 0: google.logging.v2.LogBucket.create_time:type_name -> google.protobuf.Timestamp 2790 25, // 1: google.logging.v2.LogBucket.update_time:type_name -> google.protobuf.Timestamp 2791 0, // 2: google.logging.v2.LogBucket.lifecycle_state:type_name -> google.logging.v2.LifecycleState 2792 1, // 3: google.logging.v2.LogSink.output_version_format:type_name -> google.logging.v2.LogSink.VersionFormat 2793 4, // 4: google.logging.v2.LogSink.bigquery_options:type_name -> google.logging.v2.BigQueryOptions 2794 25, // 5: google.logging.v2.LogSink.create_time:type_name -> google.protobuf.Timestamp 2795 25, // 6: google.logging.v2.LogSink.update_time:type_name -> google.protobuf.Timestamp 2796 2, // 7: google.logging.v2.ListBucketsResponse.buckets:type_name -> google.logging.v2.LogBucket 2797 2, // 8: google.logging.v2.UpdateBucketRequest.bucket:type_name -> google.logging.v2.LogBucket 2798 26, // 9: google.logging.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask 2799 3, // 10: google.logging.v2.ListSinksResponse.sinks:type_name -> google.logging.v2.LogSink 2800 3, // 11: google.logging.v2.CreateSinkRequest.sink:type_name -> google.logging.v2.LogSink 2801 3, // 12: google.logging.v2.UpdateSinkRequest.sink:type_name -> google.logging.v2.LogSink 2802 26, // 13: google.logging.v2.UpdateSinkRequest.update_mask:type_name -> google.protobuf.FieldMask 2803 25, // 14: google.logging.v2.LogExclusion.create_time:type_name -> google.protobuf.Timestamp 2804 25, // 15: google.logging.v2.LogExclusion.update_time:type_name -> google.protobuf.Timestamp 2805 15, // 16: google.logging.v2.ListExclusionsResponse.exclusions:type_name -> google.logging.v2.LogExclusion 2806 15, // 17: google.logging.v2.CreateExclusionRequest.exclusion:type_name -> google.logging.v2.LogExclusion 2807 15, // 18: google.logging.v2.UpdateExclusionRequest.exclusion:type_name -> google.logging.v2.LogExclusion 2808 26, // 19: google.logging.v2.UpdateExclusionRequest.update_mask:type_name -> google.protobuf.FieldMask 2809 24, // 20: google.logging.v2.UpdateCmekSettingsRequest.cmek_settings:type_name -> google.logging.v2.CmekSettings 2810 26, // 21: google.logging.v2.UpdateCmekSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask 2811 5, // 22: google.logging.v2.ConfigServiceV2.ListBuckets:input_type -> google.logging.v2.ListBucketsRequest 2812 8, // 23: google.logging.v2.ConfigServiceV2.GetBucket:input_type -> google.logging.v2.GetBucketRequest 2813 7, // 24: google.logging.v2.ConfigServiceV2.UpdateBucket:input_type -> google.logging.v2.UpdateBucketRequest 2814 9, // 25: google.logging.v2.ConfigServiceV2.ListSinks:input_type -> google.logging.v2.ListSinksRequest 2815 11, // 26: google.logging.v2.ConfigServiceV2.GetSink:input_type -> google.logging.v2.GetSinkRequest 2816 12, // 27: google.logging.v2.ConfigServiceV2.CreateSink:input_type -> google.logging.v2.CreateSinkRequest 2817 13, // 28: google.logging.v2.ConfigServiceV2.UpdateSink:input_type -> google.logging.v2.UpdateSinkRequest 2818 14, // 29: google.logging.v2.ConfigServiceV2.DeleteSink:input_type -> google.logging.v2.DeleteSinkRequest 2819 16, // 30: google.logging.v2.ConfigServiceV2.ListExclusions:input_type -> google.logging.v2.ListExclusionsRequest 2820 18, // 31: google.logging.v2.ConfigServiceV2.GetExclusion:input_type -> google.logging.v2.GetExclusionRequest 2821 19, // 32: google.logging.v2.ConfigServiceV2.CreateExclusion:input_type -> google.logging.v2.CreateExclusionRequest 2822 20, // 33: google.logging.v2.ConfigServiceV2.UpdateExclusion:input_type -> google.logging.v2.UpdateExclusionRequest 2823 21, // 34: google.logging.v2.ConfigServiceV2.DeleteExclusion:input_type -> google.logging.v2.DeleteExclusionRequest 2824 22, // 35: google.logging.v2.ConfigServiceV2.GetCmekSettings:input_type -> google.logging.v2.GetCmekSettingsRequest 2825 23, // 36: google.logging.v2.ConfigServiceV2.UpdateCmekSettings:input_type -> google.logging.v2.UpdateCmekSettingsRequest 2826 6, // 37: google.logging.v2.ConfigServiceV2.ListBuckets:output_type -> google.logging.v2.ListBucketsResponse 2827 2, // 38: google.logging.v2.ConfigServiceV2.GetBucket:output_type -> google.logging.v2.LogBucket 2828 2, // 39: google.logging.v2.ConfigServiceV2.UpdateBucket:output_type -> google.logging.v2.LogBucket 2829 10, // 40: google.logging.v2.ConfigServiceV2.ListSinks:output_type -> google.logging.v2.ListSinksResponse 2830 3, // 41: google.logging.v2.ConfigServiceV2.GetSink:output_type -> google.logging.v2.LogSink 2831 3, // 42: google.logging.v2.ConfigServiceV2.CreateSink:output_type -> google.logging.v2.LogSink 2832 3, // 43: google.logging.v2.ConfigServiceV2.UpdateSink:output_type -> google.logging.v2.LogSink 2833 27, // 44: google.logging.v2.ConfigServiceV2.DeleteSink:output_type -> google.protobuf.Empty 2834 17, // 45: google.logging.v2.ConfigServiceV2.ListExclusions:output_type -> google.logging.v2.ListExclusionsResponse 2835 15, // 46: google.logging.v2.ConfigServiceV2.GetExclusion:output_type -> google.logging.v2.LogExclusion 2836 15, // 47: google.logging.v2.ConfigServiceV2.CreateExclusion:output_type -> google.logging.v2.LogExclusion 2837 15, // 48: google.logging.v2.ConfigServiceV2.UpdateExclusion:output_type -> google.logging.v2.LogExclusion 2838 27, // 49: google.logging.v2.ConfigServiceV2.DeleteExclusion:output_type -> google.protobuf.Empty 2839 24, // 50: google.logging.v2.ConfigServiceV2.GetCmekSettings:output_type -> google.logging.v2.CmekSettings 2840 24, // 51: google.logging.v2.ConfigServiceV2.UpdateCmekSettings:output_type -> google.logging.v2.CmekSettings 2841 37, // [37:52] is the sub-list for method output_type 2842 22, // [22:37] is the sub-list for method input_type 2843 22, // [22:22] is the sub-list for extension type_name 2844 22, // [22:22] is the sub-list for extension extendee 2845 0, // [0:22] is the sub-list for field type_name 2846} 2847 2848func init() { file_google_logging_v2_logging_config_proto_init() } 2849func file_google_logging_v2_logging_config_proto_init() { 2850 if File_google_logging_v2_logging_config_proto != nil { 2851 return 2852 } 2853 if !protoimpl.UnsafeEnabled { 2854 file_google_logging_v2_logging_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2855 switch v := v.(*LogBucket); i { 2856 case 0: 2857 return &v.state 2858 case 1: 2859 return &v.sizeCache 2860 case 2: 2861 return &v.unknownFields 2862 default: 2863 return nil 2864 } 2865 } 2866 file_google_logging_v2_logging_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2867 switch v := v.(*LogSink); i { 2868 case 0: 2869 return &v.state 2870 case 1: 2871 return &v.sizeCache 2872 case 2: 2873 return &v.unknownFields 2874 default: 2875 return nil 2876 } 2877 } 2878 file_google_logging_v2_logging_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2879 switch v := v.(*BigQueryOptions); i { 2880 case 0: 2881 return &v.state 2882 case 1: 2883 return &v.sizeCache 2884 case 2: 2885 return &v.unknownFields 2886 default: 2887 return nil 2888 } 2889 } 2890 file_google_logging_v2_logging_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2891 switch v := v.(*ListBucketsRequest); i { 2892 case 0: 2893 return &v.state 2894 case 1: 2895 return &v.sizeCache 2896 case 2: 2897 return &v.unknownFields 2898 default: 2899 return nil 2900 } 2901 } 2902 file_google_logging_v2_logging_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2903 switch v := v.(*ListBucketsResponse); i { 2904 case 0: 2905 return &v.state 2906 case 1: 2907 return &v.sizeCache 2908 case 2: 2909 return &v.unknownFields 2910 default: 2911 return nil 2912 } 2913 } 2914 file_google_logging_v2_logging_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2915 switch v := v.(*UpdateBucketRequest); i { 2916 case 0: 2917 return &v.state 2918 case 1: 2919 return &v.sizeCache 2920 case 2: 2921 return &v.unknownFields 2922 default: 2923 return nil 2924 } 2925 } 2926 file_google_logging_v2_logging_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2927 switch v := v.(*GetBucketRequest); i { 2928 case 0: 2929 return &v.state 2930 case 1: 2931 return &v.sizeCache 2932 case 2: 2933 return &v.unknownFields 2934 default: 2935 return nil 2936 } 2937 } 2938 file_google_logging_v2_logging_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2939 switch v := v.(*ListSinksRequest); i { 2940 case 0: 2941 return &v.state 2942 case 1: 2943 return &v.sizeCache 2944 case 2: 2945 return &v.unknownFields 2946 default: 2947 return nil 2948 } 2949 } 2950 file_google_logging_v2_logging_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2951 switch v := v.(*ListSinksResponse); i { 2952 case 0: 2953 return &v.state 2954 case 1: 2955 return &v.sizeCache 2956 case 2: 2957 return &v.unknownFields 2958 default: 2959 return nil 2960 } 2961 } 2962 file_google_logging_v2_logging_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2963 switch v := v.(*GetSinkRequest); i { 2964 case 0: 2965 return &v.state 2966 case 1: 2967 return &v.sizeCache 2968 case 2: 2969 return &v.unknownFields 2970 default: 2971 return nil 2972 } 2973 } 2974 file_google_logging_v2_logging_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2975 switch v := v.(*CreateSinkRequest); i { 2976 case 0: 2977 return &v.state 2978 case 1: 2979 return &v.sizeCache 2980 case 2: 2981 return &v.unknownFields 2982 default: 2983 return nil 2984 } 2985 } 2986 file_google_logging_v2_logging_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2987 switch v := v.(*UpdateSinkRequest); i { 2988 case 0: 2989 return &v.state 2990 case 1: 2991 return &v.sizeCache 2992 case 2: 2993 return &v.unknownFields 2994 default: 2995 return nil 2996 } 2997 } 2998 file_google_logging_v2_logging_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2999 switch v := v.(*DeleteSinkRequest); i { 3000 case 0: 3001 return &v.state 3002 case 1: 3003 return &v.sizeCache 3004 case 2: 3005 return &v.unknownFields 3006 default: 3007 return nil 3008 } 3009 } 3010 file_google_logging_v2_logging_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3011 switch v := v.(*LogExclusion); i { 3012 case 0: 3013 return &v.state 3014 case 1: 3015 return &v.sizeCache 3016 case 2: 3017 return &v.unknownFields 3018 default: 3019 return nil 3020 } 3021 } 3022 file_google_logging_v2_logging_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3023 switch v := v.(*ListExclusionsRequest); i { 3024 case 0: 3025 return &v.state 3026 case 1: 3027 return &v.sizeCache 3028 case 2: 3029 return &v.unknownFields 3030 default: 3031 return nil 3032 } 3033 } 3034 file_google_logging_v2_logging_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3035 switch v := v.(*ListExclusionsResponse); i { 3036 case 0: 3037 return &v.state 3038 case 1: 3039 return &v.sizeCache 3040 case 2: 3041 return &v.unknownFields 3042 default: 3043 return nil 3044 } 3045 } 3046 file_google_logging_v2_logging_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3047 switch v := v.(*GetExclusionRequest); i { 3048 case 0: 3049 return &v.state 3050 case 1: 3051 return &v.sizeCache 3052 case 2: 3053 return &v.unknownFields 3054 default: 3055 return nil 3056 } 3057 } 3058 file_google_logging_v2_logging_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3059 switch v := v.(*CreateExclusionRequest); i { 3060 case 0: 3061 return &v.state 3062 case 1: 3063 return &v.sizeCache 3064 case 2: 3065 return &v.unknownFields 3066 default: 3067 return nil 3068 } 3069 } 3070 file_google_logging_v2_logging_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3071 switch v := v.(*UpdateExclusionRequest); i { 3072 case 0: 3073 return &v.state 3074 case 1: 3075 return &v.sizeCache 3076 case 2: 3077 return &v.unknownFields 3078 default: 3079 return nil 3080 } 3081 } 3082 file_google_logging_v2_logging_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3083 switch v := v.(*DeleteExclusionRequest); i { 3084 case 0: 3085 return &v.state 3086 case 1: 3087 return &v.sizeCache 3088 case 2: 3089 return &v.unknownFields 3090 default: 3091 return nil 3092 } 3093 } 3094 file_google_logging_v2_logging_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3095 switch v := v.(*GetCmekSettingsRequest); i { 3096 case 0: 3097 return &v.state 3098 case 1: 3099 return &v.sizeCache 3100 case 2: 3101 return &v.unknownFields 3102 default: 3103 return nil 3104 } 3105 } 3106 file_google_logging_v2_logging_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3107 switch v := v.(*UpdateCmekSettingsRequest); i { 3108 case 0: 3109 return &v.state 3110 case 1: 3111 return &v.sizeCache 3112 case 2: 3113 return &v.unknownFields 3114 default: 3115 return nil 3116 } 3117 } 3118 file_google_logging_v2_logging_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3119 switch v := v.(*CmekSettings); i { 3120 case 0: 3121 return &v.state 3122 case 1: 3123 return &v.sizeCache 3124 case 2: 3125 return &v.unknownFields 3126 default: 3127 return nil 3128 } 3129 } 3130 } 3131 file_google_logging_v2_logging_config_proto_msgTypes[1].OneofWrappers = []interface{}{ 3132 (*LogSink_BigqueryOptions)(nil), 3133 } 3134 type x struct{} 3135 out := protoimpl.TypeBuilder{ 3136 File: protoimpl.DescBuilder{ 3137 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3138 RawDescriptor: file_google_logging_v2_logging_config_proto_rawDesc, 3139 NumEnums: 2, 3140 NumMessages: 23, 3141 NumExtensions: 0, 3142 NumServices: 1, 3143 }, 3144 GoTypes: file_google_logging_v2_logging_config_proto_goTypes, 3145 DependencyIndexes: file_google_logging_v2_logging_config_proto_depIdxs, 3146 EnumInfos: file_google_logging_v2_logging_config_proto_enumTypes, 3147 MessageInfos: file_google_logging_v2_logging_config_proto_msgTypes, 3148 }.Build() 3149 File_google_logging_v2_logging_config_proto = out.File 3150 file_google_logging_v2_logging_config_proto_rawDesc = nil 3151 file_google_logging_v2_logging_config_proto_goTypes = nil 3152 file_google_logging_v2_logging_config_proto_depIdxs = nil 3153} 3154 3155// Reference imports to suppress errors if they are not otherwise used. 3156var _ context.Context 3157var _ grpc.ClientConnInterface 3158 3159// This is a compile-time assertion to ensure that this generated file 3160// is compatible with the grpc package it is being compiled against. 3161const _ = grpc.SupportPackageIsVersion6 3162 3163// ConfigServiceV2Client is the client API for ConfigServiceV2 service. 3164// 3165// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3166type ConfigServiceV2Client interface { 3167 // Lists buckets (Beta). 3168 ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) 3169 // Gets a bucket (Beta). 3170 GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) 3171 // Updates a bucket. This method replaces the following fields in the 3172 // existing bucket with values from the new bucket: `retention_period` 3173 // 3174 // If the retention period is decreased and the bucket is locked, 3175 // FAILED_PRECONDITION will be returned. 3176 // 3177 // If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION 3178 // will be returned. 3179 // 3180 // A buckets region may not be modified after it is created. 3181 // This method is in Beta. 3182 UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) 3183 // Lists sinks. 3184 ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error) 3185 // Gets a sink. 3186 GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 3187 // Creates a sink that exports specified log entries to a destination. The 3188 // export of newly-ingested log entries begins immediately, unless the sink's 3189 // `writer_identity` is not permitted to write to the destination. A sink can 3190 // export log entries only from the resource owning the sink. 3191 CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 3192 // Updates a sink. This method replaces the following fields in the existing 3193 // sink with values from the new sink: `destination`, and `filter`. 3194 // 3195 // The updated sink might also have a new `writer_identity`; see the 3196 // `unique_writer_identity` field. 3197 UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) 3198 // Deletes a sink. If the sink has a unique `writer_identity`, then that 3199 // service account is also deleted. 3200 DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*empty.Empty, error) 3201 // Lists all the exclusions in a parent resource. 3202 ListExclusions(ctx context.Context, in *ListExclusionsRequest, opts ...grpc.CallOption) (*ListExclusionsResponse, error) 3203 // Gets the description of an exclusion. 3204 GetExclusion(ctx context.Context, in *GetExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 3205 // Creates a new exclusion in a specified parent resource. 3206 // Only log entries belonging to that resource can be excluded. 3207 // You can have up to 10 exclusions in a resource. 3208 CreateExclusion(ctx context.Context, in *CreateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 3209 // Changes one or more properties of an existing exclusion. 3210 UpdateExclusion(ctx context.Context, in *UpdateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) 3211 // Deletes an exclusion. 3212 DeleteExclusion(ctx context.Context, in *DeleteExclusionRequest, opts ...grpc.CallOption) (*empty.Empty, error) 3213 // Gets the Logs Router CMEK settings for the given resource. 3214 // 3215 // Note: CMEK for the Logs Router can currently only be configured for GCP 3216 // organizations. Once configured, it applies to all projects and folders in 3217 // the GCP organization. 3218 // 3219 // See [Enabling CMEK for Logs 3220 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 3221 GetCmekSettings(ctx context.Context, in *GetCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) 3222 // Updates the Logs Router CMEK settings for the given resource. 3223 // 3224 // Note: CMEK for the Logs Router can currently only be configured for GCP 3225 // organizations. Once configured, it applies to all projects and folders in 3226 // the GCP organization. 3227 // 3228 // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings] 3229 // will fail if 1) `kms_key_name` is invalid, or 2) the associated service 3230 // account does not have the required 3231 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or 3232 // 3) access to the key is disabled. 3233 // 3234 // See [Enabling CMEK for Logs 3235 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 3236 UpdateCmekSettings(ctx context.Context, in *UpdateCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) 3237} 3238 3239type configServiceV2Client struct { 3240 cc grpc.ClientConnInterface 3241} 3242 3243func NewConfigServiceV2Client(cc grpc.ClientConnInterface) ConfigServiceV2Client { 3244 return &configServiceV2Client{cc} 3245} 3246 3247func (c *configServiceV2Client) ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) { 3248 out := new(ListBucketsResponse) 3249 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListBuckets", in, out, opts...) 3250 if err != nil { 3251 return nil, err 3252 } 3253 return out, nil 3254} 3255 3256func (c *configServiceV2Client) GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) { 3257 out := new(LogBucket) 3258 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetBucket", in, out, opts...) 3259 if err != nil { 3260 return nil, err 3261 } 3262 return out, nil 3263} 3264 3265func (c *configServiceV2Client) UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*LogBucket, error) { 3266 out := new(LogBucket) 3267 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateBucket", in, out, opts...) 3268 if err != nil { 3269 return nil, err 3270 } 3271 return out, nil 3272} 3273 3274func (c *configServiceV2Client) ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error) { 3275 out := new(ListSinksResponse) 3276 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListSinks", in, out, opts...) 3277 if err != nil { 3278 return nil, err 3279 } 3280 return out, nil 3281} 3282 3283func (c *configServiceV2Client) GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 3284 out := new(LogSink) 3285 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetSink", in, out, opts...) 3286 if err != nil { 3287 return nil, err 3288 } 3289 return out, nil 3290} 3291 3292func (c *configServiceV2Client) CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 3293 out := new(LogSink) 3294 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateSink", in, out, opts...) 3295 if err != nil { 3296 return nil, err 3297 } 3298 return out, nil 3299} 3300 3301func (c *configServiceV2Client) UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error) { 3302 out := new(LogSink) 3303 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateSink", in, out, opts...) 3304 if err != nil { 3305 return nil, err 3306 } 3307 return out, nil 3308} 3309 3310func (c *configServiceV2Client) DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*empty.Empty, error) { 3311 out := new(empty.Empty) 3312 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteSink", in, out, opts...) 3313 if err != nil { 3314 return nil, err 3315 } 3316 return out, nil 3317} 3318 3319func (c *configServiceV2Client) ListExclusions(ctx context.Context, in *ListExclusionsRequest, opts ...grpc.CallOption) (*ListExclusionsResponse, error) { 3320 out := new(ListExclusionsResponse) 3321 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/ListExclusions", in, out, opts...) 3322 if err != nil { 3323 return nil, err 3324 } 3325 return out, nil 3326} 3327 3328func (c *configServiceV2Client) GetExclusion(ctx context.Context, in *GetExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 3329 out := new(LogExclusion) 3330 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetExclusion", in, out, opts...) 3331 if err != nil { 3332 return nil, err 3333 } 3334 return out, nil 3335} 3336 3337func (c *configServiceV2Client) CreateExclusion(ctx context.Context, in *CreateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 3338 out := new(LogExclusion) 3339 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/CreateExclusion", in, out, opts...) 3340 if err != nil { 3341 return nil, err 3342 } 3343 return out, nil 3344} 3345 3346func (c *configServiceV2Client) UpdateExclusion(ctx context.Context, in *UpdateExclusionRequest, opts ...grpc.CallOption) (*LogExclusion, error) { 3347 out := new(LogExclusion) 3348 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateExclusion", in, out, opts...) 3349 if err != nil { 3350 return nil, err 3351 } 3352 return out, nil 3353} 3354 3355func (c *configServiceV2Client) DeleteExclusion(ctx context.Context, in *DeleteExclusionRequest, opts ...grpc.CallOption) (*empty.Empty, error) { 3356 out := new(empty.Empty) 3357 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteExclusion", in, out, opts...) 3358 if err != nil { 3359 return nil, err 3360 } 3361 return out, nil 3362} 3363 3364func (c *configServiceV2Client) GetCmekSettings(ctx context.Context, in *GetCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) { 3365 out := new(CmekSettings) 3366 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/GetCmekSettings", in, out, opts...) 3367 if err != nil { 3368 return nil, err 3369 } 3370 return out, nil 3371} 3372 3373func (c *configServiceV2Client) UpdateCmekSettings(ctx context.Context, in *UpdateCmekSettingsRequest, opts ...grpc.CallOption) (*CmekSettings, error) { 3374 out := new(CmekSettings) 3375 err := c.cc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/UpdateCmekSettings", in, out, opts...) 3376 if err != nil { 3377 return nil, err 3378 } 3379 return out, nil 3380} 3381 3382// ConfigServiceV2Server is the server API for ConfigServiceV2 service. 3383type ConfigServiceV2Server interface { 3384 // Lists buckets (Beta). 3385 ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) 3386 // Gets a bucket (Beta). 3387 GetBucket(context.Context, *GetBucketRequest) (*LogBucket, error) 3388 // Updates a bucket. This method replaces the following fields in the 3389 // existing bucket with values from the new bucket: `retention_period` 3390 // 3391 // If the retention period is decreased and the bucket is locked, 3392 // FAILED_PRECONDITION will be returned. 3393 // 3394 // If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION 3395 // will be returned. 3396 // 3397 // A buckets region may not be modified after it is created. 3398 // This method is in Beta. 3399 UpdateBucket(context.Context, *UpdateBucketRequest) (*LogBucket, error) 3400 // Lists sinks. 3401 ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error) 3402 // Gets a sink. 3403 GetSink(context.Context, *GetSinkRequest) (*LogSink, error) 3404 // Creates a sink that exports specified log entries to a destination. The 3405 // export of newly-ingested log entries begins immediately, unless the sink's 3406 // `writer_identity` is not permitted to write to the destination. A sink can 3407 // export log entries only from the resource owning the sink. 3408 CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error) 3409 // Updates a sink. This method replaces the following fields in the existing 3410 // sink with values from the new sink: `destination`, and `filter`. 3411 // 3412 // The updated sink might also have a new `writer_identity`; see the 3413 // `unique_writer_identity` field. 3414 UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error) 3415 // Deletes a sink. If the sink has a unique `writer_identity`, then that 3416 // service account is also deleted. 3417 DeleteSink(context.Context, *DeleteSinkRequest) (*empty.Empty, error) 3418 // Lists all the exclusions in a parent resource. 3419 ListExclusions(context.Context, *ListExclusionsRequest) (*ListExclusionsResponse, error) 3420 // Gets the description of an exclusion. 3421 GetExclusion(context.Context, *GetExclusionRequest) (*LogExclusion, error) 3422 // Creates a new exclusion in a specified parent resource. 3423 // Only log entries belonging to that resource can be excluded. 3424 // You can have up to 10 exclusions in a resource. 3425 CreateExclusion(context.Context, *CreateExclusionRequest) (*LogExclusion, error) 3426 // Changes one or more properties of an existing exclusion. 3427 UpdateExclusion(context.Context, *UpdateExclusionRequest) (*LogExclusion, error) 3428 // Deletes an exclusion. 3429 DeleteExclusion(context.Context, *DeleteExclusionRequest) (*empty.Empty, error) 3430 // Gets the Logs Router CMEK settings for the given resource. 3431 // 3432 // Note: CMEK for the Logs Router can currently only be configured for GCP 3433 // organizations. Once configured, it applies to all projects and folders in 3434 // the GCP organization. 3435 // 3436 // See [Enabling CMEK for Logs 3437 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 3438 GetCmekSettings(context.Context, *GetCmekSettingsRequest) (*CmekSettings, error) 3439 // Updates the Logs Router CMEK settings for the given resource. 3440 // 3441 // Note: CMEK for the Logs Router can currently only be configured for GCP 3442 // organizations. Once configured, it applies to all projects and folders in 3443 // the GCP organization. 3444 // 3445 // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings] 3446 // will fail if 1) `kms_key_name` is invalid, or 2) the associated service 3447 // account does not have the required 3448 // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or 3449 // 3) access to the key is disabled. 3450 // 3451 // See [Enabling CMEK for Logs 3452 // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. 3453 UpdateCmekSettings(context.Context, *UpdateCmekSettingsRequest) (*CmekSettings, error) 3454} 3455 3456// UnimplementedConfigServiceV2Server can be embedded to have forward compatible implementations. 3457type UnimplementedConfigServiceV2Server struct { 3458} 3459 3460func (*UnimplementedConfigServiceV2Server) ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) { 3461 return nil, status.Errorf(codes.Unimplemented, "method ListBuckets not implemented") 3462} 3463func (*UnimplementedConfigServiceV2Server) GetBucket(context.Context, *GetBucketRequest) (*LogBucket, error) { 3464 return nil, status.Errorf(codes.Unimplemented, "method GetBucket not implemented") 3465} 3466func (*UnimplementedConfigServiceV2Server) UpdateBucket(context.Context, *UpdateBucketRequest) (*LogBucket, error) { 3467 return nil, status.Errorf(codes.Unimplemented, "method UpdateBucket not implemented") 3468} 3469func (*UnimplementedConfigServiceV2Server) ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error) { 3470 return nil, status.Errorf(codes.Unimplemented, "method ListSinks not implemented") 3471} 3472func (*UnimplementedConfigServiceV2Server) GetSink(context.Context, *GetSinkRequest) (*LogSink, error) { 3473 return nil, status.Errorf(codes.Unimplemented, "method GetSink not implemented") 3474} 3475func (*UnimplementedConfigServiceV2Server) CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error) { 3476 return nil, status.Errorf(codes.Unimplemented, "method CreateSink not implemented") 3477} 3478func (*UnimplementedConfigServiceV2Server) UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error) { 3479 return nil, status.Errorf(codes.Unimplemented, "method UpdateSink not implemented") 3480} 3481func (*UnimplementedConfigServiceV2Server) DeleteSink(context.Context, *DeleteSinkRequest) (*empty.Empty, error) { 3482 return nil, status.Errorf(codes.Unimplemented, "method DeleteSink not implemented") 3483} 3484func (*UnimplementedConfigServiceV2Server) ListExclusions(context.Context, *ListExclusionsRequest) (*ListExclusionsResponse, error) { 3485 return nil, status.Errorf(codes.Unimplemented, "method ListExclusions not implemented") 3486} 3487func (*UnimplementedConfigServiceV2Server) GetExclusion(context.Context, *GetExclusionRequest) (*LogExclusion, error) { 3488 return nil, status.Errorf(codes.Unimplemented, "method GetExclusion not implemented") 3489} 3490func (*UnimplementedConfigServiceV2Server) CreateExclusion(context.Context, *CreateExclusionRequest) (*LogExclusion, error) { 3491 return nil, status.Errorf(codes.Unimplemented, "method CreateExclusion not implemented") 3492} 3493func (*UnimplementedConfigServiceV2Server) UpdateExclusion(context.Context, *UpdateExclusionRequest) (*LogExclusion, error) { 3494 return nil, status.Errorf(codes.Unimplemented, "method UpdateExclusion not implemented") 3495} 3496func (*UnimplementedConfigServiceV2Server) DeleteExclusion(context.Context, *DeleteExclusionRequest) (*empty.Empty, error) { 3497 return nil, status.Errorf(codes.Unimplemented, "method DeleteExclusion not implemented") 3498} 3499func (*UnimplementedConfigServiceV2Server) GetCmekSettings(context.Context, *GetCmekSettingsRequest) (*CmekSettings, error) { 3500 return nil, status.Errorf(codes.Unimplemented, "method GetCmekSettings not implemented") 3501} 3502func (*UnimplementedConfigServiceV2Server) UpdateCmekSettings(context.Context, *UpdateCmekSettingsRequest) (*CmekSettings, error) { 3503 return nil, status.Errorf(codes.Unimplemented, "method UpdateCmekSettings not implemented") 3504} 3505 3506func RegisterConfigServiceV2Server(s *grpc.Server, srv ConfigServiceV2Server) { 3507 s.RegisterService(&_ConfigServiceV2_serviceDesc, srv) 3508} 3509 3510func _ConfigServiceV2_ListBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3511 in := new(ListBucketsRequest) 3512 if err := dec(in); err != nil { 3513 return nil, err 3514 } 3515 if interceptor == nil { 3516 return srv.(ConfigServiceV2Server).ListBuckets(ctx, in) 3517 } 3518 info := &grpc.UnaryServerInfo{ 3519 Server: srv, 3520 FullMethod: "/google.logging.v2.ConfigServiceV2/ListBuckets", 3521 } 3522 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3523 return srv.(ConfigServiceV2Server).ListBuckets(ctx, req.(*ListBucketsRequest)) 3524 } 3525 return interceptor(ctx, in, info, handler) 3526} 3527 3528func _ConfigServiceV2_GetBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3529 in := new(GetBucketRequest) 3530 if err := dec(in); err != nil { 3531 return nil, err 3532 } 3533 if interceptor == nil { 3534 return srv.(ConfigServiceV2Server).GetBucket(ctx, in) 3535 } 3536 info := &grpc.UnaryServerInfo{ 3537 Server: srv, 3538 FullMethod: "/google.logging.v2.ConfigServiceV2/GetBucket", 3539 } 3540 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3541 return srv.(ConfigServiceV2Server).GetBucket(ctx, req.(*GetBucketRequest)) 3542 } 3543 return interceptor(ctx, in, info, handler) 3544} 3545 3546func _ConfigServiceV2_UpdateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3547 in := new(UpdateBucketRequest) 3548 if err := dec(in); err != nil { 3549 return nil, err 3550 } 3551 if interceptor == nil { 3552 return srv.(ConfigServiceV2Server).UpdateBucket(ctx, in) 3553 } 3554 info := &grpc.UnaryServerInfo{ 3555 Server: srv, 3556 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateBucket", 3557 } 3558 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3559 return srv.(ConfigServiceV2Server).UpdateBucket(ctx, req.(*UpdateBucketRequest)) 3560 } 3561 return interceptor(ctx, in, info, handler) 3562} 3563 3564func _ConfigServiceV2_ListSinks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3565 in := new(ListSinksRequest) 3566 if err := dec(in); err != nil { 3567 return nil, err 3568 } 3569 if interceptor == nil { 3570 return srv.(ConfigServiceV2Server).ListSinks(ctx, in) 3571 } 3572 info := &grpc.UnaryServerInfo{ 3573 Server: srv, 3574 FullMethod: "/google.logging.v2.ConfigServiceV2/ListSinks", 3575 } 3576 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3577 return srv.(ConfigServiceV2Server).ListSinks(ctx, req.(*ListSinksRequest)) 3578 } 3579 return interceptor(ctx, in, info, handler) 3580} 3581 3582func _ConfigServiceV2_GetSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3583 in := new(GetSinkRequest) 3584 if err := dec(in); err != nil { 3585 return nil, err 3586 } 3587 if interceptor == nil { 3588 return srv.(ConfigServiceV2Server).GetSink(ctx, in) 3589 } 3590 info := &grpc.UnaryServerInfo{ 3591 Server: srv, 3592 FullMethod: "/google.logging.v2.ConfigServiceV2/GetSink", 3593 } 3594 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3595 return srv.(ConfigServiceV2Server).GetSink(ctx, req.(*GetSinkRequest)) 3596 } 3597 return interceptor(ctx, in, info, handler) 3598} 3599 3600func _ConfigServiceV2_CreateSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3601 in := new(CreateSinkRequest) 3602 if err := dec(in); err != nil { 3603 return nil, err 3604 } 3605 if interceptor == nil { 3606 return srv.(ConfigServiceV2Server).CreateSink(ctx, in) 3607 } 3608 info := &grpc.UnaryServerInfo{ 3609 Server: srv, 3610 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateSink", 3611 } 3612 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3613 return srv.(ConfigServiceV2Server).CreateSink(ctx, req.(*CreateSinkRequest)) 3614 } 3615 return interceptor(ctx, in, info, handler) 3616} 3617 3618func _ConfigServiceV2_UpdateSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3619 in := new(UpdateSinkRequest) 3620 if err := dec(in); err != nil { 3621 return nil, err 3622 } 3623 if interceptor == nil { 3624 return srv.(ConfigServiceV2Server).UpdateSink(ctx, in) 3625 } 3626 info := &grpc.UnaryServerInfo{ 3627 Server: srv, 3628 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateSink", 3629 } 3630 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3631 return srv.(ConfigServiceV2Server).UpdateSink(ctx, req.(*UpdateSinkRequest)) 3632 } 3633 return interceptor(ctx, in, info, handler) 3634} 3635 3636func _ConfigServiceV2_DeleteSink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3637 in := new(DeleteSinkRequest) 3638 if err := dec(in); err != nil { 3639 return nil, err 3640 } 3641 if interceptor == nil { 3642 return srv.(ConfigServiceV2Server).DeleteSink(ctx, in) 3643 } 3644 info := &grpc.UnaryServerInfo{ 3645 Server: srv, 3646 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteSink", 3647 } 3648 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3649 return srv.(ConfigServiceV2Server).DeleteSink(ctx, req.(*DeleteSinkRequest)) 3650 } 3651 return interceptor(ctx, in, info, handler) 3652} 3653 3654func _ConfigServiceV2_ListExclusions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3655 in := new(ListExclusionsRequest) 3656 if err := dec(in); err != nil { 3657 return nil, err 3658 } 3659 if interceptor == nil { 3660 return srv.(ConfigServiceV2Server).ListExclusions(ctx, in) 3661 } 3662 info := &grpc.UnaryServerInfo{ 3663 Server: srv, 3664 FullMethod: "/google.logging.v2.ConfigServiceV2/ListExclusions", 3665 } 3666 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3667 return srv.(ConfigServiceV2Server).ListExclusions(ctx, req.(*ListExclusionsRequest)) 3668 } 3669 return interceptor(ctx, in, info, handler) 3670} 3671 3672func _ConfigServiceV2_GetExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3673 in := new(GetExclusionRequest) 3674 if err := dec(in); err != nil { 3675 return nil, err 3676 } 3677 if interceptor == nil { 3678 return srv.(ConfigServiceV2Server).GetExclusion(ctx, in) 3679 } 3680 info := &grpc.UnaryServerInfo{ 3681 Server: srv, 3682 FullMethod: "/google.logging.v2.ConfigServiceV2/GetExclusion", 3683 } 3684 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3685 return srv.(ConfigServiceV2Server).GetExclusion(ctx, req.(*GetExclusionRequest)) 3686 } 3687 return interceptor(ctx, in, info, handler) 3688} 3689 3690func _ConfigServiceV2_CreateExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3691 in := new(CreateExclusionRequest) 3692 if err := dec(in); err != nil { 3693 return nil, err 3694 } 3695 if interceptor == nil { 3696 return srv.(ConfigServiceV2Server).CreateExclusion(ctx, in) 3697 } 3698 info := &grpc.UnaryServerInfo{ 3699 Server: srv, 3700 FullMethod: "/google.logging.v2.ConfigServiceV2/CreateExclusion", 3701 } 3702 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3703 return srv.(ConfigServiceV2Server).CreateExclusion(ctx, req.(*CreateExclusionRequest)) 3704 } 3705 return interceptor(ctx, in, info, handler) 3706} 3707 3708func _ConfigServiceV2_UpdateExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3709 in := new(UpdateExclusionRequest) 3710 if err := dec(in); err != nil { 3711 return nil, err 3712 } 3713 if interceptor == nil { 3714 return srv.(ConfigServiceV2Server).UpdateExclusion(ctx, in) 3715 } 3716 info := &grpc.UnaryServerInfo{ 3717 Server: srv, 3718 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateExclusion", 3719 } 3720 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3721 return srv.(ConfigServiceV2Server).UpdateExclusion(ctx, req.(*UpdateExclusionRequest)) 3722 } 3723 return interceptor(ctx, in, info, handler) 3724} 3725 3726func _ConfigServiceV2_DeleteExclusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3727 in := new(DeleteExclusionRequest) 3728 if err := dec(in); err != nil { 3729 return nil, err 3730 } 3731 if interceptor == nil { 3732 return srv.(ConfigServiceV2Server).DeleteExclusion(ctx, in) 3733 } 3734 info := &grpc.UnaryServerInfo{ 3735 Server: srv, 3736 FullMethod: "/google.logging.v2.ConfigServiceV2/DeleteExclusion", 3737 } 3738 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3739 return srv.(ConfigServiceV2Server).DeleteExclusion(ctx, req.(*DeleteExclusionRequest)) 3740 } 3741 return interceptor(ctx, in, info, handler) 3742} 3743 3744func _ConfigServiceV2_GetCmekSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3745 in := new(GetCmekSettingsRequest) 3746 if err := dec(in); err != nil { 3747 return nil, err 3748 } 3749 if interceptor == nil { 3750 return srv.(ConfigServiceV2Server).GetCmekSettings(ctx, in) 3751 } 3752 info := &grpc.UnaryServerInfo{ 3753 Server: srv, 3754 FullMethod: "/google.logging.v2.ConfigServiceV2/GetCmekSettings", 3755 } 3756 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3757 return srv.(ConfigServiceV2Server).GetCmekSettings(ctx, req.(*GetCmekSettingsRequest)) 3758 } 3759 return interceptor(ctx, in, info, handler) 3760} 3761 3762func _ConfigServiceV2_UpdateCmekSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3763 in := new(UpdateCmekSettingsRequest) 3764 if err := dec(in); err != nil { 3765 return nil, err 3766 } 3767 if interceptor == nil { 3768 return srv.(ConfigServiceV2Server).UpdateCmekSettings(ctx, in) 3769 } 3770 info := &grpc.UnaryServerInfo{ 3771 Server: srv, 3772 FullMethod: "/google.logging.v2.ConfigServiceV2/UpdateCmekSettings", 3773 } 3774 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3775 return srv.(ConfigServiceV2Server).UpdateCmekSettings(ctx, req.(*UpdateCmekSettingsRequest)) 3776 } 3777 return interceptor(ctx, in, info, handler) 3778} 3779 3780var _ConfigServiceV2_serviceDesc = grpc.ServiceDesc{ 3781 ServiceName: "google.logging.v2.ConfigServiceV2", 3782 HandlerType: (*ConfigServiceV2Server)(nil), 3783 Methods: []grpc.MethodDesc{ 3784 { 3785 MethodName: "ListBuckets", 3786 Handler: _ConfigServiceV2_ListBuckets_Handler, 3787 }, 3788 { 3789 MethodName: "GetBucket", 3790 Handler: _ConfigServiceV2_GetBucket_Handler, 3791 }, 3792 { 3793 MethodName: "UpdateBucket", 3794 Handler: _ConfigServiceV2_UpdateBucket_Handler, 3795 }, 3796 { 3797 MethodName: "ListSinks", 3798 Handler: _ConfigServiceV2_ListSinks_Handler, 3799 }, 3800 { 3801 MethodName: "GetSink", 3802 Handler: _ConfigServiceV2_GetSink_Handler, 3803 }, 3804 { 3805 MethodName: "CreateSink", 3806 Handler: _ConfigServiceV2_CreateSink_Handler, 3807 }, 3808 { 3809 MethodName: "UpdateSink", 3810 Handler: _ConfigServiceV2_UpdateSink_Handler, 3811 }, 3812 { 3813 MethodName: "DeleteSink", 3814 Handler: _ConfigServiceV2_DeleteSink_Handler, 3815 }, 3816 { 3817 MethodName: "ListExclusions", 3818 Handler: _ConfigServiceV2_ListExclusions_Handler, 3819 }, 3820 { 3821 MethodName: "GetExclusion", 3822 Handler: _ConfigServiceV2_GetExclusion_Handler, 3823 }, 3824 { 3825 MethodName: "CreateExclusion", 3826 Handler: _ConfigServiceV2_CreateExclusion_Handler, 3827 }, 3828 { 3829 MethodName: "UpdateExclusion", 3830 Handler: _ConfigServiceV2_UpdateExclusion_Handler, 3831 }, 3832 { 3833 MethodName: "DeleteExclusion", 3834 Handler: _ConfigServiceV2_DeleteExclusion_Handler, 3835 }, 3836 { 3837 MethodName: "GetCmekSettings", 3838 Handler: _ConfigServiceV2_GetCmekSettings_Handler, 3839 }, 3840 { 3841 MethodName: "UpdateCmekSettings", 3842 Handler: _ConfigServiceV2_UpdateCmekSettings_Handler, 3843 }, 3844 }, 3845 Streams: []grpc.StreamDesc{}, 3846 Metadata: "google/logging/v2/logging_config.proto", 3847} 3848