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