1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/talent/v4beta1/job_service.proto 20 21package talent 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 longrunning "google.golang.org/genproto/googleapis/longrunning" 30 status "google.golang.org/genproto/googleapis/rpc/status" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status1 "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 _ "google.golang.org/protobuf/types/known/anypb" 37 durationpb "google.golang.org/protobuf/types/known/durationpb" 38 emptypb "google.golang.org/protobuf/types/known/emptypb" 39 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 40) 41 42const ( 43 // Verify that this generated code is sufficiently up-to-date. 44 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 45 // Verify that runtime/protoimpl is sufficiently up-to-date. 46 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 47) 48 49// An enum that specifies the job attributes that are returned in the 50// [MatchingJob.job][google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.job] or 51// [ListJobsResponse.jobs][google.cloud.talent.v4beta1.ListJobsResponse.jobs] fields. 52type JobView int32 53 54const ( 55 // Default value. 56 JobView_JOB_VIEW_UNSPECIFIED JobView = 0 57 // A ID only view of job, with following attributes: 58 // [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code]. 59 JobView_JOB_VIEW_ID_ONLY JobView = 1 60 // A minimal view of the job, with the following attributes: 61 // [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title], 62 // [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code]. 63 JobView_JOB_VIEW_MINIMAL JobView = 2 64 // A small view of the job, with the following attributes in the search 65 // results: [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title], 66 // [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.visibility][google.cloud.talent.v4beta1.Job.visibility], 67 // [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], [Job.description][google.cloud.talent.v4beta1.Job.description]. 68 JobView_JOB_VIEW_SMALL JobView = 3 69 // All available attributes are included in the search results. 70 JobView_JOB_VIEW_FULL JobView = 4 71) 72 73// Enum value maps for JobView. 74var ( 75 JobView_name = map[int32]string{ 76 0: "JOB_VIEW_UNSPECIFIED", 77 1: "JOB_VIEW_ID_ONLY", 78 2: "JOB_VIEW_MINIMAL", 79 3: "JOB_VIEW_SMALL", 80 4: "JOB_VIEW_FULL", 81 } 82 JobView_value = map[string]int32{ 83 "JOB_VIEW_UNSPECIFIED": 0, 84 "JOB_VIEW_ID_ONLY": 1, 85 "JOB_VIEW_MINIMAL": 2, 86 "JOB_VIEW_SMALL": 3, 87 "JOB_VIEW_FULL": 4, 88 } 89) 90 91func (x JobView) Enum() *JobView { 92 p := new(JobView) 93 *p = x 94 return p 95} 96 97func (x JobView) String() string { 98 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 99} 100 101func (JobView) Descriptor() protoreflect.EnumDescriptor { 102 return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[0].Descriptor() 103} 104 105func (JobView) Type() protoreflect.EnumType { 106 return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[0] 107} 108 109func (x JobView) Number() protoreflect.EnumNumber { 110 return protoreflect.EnumNumber(x) 111} 112 113// Deprecated: Use JobView.Descriptor instead. 114func (JobView) EnumDescriptor() ([]byte, []int) { 115 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{0} 116} 117 118// A string-represented enumeration of the job search mode. The service 119// operate differently for different modes of service. 120type SearchJobsRequest_SearchMode int32 121 122const ( 123 // The mode of the search method isn't specified. The default search 124 // behavior is identical to JOB_SEARCH search behavior. 125 SearchJobsRequest_SEARCH_MODE_UNSPECIFIED SearchJobsRequest_SearchMode = 0 126 // The job search matches against all jobs, and featured jobs 127 // (jobs with promotionValue > 0) are not specially handled. 128 SearchJobsRequest_JOB_SEARCH SearchJobsRequest_SearchMode = 1 129 // The job search matches only against featured jobs (jobs with a 130 // promotionValue > 0). This method doesn't return any jobs having a 131 // promotionValue <= 0. The search results order is determined by the 132 // promotionValue (jobs with a higher promotionValue are returned higher up 133 // in the search results), with relevance being used as a tiebreaker. 134 SearchJobsRequest_FEATURED_JOB_SEARCH SearchJobsRequest_SearchMode = 2 135) 136 137// Enum value maps for SearchJobsRequest_SearchMode. 138var ( 139 SearchJobsRequest_SearchMode_name = map[int32]string{ 140 0: "SEARCH_MODE_UNSPECIFIED", 141 1: "JOB_SEARCH", 142 2: "FEATURED_JOB_SEARCH", 143 } 144 SearchJobsRequest_SearchMode_value = map[string]int32{ 145 "SEARCH_MODE_UNSPECIFIED": 0, 146 "JOB_SEARCH": 1, 147 "FEATURED_JOB_SEARCH": 2, 148 } 149) 150 151func (x SearchJobsRequest_SearchMode) Enum() *SearchJobsRequest_SearchMode { 152 p := new(SearchJobsRequest_SearchMode) 153 *p = x 154 return p 155} 156 157func (x SearchJobsRequest_SearchMode) String() string { 158 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 159} 160 161func (SearchJobsRequest_SearchMode) Descriptor() protoreflect.EnumDescriptor { 162 return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[1].Descriptor() 163} 164 165func (SearchJobsRequest_SearchMode) Type() protoreflect.EnumType { 166 return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[1] 167} 168 169func (x SearchJobsRequest_SearchMode) Number() protoreflect.EnumNumber { 170 return protoreflect.EnumNumber(x) 171} 172 173// Deprecated: Use SearchJobsRequest_SearchMode.Descriptor instead. 174func (SearchJobsRequest_SearchMode) EnumDescriptor() ([]byte, []int) { 175 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0} 176} 177 178// Controls whether highly similar jobs are returned next to each other in 179// the search results. Jobs are identified as highly similar based on 180// their titles, job categories, and locations. Highly similar results are 181// clustered so that only one representative job of the cluster is 182// displayed to the job seeker higher up in the results, with the other jobs 183// being displayed lower down in the results. 184type SearchJobsRequest_DiversificationLevel int32 185 186const ( 187 // The diversification level isn't specified. 188 SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED SearchJobsRequest_DiversificationLevel = 0 189 // Disables diversification. Jobs that would normally be pushed to the last 190 // page would not have their positions altered. This may result in highly 191 // similar jobs appearing in sequence in the search results. 192 SearchJobsRequest_DISABLED SearchJobsRequest_DiversificationLevel = 1 193 // Default diversifying behavior. The result list is ordered so that 194 // highly similar results are pushed to the end of the last page of search 195 // results. If you are using pageToken to page through the result set, 196 // latency might be lower but we can't guarantee that all results are 197 // returned. If you are using page offset, latency might be higher but all 198 // results are returned. 199 SearchJobsRequest_SIMPLE SearchJobsRequest_DiversificationLevel = 2 200) 201 202// Enum value maps for SearchJobsRequest_DiversificationLevel. 203var ( 204 SearchJobsRequest_DiversificationLevel_name = map[int32]string{ 205 0: "DIVERSIFICATION_LEVEL_UNSPECIFIED", 206 1: "DISABLED", 207 2: "SIMPLE", 208 } 209 SearchJobsRequest_DiversificationLevel_value = map[string]int32{ 210 "DIVERSIFICATION_LEVEL_UNSPECIFIED": 0, 211 "DISABLED": 1, 212 "SIMPLE": 2, 213 } 214) 215 216func (x SearchJobsRequest_DiversificationLevel) Enum() *SearchJobsRequest_DiversificationLevel { 217 p := new(SearchJobsRequest_DiversificationLevel) 218 *p = x 219 return p 220} 221 222func (x SearchJobsRequest_DiversificationLevel) String() string { 223 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 224} 225 226func (SearchJobsRequest_DiversificationLevel) Descriptor() protoreflect.EnumDescriptor { 227 return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[2].Descriptor() 228} 229 230func (SearchJobsRequest_DiversificationLevel) Type() protoreflect.EnumType { 231 return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[2] 232} 233 234func (x SearchJobsRequest_DiversificationLevel) Number() protoreflect.EnumNumber { 235 return protoreflect.EnumNumber(x) 236} 237 238// Deprecated: Use SearchJobsRequest_DiversificationLevel.Descriptor instead. 239func (SearchJobsRequest_DiversificationLevel) EnumDescriptor() ([]byte, []int) { 240 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 1} 241} 242 243// The importance level for [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression]. 244type SearchJobsRequest_CustomRankingInfo_ImportanceLevel int32 245 246const ( 247 // Default value if the importance level isn't specified. 248 SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 0 249 // The given ranking expression is of None importance, existing relevance 250 // score (determined by API algorithm) dominates job's final ranking 251 // position. 252 SearchJobsRequest_CustomRankingInfo_NONE SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 1 253 // The given ranking expression is of Low importance in terms of job's 254 // final ranking position compared to existing relevance 255 // score (determined by API algorithm). 256 SearchJobsRequest_CustomRankingInfo_LOW SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 2 257 // The given ranking expression is of Mild importance in terms of job's 258 // final ranking position compared to existing relevance 259 // score (determined by API algorithm). 260 SearchJobsRequest_CustomRankingInfo_MILD SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 3 261 // The given ranking expression is of Medium importance in terms of job's 262 // final ranking position compared to existing relevance 263 // score (determined by API algorithm). 264 SearchJobsRequest_CustomRankingInfo_MEDIUM SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 4 265 // The given ranking expression is of High importance in terms of job's 266 // final ranking position compared to existing relevance 267 // score (determined by API algorithm). 268 SearchJobsRequest_CustomRankingInfo_HIGH SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 5 269 // The given ranking expression is of Extreme importance, and dominates 270 // job's final ranking position with existing relevance 271 // score (determined by API algorithm) ignored. 272 SearchJobsRequest_CustomRankingInfo_EXTREME SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 6 273) 274 275// Enum value maps for SearchJobsRequest_CustomRankingInfo_ImportanceLevel. 276var ( 277 SearchJobsRequest_CustomRankingInfo_ImportanceLevel_name = map[int32]string{ 278 0: "IMPORTANCE_LEVEL_UNSPECIFIED", 279 1: "NONE", 280 2: "LOW", 281 3: "MILD", 282 4: "MEDIUM", 283 5: "HIGH", 284 6: "EXTREME", 285 } 286 SearchJobsRequest_CustomRankingInfo_ImportanceLevel_value = map[string]int32{ 287 "IMPORTANCE_LEVEL_UNSPECIFIED": 0, 288 "NONE": 1, 289 "LOW": 2, 290 "MILD": 3, 291 "MEDIUM": 4, 292 "HIGH": 5, 293 "EXTREME": 6, 294 } 295) 296 297func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Enum() *SearchJobsRequest_CustomRankingInfo_ImportanceLevel { 298 p := new(SearchJobsRequest_CustomRankingInfo_ImportanceLevel) 299 *p = x 300 return p 301} 302 303func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) String() string { 304 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 305} 306 307func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Descriptor() protoreflect.EnumDescriptor { 308 return file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[3].Descriptor() 309} 310 311func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Type() protoreflect.EnumType { 312 return &file_google_cloud_talent_v4beta1_job_service_proto_enumTypes[3] 313} 314 315func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) Number() protoreflect.EnumNumber { 316 return protoreflect.EnumNumber(x) 317} 318 319// Deprecated: Use SearchJobsRequest_CustomRankingInfo_ImportanceLevel.Descriptor instead. 320func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) EnumDescriptor() ([]byte, []int) { 321 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0, 0} 322} 323 324// Create job request. 325type CreateJobRequest struct { 326 state protoimpl.MessageState 327 sizeCache protoimpl.SizeCache 328 unknownFields protoimpl.UnknownFields 329 330 // Required. The resource name of the tenant under which the job is created. 331 // 332 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 333 // "projects/foo/tenant/bar". If tenant id is unspecified a default tenant 334 // is created. For example, "projects/foo". 335 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 336 // Required. The Job to be created. 337 Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"` 338} 339 340func (x *CreateJobRequest) Reset() { 341 *x = CreateJobRequest{} 342 if protoimpl.UnsafeEnabled { 343 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0] 344 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 345 ms.StoreMessageInfo(mi) 346 } 347} 348 349func (x *CreateJobRequest) String() string { 350 return protoimpl.X.MessageStringOf(x) 351} 352 353func (*CreateJobRequest) ProtoMessage() {} 354 355func (x *CreateJobRequest) ProtoReflect() protoreflect.Message { 356 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0] 357 if protoimpl.UnsafeEnabled && x != nil { 358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 359 if ms.LoadMessageInfo() == nil { 360 ms.StoreMessageInfo(mi) 361 } 362 return ms 363 } 364 return mi.MessageOf(x) 365} 366 367// Deprecated: Use CreateJobRequest.ProtoReflect.Descriptor instead. 368func (*CreateJobRequest) Descriptor() ([]byte, []int) { 369 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{0} 370} 371 372func (x *CreateJobRequest) GetParent() string { 373 if x != nil { 374 return x.Parent 375 } 376 return "" 377} 378 379func (x *CreateJobRequest) GetJob() *Job { 380 if x != nil { 381 return x.Job 382 } 383 return nil 384} 385 386// Get job request. 387type GetJobRequest struct { 388 state protoimpl.MessageState 389 sizeCache protoimpl.SizeCache 390 unknownFields protoimpl.UnknownFields 391 392 // Required. The resource name of the job to retrieve. 393 // 394 // The format is 395 // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For 396 // example, "projects/foo/tenants/bar/jobs/baz". 397 // 398 // If tenant id is unspecified, the default tenant is used. For 399 // example, "projects/foo/jobs/bar". 400 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 401} 402 403func (x *GetJobRequest) Reset() { 404 *x = GetJobRequest{} 405 if protoimpl.UnsafeEnabled { 406 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1] 407 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 408 ms.StoreMessageInfo(mi) 409 } 410} 411 412func (x *GetJobRequest) String() string { 413 return protoimpl.X.MessageStringOf(x) 414} 415 416func (*GetJobRequest) ProtoMessage() {} 417 418func (x *GetJobRequest) ProtoReflect() protoreflect.Message { 419 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1] 420 if protoimpl.UnsafeEnabled && x != nil { 421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 422 if ms.LoadMessageInfo() == nil { 423 ms.StoreMessageInfo(mi) 424 } 425 return ms 426 } 427 return mi.MessageOf(x) 428} 429 430// Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead. 431func (*GetJobRequest) Descriptor() ([]byte, []int) { 432 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{1} 433} 434 435func (x *GetJobRequest) GetName() string { 436 if x != nil { 437 return x.Name 438 } 439 return "" 440} 441 442// Update job request. 443type UpdateJobRequest struct { 444 state protoimpl.MessageState 445 sizeCache protoimpl.SizeCache 446 unknownFields protoimpl.UnknownFields 447 448 // Required. The Job to be updated. 449 Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` 450 // Strongly recommended for the best service experience. 451 // 452 // If [update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask] is provided, only the specified fields in 453 // [job][google.cloud.talent.v4beta1.UpdateJobRequest.job] are updated. Otherwise all the fields are updated. 454 // 455 // A field mask to restrict the fields that are updated. Only 456 // top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported. 457 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 458} 459 460func (x *UpdateJobRequest) Reset() { 461 *x = UpdateJobRequest{} 462 if protoimpl.UnsafeEnabled { 463 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2] 464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 465 ms.StoreMessageInfo(mi) 466 } 467} 468 469func (x *UpdateJobRequest) String() string { 470 return protoimpl.X.MessageStringOf(x) 471} 472 473func (*UpdateJobRequest) ProtoMessage() {} 474 475func (x *UpdateJobRequest) ProtoReflect() protoreflect.Message { 476 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2] 477 if protoimpl.UnsafeEnabled && x != nil { 478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 479 if ms.LoadMessageInfo() == nil { 480 ms.StoreMessageInfo(mi) 481 } 482 return ms 483 } 484 return mi.MessageOf(x) 485} 486 487// Deprecated: Use UpdateJobRequest.ProtoReflect.Descriptor instead. 488func (*UpdateJobRequest) Descriptor() ([]byte, []int) { 489 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{2} 490} 491 492func (x *UpdateJobRequest) GetJob() *Job { 493 if x != nil { 494 return x.Job 495 } 496 return nil 497} 498 499func (x *UpdateJobRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 500 if x != nil { 501 return x.UpdateMask 502 } 503 return nil 504} 505 506// Delete job request. 507type DeleteJobRequest struct { 508 state protoimpl.MessageState 509 sizeCache protoimpl.SizeCache 510 unknownFields protoimpl.UnknownFields 511 512 // Required. The resource name of the job to be deleted. 513 // 514 // The format is 515 // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For 516 // example, "projects/foo/tenants/bar/jobs/baz". 517 // 518 // If tenant id is unspecified, the default tenant is used. For 519 // example, "projects/foo/jobs/bar". 520 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 521} 522 523func (x *DeleteJobRequest) Reset() { 524 *x = DeleteJobRequest{} 525 if protoimpl.UnsafeEnabled { 526 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3] 527 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 528 ms.StoreMessageInfo(mi) 529 } 530} 531 532func (x *DeleteJobRequest) String() string { 533 return protoimpl.X.MessageStringOf(x) 534} 535 536func (*DeleteJobRequest) ProtoMessage() {} 537 538func (x *DeleteJobRequest) ProtoReflect() protoreflect.Message { 539 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3] 540 if protoimpl.UnsafeEnabled && x != nil { 541 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 542 if ms.LoadMessageInfo() == nil { 543 ms.StoreMessageInfo(mi) 544 } 545 return ms 546 } 547 return mi.MessageOf(x) 548} 549 550// Deprecated: Use DeleteJobRequest.ProtoReflect.Descriptor instead. 551func (*DeleteJobRequest) Descriptor() ([]byte, []int) { 552 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{3} 553} 554 555func (x *DeleteJobRequest) GetName() string { 556 if x != nil { 557 return x.Name 558 } 559 return "" 560} 561 562// Batch delete jobs request. 563type BatchDeleteJobsRequest struct { 564 state protoimpl.MessageState 565 sizeCache protoimpl.SizeCache 566 unknownFields protoimpl.UnknownFields 567 568 // Required. The resource name of the tenant under which the job is created. 569 // 570 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 571 // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant 572 // is created. For example, "projects/foo". 573 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 574 // Required. The filter string specifies the jobs to be deleted. 575 // 576 // Supported operator: =, AND 577 // 578 // The fields eligible for filtering are: 579 // 580 // * `companyName` (Required) 581 // * `requisitionId` (Required) 582 // 583 // Sample Query: companyName = "projects/foo/companies/bar" AND 584 // requisitionId = "req-1" 585 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 586} 587 588func (x *BatchDeleteJobsRequest) Reset() { 589 *x = BatchDeleteJobsRequest{} 590 if protoimpl.UnsafeEnabled { 591 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4] 592 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 593 ms.StoreMessageInfo(mi) 594 } 595} 596 597func (x *BatchDeleteJobsRequest) String() string { 598 return protoimpl.X.MessageStringOf(x) 599} 600 601func (*BatchDeleteJobsRequest) ProtoMessage() {} 602 603func (x *BatchDeleteJobsRequest) ProtoReflect() protoreflect.Message { 604 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4] 605 if protoimpl.UnsafeEnabled && x != nil { 606 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 607 if ms.LoadMessageInfo() == nil { 608 ms.StoreMessageInfo(mi) 609 } 610 return ms 611 } 612 return mi.MessageOf(x) 613} 614 615// Deprecated: Use BatchDeleteJobsRequest.ProtoReflect.Descriptor instead. 616func (*BatchDeleteJobsRequest) Descriptor() ([]byte, []int) { 617 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{4} 618} 619 620func (x *BatchDeleteJobsRequest) GetParent() string { 621 if x != nil { 622 return x.Parent 623 } 624 return "" 625} 626 627func (x *BatchDeleteJobsRequest) GetFilter() string { 628 if x != nil { 629 return x.Filter 630 } 631 return "" 632} 633 634// List jobs request. 635type ListJobsRequest struct { 636 state protoimpl.MessageState 637 sizeCache protoimpl.SizeCache 638 unknownFields protoimpl.UnknownFields 639 640 // Required. The resource name of the tenant under which the job is created. 641 // 642 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 643 // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant 644 // is created. For example, "projects/foo". 645 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 646 // Required. The filter string specifies the jobs to be enumerated. 647 // 648 // Supported operator: =, AND 649 // 650 // The fields eligible for filtering are: 651 // 652 // * `companyName` (Required) 653 // * `requisitionId` 654 // * `status` Available values: OPEN, EXPIRED, ALL. Defaults to 655 // OPEN if no value is specified. 656 // 657 // Sample Query: 658 // 659 // * companyName = "projects/foo/tenants/bar/companies/baz" 660 // * companyName = "projects/foo/tenants/bar/companies/baz" AND 661 // requisitionId = "req-1" 662 // * companyName = "projects/foo/tenants/bar/companies/baz" AND 663 // status = "EXPIRED" 664 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 665 // The starting point of a query result. 666 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 667 // The maximum number of jobs to be returned per page of results. 668 // 669 // If [job_view][google.cloud.talent.v4beta1.ListJobsRequest.job_view] is set to [JobView.JOB_VIEW_ID_ONLY][google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY], the maximum allowed 670 // page size is 1000. Otherwise, the maximum allowed page size is 100. 671 // 672 // Default is 100 if empty or a number < 1 is specified. 673 PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 674 // The desired job attributes returned for jobs in the 675 // search response. Defaults to [JobView.JOB_VIEW_FULL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL] if no value is 676 // specified. 677 JobView JobView `protobuf:"varint,5,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"` 678} 679 680func (x *ListJobsRequest) Reset() { 681 *x = ListJobsRequest{} 682 if protoimpl.UnsafeEnabled { 683 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5] 684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 685 ms.StoreMessageInfo(mi) 686 } 687} 688 689func (x *ListJobsRequest) String() string { 690 return protoimpl.X.MessageStringOf(x) 691} 692 693func (*ListJobsRequest) ProtoMessage() {} 694 695func (x *ListJobsRequest) ProtoReflect() protoreflect.Message { 696 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5] 697 if protoimpl.UnsafeEnabled && x != nil { 698 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 699 if ms.LoadMessageInfo() == nil { 700 ms.StoreMessageInfo(mi) 701 } 702 return ms 703 } 704 return mi.MessageOf(x) 705} 706 707// Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead. 708func (*ListJobsRequest) Descriptor() ([]byte, []int) { 709 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{5} 710} 711 712func (x *ListJobsRequest) GetParent() string { 713 if x != nil { 714 return x.Parent 715 } 716 return "" 717} 718 719func (x *ListJobsRequest) GetFilter() string { 720 if x != nil { 721 return x.Filter 722 } 723 return "" 724} 725 726func (x *ListJobsRequest) GetPageToken() string { 727 if x != nil { 728 return x.PageToken 729 } 730 return "" 731} 732 733func (x *ListJobsRequest) GetPageSize() int32 { 734 if x != nil { 735 return x.PageSize 736 } 737 return 0 738} 739 740func (x *ListJobsRequest) GetJobView() JobView { 741 if x != nil { 742 return x.JobView 743 } 744 return JobView_JOB_VIEW_UNSPECIFIED 745} 746 747// List jobs response. 748type ListJobsResponse struct { 749 state protoimpl.MessageState 750 sizeCache protoimpl.SizeCache 751 unknownFields protoimpl.UnknownFields 752 753 // The Jobs for a given company. 754 // 755 // The maximum number of items returned is based on the limit field 756 // provided in the request. 757 Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` 758 // A token to retrieve the next page of results. 759 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 760 // Additional information for the API invocation, such as the request 761 // tracking id. 762 Metadata *ResponseMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` 763} 764 765func (x *ListJobsResponse) Reset() { 766 *x = ListJobsResponse{} 767 if protoimpl.UnsafeEnabled { 768 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6] 769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 770 ms.StoreMessageInfo(mi) 771 } 772} 773 774func (x *ListJobsResponse) String() string { 775 return protoimpl.X.MessageStringOf(x) 776} 777 778func (*ListJobsResponse) ProtoMessage() {} 779 780func (x *ListJobsResponse) ProtoReflect() protoreflect.Message { 781 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6] 782 if protoimpl.UnsafeEnabled && x != nil { 783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 784 if ms.LoadMessageInfo() == nil { 785 ms.StoreMessageInfo(mi) 786 } 787 return ms 788 } 789 return mi.MessageOf(x) 790} 791 792// Deprecated: Use ListJobsResponse.ProtoReflect.Descriptor instead. 793func (*ListJobsResponse) Descriptor() ([]byte, []int) { 794 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{6} 795} 796 797func (x *ListJobsResponse) GetJobs() []*Job { 798 if x != nil { 799 return x.Jobs 800 } 801 return nil 802} 803 804func (x *ListJobsResponse) GetNextPageToken() string { 805 if x != nil { 806 return x.NextPageToken 807 } 808 return "" 809} 810 811func (x *ListJobsResponse) GetMetadata() *ResponseMetadata { 812 if x != nil { 813 return x.Metadata 814 } 815 return nil 816} 817 818// The Request body of the `SearchJobs` call. 819type SearchJobsRequest struct { 820 state protoimpl.MessageState 821 sizeCache protoimpl.SizeCache 822 unknownFields protoimpl.UnknownFields 823 824 // Required. The resource name of the tenant to search within. 825 // 826 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 827 // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant 828 // is created. For example, "projects/foo". 829 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 830 // Mode of a search. 831 // 832 // Defaults to [SearchMode.JOB_SEARCH][google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH]. 833 SearchMode SearchJobsRequest_SearchMode `protobuf:"varint,2,opt,name=search_mode,json=searchMode,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_SearchMode" json:"search_mode,omitempty"` 834 // Required. The meta information collected about the job searcher, used to improve the 835 // search quality of the service. The identifiers (such as `user_id`) are 836 // provided by users, and must be unique and consistent. 837 RequestMetadata *RequestMetadata `protobuf:"bytes,3,opt,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty"` 838 // Query used to search against jobs, such as keyword, location filters, etc. 839 JobQuery *JobQuery `protobuf:"bytes,4,opt,name=job_query,json=jobQuery,proto3" json:"job_query,omitempty"` 840 // Controls whether to broaden the search when it produces sparse results. 841 // Broadened queries append results to the end of the matching results 842 // list. 843 // 844 // Defaults to false. 845 EnableBroadening bool `protobuf:"varint,5,opt,name=enable_broadening,json=enableBroadening,proto3" json:"enable_broadening,omitempty"` 846 // Controls if the search job request requires the return of a precise 847 // count of the first 300 results. Setting this to `true` ensures 848 // consistency in the number of results per page. Best practice is to set this 849 // value to true if a client allows users to jump directly to a 850 // non-sequential search results page. 851 // 852 // Enabling this flag may adversely impact performance. 853 // 854 // Defaults to false. 855 RequirePreciseResultSize bool `protobuf:"varint,6,opt,name=require_precise_result_size,json=requirePreciseResultSize,proto3" json:"require_precise_result_size,omitempty"` 856 // An expression specifies a histogram request against matching jobs. 857 // 858 // Expression syntax is an aggregation function call with histogram facets and 859 // other options. 860 // 861 // Available aggregation function calls are: 862 // * `count(string_histogram_facet)`: Count the number of matching entities, 863 // for each distinct attribute value. 864 // * `count(numeric_histogram_facet, list of buckets)`: Count the number of 865 // matching entities within each bucket. 866 // 867 // Data types: 868 // 869 // * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+. 870 // * String: string like "any string with backslash escape for quote(\")." 871 // * Number: whole number and floating point number like 10, -1 and -0.01. 872 // * List: list of elements with comma(,) separator surrounded by square 873 // brackets, for example, [1, 2, 3] and ["one", "two", "three"]. 874 // 875 // Built-in constants: 876 // 877 // * MIN (minimum number similar to java Double.MIN_VALUE) 878 // * MAX (maximum number similar to java Double.MAX_VALUE) 879 // 880 // Built-in functions: 881 // 882 // * bucket(start, end[, label]): bucket built-in function creates a bucket 883 // with range of [start, end). Note that the end is exclusive, for example, 884 // bucket(1, MAX, "positive number") or bucket(1, 10). 885 // 886 // Job histogram facets: 887 // 888 // * company_display_name: histogram by [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name]. 889 // * employment_type: histogram by [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types], for example, 890 // "FULL_TIME", "PART_TIME". 891 // * company_size: histogram by [CompanySize][google.cloud.talent.v4beta1.CompanySize], for example, "SMALL", 892 // "MEDIUM", "BIG". 893 // * publish_time_in_month: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] 894 // in months. 895 // Must specify list of numeric buckets in spec. 896 // * publish_time_in_year: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] 897 // in years. 898 // Must specify list of numeric buckets in spec. 899 // * degree_types: histogram by the [Job.degree_types][google.cloud.talent.v4beta1.Job.degree_types], for example, 900 // "Bachelors", "Masters". 901 // * job_level: histogram by the [Job.job_level][google.cloud.talent.v4beta1.Job.job_level], for example, "Entry 902 // Level". 903 // * country: histogram by the country code of jobs, for example, "US", "FR". 904 // * admin1: histogram by the admin1 code of jobs, which is a global 905 // placeholder referring to the state, province, or the particular term a 906 // country uses to define the geographic structure below the country level, 907 // for example, "CA", "IL". 908 // * city: histogram by a combination of the "city name, admin1 code". For 909 // example, "Mountain View, CA", "New York, NY". 910 // * admin1_country: histogram by a combination of the "admin1 code, country", 911 // for example, "CA, US", "IL, US". 912 // * city_coordinate: histogram by the city center's GPS coordinates (latitude 913 // and longitude), for example, 37.4038522,-122.0987765. Since the 914 // coordinates of a city center can change, customers may need to refresh 915 // them periodically. 916 // * locale: histogram by the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], for example, "en-US", 917 // "fr-FR". 918 // * language: histogram by the language subtag of the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], 919 // for example, "en", "fr". 920 // * category: histogram by the [JobCategory][google.cloud.talent.v4beta1.JobCategory], for example, 921 // "COMPUTER_AND_IT", "HEALTHCARE". 922 // * base_compensation_unit: histogram by the 923 // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] of base 924 // salary, for example, "WEEKLY", "MONTHLY". 925 // * base_compensation: histogram by the base salary. Must specify list of 926 // numeric buckets to group results by. 927 // * annualized_base_compensation: histogram by the base annualized salary. 928 // Must specify list of numeric buckets to group results by. 929 // * annualized_total_compensation: histogram by the total annualized salary. 930 // Must specify list of numeric buckets to group results by. 931 // * string_custom_attribute: histogram by string [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]. 932 // Values can be accessed via square bracket notations like 933 // string_custom_attribute["key1"]. 934 // * numeric_custom_attribute: histogram by numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]. 935 // Values can be accessed via square bracket notations like 936 // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to 937 // group results by. 938 // 939 // Example expressions: 940 // 941 // * `count(admin1)` 942 // * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), 943 // bucket(100000, MAX)])` 944 // * `count(string_custom_attribute["some-string-custom-attribute"])` 945 // * `count(numeric_custom_attribute["some-numeric-custom-attribute"], 946 // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])` 947 HistogramQueries []*HistogramQuery `protobuf:"bytes,7,rep,name=histogram_queries,json=histogramQueries,proto3" json:"histogram_queries,omitempty"` 948 // The desired job attributes returned for jobs in the search response. 949 // Defaults to [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_SMALL] if no value is specified. 950 JobView JobView `protobuf:"varint,8,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"` 951 // An integer that specifies the current offset (that is, starting result 952 // location, amongst the jobs deemed by the API as relevant) in search 953 // results. This field is only considered if [page_token][google.cloud.talent.v4beta1.SearchJobsRequest.page_token] is unset. 954 // 955 // The maximum allowed value is 5000. Otherwise an error is thrown. 956 // 957 // For example, 0 means to return results starting from the first matching 958 // job, and 10 means to return from the 11th job. This can be used for 959 // pagination, (for example, pageSize = 10 and offset = 10 means to return 960 // from the second page). 961 Offset int32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"` 962 // A limit on the number of jobs returned in the search results. 963 // Increasing this value above the default value of 10 can increase search 964 // response time. The value can be between 1 and 100. 965 PageSize int32 `protobuf:"varint,10,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 966 // The token specifying the current offset within 967 // search results. See [SearchJobsResponse.next_page_token][google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token] for 968 // an explanation of how to obtain the next set of query results. 969 PageToken string `protobuf:"bytes,11,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 970 // The criteria determining how search results are sorted. Default is 971 // `"relevance desc"`. 972 // 973 // Supported options are: 974 // 975 // * `"relevance desc"`: By relevance descending, as determined by the API 976 // algorithms. Relevance thresholding of query results is only available 977 // with this ordering. 978 // * `"posting_publish_time desc"`: By [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] 979 // descending. 980 // * `"posting_update_time desc"`: By [Job.posting_update_time][google.cloud.talent.v4beta1.Job.posting_update_time] 981 // descending. 982 // * `"title"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] ascending. 983 // * `"title desc"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] descending. 984 // * `"annualized_base_compensation"`: By job's 985 // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] ascending. Jobs 986 // whose annualized base compensation is unspecified are put at the end of 987 // search results. 988 // * `"annualized_base_compensation desc"`: By job's 989 // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] descending. Jobs 990 // whose annualized base compensation is unspecified are put at the end of 991 // search results. 992 // * `"annualized_total_compensation"`: By job's 993 // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] ascending. Jobs 994 // whose annualized base compensation is unspecified are put at the end of 995 // search results. 996 // * `"annualized_total_compensation desc"`: By job's 997 // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] descending. Jobs 998 // whose annualized base compensation is unspecified are put at the end of 999 // search results. 1000 // * `"custom_ranking desc"`: By the relevance score adjusted to the 1001 // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] with weight 1002 // factor assigned by 1003 // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level] in descending 1004 // order. 1005 // * Location sorting: Use the special syntax to order jobs by distance:<br> 1006 // `"distance_from('Hawaii')"`: Order by distance from Hawaii.<br> 1007 // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.<br> 1008 // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by 1009 // multiple locations. See details below.<br> 1010 // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by 1011 // multiple locations. See details below.<br> 1012 // The string can have a maximum of 256 characters. When multiple distance 1013 // centers are provided, a job that is close to any of the distance centers 1014 // would have a high rank. When a job has multiple locations, the job 1015 // location closest to one of the distance centers will be used. Jobs that 1016 // don't have locations will be ranked at the bottom. Distance is calculated 1017 // with a precision of 11.3 meters (37.4 feet). Diversification strategy is 1018 // still applied unless explicitly disabled in 1019 // [diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level]. 1020 OrderBy string `protobuf:"bytes,12,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 1021 // Controls whether highly similar jobs are returned next to each other in 1022 // the search results. Jobs are identified as highly similar based on 1023 // their titles, job categories, and locations. Highly similar results are 1024 // clustered so that only one representative job of the cluster is 1025 // displayed to the job seeker higher up in the results, with the other jobs 1026 // being displayed lower down in the results. 1027 // 1028 // Defaults to [DiversificationLevel.SIMPLE][google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE] if no value 1029 // is specified. 1030 DiversificationLevel SearchJobsRequest_DiversificationLevel `protobuf:"varint,13,opt,name=diversification_level,json=diversificationLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_DiversificationLevel" json:"diversification_level,omitempty"` 1031 // Controls over how job documents get ranked on top of existing relevance 1032 // score (determined by API algorithm). 1033 CustomRankingInfo *SearchJobsRequest_CustomRankingInfo `protobuf:"bytes,14,opt,name=custom_ranking_info,json=customRankingInfo,proto3" json:"custom_ranking_info,omitempty"` 1034 // Controls whether to disable exact keyword match on [Job.title][google.cloud.talent.v4beta1.Job.title], 1035 // [Job.description][google.cloud.talent.v4beta1.Job.description], [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name], [Job.addresses][google.cloud.talent.v4beta1.Job.addresses], 1036 // [Job.qualifications][google.cloud.talent.v4beta1.Job.qualifications]. When disable keyword match is turned off, a 1037 // keyword match returns jobs that do not match given category filters when 1038 // there are matching keywords. For example, for the query "program manager," 1039 // a result is returned even if the job posting has the title "software 1040 // developer," which doesn't fall into "program manager" ontology, but does 1041 // have "program manager" appearing in its description. 1042 // 1043 // For queries like "cloud" that don't contain title or 1044 // location specific ontology, jobs with "cloud" keyword matches are returned 1045 // regardless of this flag's value. 1046 // 1047 // Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes] if 1048 // company-specific globally matched custom field/attribute string values are 1049 // needed. Enabling keyword match improves recall of subsequent search 1050 // requests. 1051 // 1052 // Defaults to false. 1053 DisableKeywordMatch bool `protobuf:"varint,16,opt,name=disable_keyword_match,json=disableKeywordMatch,proto3" json:"disable_keyword_match,omitempty"` 1054} 1055 1056func (x *SearchJobsRequest) Reset() { 1057 *x = SearchJobsRequest{} 1058 if protoimpl.UnsafeEnabled { 1059 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7] 1060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1061 ms.StoreMessageInfo(mi) 1062 } 1063} 1064 1065func (x *SearchJobsRequest) String() string { 1066 return protoimpl.X.MessageStringOf(x) 1067} 1068 1069func (*SearchJobsRequest) ProtoMessage() {} 1070 1071func (x *SearchJobsRequest) ProtoReflect() protoreflect.Message { 1072 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7] 1073 if protoimpl.UnsafeEnabled && x != nil { 1074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1075 if ms.LoadMessageInfo() == nil { 1076 ms.StoreMessageInfo(mi) 1077 } 1078 return ms 1079 } 1080 return mi.MessageOf(x) 1081} 1082 1083// Deprecated: Use SearchJobsRequest.ProtoReflect.Descriptor instead. 1084func (*SearchJobsRequest) Descriptor() ([]byte, []int) { 1085 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7} 1086} 1087 1088func (x *SearchJobsRequest) GetParent() string { 1089 if x != nil { 1090 return x.Parent 1091 } 1092 return "" 1093} 1094 1095func (x *SearchJobsRequest) GetSearchMode() SearchJobsRequest_SearchMode { 1096 if x != nil { 1097 return x.SearchMode 1098 } 1099 return SearchJobsRequest_SEARCH_MODE_UNSPECIFIED 1100} 1101 1102func (x *SearchJobsRequest) GetRequestMetadata() *RequestMetadata { 1103 if x != nil { 1104 return x.RequestMetadata 1105 } 1106 return nil 1107} 1108 1109func (x *SearchJobsRequest) GetJobQuery() *JobQuery { 1110 if x != nil { 1111 return x.JobQuery 1112 } 1113 return nil 1114} 1115 1116func (x *SearchJobsRequest) GetEnableBroadening() bool { 1117 if x != nil { 1118 return x.EnableBroadening 1119 } 1120 return false 1121} 1122 1123func (x *SearchJobsRequest) GetRequirePreciseResultSize() bool { 1124 if x != nil { 1125 return x.RequirePreciseResultSize 1126 } 1127 return false 1128} 1129 1130func (x *SearchJobsRequest) GetHistogramQueries() []*HistogramQuery { 1131 if x != nil { 1132 return x.HistogramQueries 1133 } 1134 return nil 1135} 1136 1137func (x *SearchJobsRequest) GetJobView() JobView { 1138 if x != nil { 1139 return x.JobView 1140 } 1141 return JobView_JOB_VIEW_UNSPECIFIED 1142} 1143 1144func (x *SearchJobsRequest) GetOffset() int32 { 1145 if x != nil { 1146 return x.Offset 1147 } 1148 return 0 1149} 1150 1151func (x *SearchJobsRequest) GetPageSize() int32 { 1152 if x != nil { 1153 return x.PageSize 1154 } 1155 return 0 1156} 1157 1158func (x *SearchJobsRequest) GetPageToken() string { 1159 if x != nil { 1160 return x.PageToken 1161 } 1162 return "" 1163} 1164 1165func (x *SearchJobsRequest) GetOrderBy() string { 1166 if x != nil { 1167 return x.OrderBy 1168 } 1169 return "" 1170} 1171 1172func (x *SearchJobsRequest) GetDiversificationLevel() SearchJobsRequest_DiversificationLevel { 1173 if x != nil { 1174 return x.DiversificationLevel 1175 } 1176 return SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED 1177} 1178 1179func (x *SearchJobsRequest) GetCustomRankingInfo() *SearchJobsRequest_CustomRankingInfo { 1180 if x != nil { 1181 return x.CustomRankingInfo 1182 } 1183 return nil 1184} 1185 1186func (x *SearchJobsRequest) GetDisableKeywordMatch() bool { 1187 if x != nil { 1188 return x.DisableKeywordMatch 1189 } 1190 return false 1191} 1192 1193// Response for SearchJob method. 1194type SearchJobsResponse struct { 1195 state protoimpl.MessageState 1196 sizeCache protoimpl.SizeCache 1197 unknownFields protoimpl.UnknownFields 1198 1199 // The Job entities that match the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 1200 MatchingJobs []*SearchJobsResponse_MatchingJob `protobuf:"bytes,1,rep,name=matching_jobs,json=matchingJobs,proto3" json:"matching_jobs,omitempty"` 1201 // The histogram results that match with specified 1202 // [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries]. 1203 HistogramQueryResults []*HistogramQueryResult `protobuf:"bytes,2,rep,name=histogram_query_results,json=histogramQueryResults,proto3" json:"histogram_query_results,omitempty"` 1204 // The token that specifies the starting position of the next page of results. 1205 // This field is empty if there are no more results. 1206 NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1207 // The location filters that the service applied to the specified query. If 1208 // any filters are lat-lng based, the [Location.location_type][google.cloud.talent.v4beta1.Location.location_type] is 1209 // [Location.LocationType.LOCATION_TYPE_UNSPECIFIED][google.cloud.talent.v4beta1.Location.LocationType.LOCATION_TYPE_UNSPECIFIED]. 1210 LocationFilters []*Location `protobuf:"bytes,4,rep,name=location_filters,json=locationFilters,proto3" json:"location_filters,omitempty"` 1211 // An estimation of the number of jobs that match the specified query. 1212 // 1213 // This number isn't guaranteed to be accurate. For accurate results, 1214 // see [SearchJobsRequest.require_precise_result_size][google.cloud.talent.v4beta1.SearchJobsRequest.require_precise_result_size]. 1215 EstimatedTotalSize int32 `protobuf:"varint,5,opt,name=estimated_total_size,json=estimatedTotalSize,proto3" json:"estimated_total_size,omitempty"` 1216 // The precise result count, which is available only if the client set 1217 // [SearchJobsRequest.require_precise_result_size][google.cloud.talent.v4beta1.SearchJobsRequest.require_precise_result_size] to `true`, or if the 1218 // response is the last page of results. Otherwise, the value is `-1`. 1219 TotalSize int32 `protobuf:"varint,6,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` 1220 // Additional information for the API invocation, such as the request 1221 // tracking id. 1222 Metadata *ResponseMetadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` 1223 // If query broadening is enabled, we may append additional results from the 1224 // broadened query. This number indicates how many of the jobs returned in the 1225 // jobs field are from the broadened query. These results are always at the 1226 // end of the jobs list. In particular, a value of 0, or if the field isn't 1227 // set, all the jobs in the jobs list are from the original 1228 // (without broadening) query. If this field is non-zero, subsequent requests 1229 // with offset after this result set should contain all broadened results. 1230 BroadenedQueryJobsCount int32 `protobuf:"varint,8,opt,name=broadened_query_jobs_count,json=broadenedQueryJobsCount,proto3" json:"broadened_query_jobs_count,omitempty"` 1231 // The spell checking result, and correction. 1232 SpellCorrection *SpellingCorrection `protobuf:"bytes,9,opt,name=spell_correction,json=spellCorrection,proto3" json:"spell_correction,omitempty"` 1233} 1234 1235func (x *SearchJobsResponse) Reset() { 1236 *x = SearchJobsResponse{} 1237 if protoimpl.UnsafeEnabled { 1238 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8] 1239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1240 ms.StoreMessageInfo(mi) 1241 } 1242} 1243 1244func (x *SearchJobsResponse) String() string { 1245 return protoimpl.X.MessageStringOf(x) 1246} 1247 1248func (*SearchJobsResponse) ProtoMessage() {} 1249 1250func (x *SearchJobsResponse) ProtoReflect() protoreflect.Message { 1251 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8] 1252 if protoimpl.UnsafeEnabled && x != nil { 1253 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1254 if ms.LoadMessageInfo() == nil { 1255 ms.StoreMessageInfo(mi) 1256 } 1257 return ms 1258 } 1259 return mi.MessageOf(x) 1260} 1261 1262// Deprecated: Use SearchJobsResponse.ProtoReflect.Descriptor instead. 1263func (*SearchJobsResponse) Descriptor() ([]byte, []int) { 1264 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8} 1265} 1266 1267func (x *SearchJobsResponse) GetMatchingJobs() []*SearchJobsResponse_MatchingJob { 1268 if x != nil { 1269 return x.MatchingJobs 1270 } 1271 return nil 1272} 1273 1274func (x *SearchJobsResponse) GetHistogramQueryResults() []*HistogramQueryResult { 1275 if x != nil { 1276 return x.HistogramQueryResults 1277 } 1278 return nil 1279} 1280 1281func (x *SearchJobsResponse) GetNextPageToken() string { 1282 if x != nil { 1283 return x.NextPageToken 1284 } 1285 return "" 1286} 1287 1288func (x *SearchJobsResponse) GetLocationFilters() []*Location { 1289 if x != nil { 1290 return x.LocationFilters 1291 } 1292 return nil 1293} 1294 1295func (x *SearchJobsResponse) GetEstimatedTotalSize() int32 { 1296 if x != nil { 1297 return x.EstimatedTotalSize 1298 } 1299 return 0 1300} 1301 1302func (x *SearchJobsResponse) GetTotalSize() int32 { 1303 if x != nil { 1304 return x.TotalSize 1305 } 1306 return 0 1307} 1308 1309func (x *SearchJobsResponse) GetMetadata() *ResponseMetadata { 1310 if x != nil { 1311 return x.Metadata 1312 } 1313 return nil 1314} 1315 1316func (x *SearchJobsResponse) GetBroadenedQueryJobsCount() int32 { 1317 if x != nil { 1318 return x.BroadenedQueryJobsCount 1319 } 1320 return 0 1321} 1322 1323func (x *SearchJobsResponse) GetSpellCorrection() *SpellingCorrection { 1324 if x != nil { 1325 return x.SpellCorrection 1326 } 1327 return nil 1328} 1329 1330// Request to create a batch of jobs. 1331type BatchCreateJobsRequest struct { 1332 state protoimpl.MessageState 1333 sizeCache protoimpl.SizeCache 1334 unknownFields protoimpl.UnknownFields 1335 1336 // Required. The resource name of the tenant under which the job is created. 1337 // 1338 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 1339 // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant 1340 // is created. For example, "projects/foo". 1341 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1342 // Required. The jobs to be created. 1343 Jobs []*Job `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"` 1344} 1345 1346func (x *BatchCreateJobsRequest) Reset() { 1347 *x = BatchCreateJobsRequest{} 1348 if protoimpl.UnsafeEnabled { 1349 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9] 1350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1351 ms.StoreMessageInfo(mi) 1352 } 1353} 1354 1355func (x *BatchCreateJobsRequest) String() string { 1356 return protoimpl.X.MessageStringOf(x) 1357} 1358 1359func (*BatchCreateJobsRequest) ProtoMessage() {} 1360 1361func (x *BatchCreateJobsRequest) ProtoReflect() protoreflect.Message { 1362 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9] 1363 if protoimpl.UnsafeEnabled && x != nil { 1364 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1365 if ms.LoadMessageInfo() == nil { 1366 ms.StoreMessageInfo(mi) 1367 } 1368 return ms 1369 } 1370 return mi.MessageOf(x) 1371} 1372 1373// Deprecated: Use BatchCreateJobsRequest.ProtoReflect.Descriptor instead. 1374func (*BatchCreateJobsRequest) Descriptor() ([]byte, []int) { 1375 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{9} 1376} 1377 1378func (x *BatchCreateJobsRequest) GetParent() string { 1379 if x != nil { 1380 return x.Parent 1381 } 1382 return "" 1383} 1384 1385func (x *BatchCreateJobsRequest) GetJobs() []*Job { 1386 if x != nil { 1387 return x.Jobs 1388 } 1389 return nil 1390} 1391 1392// Request to update a batch of jobs. 1393type BatchUpdateJobsRequest struct { 1394 state protoimpl.MessageState 1395 sizeCache protoimpl.SizeCache 1396 unknownFields protoimpl.UnknownFields 1397 1398 // Required. The resource name of the tenant under which the job is created. 1399 // 1400 // The format is "projects/{project_id}/tenants/{tenant_id}". For example, 1401 // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant 1402 // is created. For example, "projects/foo". 1403 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1404 // Required. The jobs to be updated. 1405 Jobs []*Job `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"` 1406 // Strongly recommended for the best service experience. Be aware that it will 1407 // also increase latency when checking the status of a batch operation. 1408 // 1409 // If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, only the specified fields in 1410 // [Job][google.cloud.talent.v4beta1.Job] are updated. Otherwise all the fields are updated. 1411 // 1412 // A field mask to restrict the fields that are updated. Only 1413 // top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported. 1414 // 1415 // If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, The [Job][google.cloud.talent.v4beta1.Job] inside 1416 // [JobResult][google.cloud.talent.v4beta1.JobOperationResult.JobResult] 1417 // will only contains fields that is updated, plus the Id of the Job. 1418 // Otherwise, [Job][google.cloud.talent.v4beta1.Job] will include all fields, which can yield a very 1419 // large response. 1420 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1421} 1422 1423func (x *BatchUpdateJobsRequest) Reset() { 1424 *x = BatchUpdateJobsRequest{} 1425 if protoimpl.UnsafeEnabled { 1426 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10] 1427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1428 ms.StoreMessageInfo(mi) 1429 } 1430} 1431 1432func (x *BatchUpdateJobsRequest) String() string { 1433 return protoimpl.X.MessageStringOf(x) 1434} 1435 1436func (*BatchUpdateJobsRequest) ProtoMessage() {} 1437 1438func (x *BatchUpdateJobsRequest) ProtoReflect() protoreflect.Message { 1439 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10] 1440 if protoimpl.UnsafeEnabled && x != nil { 1441 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1442 if ms.LoadMessageInfo() == nil { 1443 ms.StoreMessageInfo(mi) 1444 } 1445 return ms 1446 } 1447 return mi.MessageOf(x) 1448} 1449 1450// Deprecated: Use BatchUpdateJobsRequest.ProtoReflect.Descriptor instead. 1451func (*BatchUpdateJobsRequest) Descriptor() ([]byte, []int) { 1452 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{10} 1453} 1454 1455func (x *BatchUpdateJobsRequest) GetParent() string { 1456 if x != nil { 1457 return x.Parent 1458 } 1459 return "" 1460} 1461 1462func (x *BatchUpdateJobsRequest) GetJobs() []*Job { 1463 if x != nil { 1464 return x.Jobs 1465 } 1466 return nil 1467} 1468 1469func (x *BatchUpdateJobsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 1470 if x != nil { 1471 return x.UpdateMask 1472 } 1473 return nil 1474} 1475 1476// The result of [JobService.BatchCreateJobs][google.cloud.talent.v4beta1.JobService.BatchCreateJobs] or 1477// [JobService.BatchUpdateJobs][google.cloud.talent.v4beta1.JobService.BatchUpdateJobs] APIs. It's used to 1478// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success. 1479type JobOperationResult struct { 1480 state protoimpl.MessageState 1481 sizeCache protoimpl.SizeCache 1482 unknownFields protoimpl.UnknownFields 1483 1484 // List of job mutation results from a batch mutate operation. It can change 1485 // until operation status is FINISHED, FAILED or CANCELLED. 1486 JobResults []*JobOperationResult_JobResult `protobuf:"bytes,1,rep,name=job_results,json=jobResults,proto3" json:"job_results,omitempty"` 1487} 1488 1489func (x *JobOperationResult) Reset() { 1490 *x = JobOperationResult{} 1491 if protoimpl.UnsafeEnabled { 1492 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11] 1493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1494 ms.StoreMessageInfo(mi) 1495 } 1496} 1497 1498func (x *JobOperationResult) String() string { 1499 return protoimpl.X.MessageStringOf(x) 1500} 1501 1502func (*JobOperationResult) ProtoMessage() {} 1503 1504func (x *JobOperationResult) ProtoReflect() protoreflect.Message { 1505 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11] 1506 if protoimpl.UnsafeEnabled && x != nil { 1507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1508 if ms.LoadMessageInfo() == nil { 1509 ms.StoreMessageInfo(mi) 1510 } 1511 return ms 1512 } 1513 return mi.MessageOf(x) 1514} 1515 1516// Deprecated: Use JobOperationResult.ProtoReflect.Descriptor instead. 1517func (*JobOperationResult) Descriptor() ([]byte, []int) { 1518 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{11} 1519} 1520 1521func (x *JobOperationResult) GetJobResults() []*JobOperationResult_JobResult { 1522 if x != nil { 1523 return x.JobResults 1524 } 1525 return nil 1526} 1527 1528// Custom ranking information for [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 1529type SearchJobsRequest_CustomRankingInfo struct { 1530 state protoimpl.MessageState 1531 sizeCache protoimpl.SizeCache 1532 unknownFields protoimpl.UnknownFields 1533 1534 // Required. Controls over how important the score of 1535 // [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] gets applied to job's final 1536 // ranking position. 1537 // 1538 // An error is thrown if not specified. 1539 ImportanceLevel SearchJobsRequest_CustomRankingInfo_ImportanceLevel `protobuf:"varint,1,opt,name=importance_level,json=importanceLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_CustomRankingInfo_ImportanceLevel" json:"importance_level,omitempty"` 1540 // Required. Controls over how job documents get ranked on top of existing relevance 1541 // score (determined by API algorithm). A combination of the ranking 1542 // expression and relevance score is used to determine job's final ranking 1543 // position. 1544 // 1545 // The syntax for this expression is a subset of Google SQL syntax. 1546 // 1547 // Supported operators are: +, -, *, /, where the left and right side of 1548 // the operator is either a numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] key, 1549 // integer/double value or an expression that can be evaluated to a number. 1550 // 1551 // Parenthesis are supported to adjust calculation precedence. The 1552 // expression must be < 100 characters in length. 1553 // 1554 // The expression is considered invalid for a job if the expression 1555 // references custom attributes that are not populated on the job or if the 1556 // expression results in a divide by zero. If an expression is invalid for a 1557 // job, that job is demoted to the end of the results. 1558 // 1559 // Sample ranking expression 1560 // (year + 25) * 0.25 - (freshness / 0.5) 1561 RankingExpression string `protobuf:"bytes,2,opt,name=ranking_expression,json=rankingExpression,proto3" json:"ranking_expression,omitempty"` 1562} 1563 1564func (x *SearchJobsRequest_CustomRankingInfo) Reset() { 1565 *x = SearchJobsRequest_CustomRankingInfo{} 1566 if protoimpl.UnsafeEnabled { 1567 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12] 1568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1569 ms.StoreMessageInfo(mi) 1570 } 1571} 1572 1573func (x *SearchJobsRequest_CustomRankingInfo) String() string { 1574 return protoimpl.X.MessageStringOf(x) 1575} 1576 1577func (*SearchJobsRequest_CustomRankingInfo) ProtoMessage() {} 1578 1579func (x *SearchJobsRequest_CustomRankingInfo) ProtoReflect() protoreflect.Message { 1580 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12] 1581 if protoimpl.UnsafeEnabled && x != nil { 1582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1583 if ms.LoadMessageInfo() == nil { 1584 ms.StoreMessageInfo(mi) 1585 } 1586 return ms 1587 } 1588 return mi.MessageOf(x) 1589} 1590 1591// Deprecated: Use SearchJobsRequest_CustomRankingInfo.ProtoReflect.Descriptor instead. 1592func (*SearchJobsRequest_CustomRankingInfo) Descriptor() ([]byte, []int) { 1593 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{7, 0} 1594} 1595 1596func (x *SearchJobsRequest_CustomRankingInfo) GetImportanceLevel() SearchJobsRequest_CustomRankingInfo_ImportanceLevel { 1597 if x != nil { 1598 return x.ImportanceLevel 1599 } 1600 return SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED 1601} 1602 1603func (x *SearchJobsRequest_CustomRankingInfo) GetRankingExpression() string { 1604 if x != nil { 1605 return x.RankingExpression 1606 } 1607 return "" 1608} 1609 1610// Job entry with metadata inside [SearchJobsResponse][google.cloud.talent.v4beta1.SearchJobsResponse]. 1611type SearchJobsResponse_MatchingJob struct { 1612 state protoimpl.MessageState 1613 sizeCache protoimpl.SizeCache 1614 unknownFields protoimpl.UnknownFields 1615 1616 // Job resource that matches the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 1617 Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` 1618 // A summary of the job with core information that's displayed on the search 1619 // results listing page. 1620 JobSummary string `protobuf:"bytes,2,opt,name=job_summary,json=jobSummary,proto3" json:"job_summary,omitempty"` 1621 // Contains snippets of text from the [Job.title][google.cloud.talent.v4beta1.Job.title] field most 1622 // closely matching a search query's keywords, if available. The matching 1623 // query keywords are enclosed in HTML bold tags. 1624 JobTitleSnippet string `protobuf:"bytes,3,opt,name=job_title_snippet,json=jobTitleSnippet,proto3" json:"job_title_snippet,omitempty"` 1625 // Contains snippets of text from the [Job.description][google.cloud.talent.v4beta1.Job.description] and similar 1626 // fields that most closely match a search query's keywords, if available. 1627 // All HTML tags in the original fields are stripped when returned in this 1628 // field, and matching query keywords are enclosed in HTML bold tags. 1629 SearchTextSnippet string `protobuf:"bytes,4,opt,name=search_text_snippet,json=searchTextSnippet,proto3" json:"search_text_snippet,omitempty"` 1630 // Commute information which is generated based on specified 1631 // [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter]. 1632 CommuteInfo *SearchJobsResponse_CommuteInfo `protobuf:"bytes,5,opt,name=commute_info,json=commuteInfo,proto3" json:"commute_info,omitempty"` 1633} 1634 1635func (x *SearchJobsResponse_MatchingJob) Reset() { 1636 *x = SearchJobsResponse_MatchingJob{} 1637 if protoimpl.UnsafeEnabled { 1638 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13] 1639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1640 ms.StoreMessageInfo(mi) 1641 } 1642} 1643 1644func (x *SearchJobsResponse_MatchingJob) String() string { 1645 return protoimpl.X.MessageStringOf(x) 1646} 1647 1648func (*SearchJobsResponse_MatchingJob) ProtoMessage() {} 1649 1650func (x *SearchJobsResponse_MatchingJob) ProtoReflect() protoreflect.Message { 1651 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13] 1652 if protoimpl.UnsafeEnabled && x != nil { 1653 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1654 if ms.LoadMessageInfo() == nil { 1655 ms.StoreMessageInfo(mi) 1656 } 1657 return ms 1658 } 1659 return mi.MessageOf(x) 1660} 1661 1662// Deprecated: Use SearchJobsResponse_MatchingJob.ProtoReflect.Descriptor instead. 1663func (*SearchJobsResponse_MatchingJob) Descriptor() ([]byte, []int) { 1664 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8, 0} 1665} 1666 1667func (x *SearchJobsResponse_MatchingJob) GetJob() *Job { 1668 if x != nil { 1669 return x.Job 1670 } 1671 return nil 1672} 1673 1674func (x *SearchJobsResponse_MatchingJob) GetJobSummary() string { 1675 if x != nil { 1676 return x.JobSummary 1677 } 1678 return "" 1679} 1680 1681func (x *SearchJobsResponse_MatchingJob) GetJobTitleSnippet() string { 1682 if x != nil { 1683 return x.JobTitleSnippet 1684 } 1685 return "" 1686} 1687 1688func (x *SearchJobsResponse_MatchingJob) GetSearchTextSnippet() string { 1689 if x != nil { 1690 return x.SearchTextSnippet 1691 } 1692 return "" 1693} 1694 1695func (x *SearchJobsResponse_MatchingJob) GetCommuteInfo() *SearchJobsResponse_CommuteInfo { 1696 if x != nil { 1697 return x.CommuteInfo 1698 } 1699 return nil 1700} 1701 1702// Commute details related to this job. 1703type SearchJobsResponse_CommuteInfo struct { 1704 state protoimpl.MessageState 1705 sizeCache protoimpl.SizeCache 1706 unknownFields protoimpl.UnknownFields 1707 1708 // Location used as the destination in the commute calculation. 1709 JobLocation *Location `protobuf:"bytes,1,opt,name=job_location,json=jobLocation,proto3" json:"job_location,omitempty"` 1710 // The number of seconds required to travel to the job location from the 1711 // query location. A duration of 0 seconds indicates that the job isn't 1712 // reachable within the requested duration, but was returned as part of an 1713 // expanded query. 1714 TravelDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=travel_duration,json=travelDuration,proto3" json:"travel_duration,omitempty"` 1715} 1716 1717func (x *SearchJobsResponse_CommuteInfo) Reset() { 1718 *x = SearchJobsResponse_CommuteInfo{} 1719 if protoimpl.UnsafeEnabled { 1720 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14] 1721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1722 ms.StoreMessageInfo(mi) 1723 } 1724} 1725 1726func (x *SearchJobsResponse_CommuteInfo) String() string { 1727 return protoimpl.X.MessageStringOf(x) 1728} 1729 1730func (*SearchJobsResponse_CommuteInfo) ProtoMessage() {} 1731 1732func (x *SearchJobsResponse_CommuteInfo) ProtoReflect() protoreflect.Message { 1733 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14] 1734 if protoimpl.UnsafeEnabled && x != nil { 1735 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1736 if ms.LoadMessageInfo() == nil { 1737 ms.StoreMessageInfo(mi) 1738 } 1739 return ms 1740 } 1741 return mi.MessageOf(x) 1742} 1743 1744// Deprecated: Use SearchJobsResponse_CommuteInfo.ProtoReflect.Descriptor instead. 1745func (*SearchJobsResponse_CommuteInfo) Descriptor() ([]byte, []int) { 1746 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{8, 1} 1747} 1748 1749func (x *SearchJobsResponse_CommuteInfo) GetJobLocation() *Location { 1750 if x != nil { 1751 return x.JobLocation 1752 } 1753 return nil 1754} 1755 1756func (x *SearchJobsResponse_CommuteInfo) GetTravelDuration() *durationpb.Duration { 1757 if x != nil { 1758 return x.TravelDuration 1759 } 1760 return nil 1761} 1762 1763// Mutation result of a job. 1764type JobOperationResult_JobResult struct { 1765 state protoimpl.MessageState 1766 sizeCache protoimpl.SizeCache 1767 unknownFields protoimpl.UnknownFields 1768 1769 // Here [Job][google.cloud.talent.v4beta1.Job] only contains basic information including [name][google.cloud.talent.v4beta1.Job.name], 1770 // [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code] 1771 // and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], use getJob method to retrieve 1772 // detailed information of the created/updated job. 1773 Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` 1774 // The status of the job processed. This field is populated if the 1775 // processing of the [job][google.cloud.talent.v4beta1.JobOperationResult.JobResult.job] fails. 1776 Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` 1777} 1778 1779func (x *JobOperationResult_JobResult) Reset() { 1780 *x = JobOperationResult_JobResult{} 1781 if protoimpl.UnsafeEnabled { 1782 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15] 1783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1784 ms.StoreMessageInfo(mi) 1785 } 1786} 1787 1788func (x *JobOperationResult_JobResult) String() string { 1789 return protoimpl.X.MessageStringOf(x) 1790} 1791 1792func (*JobOperationResult_JobResult) ProtoMessage() {} 1793 1794func (x *JobOperationResult_JobResult) ProtoReflect() protoreflect.Message { 1795 mi := &file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15] 1796 if protoimpl.UnsafeEnabled && x != nil { 1797 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1798 if ms.LoadMessageInfo() == nil { 1799 ms.StoreMessageInfo(mi) 1800 } 1801 return ms 1802 } 1803 return mi.MessageOf(x) 1804} 1805 1806// Deprecated: Use JobOperationResult_JobResult.ProtoReflect.Descriptor instead. 1807func (*JobOperationResult_JobResult) Descriptor() ([]byte, []int) { 1808 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP(), []int{11, 0} 1809} 1810 1811func (x *JobOperationResult_JobResult) GetJob() *Job { 1812 if x != nil { 1813 return x.Job 1814 } 1815 return nil 1816} 1817 1818func (x *JobOperationResult_JobResult) GetStatus() *status.Status { 1819 if x != nil { 1820 return x.Status 1821 } 1822 return nil 1823} 1824 1825var File_google_cloud_talent_v4beta1_job_service_proto protoreflect.FileDescriptor 1826 1827var file_google_cloud_talent_v4beta1_job_service_proto_rawDesc = []byte{ 1828 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 1829 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, 1830 0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 1831 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 1832 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 1833 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 1834 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 1835 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 1836 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 1837 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 1838 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 1839 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 1840 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61, 1841 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 1842 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1843 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 1844 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 1845 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 1846 0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 1847 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1848 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 1849 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 1850 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1851 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 1852 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 1853 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 1854 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1855 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 1856 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1857 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 1858 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 1859 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 1860 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1861 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1862 0x22, 0x84, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 1863 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1864 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 1865 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1866 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 1867 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 1868 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 1869 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 1870 0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x44, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 1871 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1872 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x0a, 0x17, 1873 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 1874 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x01, 1875 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 1876 0x73, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1877 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 1878 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 1879 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 1880 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1881 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1882 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 1883 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x47, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 1884 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04, 1885 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 1886 0x41, 0x19, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1887 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 1888 0x65, 0x22, 0x6e, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 1889 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 1890 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 1891 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1892 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 1893 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 1894 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 1895 0x72, 0x22, 0xe4, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 1896 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1897 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 1898 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1899 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 1900 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1901 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 1902 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 1903 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 1904 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 1905 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x76, 1906 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1907 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 1908 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x52, 1909 0x07, 0x6a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x22, 0xbb, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 1910 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 1911 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 1912 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 1913 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 1914 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 1915 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 1916 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x08, 0x6d, 1917 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 1918 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 1919 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 1920 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 1921 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x0b, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 1922 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 1923 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 1924 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1925 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 1926 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 1927 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 1928 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 1929 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 1930 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 1931 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 1932 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 1933 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 1934 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 1935 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1936 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 1937 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 1938 0x42, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 1939 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1940 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 1941 0x2e, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x51, 0x75, 1942 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x72, 1943 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 1944 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x67, 1945 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63, 1946 0x69, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 1947 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x50, 0x72, 1948 0x65, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 1949 0x58, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x71, 0x75, 0x65, 1950 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 1951 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 1952 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 1953 0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 1954 0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 1955 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 1956 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 1957 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 1958 0x77, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 1959 0x66, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 1960 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 1961 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 1962 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 1963 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 1964 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 1965 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x78, 0x0a, 0x15, 0x64, 0x69, 0x76, 1966 0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 1967 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1968 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 1969 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 1970 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 1971 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x64, 1972 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 1973 0x76, 0x65, 0x6c, 0x12, 0x70, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x61, 1974 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 1975 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1976 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 1977 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1978 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 1979 0x66, 0x6f, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 1980 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 1981 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x10, 1982 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 1983 0x77, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xbf, 0x02, 0x0a, 0x11, 0x43, 0x75, 1984 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 1985 0x80, 0x01, 0x0a, 0x10, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 1986 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 1987 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 1988 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 1989 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 1990 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x6d, 0x70, 1991 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 1992 0x02, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 1993 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 1994 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1995 0xe0, 0x41, 0x02, 0x52, 0x11, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 1996 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 1997 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4d, 0x50, 1998 0x4f, 0x52, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 1999 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 2000 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x08, 2001 0x0a, 0x04, 0x4d, 0x49, 0x4c, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 2002 0x55, 0x4d, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x05, 0x12, 0x0b, 2003 0x0a, 0x07, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x45, 0x10, 0x06, 0x22, 0x52, 0x0a, 0x0a, 0x53, 2004 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41, 2005 0x52, 0x43, 0x48, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 2006 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x45, 2007 0x41, 0x52, 0x43, 0x48, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 2008 0x45, 0x44, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, 0x22, 2009 0x57, 0x0a, 0x14, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 2010 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x56, 0x45, 0x52, 2011 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 2012 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 2013 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 2014 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x02, 0x22, 0xcf, 0x08, 0x0a, 0x12, 0x53, 0x65, 0x61, 2015 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 2016 0x60, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 2017 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2018 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 2019 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 2020 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 2021 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 2022 0x73, 0x12, 0x69, 0x0a, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x71, 2023 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 2024 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2025 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2026 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 2027 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x15, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 2028 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 2029 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 2030 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 2031 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2032 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 2033 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 2034 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 2035 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 2036 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 2037 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 2038 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x54, 2039 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 2040 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 2041 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 2042 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2043 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 2044 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2045 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 2046 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x65, 0x64, 0x5f, 2047 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 2048 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x65, 0x6e, 0x65, 2049 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 2050 0x5a, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 2051 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2052 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 2053 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 2054 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x6c, 2055 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, 0x02, 0x0a, 0x0b, 2056 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, 0x03, 0x6a, 2057 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2058 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 2059 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 2060 0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 2061 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2062 0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6e, 2063 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 2064 0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 2065 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6e, 0x69, 0x70, 2066 0x70, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 2067 0x68, 0x54, 0x65, 0x78, 0x74, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x0c, 2068 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 2069 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2070 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2071 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2072 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 2073 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x9b, 0x01, 0x0a, 2074 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0c, 2075 0x6a, 0x6f, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 2076 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2077 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2078 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x4c, 0x6f, 2079 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 2080 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2081 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2082 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x76, 2083 0x65, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x42, 2084 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 2085 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 2086 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 2087 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 2088 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 2089 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 2090 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 2091 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03, 2092 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x42, 0x61, 2093 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 2094 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 2095 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x6a, 0x6f, 2096 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 2097 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 2098 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 2099 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 2100 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 2101 0x41, 0x02, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 2102 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2103 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2104 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 2105 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdd, 0x01, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 2106 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 2107 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2108 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2109 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2110 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 2111 0x6c, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x6a, 0x6f, 2112 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x52, 2113 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 2114 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2115 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2116 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 2117 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2118 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 2119 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x76, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 2120 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 2121 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 2122 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 2123 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x49, 0x4e, 2124 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 2125 0x45, 0x57, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x4f, 2126 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x32, 0xce, 0x12, 2127 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc9, 0x01, 0x0a, 2128 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 2129 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 2130 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 2131 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2132 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 2133 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x6b, 0x82, 0xd3, 0xe4, 2134 0x93, 0x02, 0x58, 0x22, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 2135 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 2136 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 2137 0x3a, 0x01, 0x2a, 0x5a, 0x26, 0x22, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 2138 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2139 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0a, 0x70, 0x61, 2140 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x02, 0x0a, 0x0f, 0x42, 0x61, 0x74, 2141 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x33, 0x2e, 0x67, 2142 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 2143 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 2144 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2145 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 2146 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2147 0x22, 0xb3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x22, 0x37, 0x2f, 0x76, 0x34, 0x62, 0x65, 2148 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2149 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 2150 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 2151 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x32, 0x22, 0x2d, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2152 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2153 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 2154 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x70, 0x61, 0x72, 0x65, 2155 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x73, 0xca, 0x41, 0x2c, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x4f, 2156 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 2157 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 2158 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb7, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 2159 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2160 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2161 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 2162 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 2163 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 2164 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2165 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2166 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 2167 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2168 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2169 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2170 0x12, 0xca, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 2171 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 2172 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 2173 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 2174 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 2175 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 2176 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x32, 0x2f, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2177 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2178 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 2179 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x2a, 0x32, 0x25, 0x2f, 2180 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x2e, 0x6e, 0x61, 0x6d, 2181 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 2182 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x02, 2183 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 2184 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2185 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2186 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 2187 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2188 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 2189 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x22, 0x37, 2190 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2191 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 2192 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 2193 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x32, 0x22, 0x2d, 0x2f, 0x76, 2194 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 2195 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 2196 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 2197 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x73, 0xca, 0x41, 0x2c, 0x0a, 2198 0x12, 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 2199 0x75, 0x6c, 0x74, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 2200 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x01, 0x0a, 0x09, 2201 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2202 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 2203 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 2204 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2205 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 2206 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x2b, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 2207 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2208 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 2209 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2210 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2211 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 2212 0x65, 0x12, 0xe4, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 2213 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2214 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 2215 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 2216 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 2217 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 2218 0x74, 0x79, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x22, 0x37, 0x2f, 0x76, 0x34, 2219 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 2220 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 2221 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 2222 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x2f, 0x22, 0x2d, 0x2f, 0x76, 0x34, 0x62, 0x65, 2223 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2224 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 2225 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 2226 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xd1, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 2227 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2228 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 2229 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 2230 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2231 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2232 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2233 0x73, 0x65, 0x22, 0x68, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x2b, 0x2f, 0x76, 0x34, 0x62, 2234 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 2235 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 2236 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x5a, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x34, 0x62, 0x65, 2237 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2238 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x0d, 0x70, 2239 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xdb, 0x01, 0x0a, 2240 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 2241 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 2242 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 2243 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 2244 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 2245 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 2246 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3, 2247 0xe4, 0x93, 0x02, 0x66, 0x22, 0x32, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 2248 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2249 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 2250 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x2d, 0x22, 0x28, 0x2f, 2251 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2252 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 2253 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0xf3, 0x01, 0x0a, 0x12, 0x53, 2254 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x65, 0x72, 2255 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2256 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2257 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2258 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2259 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2260 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2261 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x22, 0x3a, 0x2f, 0x76, 0x34, 0x62, 2262 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 2263 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 2264 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 2265 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x34, 2266 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 2267 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x3a, 0x73, 2268 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a, 2269 0x1a, 0x6c, 0xca, 0x41, 0x13, 0x6a, 0x6f, 0x62, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2270 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x53, 0x68, 0x74, 0x74, 0x70, 0x73, 2271 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 2272 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2273 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 2274 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 2275 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x42, 0x7d, 2276 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2277 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 2278 0x31, 0x42, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 2279 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 2280 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2281 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 2282 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 2283 0x3b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43, 0x54, 0x53, 0x62, 0x06, 0x70, 2284 0x72, 0x6f, 0x74, 0x6f, 0x33, 2285} 2286 2287var ( 2288 file_google_cloud_talent_v4beta1_job_service_proto_rawDescOnce sync.Once 2289 file_google_cloud_talent_v4beta1_job_service_proto_rawDescData = file_google_cloud_talent_v4beta1_job_service_proto_rawDesc 2290) 2291 2292func file_google_cloud_talent_v4beta1_job_service_proto_rawDescGZIP() []byte { 2293 file_google_cloud_talent_v4beta1_job_service_proto_rawDescOnce.Do(func() { 2294 file_google_cloud_talent_v4beta1_job_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_talent_v4beta1_job_service_proto_rawDescData) 2295 }) 2296 return file_google_cloud_talent_v4beta1_job_service_proto_rawDescData 2297} 2298 2299var file_google_cloud_talent_v4beta1_job_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 2300var file_google_cloud_talent_v4beta1_job_service_proto_msgTypes = make([]protoimpl.MessageInfo, 16) 2301var file_google_cloud_talent_v4beta1_job_service_proto_goTypes = []interface{}{ 2302 (JobView)(0), // 0: google.cloud.talent.v4beta1.JobView 2303 (SearchJobsRequest_SearchMode)(0), // 1: google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode 2304 (SearchJobsRequest_DiversificationLevel)(0), // 2: google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel 2305 (SearchJobsRequest_CustomRankingInfo_ImportanceLevel)(0), // 3: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel 2306 (*CreateJobRequest)(nil), // 4: google.cloud.talent.v4beta1.CreateJobRequest 2307 (*GetJobRequest)(nil), // 5: google.cloud.talent.v4beta1.GetJobRequest 2308 (*UpdateJobRequest)(nil), // 6: google.cloud.talent.v4beta1.UpdateJobRequest 2309 (*DeleteJobRequest)(nil), // 7: google.cloud.talent.v4beta1.DeleteJobRequest 2310 (*BatchDeleteJobsRequest)(nil), // 8: google.cloud.talent.v4beta1.BatchDeleteJobsRequest 2311 (*ListJobsRequest)(nil), // 9: google.cloud.talent.v4beta1.ListJobsRequest 2312 (*ListJobsResponse)(nil), // 10: google.cloud.talent.v4beta1.ListJobsResponse 2313 (*SearchJobsRequest)(nil), // 11: google.cloud.talent.v4beta1.SearchJobsRequest 2314 (*SearchJobsResponse)(nil), // 12: google.cloud.talent.v4beta1.SearchJobsResponse 2315 (*BatchCreateJobsRequest)(nil), // 13: google.cloud.talent.v4beta1.BatchCreateJobsRequest 2316 (*BatchUpdateJobsRequest)(nil), // 14: google.cloud.talent.v4beta1.BatchUpdateJobsRequest 2317 (*JobOperationResult)(nil), // 15: google.cloud.talent.v4beta1.JobOperationResult 2318 (*SearchJobsRequest_CustomRankingInfo)(nil), // 16: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo 2319 (*SearchJobsResponse_MatchingJob)(nil), // 17: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob 2320 (*SearchJobsResponse_CommuteInfo)(nil), // 18: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo 2321 (*JobOperationResult_JobResult)(nil), // 19: google.cloud.talent.v4beta1.JobOperationResult.JobResult 2322 (*Job)(nil), // 20: google.cloud.talent.v4beta1.Job 2323 (*fieldmaskpb.FieldMask)(nil), // 21: google.protobuf.FieldMask 2324 (*ResponseMetadata)(nil), // 22: google.cloud.talent.v4beta1.ResponseMetadata 2325 (*RequestMetadata)(nil), // 23: google.cloud.talent.v4beta1.RequestMetadata 2326 (*JobQuery)(nil), // 24: google.cloud.talent.v4beta1.JobQuery 2327 (*HistogramQuery)(nil), // 25: google.cloud.talent.v4beta1.HistogramQuery 2328 (*HistogramQueryResult)(nil), // 26: google.cloud.talent.v4beta1.HistogramQueryResult 2329 (*Location)(nil), // 27: google.cloud.talent.v4beta1.Location 2330 (*SpellingCorrection)(nil), // 28: google.cloud.talent.v4beta1.SpellingCorrection 2331 (*durationpb.Duration)(nil), // 29: google.protobuf.Duration 2332 (*status.Status)(nil), // 30: google.rpc.Status 2333 (*longrunning.Operation)(nil), // 31: google.longrunning.Operation 2334 (*emptypb.Empty)(nil), // 32: google.protobuf.Empty 2335} 2336var file_google_cloud_talent_v4beta1_job_service_proto_depIdxs = []int32{ 2337 20, // 0: google.cloud.talent.v4beta1.CreateJobRequest.job:type_name -> google.cloud.talent.v4beta1.Job 2338 20, // 1: google.cloud.talent.v4beta1.UpdateJobRequest.job:type_name -> google.cloud.talent.v4beta1.Job 2339 21, // 2: google.cloud.talent.v4beta1.UpdateJobRequest.update_mask:type_name -> google.protobuf.FieldMask 2340 0, // 3: google.cloud.talent.v4beta1.ListJobsRequest.job_view:type_name -> google.cloud.talent.v4beta1.JobView 2341 20, // 4: google.cloud.talent.v4beta1.ListJobsResponse.jobs:type_name -> google.cloud.talent.v4beta1.Job 2342 22, // 5: google.cloud.talent.v4beta1.ListJobsResponse.metadata:type_name -> google.cloud.talent.v4beta1.ResponseMetadata 2343 1, // 6: google.cloud.talent.v4beta1.SearchJobsRequest.search_mode:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode 2344 23, // 7: google.cloud.talent.v4beta1.SearchJobsRequest.request_metadata:type_name -> google.cloud.talent.v4beta1.RequestMetadata 2345 24, // 8: google.cloud.talent.v4beta1.SearchJobsRequest.job_query:type_name -> google.cloud.talent.v4beta1.JobQuery 2346 25, // 9: google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries:type_name -> google.cloud.talent.v4beta1.HistogramQuery 2347 0, // 10: google.cloud.talent.v4beta1.SearchJobsRequest.job_view:type_name -> google.cloud.talent.v4beta1.JobView 2348 2, // 11: google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel 2349 16, // 12: google.cloud.talent.v4beta1.SearchJobsRequest.custom_ranking_info:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo 2350 17, // 13: google.cloud.talent.v4beta1.SearchJobsResponse.matching_jobs:type_name -> google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob 2351 26, // 14: google.cloud.talent.v4beta1.SearchJobsResponse.histogram_query_results:type_name -> google.cloud.talent.v4beta1.HistogramQueryResult 2352 27, // 15: google.cloud.talent.v4beta1.SearchJobsResponse.location_filters:type_name -> google.cloud.talent.v4beta1.Location 2353 22, // 16: google.cloud.talent.v4beta1.SearchJobsResponse.metadata:type_name -> google.cloud.talent.v4beta1.ResponseMetadata 2354 28, // 17: google.cloud.talent.v4beta1.SearchJobsResponse.spell_correction:type_name -> google.cloud.talent.v4beta1.SpellingCorrection 2355 20, // 18: google.cloud.talent.v4beta1.BatchCreateJobsRequest.jobs:type_name -> google.cloud.talent.v4beta1.Job 2356 20, // 19: google.cloud.talent.v4beta1.BatchUpdateJobsRequest.jobs:type_name -> google.cloud.talent.v4beta1.Job 2357 21, // 20: google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask:type_name -> google.protobuf.FieldMask 2358 19, // 21: google.cloud.talent.v4beta1.JobOperationResult.job_results:type_name -> google.cloud.talent.v4beta1.JobOperationResult.JobResult 2359 3, // 22: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level:type_name -> google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel 2360 20, // 23: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.job:type_name -> google.cloud.talent.v4beta1.Job 2361 18, // 24: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.commute_info:type_name -> google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo 2362 27, // 25: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.job_location:type_name -> google.cloud.talent.v4beta1.Location 2363 29, // 26: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.travel_duration:type_name -> google.protobuf.Duration 2364 20, // 27: google.cloud.talent.v4beta1.JobOperationResult.JobResult.job:type_name -> google.cloud.talent.v4beta1.Job 2365 30, // 28: google.cloud.talent.v4beta1.JobOperationResult.JobResult.status:type_name -> google.rpc.Status 2366 4, // 29: google.cloud.talent.v4beta1.JobService.CreateJob:input_type -> google.cloud.talent.v4beta1.CreateJobRequest 2367 13, // 30: google.cloud.talent.v4beta1.JobService.BatchCreateJobs:input_type -> google.cloud.talent.v4beta1.BatchCreateJobsRequest 2368 5, // 31: google.cloud.talent.v4beta1.JobService.GetJob:input_type -> google.cloud.talent.v4beta1.GetJobRequest 2369 6, // 32: google.cloud.talent.v4beta1.JobService.UpdateJob:input_type -> google.cloud.talent.v4beta1.UpdateJobRequest 2370 14, // 33: google.cloud.talent.v4beta1.JobService.BatchUpdateJobs:input_type -> google.cloud.talent.v4beta1.BatchUpdateJobsRequest 2371 7, // 34: google.cloud.talent.v4beta1.JobService.DeleteJob:input_type -> google.cloud.talent.v4beta1.DeleteJobRequest 2372 8, // 35: google.cloud.talent.v4beta1.JobService.BatchDeleteJobs:input_type -> google.cloud.talent.v4beta1.BatchDeleteJobsRequest 2373 9, // 36: google.cloud.talent.v4beta1.JobService.ListJobs:input_type -> google.cloud.talent.v4beta1.ListJobsRequest 2374 11, // 37: google.cloud.talent.v4beta1.JobService.SearchJobs:input_type -> google.cloud.talent.v4beta1.SearchJobsRequest 2375 11, // 38: google.cloud.talent.v4beta1.JobService.SearchJobsForAlert:input_type -> google.cloud.talent.v4beta1.SearchJobsRequest 2376 20, // 39: google.cloud.talent.v4beta1.JobService.CreateJob:output_type -> google.cloud.talent.v4beta1.Job 2377 31, // 40: google.cloud.talent.v4beta1.JobService.BatchCreateJobs:output_type -> google.longrunning.Operation 2378 20, // 41: google.cloud.talent.v4beta1.JobService.GetJob:output_type -> google.cloud.talent.v4beta1.Job 2379 20, // 42: google.cloud.talent.v4beta1.JobService.UpdateJob:output_type -> google.cloud.talent.v4beta1.Job 2380 31, // 43: google.cloud.talent.v4beta1.JobService.BatchUpdateJobs:output_type -> google.longrunning.Operation 2381 32, // 44: google.cloud.talent.v4beta1.JobService.DeleteJob:output_type -> google.protobuf.Empty 2382 32, // 45: google.cloud.talent.v4beta1.JobService.BatchDeleteJobs:output_type -> google.protobuf.Empty 2383 10, // 46: google.cloud.talent.v4beta1.JobService.ListJobs:output_type -> google.cloud.talent.v4beta1.ListJobsResponse 2384 12, // 47: google.cloud.talent.v4beta1.JobService.SearchJobs:output_type -> google.cloud.talent.v4beta1.SearchJobsResponse 2385 12, // 48: google.cloud.talent.v4beta1.JobService.SearchJobsForAlert:output_type -> google.cloud.talent.v4beta1.SearchJobsResponse 2386 39, // [39:49] is the sub-list for method output_type 2387 29, // [29:39] is the sub-list for method input_type 2388 29, // [29:29] is the sub-list for extension type_name 2389 29, // [29:29] is the sub-list for extension extendee 2390 0, // [0:29] is the sub-list for field type_name 2391} 2392 2393func init() { file_google_cloud_talent_v4beta1_job_service_proto_init() } 2394func file_google_cloud_talent_v4beta1_job_service_proto_init() { 2395 if File_google_cloud_talent_v4beta1_job_service_proto != nil { 2396 return 2397 } 2398 file_google_cloud_talent_v4beta1_common_proto_init() 2399 file_google_cloud_talent_v4beta1_filters_proto_init() 2400 file_google_cloud_talent_v4beta1_histogram_proto_init() 2401 file_google_cloud_talent_v4beta1_job_proto_init() 2402 if !protoimpl.UnsafeEnabled { 2403 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2404 switch v := v.(*CreateJobRequest); i { 2405 case 0: 2406 return &v.state 2407 case 1: 2408 return &v.sizeCache 2409 case 2: 2410 return &v.unknownFields 2411 default: 2412 return nil 2413 } 2414 } 2415 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2416 switch v := v.(*GetJobRequest); i { 2417 case 0: 2418 return &v.state 2419 case 1: 2420 return &v.sizeCache 2421 case 2: 2422 return &v.unknownFields 2423 default: 2424 return nil 2425 } 2426 } 2427 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2428 switch v := v.(*UpdateJobRequest); i { 2429 case 0: 2430 return &v.state 2431 case 1: 2432 return &v.sizeCache 2433 case 2: 2434 return &v.unknownFields 2435 default: 2436 return nil 2437 } 2438 } 2439 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2440 switch v := v.(*DeleteJobRequest); i { 2441 case 0: 2442 return &v.state 2443 case 1: 2444 return &v.sizeCache 2445 case 2: 2446 return &v.unknownFields 2447 default: 2448 return nil 2449 } 2450 } 2451 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2452 switch v := v.(*BatchDeleteJobsRequest); i { 2453 case 0: 2454 return &v.state 2455 case 1: 2456 return &v.sizeCache 2457 case 2: 2458 return &v.unknownFields 2459 default: 2460 return nil 2461 } 2462 } 2463 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2464 switch v := v.(*ListJobsRequest); i { 2465 case 0: 2466 return &v.state 2467 case 1: 2468 return &v.sizeCache 2469 case 2: 2470 return &v.unknownFields 2471 default: 2472 return nil 2473 } 2474 } 2475 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2476 switch v := v.(*ListJobsResponse); i { 2477 case 0: 2478 return &v.state 2479 case 1: 2480 return &v.sizeCache 2481 case 2: 2482 return &v.unknownFields 2483 default: 2484 return nil 2485 } 2486 } 2487 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2488 switch v := v.(*SearchJobsRequest); i { 2489 case 0: 2490 return &v.state 2491 case 1: 2492 return &v.sizeCache 2493 case 2: 2494 return &v.unknownFields 2495 default: 2496 return nil 2497 } 2498 } 2499 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2500 switch v := v.(*SearchJobsResponse); i { 2501 case 0: 2502 return &v.state 2503 case 1: 2504 return &v.sizeCache 2505 case 2: 2506 return &v.unknownFields 2507 default: 2508 return nil 2509 } 2510 } 2511 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2512 switch v := v.(*BatchCreateJobsRequest); i { 2513 case 0: 2514 return &v.state 2515 case 1: 2516 return &v.sizeCache 2517 case 2: 2518 return &v.unknownFields 2519 default: 2520 return nil 2521 } 2522 } 2523 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2524 switch v := v.(*BatchUpdateJobsRequest); i { 2525 case 0: 2526 return &v.state 2527 case 1: 2528 return &v.sizeCache 2529 case 2: 2530 return &v.unknownFields 2531 default: 2532 return nil 2533 } 2534 } 2535 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2536 switch v := v.(*JobOperationResult); i { 2537 case 0: 2538 return &v.state 2539 case 1: 2540 return &v.sizeCache 2541 case 2: 2542 return &v.unknownFields 2543 default: 2544 return nil 2545 } 2546 } 2547 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2548 switch v := v.(*SearchJobsRequest_CustomRankingInfo); i { 2549 case 0: 2550 return &v.state 2551 case 1: 2552 return &v.sizeCache 2553 case 2: 2554 return &v.unknownFields 2555 default: 2556 return nil 2557 } 2558 } 2559 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2560 switch v := v.(*SearchJobsResponse_MatchingJob); i { 2561 case 0: 2562 return &v.state 2563 case 1: 2564 return &v.sizeCache 2565 case 2: 2566 return &v.unknownFields 2567 default: 2568 return nil 2569 } 2570 } 2571 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2572 switch v := v.(*SearchJobsResponse_CommuteInfo); i { 2573 case 0: 2574 return &v.state 2575 case 1: 2576 return &v.sizeCache 2577 case 2: 2578 return &v.unknownFields 2579 default: 2580 return nil 2581 } 2582 } 2583 file_google_cloud_talent_v4beta1_job_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2584 switch v := v.(*JobOperationResult_JobResult); i { 2585 case 0: 2586 return &v.state 2587 case 1: 2588 return &v.sizeCache 2589 case 2: 2590 return &v.unknownFields 2591 default: 2592 return nil 2593 } 2594 } 2595 } 2596 type x struct{} 2597 out := protoimpl.TypeBuilder{ 2598 File: protoimpl.DescBuilder{ 2599 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2600 RawDescriptor: file_google_cloud_talent_v4beta1_job_service_proto_rawDesc, 2601 NumEnums: 4, 2602 NumMessages: 16, 2603 NumExtensions: 0, 2604 NumServices: 1, 2605 }, 2606 GoTypes: file_google_cloud_talent_v4beta1_job_service_proto_goTypes, 2607 DependencyIndexes: file_google_cloud_talent_v4beta1_job_service_proto_depIdxs, 2608 EnumInfos: file_google_cloud_talent_v4beta1_job_service_proto_enumTypes, 2609 MessageInfos: file_google_cloud_talent_v4beta1_job_service_proto_msgTypes, 2610 }.Build() 2611 File_google_cloud_talent_v4beta1_job_service_proto = out.File 2612 file_google_cloud_talent_v4beta1_job_service_proto_rawDesc = nil 2613 file_google_cloud_talent_v4beta1_job_service_proto_goTypes = nil 2614 file_google_cloud_talent_v4beta1_job_service_proto_depIdxs = nil 2615} 2616 2617// Reference imports to suppress errors if they are not otherwise used. 2618var _ context.Context 2619var _ grpc.ClientConnInterface 2620 2621// This is a compile-time assertion to ensure that this generated file 2622// is compatible with the grpc package it is being compiled against. 2623const _ = grpc.SupportPackageIsVersion6 2624 2625// JobServiceClient is the client API for JobService service. 2626// 2627// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2628type JobServiceClient interface { 2629 // Creates a new job. 2630 // 2631 // Typically, the job becomes searchable within 10 seconds, but it may take 2632 // up to 5 minutes. 2633 CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) 2634 // Begins executing a batch create jobs operation. 2635 BatchCreateJobs(ctx context.Context, in *BatchCreateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2636 // Retrieves the specified job, whose status is OPEN or recently EXPIRED 2637 // within the last 90 days. 2638 GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) 2639 // Updates specified job. 2640 // 2641 // Typically, updated contents become visible in search results within 10 2642 // seconds, but it may take up to 5 minutes. 2643 UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error) 2644 // Begins executing a batch update jobs operation. 2645 BatchUpdateJobs(ctx context.Context, in *BatchUpdateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2646 // Deletes the specified job. 2647 // 2648 // Typically, the job becomes unsearchable within 10 seconds, but it may take 2649 // up to 5 minutes. 2650 DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 2651 // Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter. 2652 BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 2653 // Lists jobs by filter. 2654 ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) 2655 // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 2656 // 2657 // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs 2658 // present in the database, and only returns jobs that the caller has 2659 // permission to search against. 2660 SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) 2661 // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 2662 // 2663 // This API call is intended for the use case of targeting passive job 2664 // seekers (for example, job seekers who have signed up to receive email 2665 // alerts about potential job opportunities), and has different algorithmic 2666 // adjustments that are targeted to passive job seekers. 2667 // 2668 // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs 2669 // present in the database, and only returns jobs the caller has 2670 // permission to search against. 2671 SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) 2672} 2673 2674type jobServiceClient struct { 2675 cc grpc.ClientConnInterface 2676} 2677 2678func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient { 2679 return &jobServiceClient{cc} 2680} 2681 2682func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) { 2683 out := new(Job) 2684 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/CreateJob", in, out, opts...) 2685 if err != nil { 2686 return nil, err 2687 } 2688 return out, nil 2689} 2690 2691func (c *jobServiceClient) BatchCreateJobs(ctx context.Context, in *BatchCreateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2692 out := new(longrunning.Operation) 2693 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchCreateJobs", in, out, opts...) 2694 if err != nil { 2695 return nil, err 2696 } 2697 return out, nil 2698} 2699 2700func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) { 2701 out := new(Job) 2702 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/GetJob", in, out, opts...) 2703 if err != nil { 2704 return nil, err 2705 } 2706 return out, nil 2707} 2708 2709func (c *jobServiceClient) UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error) { 2710 out := new(Job) 2711 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/UpdateJob", in, out, opts...) 2712 if err != nil { 2713 return nil, err 2714 } 2715 return out, nil 2716} 2717 2718func (c *jobServiceClient) BatchUpdateJobs(ctx context.Context, in *BatchUpdateJobsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2719 out := new(longrunning.Operation) 2720 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchUpdateJobs", in, out, opts...) 2721 if err != nil { 2722 return nil, err 2723 } 2724 return out, nil 2725} 2726 2727func (c *jobServiceClient) DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 2728 out := new(emptypb.Empty) 2729 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/DeleteJob", in, out, opts...) 2730 if err != nil { 2731 return nil, err 2732 } 2733 return out, nil 2734} 2735 2736func (c *jobServiceClient) BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 2737 out := new(emptypb.Empty) 2738 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs", in, out, opts...) 2739 if err != nil { 2740 return nil, err 2741 } 2742 return out, nil 2743} 2744 2745func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) { 2746 out := new(ListJobsResponse) 2747 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/ListJobs", in, out, opts...) 2748 if err != nil { 2749 return nil, err 2750 } 2751 return out, nil 2752} 2753 2754func (c *jobServiceClient) SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) { 2755 out := new(SearchJobsResponse) 2756 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobs", in, out, opts...) 2757 if err != nil { 2758 return nil, err 2759 } 2760 return out, nil 2761} 2762 2763func (c *jobServiceClient) SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) { 2764 out := new(SearchJobsResponse) 2765 err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert", in, out, opts...) 2766 if err != nil { 2767 return nil, err 2768 } 2769 return out, nil 2770} 2771 2772// JobServiceServer is the server API for JobService service. 2773type JobServiceServer interface { 2774 // Creates a new job. 2775 // 2776 // Typically, the job becomes searchable within 10 seconds, but it may take 2777 // up to 5 minutes. 2778 CreateJob(context.Context, *CreateJobRequest) (*Job, error) 2779 // Begins executing a batch create jobs operation. 2780 BatchCreateJobs(context.Context, *BatchCreateJobsRequest) (*longrunning.Operation, error) 2781 // Retrieves the specified job, whose status is OPEN or recently EXPIRED 2782 // within the last 90 days. 2783 GetJob(context.Context, *GetJobRequest) (*Job, error) 2784 // Updates specified job. 2785 // 2786 // Typically, updated contents become visible in search results within 10 2787 // seconds, but it may take up to 5 minutes. 2788 UpdateJob(context.Context, *UpdateJobRequest) (*Job, error) 2789 // Begins executing a batch update jobs operation. 2790 BatchUpdateJobs(context.Context, *BatchUpdateJobsRequest) (*longrunning.Operation, error) 2791 // Deletes the specified job. 2792 // 2793 // Typically, the job becomes unsearchable within 10 seconds, but it may take 2794 // up to 5 minutes. 2795 DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error) 2796 // Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter. 2797 BatchDeleteJobs(context.Context, *BatchDeleteJobsRequest) (*emptypb.Empty, error) 2798 // Lists jobs by filter. 2799 ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) 2800 // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 2801 // 2802 // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs 2803 // present in the database, and only returns jobs that the caller has 2804 // permission to search against. 2805 SearchJobs(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) 2806 // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest]. 2807 // 2808 // This API call is intended for the use case of targeting passive job 2809 // seekers (for example, job seekers who have signed up to receive email 2810 // alerts about potential job opportunities), and has different algorithmic 2811 // adjustments that are targeted to passive job seekers. 2812 // 2813 // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs 2814 // present in the database, and only returns jobs the caller has 2815 // permission to search against. 2816 SearchJobsForAlert(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) 2817} 2818 2819// UnimplementedJobServiceServer can be embedded to have forward compatible implementations. 2820type UnimplementedJobServiceServer struct { 2821} 2822 2823func (*UnimplementedJobServiceServer) CreateJob(context.Context, *CreateJobRequest) (*Job, error) { 2824 return nil, status1.Errorf(codes.Unimplemented, "method CreateJob not implemented") 2825} 2826func (*UnimplementedJobServiceServer) BatchCreateJobs(context.Context, *BatchCreateJobsRequest) (*longrunning.Operation, error) { 2827 return nil, status1.Errorf(codes.Unimplemented, "method BatchCreateJobs not implemented") 2828} 2829func (*UnimplementedJobServiceServer) GetJob(context.Context, *GetJobRequest) (*Job, error) { 2830 return nil, status1.Errorf(codes.Unimplemented, "method GetJob not implemented") 2831} 2832func (*UnimplementedJobServiceServer) UpdateJob(context.Context, *UpdateJobRequest) (*Job, error) { 2833 return nil, status1.Errorf(codes.Unimplemented, "method UpdateJob not implemented") 2834} 2835func (*UnimplementedJobServiceServer) BatchUpdateJobs(context.Context, *BatchUpdateJobsRequest) (*longrunning.Operation, error) { 2836 return nil, status1.Errorf(codes.Unimplemented, "method BatchUpdateJobs not implemented") 2837} 2838func (*UnimplementedJobServiceServer) DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error) { 2839 return nil, status1.Errorf(codes.Unimplemented, "method DeleteJob not implemented") 2840} 2841func (*UnimplementedJobServiceServer) BatchDeleteJobs(context.Context, *BatchDeleteJobsRequest) (*emptypb.Empty, error) { 2842 return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteJobs not implemented") 2843} 2844func (*UnimplementedJobServiceServer) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error) { 2845 return nil, status1.Errorf(codes.Unimplemented, "method ListJobs not implemented") 2846} 2847func (*UnimplementedJobServiceServer) SearchJobs(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) { 2848 return nil, status1.Errorf(codes.Unimplemented, "method SearchJobs not implemented") 2849} 2850func (*UnimplementedJobServiceServer) SearchJobsForAlert(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error) { 2851 return nil, status1.Errorf(codes.Unimplemented, "method SearchJobsForAlert not implemented") 2852} 2853 2854func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) { 2855 s.RegisterService(&_JobService_serviceDesc, srv) 2856} 2857 2858func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2859 in := new(CreateJobRequest) 2860 if err := dec(in); err != nil { 2861 return nil, err 2862 } 2863 if interceptor == nil { 2864 return srv.(JobServiceServer).CreateJob(ctx, in) 2865 } 2866 info := &grpc.UnaryServerInfo{ 2867 Server: srv, 2868 FullMethod: "/google.cloud.talent.v4beta1.JobService/CreateJob", 2869 } 2870 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2871 return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest)) 2872 } 2873 return interceptor(ctx, in, info, handler) 2874} 2875 2876func _JobService_BatchCreateJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2877 in := new(BatchCreateJobsRequest) 2878 if err := dec(in); err != nil { 2879 return nil, err 2880 } 2881 if interceptor == nil { 2882 return srv.(JobServiceServer).BatchCreateJobs(ctx, in) 2883 } 2884 info := &grpc.UnaryServerInfo{ 2885 Server: srv, 2886 FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchCreateJobs", 2887 } 2888 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2889 return srv.(JobServiceServer).BatchCreateJobs(ctx, req.(*BatchCreateJobsRequest)) 2890 } 2891 return interceptor(ctx, in, info, handler) 2892} 2893 2894func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2895 in := new(GetJobRequest) 2896 if err := dec(in); err != nil { 2897 return nil, err 2898 } 2899 if interceptor == nil { 2900 return srv.(JobServiceServer).GetJob(ctx, in) 2901 } 2902 info := &grpc.UnaryServerInfo{ 2903 Server: srv, 2904 FullMethod: "/google.cloud.talent.v4beta1.JobService/GetJob", 2905 } 2906 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2907 return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest)) 2908 } 2909 return interceptor(ctx, in, info, handler) 2910} 2911 2912func _JobService_UpdateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2913 in := new(UpdateJobRequest) 2914 if err := dec(in); err != nil { 2915 return nil, err 2916 } 2917 if interceptor == nil { 2918 return srv.(JobServiceServer).UpdateJob(ctx, in) 2919 } 2920 info := &grpc.UnaryServerInfo{ 2921 Server: srv, 2922 FullMethod: "/google.cloud.talent.v4beta1.JobService/UpdateJob", 2923 } 2924 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2925 return srv.(JobServiceServer).UpdateJob(ctx, req.(*UpdateJobRequest)) 2926 } 2927 return interceptor(ctx, in, info, handler) 2928} 2929 2930func _JobService_BatchUpdateJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2931 in := new(BatchUpdateJobsRequest) 2932 if err := dec(in); err != nil { 2933 return nil, err 2934 } 2935 if interceptor == nil { 2936 return srv.(JobServiceServer).BatchUpdateJobs(ctx, in) 2937 } 2938 info := &grpc.UnaryServerInfo{ 2939 Server: srv, 2940 FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchUpdateJobs", 2941 } 2942 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2943 return srv.(JobServiceServer).BatchUpdateJobs(ctx, req.(*BatchUpdateJobsRequest)) 2944 } 2945 return interceptor(ctx, in, info, handler) 2946} 2947 2948func _JobService_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2949 in := new(DeleteJobRequest) 2950 if err := dec(in); err != nil { 2951 return nil, err 2952 } 2953 if interceptor == nil { 2954 return srv.(JobServiceServer).DeleteJob(ctx, in) 2955 } 2956 info := &grpc.UnaryServerInfo{ 2957 Server: srv, 2958 FullMethod: "/google.cloud.talent.v4beta1.JobService/DeleteJob", 2959 } 2960 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2961 return srv.(JobServiceServer).DeleteJob(ctx, req.(*DeleteJobRequest)) 2962 } 2963 return interceptor(ctx, in, info, handler) 2964} 2965 2966func _JobService_BatchDeleteJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2967 in := new(BatchDeleteJobsRequest) 2968 if err := dec(in); err != nil { 2969 return nil, err 2970 } 2971 if interceptor == nil { 2972 return srv.(JobServiceServer).BatchDeleteJobs(ctx, in) 2973 } 2974 info := &grpc.UnaryServerInfo{ 2975 Server: srv, 2976 FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs", 2977 } 2978 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2979 return srv.(JobServiceServer).BatchDeleteJobs(ctx, req.(*BatchDeleteJobsRequest)) 2980 } 2981 return interceptor(ctx, in, info, handler) 2982} 2983 2984func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2985 in := new(ListJobsRequest) 2986 if err := dec(in); err != nil { 2987 return nil, err 2988 } 2989 if interceptor == nil { 2990 return srv.(JobServiceServer).ListJobs(ctx, in) 2991 } 2992 info := &grpc.UnaryServerInfo{ 2993 Server: srv, 2994 FullMethod: "/google.cloud.talent.v4beta1.JobService/ListJobs", 2995 } 2996 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2997 return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest)) 2998 } 2999 return interceptor(ctx, in, info, handler) 3000} 3001 3002func _JobService_SearchJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3003 in := new(SearchJobsRequest) 3004 if err := dec(in); err != nil { 3005 return nil, err 3006 } 3007 if interceptor == nil { 3008 return srv.(JobServiceServer).SearchJobs(ctx, in) 3009 } 3010 info := &grpc.UnaryServerInfo{ 3011 Server: srv, 3012 FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobs", 3013 } 3014 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3015 return srv.(JobServiceServer).SearchJobs(ctx, req.(*SearchJobsRequest)) 3016 } 3017 return interceptor(ctx, in, info, handler) 3018} 3019 3020func _JobService_SearchJobsForAlert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3021 in := new(SearchJobsRequest) 3022 if err := dec(in); err != nil { 3023 return nil, err 3024 } 3025 if interceptor == nil { 3026 return srv.(JobServiceServer).SearchJobsForAlert(ctx, in) 3027 } 3028 info := &grpc.UnaryServerInfo{ 3029 Server: srv, 3030 FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert", 3031 } 3032 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3033 return srv.(JobServiceServer).SearchJobsForAlert(ctx, req.(*SearchJobsRequest)) 3034 } 3035 return interceptor(ctx, in, info, handler) 3036} 3037 3038var _JobService_serviceDesc = grpc.ServiceDesc{ 3039 ServiceName: "google.cloud.talent.v4beta1.JobService", 3040 HandlerType: (*JobServiceServer)(nil), 3041 Methods: []grpc.MethodDesc{ 3042 { 3043 MethodName: "CreateJob", 3044 Handler: _JobService_CreateJob_Handler, 3045 }, 3046 { 3047 MethodName: "BatchCreateJobs", 3048 Handler: _JobService_BatchCreateJobs_Handler, 3049 }, 3050 { 3051 MethodName: "GetJob", 3052 Handler: _JobService_GetJob_Handler, 3053 }, 3054 { 3055 MethodName: "UpdateJob", 3056 Handler: _JobService_UpdateJob_Handler, 3057 }, 3058 { 3059 MethodName: "BatchUpdateJobs", 3060 Handler: _JobService_BatchUpdateJobs_Handler, 3061 }, 3062 { 3063 MethodName: "DeleteJob", 3064 Handler: _JobService_DeleteJob_Handler, 3065 }, 3066 { 3067 MethodName: "BatchDeleteJobs", 3068 Handler: _JobService_BatchDeleteJobs_Handler, 3069 }, 3070 { 3071 MethodName: "ListJobs", 3072 Handler: _JobService_ListJobs_Handler, 3073 }, 3074 { 3075 MethodName: "SearchJobs", 3076 Handler: _JobService_SearchJobs_Handler, 3077 }, 3078 { 3079 MethodName: "SearchJobsForAlert", 3080 Handler: _JobService_SearchJobsForAlert_Handler, 3081 }, 3082 }, 3083 Streams: []grpc.StreamDesc{}, 3084 Metadata: "google/cloud/talent/v4beta1/job_service.proto", 3085} 3086