1// Copyright 2020 Google LLC. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated file. DO NOT EDIT. 6 7// Package jobs provides access to the Cloud Talent Solution API. 8// 9// For product documentation, see: https://cloud.google.com/talent-solution/job-search/docs/ 10// 11// Creating a client 12// 13// Usage example: 14// 15// import "google.golang.org/api/jobs/v3p1beta1" 16// ... 17// ctx := context.Background() 18// jobsService, err := jobs.NewService(ctx) 19// 20// In this example, Google Application Default Credentials are used for authentication. 21// 22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23// 24// Other authentication options 25// 26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 27// 28// jobsService, err := jobs.NewService(ctx, option.WithScopes(jobs.JobsScope)) 29// 30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 31// 32// jobsService, err := jobs.NewService(ctx, option.WithAPIKey("AIza...")) 33// 34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 35// 36// config := &oauth2.Config{...} 37// // ... 38// token, err := config.Exchange(ctx, ...) 39// jobsService, err := jobs.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 40// 41// See https://godoc.org/google.golang.org/api/option/ for details on options. 42package jobs // import "google.golang.org/api/jobs/v3p1beta1" 43 44import ( 45 "bytes" 46 "context" 47 "encoding/json" 48 "errors" 49 "fmt" 50 "io" 51 "net/http" 52 "net/url" 53 "strconv" 54 "strings" 55 56 googleapi "google.golang.org/api/googleapi" 57 gensupport "google.golang.org/api/internal/gensupport" 58 option "google.golang.org/api/option" 59 internaloption "google.golang.org/api/option/internaloption" 60 htransport "google.golang.org/api/transport/http" 61) 62 63// Always reference these packages, just in case the auto-generated code 64// below doesn't. 65var _ = bytes.NewBuffer 66var _ = strconv.Itoa 67var _ = fmt.Sprintf 68var _ = json.NewDecoder 69var _ = io.Copy 70var _ = url.Parse 71var _ = gensupport.MarshalJSON 72var _ = googleapi.Version 73var _ = errors.New 74var _ = strings.Replace 75var _ = context.Canceled 76var _ = internaloption.WithDefaultEndpoint 77 78const apiId = "jobs:v3p1beta1" 79const apiName = "jobs" 80const apiVersion = "v3p1beta1" 81const basePath = "https://jobs.googleapis.com/" 82 83// OAuth2 scopes used by this API. 84const ( 85 // View and manage your data across Google Cloud Platform services 86 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 87 88 // Manage job postings 89 JobsScope = "https://www.googleapis.com/auth/jobs" 90) 91 92// NewService creates a new Service. 93func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 94 scopesOption := option.WithScopes( 95 "https://www.googleapis.com/auth/cloud-platform", 96 "https://www.googleapis.com/auth/jobs", 97 ) 98 // NOTE: prepend, so we don't override user-specified scopes. 99 opts = append([]option.ClientOption{scopesOption}, opts...) 100 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 101 client, endpoint, err := htransport.NewClient(ctx, opts...) 102 if err != nil { 103 return nil, err 104 } 105 s, err := New(client) 106 if err != nil { 107 return nil, err 108 } 109 if endpoint != "" { 110 s.BasePath = endpoint 111 } 112 return s, nil 113} 114 115// New creates a new Service. It uses the provided http.Client for requests. 116// 117// Deprecated: please use NewService instead. 118// To provide a custom HTTP client, use option.WithHTTPClient. 119// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 120func New(client *http.Client) (*Service, error) { 121 if client == nil { 122 return nil, errors.New("client is nil") 123 } 124 s := &Service{client: client, BasePath: basePath} 125 s.Projects = NewProjectsService(s) 126 return s, nil 127} 128 129type Service struct { 130 client *http.Client 131 BasePath string // API endpoint base URL 132 UserAgent string // optional additional User-Agent fragment 133 134 Projects *ProjectsService 135} 136 137func (s *Service) userAgent() string { 138 if s.UserAgent == "" { 139 return googleapi.UserAgent 140 } 141 return googleapi.UserAgent + " " + s.UserAgent 142} 143 144func NewProjectsService(s *Service) *ProjectsService { 145 rs := &ProjectsService{s: s} 146 rs.ClientEvents = NewProjectsClientEventsService(s) 147 rs.Companies = NewProjectsCompaniesService(s) 148 rs.Jobs = NewProjectsJobsService(s) 149 rs.Operations = NewProjectsOperationsService(s) 150 return rs 151} 152 153type ProjectsService struct { 154 s *Service 155 156 ClientEvents *ProjectsClientEventsService 157 158 Companies *ProjectsCompaniesService 159 160 Jobs *ProjectsJobsService 161 162 Operations *ProjectsOperationsService 163} 164 165func NewProjectsClientEventsService(s *Service) *ProjectsClientEventsService { 166 rs := &ProjectsClientEventsService{s: s} 167 return rs 168} 169 170type ProjectsClientEventsService struct { 171 s *Service 172} 173 174func NewProjectsCompaniesService(s *Service) *ProjectsCompaniesService { 175 rs := &ProjectsCompaniesService{s: s} 176 return rs 177} 178 179type ProjectsCompaniesService struct { 180 s *Service 181} 182 183func NewProjectsJobsService(s *Service) *ProjectsJobsService { 184 rs := &ProjectsJobsService{s: s} 185 return rs 186} 187 188type ProjectsJobsService struct { 189 s *Service 190} 191 192func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { 193 rs := &ProjectsOperationsService{s: s} 194 return rs 195} 196 197type ProjectsOperationsService struct { 198 s *Service 199} 200 201// ApplicationInfo: Application related details of a job posting. 202type ApplicationInfo struct { 203 // Emails: Optional but at least one of uris, 204 // emails or instruction must be 205 // specified. 206 // 207 // Use this field to specify email address(es) to which resumes 208 // or 209 // applications can be sent. 210 // 211 // The maximum number of allowed characters for each entry is 255. 212 Emails []string `json:"emails,omitempty"` 213 214 // Instruction: Optional but at least one of uris, 215 // emails or instruction must be 216 // specified. 217 // 218 // Use this field to provide instructions, such as "Mail your 219 // application 220 // to ...", that a candidate can follow to apply for the job. 221 // 222 // This field accepts and sanitizes HTML input, and also accepts 223 // bold, italic, ordered list, and unordered list markup tags. 224 // 225 // The maximum number of allowed characters is 3,000. 226 Instruction string `json:"instruction,omitempty"` 227 228 // Uris: Optional but at least one of uris, 229 // emails or instruction must be 230 // specified. 231 // 232 // Use this URI field to direct an applicant to a website, for example 233 // to 234 // link to an online application form. 235 // 236 // The maximum number of allowed characters for each entry is 2,000. 237 Uris []string `json:"uris,omitempty"` 238 239 // ForceSendFields is a list of field names (e.g. "Emails") to 240 // unconditionally include in API requests. By default, fields with 241 // empty values are omitted from API requests. However, any non-pointer, 242 // non-interface field appearing in ForceSendFields will be sent to the 243 // server regardless of whether the field is empty or not. This may be 244 // used to include empty fields in Patch requests. 245 ForceSendFields []string `json:"-"` 246 247 // NullFields is a list of field names (e.g. "Emails") to include in API 248 // requests with the JSON null value. By default, fields with empty 249 // values are omitted from API requests. However, any field with an 250 // empty value appearing in NullFields will be sent to the server as 251 // null. It is an error if a field in this list has a non-empty value. 252 // This may be used to include null fields in Patch requests. 253 NullFields []string `json:"-"` 254} 255 256func (s *ApplicationInfo) MarshalJSON() ([]byte, error) { 257 type NoMethod ApplicationInfo 258 raw := NoMethod(*s) 259 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 260} 261 262// BatchDeleteJobsRequest: Input only. 263// 264// Batch delete jobs request. 265type BatchDeleteJobsRequest struct { 266 // Filter: Required. The filter string specifies the jobs to be 267 // deleted. 268 // 269 // Supported operator: =, AND 270 // 271 // The fields eligible for filtering are: 272 // 273 // * `companyName` (Required) 274 // * `requisitionId` (Required) 275 // 276 // Sample Query: companyName = "projects/api-test-project/companies/123" 277 // AND 278 // requisitionId = "req-1" 279 Filter string `json:"filter,omitempty"` 280 281 // ForceSendFields is a list of field names (e.g. "Filter") to 282 // unconditionally include in API requests. By default, fields with 283 // empty values are omitted from API requests. However, any non-pointer, 284 // non-interface field appearing in ForceSendFields will be sent to the 285 // server regardless of whether the field is empty or not. This may be 286 // used to include empty fields in Patch requests. 287 ForceSendFields []string `json:"-"` 288 289 // NullFields is a list of field names (e.g. "Filter") to include in API 290 // requests with the JSON null value. By default, fields with empty 291 // values are omitted from API requests. However, any field with an 292 // empty value appearing in NullFields will be sent to the server as 293 // null. It is an error if a field in this list has a non-empty value. 294 // This may be used to include null fields in Patch requests. 295 NullFields []string `json:"-"` 296} 297 298func (s *BatchDeleteJobsRequest) MarshalJSON() ([]byte, error) { 299 type NoMethod BatchDeleteJobsRequest 300 raw := NoMethod(*s) 301 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 302} 303 304// BucketRange: Represents starting and ending value of a range in 305// double. 306type BucketRange struct { 307 // From: Starting value of the bucket range. 308 From float64 `json:"from,omitempty"` 309 310 // To: Ending value of the bucket range. 311 To float64 `json:"to,omitempty"` 312 313 // ForceSendFields is a list of field names (e.g. "From") to 314 // unconditionally include in API requests. By default, fields with 315 // empty values are omitted from API requests. However, any non-pointer, 316 // non-interface field appearing in ForceSendFields will be sent to the 317 // server regardless of whether the field is empty or not. This may be 318 // used to include empty fields in Patch requests. 319 ForceSendFields []string `json:"-"` 320 321 // NullFields is a list of field names (e.g. "From") to include in API 322 // requests with the JSON null value. By default, fields with empty 323 // values are omitted from API requests. However, any field with an 324 // empty value appearing in NullFields will be sent to the server as 325 // null. It is an error if a field in this list has a non-empty value. 326 // This may be used to include null fields in Patch requests. 327 NullFields []string `json:"-"` 328} 329 330func (s *BucketRange) MarshalJSON() ([]byte, error) { 331 type NoMethod BucketRange 332 raw := NoMethod(*s) 333 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 334} 335 336func (s *BucketRange) UnmarshalJSON(data []byte) error { 337 type NoMethod BucketRange 338 var s1 struct { 339 From gensupport.JSONFloat64 `json:"from"` 340 To gensupport.JSONFloat64 `json:"to"` 341 *NoMethod 342 } 343 s1.NoMethod = (*NoMethod)(s) 344 if err := json.Unmarshal(data, &s1); err != nil { 345 return err 346 } 347 s.From = float64(s1.From) 348 s.To = float64(s1.To) 349 return nil 350} 351 352// BucketizedCount: Represents count of jobs within one bucket. 353type BucketizedCount struct { 354 // Count: Number of jobs whose numeric field value fall into `range`. 355 Count int64 `json:"count,omitempty"` 356 357 // Range: Bucket range on which histogram was performed for the numeric 358 // field, 359 // that is, the count represents number of jobs in this range. 360 Range *BucketRange `json:"range,omitempty"` 361 362 // ForceSendFields is a list of field names (e.g. "Count") to 363 // unconditionally include in API requests. By default, fields with 364 // empty values are omitted from API requests. However, any non-pointer, 365 // non-interface field appearing in ForceSendFields will be sent to the 366 // server regardless of whether the field is empty or not. This may be 367 // used to include empty fields in Patch requests. 368 ForceSendFields []string `json:"-"` 369 370 // NullFields is a list of field names (e.g. "Count") to include in API 371 // requests with the JSON null value. By default, fields with empty 372 // values are omitted from API requests. However, any field with an 373 // empty value appearing in NullFields will be sent to the server as 374 // null. It is an error if a field in this list has a non-empty value. 375 // This may be used to include null fields in Patch requests. 376 NullFields []string `json:"-"` 377} 378 379func (s *BucketizedCount) MarshalJSON() ([]byte, error) { 380 type NoMethod BucketizedCount 381 raw := NoMethod(*s) 382 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 383} 384 385// ClientEvent: An event issued when an end user interacts with the 386// application that 387// implements Cloud Talent Solution. Providing this information improves 388// the 389// quality of search and recommendation for the API clients, enabling 390// the 391// service to perform optimally. The number of events sent must be 392// consistent 393// with other calls, such as job searches, issued to the service by the 394// client. 395type ClientEvent struct { 396 // CreateTime: Required. The timestamp of the event. 397 CreateTime string `json:"createTime,omitempty"` 398 399 // EventId: Required. A unique identifier, generated by the client 400 // application. This `event_id` 401 // is used to establish the relationship between different events 402 // (see parent_event_id). 403 EventId string `json:"eventId,omitempty"` 404 405 // ExtraInfo: Optional. Extra information about this event. Used for 406 // storing information with no 407 // matching field in event payload, for example, user application 408 // specific 409 // context or details. 410 // 411 // At most 20 keys are supported. The maximum total size of all keys 412 // and 413 // values is 2 KB. 414 ExtraInfo map[string]string `json:"extraInfo,omitempty"` 415 416 // JobEvent: A event issued when a job seeker interacts with the 417 // application that 418 // implements Cloud Talent Solution. 419 JobEvent *JobEvent `json:"jobEvent,omitempty"` 420 421 // ParentEventId: Optional. The event_id of an event that resulted in 422 // the current event. For example, a 423 // Job view event usually follows a parent 424 // impression event: A job seeker first does a 425 // search where a list of jobs appears 426 // (impression). The job seeker then selects a 427 // result and views the description of a particular job (Job 428 // view). 429 ParentEventId string `json:"parentEventId,omitempty"` 430 431 // RequestId: Required. A unique ID generated in the API responses. It 432 // can be found in 433 // ResponseMetadata.request_id. 434 RequestId string `json:"requestId,omitempty"` 435 436 // ServerResponse contains the HTTP response code and headers from the 437 // server. 438 googleapi.ServerResponse `json:"-"` 439 440 // ForceSendFields is a list of field names (e.g. "CreateTime") to 441 // unconditionally include in API requests. By default, fields with 442 // empty values are omitted from API requests. However, any non-pointer, 443 // non-interface field appearing in ForceSendFields will be sent to the 444 // server regardless of whether the field is empty or not. This may be 445 // used to include empty fields in Patch requests. 446 ForceSendFields []string `json:"-"` 447 448 // NullFields is a list of field names (e.g. "CreateTime") to include in 449 // API requests with the JSON null value. By default, fields with empty 450 // values are omitted from API requests. However, any field with an 451 // empty value appearing in NullFields will be sent to the server as 452 // null. It is an error if a field in this list has a non-empty value. 453 // This may be used to include null fields in Patch requests. 454 NullFields []string `json:"-"` 455} 456 457func (s *ClientEvent) MarshalJSON() ([]byte, error) { 458 type NoMethod ClientEvent 459 raw := NoMethod(*s) 460 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 461} 462 463// CommuteFilter: Input only. 464// 465// Parameters needed for commute search. 466type CommuteFilter struct { 467 // AllowImpreciseAddresses: Optional. If true, jobs without "precise" 468 // addresses (street level addresses or GPS 469 // coordinates) might also be returned. For city and coarser level 470 // addresses, 471 // text matching is used. If this field is set to false or is not 472 // specified, 473 // only jobs that include precise addresses are returned by 474 // Commute 475 // Search. 476 // 477 // Note: If `allow_imprecise_addresses` is set to true, Commute Search 478 // is not 479 // able to calculate accurate commute times to jobs with city level 480 // and 481 // coarser address information. Jobs with imprecise addresses will 482 // return a 483 // `travel_duration` time of 0 regardless of distance from the job 484 // seeker. 485 AllowImpreciseAddresses bool `json:"allowImpreciseAddresses,omitempty"` 486 487 // CommuteMethod: Required. The method of transportation for which to 488 // calculate the commute time. 489 // 490 // Possible values: 491 // "COMMUTE_METHOD_UNSPECIFIED" - Commute method is not specified. 492 // "DRIVING" - Commute time is calculated based on driving time. 493 // "TRANSIT" - Commute time is calculated based on public transit 494 // including bus, metro, 495 // subway, etc. 496 // "WALKING" - Commute time is calculated based on walking time. 497 // "CYCLING" - Commute time is calculated based on biking time. 498 CommuteMethod string `json:"commuteMethod,omitempty"` 499 500 // DepartureTime: Optional. The departure time used to calculate traffic 501 // impact, represented as 502 // google.type.TimeOfDay in local time zone. 503 // 504 // Currently traffic model is restricted to hour level resolution. 505 DepartureTime *TimeOfDay `json:"departureTime,omitempty"` 506 507 // RoadTraffic: Optional. Specifies the traffic density to use when 508 // calculating commute time. 509 // 510 // Possible values: 511 // "ROAD_TRAFFIC_UNSPECIFIED" - Road traffic situation is not 512 // specified. 513 // "TRAFFIC_FREE" - Optimal commute time without considering any 514 // traffic impact. 515 // "BUSY_HOUR" - Commute time calculation takes in account the peak 516 // traffic impact. 517 RoadTraffic string `json:"roadTraffic,omitempty"` 518 519 // StartCoordinates: Required. The latitude and longitude of the 520 // location from which to calculate the 521 // commute time. 522 StartCoordinates *LatLng `json:"startCoordinates,omitempty"` 523 524 // TravelDuration: Required. The maximum travel time in seconds. The 525 // maximum allowed value is `3600s` 526 // (one hour). Format is `123s`. 527 TravelDuration string `json:"travelDuration,omitempty"` 528 529 // ForceSendFields is a list of field names (e.g. 530 // "AllowImpreciseAddresses") to unconditionally include in API 531 // requests. By default, fields with empty values are omitted from API 532 // requests. However, any non-pointer, non-interface field appearing in 533 // ForceSendFields will be sent to the server regardless of whether the 534 // field is empty or not. This may be used to include empty fields in 535 // Patch requests. 536 ForceSendFields []string `json:"-"` 537 538 // NullFields is a list of field names (e.g. "AllowImpreciseAddresses") 539 // to include in API requests with the JSON null value. By default, 540 // fields with empty values are omitted from API requests. However, any 541 // field with an empty value appearing in NullFields will be sent to the 542 // server as null. It is an error if a field in this list has a 543 // non-empty value. This may be used to include null fields in Patch 544 // requests. 545 NullFields []string `json:"-"` 546} 547 548func (s *CommuteFilter) MarshalJSON() ([]byte, error) { 549 type NoMethod CommuteFilter 550 raw := NoMethod(*s) 551 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 552} 553 554// CommuteInfo: Output only. 555// 556// Commute details related to this job. 557type CommuteInfo struct { 558 // JobLocation: Location used as the destination in the commute 559 // calculation. 560 JobLocation *Location `json:"jobLocation,omitempty"` 561 562 // TravelDuration: The number of seconds required to travel to the job 563 // location from the 564 // query location. A duration of 0 seconds indicates that the job is 565 // not 566 // reachable within the requested duration, but was returned as part of 567 // an 568 // expanded query. 569 TravelDuration string `json:"travelDuration,omitempty"` 570 571 // ForceSendFields is a list of field names (e.g. "JobLocation") to 572 // unconditionally include in API requests. By default, fields with 573 // empty values are omitted from API requests. However, any non-pointer, 574 // non-interface field appearing in ForceSendFields will be sent to the 575 // server regardless of whether the field is empty or not. This may be 576 // used to include empty fields in Patch requests. 577 ForceSendFields []string `json:"-"` 578 579 // NullFields is a list of field names (e.g. "JobLocation") to include 580 // in API requests with the JSON null value. By default, fields with 581 // empty values are omitted from API requests. However, any field with 582 // an empty value appearing in NullFields will be sent to the server as 583 // null. It is an error if a field in this list has a non-empty value. 584 // This may be used to include null fields in Patch requests. 585 NullFields []string `json:"-"` 586} 587 588func (s *CommuteInfo) MarshalJSON() ([]byte, error) { 589 type NoMethod CommuteInfo 590 raw := NoMethod(*s) 591 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 592} 593 594// Company: A Company resource represents a company in the service. A 595// company is the 596// entity that owns job postings, that is, the hiring entity responsible 597// for 598// employing applicants for the job position. 599type Company struct { 600 // CareerSiteUri: Optional. The URI to employer's career site or careers 601 // page on the employer's web 602 // site, for example, "https://careers.google.com". 603 CareerSiteUri string `json:"careerSiteUri,omitempty"` 604 605 // DerivedInfo: Output only. Derived details about the company. 606 DerivedInfo *CompanyDerivedInfo `json:"derivedInfo,omitempty"` 607 608 // DisplayName: Required. The display name of the company, for example, 609 // "Google LLC". 610 DisplayName string `json:"displayName,omitempty"` 611 612 // EeoText: Optional. Equal Employment Opportunity legal disclaimer text 613 // to be 614 // associated with all jobs, and typically to be displayed in 615 // all 616 // roles. 617 // 618 // The maximum number of allowed characters is 500. 619 EeoText string `json:"eeoText,omitempty"` 620 621 // ExternalId: Required. Client side company identifier, used to 622 // uniquely identify the 623 // company. 624 // 625 // The maximum number of allowed characters is 255. 626 ExternalId string `json:"externalId,omitempty"` 627 628 // HeadquartersAddress: Optional. The street address of the company's 629 // main headquarters, which may be 630 // different from the job location. The service attempts 631 // to geolocate the provided address, and populates a more 632 // specific 633 // location wherever possible in DerivedInfo.headquarters_location. 634 HeadquartersAddress string `json:"headquartersAddress,omitempty"` 635 636 // HiringAgency: Optional. Set to true if it is the hiring agency that 637 // post jobs for other 638 // employers. 639 // 640 // Defaults to false if not provided. 641 HiringAgency bool `json:"hiringAgency,omitempty"` 642 643 // ImageUri: Optional. A URI that hosts the employer's company logo. 644 ImageUri string `json:"imageUri,omitempty"` 645 646 // KeywordSearchableJobCustomAttributes: Optional. A list of keys of 647 // filterable Job.custom_attributes, whose 648 // corresponding `string_values` are used in keyword search. Jobs 649 // with 650 // `string_values` under these specified field keys are returned if 651 // any 652 // of the values matches the search keyword. Custom field values 653 // with 654 // parenthesis, brackets and special symbols won't be properly 655 // searchable, 656 // and those keyword queries need to be surrounded by quotes. 657 KeywordSearchableJobCustomAttributes []string `json:"keywordSearchableJobCustomAttributes,omitempty"` 658 659 // Name: Required during company update. 660 // 661 // The resource name for a company. This is generated by the service 662 // when a 663 // company is created. 664 // 665 // The format is "projects/{project_id}/companies/{company_id}", for 666 // example, 667 // "projects/api-test-project/companies/foo". 668 Name string `json:"name,omitempty"` 669 670 // Size: Optional. The employer's company size. 671 // 672 // Possible values: 673 // "COMPANY_SIZE_UNSPECIFIED" - Default value if the size is not 674 // specified. 675 // "MINI" - The company has less than 50 employees. 676 // "SMALL" - The company has between 50 and 99 employees. 677 // "SMEDIUM" - The company has between 100 and 499 employees. 678 // "MEDIUM" - The company has between 500 and 999 employees. 679 // "BIG" - The company has between 1,000 and 4,999 employees. 680 // "BIGGER" - The company has between 5,000 and 9,999 employees. 681 // "GIANT" - The company has 10,000 or more employees. 682 Size string `json:"size,omitempty"` 683 684 // Suspended: Output only. Indicates whether a company is flagged to be 685 // suspended from 686 // public availability by the service when job content appears 687 // suspicious, 688 // abusive, or spammy. 689 Suspended bool `json:"suspended,omitempty"` 690 691 // WebsiteUri: Optional. The URI representing the company's primary web 692 // site or home page, 693 // for example, "https://www.google.com". 694 // 695 // The maximum number of allowed characters is 255. 696 WebsiteUri string `json:"websiteUri,omitempty"` 697 698 // ServerResponse contains the HTTP response code and headers from the 699 // server. 700 googleapi.ServerResponse `json:"-"` 701 702 // ForceSendFields is a list of field names (e.g. "CareerSiteUri") to 703 // unconditionally include in API requests. By default, fields with 704 // empty values are omitted from API requests. However, any non-pointer, 705 // non-interface field appearing in ForceSendFields will be sent to the 706 // server regardless of whether the field is empty or not. This may be 707 // used to include empty fields in Patch requests. 708 ForceSendFields []string `json:"-"` 709 710 // NullFields is a list of field names (e.g. "CareerSiteUri") to include 711 // in API requests with the JSON null value. By default, fields with 712 // empty values are omitted from API requests. However, any field with 713 // an empty value appearing in NullFields will be sent to the server as 714 // null. It is an error if a field in this list has a non-empty value. 715 // This may be used to include null fields in Patch requests. 716 NullFields []string `json:"-"` 717} 718 719func (s *Company) MarshalJSON() ([]byte, error) { 720 type NoMethod Company 721 raw := NoMethod(*s) 722 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 723} 724 725// CompanyDerivedInfo: Derived details about the company. 726type CompanyDerivedInfo struct { 727 // HeadquartersLocation: A structured headquarters location of the 728 // company, resolved from 729 // Company.hq_location if provided. 730 HeadquartersLocation *Location `json:"headquartersLocation,omitempty"` 731 732 // ForceSendFields is a list of field names (e.g. 733 // "HeadquartersLocation") to unconditionally include in API requests. 734 // By default, fields with empty values are omitted from API requests. 735 // However, any non-pointer, non-interface field appearing in 736 // ForceSendFields will be sent to the server regardless of whether the 737 // field is empty or not. This may be used to include empty fields in 738 // Patch requests. 739 ForceSendFields []string `json:"-"` 740 741 // NullFields is a list of field names (e.g. "HeadquartersLocation") to 742 // include in API requests with the JSON null value. By default, fields 743 // with empty values are omitted from API requests. However, any field 744 // with an empty value appearing in NullFields will be sent to the 745 // server as null. It is an error if a field in this list has a 746 // non-empty value. This may be used to include null fields in Patch 747 // requests. 748 NullFields []string `json:"-"` 749} 750 751func (s *CompanyDerivedInfo) MarshalJSON() ([]byte, error) { 752 type NoMethod CompanyDerivedInfo 753 raw := NoMethod(*s) 754 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 755} 756 757// CompensationEntry: A compensation entry that represents one component 758// of compensation, such 759// as base pay, bonus, or other compensation type. 760// 761// Annualization: One compensation entry can be annualized if 762// - it contains valid amount or range. 763// - and its expected_units_per_year is set or can be derived. 764// Its annualized range is determined as (amount or range) 765// times 766// expected_units_per_year. 767type CompensationEntry struct { 768 // Amount: Optional. Compensation amount. 769 Amount *Money `json:"amount,omitempty"` 770 771 // Description: Optional. Compensation description. For example, 772 // could 773 // indicate equity terms or provide additional context to an 774 // estimated 775 // bonus. 776 Description string `json:"description,omitempty"` 777 778 // ExpectedUnitsPerYear: Optional. Expected number of units paid each 779 // year. If not specified, when 780 // Job.employment_types is FULLTIME, a default value is inferred 781 // based on unit. Default values: 782 // - HOURLY: 2080 783 // - DAILY: 260 784 // - WEEKLY: 52 785 // - MONTHLY: 12 786 // - ANNUAL: 1 787 ExpectedUnitsPerYear float64 `json:"expectedUnitsPerYear,omitempty"` 788 789 // Range: Optional. Compensation range. 790 Range *CompensationRange `json:"range,omitempty"` 791 792 // Type: Optional. Compensation type. 793 // 794 // Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED. 795 // 796 // Possible values: 797 // "COMPENSATION_TYPE_UNSPECIFIED" - Default value. 798 // "BASE" - Base compensation: Refers to the fixed amount of money 799 // paid to an 800 // employee by an employer in return for work performed. Base 801 // compensation 802 // does not include benefits, bonuses or any other potential 803 // compensation 804 // from an employer. 805 // "BONUS" - Bonus. 806 // "SIGNING_BONUS" - Signing bonus. 807 // "EQUITY" - Equity. 808 // "PROFIT_SHARING" - Profit sharing. 809 // "COMMISSIONS" - Commission. 810 // "TIPS" - Tips. 811 // "OTHER_COMPENSATION_TYPE" - Other compensation type. 812 Type string `json:"type,omitempty"` 813 814 // Unit: Optional. Frequency of the specified amount. 815 // 816 // Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED. 817 // 818 // Possible values: 819 // "COMPENSATION_UNIT_UNSPECIFIED" - Default value. 820 // "HOURLY" - Hourly. 821 // "DAILY" - Daily. 822 // "WEEKLY" - Weekly 823 // "MONTHLY" - Monthly. 824 // "YEARLY" - Yearly. 825 // "ONE_TIME" - One time. 826 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 827 Unit string `json:"unit,omitempty"` 828 829 // ForceSendFields is a list of field names (e.g. "Amount") to 830 // unconditionally include in API requests. By default, fields with 831 // empty values are omitted from API requests. However, any non-pointer, 832 // non-interface field appearing in ForceSendFields will be sent to the 833 // server regardless of whether the field is empty or not. This may be 834 // used to include empty fields in Patch requests. 835 ForceSendFields []string `json:"-"` 836 837 // NullFields is a list of field names (e.g. "Amount") to include in API 838 // requests with the JSON null value. By default, fields with empty 839 // values are omitted from API requests. However, any field with an 840 // empty value appearing in NullFields will be sent to the server as 841 // null. It is an error if a field in this list has a non-empty value. 842 // This may be used to include null fields in Patch requests. 843 NullFields []string `json:"-"` 844} 845 846func (s *CompensationEntry) MarshalJSON() ([]byte, error) { 847 type NoMethod CompensationEntry 848 raw := NoMethod(*s) 849 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 850} 851 852func (s *CompensationEntry) UnmarshalJSON(data []byte) error { 853 type NoMethod CompensationEntry 854 var s1 struct { 855 ExpectedUnitsPerYear gensupport.JSONFloat64 `json:"expectedUnitsPerYear"` 856 *NoMethod 857 } 858 s1.NoMethod = (*NoMethod)(s) 859 if err := json.Unmarshal(data, &s1); err != nil { 860 return err 861 } 862 s.ExpectedUnitsPerYear = float64(s1.ExpectedUnitsPerYear) 863 return nil 864} 865 866// CompensationFilter: Input only. 867// 868// Filter on job compensation type and amount. 869type CompensationFilter struct { 870 // IncludeJobsWithUnspecifiedCompensationRange: Optional. If set to 871 // true, jobs with unspecified compensation range fields are 872 // included. 873 IncludeJobsWithUnspecifiedCompensationRange bool `json:"includeJobsWithUnspecifiedCompensationRange,omitempty"` 874 875 // Range: Optional. Compensation range. 876 Range *CompensationRange `json:"range,omitempty"` 877 878 // Type: Required. Type of filter. 879 // 880 // Possible values: 881 // "FILTER_TYPE_UNSPECIFIED" - Filter type unspecified. Position 882 // holder, INVALID, should never be used. 883 // "UNIT_ONLY" - Filter by `base compensation entry's` unit. A job is 884 // a match if and 885 // only if the job contains a base CompensationEntry and the 886 // base 887 // CompensationEntry's unit matches provided units. 888 // Populate one or more units. 889 // 890 // See CompensationInfo.CompensationEntry for definition of 891 // base compensation entry. 892 // "UNIT_AND_AMOUNT" - Filter by `base compensation entry's` unit and 893 // amount / range. A job 894 // is a match if and only if the job contains a base CompensationEntry, 895 // and 896 // the base entry's unit matches provided compensation_units and 897 // amount 898 // or range overlaps with provided compensation_range. 899 // 900 // See CompensationInfo.CompensationEntry for definition of 901 // base compensation entry. 902 // 903 // Set exactly one units and populate range. 904 // "ANNUALIZED_BASE_AMOUNT" - Filter by annualized base compensation 905 // amount and `base compensation 906 // entry's` unit. Populate range and zero or more units. 907 // "ANNUALIZED_TOTAL_AMOUNT" - Filter by annualized total compensation 908 // amount and `base compensation 909 // entry's` unit . Populate range and zero or more units. 910 Type string `json:"type,omitempty"` 911 912 // Units: Required. Specify desired `base compensation 913 // entry's` 914 // CompensationInfo.CompensationUnit. 915 // 916 // Possible values: 917 // "COMPENSATION_UNIT_UNSPECIFIED" - Default value. 918 // "HOURLY" - Hourly. 919 // "DAILY" - Daily. 920 // "WEEKLY" - Weekly 921 // "MONTHLY" - Monthly. 922 // "YEARLY" - Yearly. 923 // "ONE_TIME" - One time. 924 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 925 Units []string `json:"units,omitempty"` 926 927 // ForceSendFields is a list of field names (e.g. 928 // "IncludeJobsWithUnspecifiedCompensationRange") to unconditionally 929 // include in API requests. By default, fields with empty values are 930 // omitted from API requests. However, any non-pointer, non-interface 931 // field appearing in ForceSendFields will be sent to the server 932 // regardless of whether the field is empty or not. This may be used to 933 // include empty fields in Patch requests. 934 ForceSendFields []string `json:"-"` 935 936 // NullFields is a list of field names (e.g. 937 // "IncludeJobsWithUnspecifiedCompensationRange") to include in API 938 // requests with the JSON null value. By default, fields with empty 939 // values are omitted from API requests. However, any field with an 940 // empty value appearing in NullFields will be sent to the server as 941 // null. It is an error if a field in this list has a non-empty value. 942 // This may be used to include null fields in Patch requests. 943 NullFields []string `json:"-"` 944} 945 946func (s *CompensationFilter) MarshalJSON() ([]byte, error) { 947 type NoMethod CompensationFilter 948 raw := NoMethod(*s) 949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 950} 951 952// CompensationHistogramRequest: Input only. 953// 954// Compensation based histogram request. 955type CompensationHistogramRequest struct { 956 // BucketingOption: Required. Numeric histogram options, like buckets, 957 // whether include min or max value. 958 BucketingOption *NumericBucketingOption `json:"bucketingOption,omitempty"` 959 960 // Type: Required. Type of the request, representing which field the 961 // histogramming should be 962 // performed over. A single request can only specify one histogram of 963 // each 964 // `CompensationHistogramRequestType`. 965 // 966 // Possible values: 967 // "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value. 968 // Invalid. 969 // "BASE" - Histogram by job's base compensation. See 970 // CompensationEntry for 971 // definition of base compensation. 972 // "ANNUALIZED_BASE" - Histogram by job's annualized base 973 // compensation. See CompensationEntry 974 // for definition of annualized base compensation. 975 // "ANNUALIZED_TOTAL" - Histogram by job's annualized total 976 // compensation. See CompensationEntry 977 // for definition of annualized total compensation. 978 Type string `json:"type,omitempty"` 979 980 // ForceSendFields is a list of field names (e.g. "BucketingOption") to 981 // unconditionally include in API requests. By default, fields with 982 // empty values are omitted from API requests. However, any non-pointer, 983 // non-interface field appearing in ForceSendFields will be sent to the 984 // server regardless of whether the field is empty or not. This may be 985 // used to include empty fields in Patch requests. 986 ForceSendFields []string `json:"-"` 987 988 // NullFields is a list of field names (e.g. "BucketingOption") to 989 // include in API requests with the JSON null value. By default, fields 990 // with empty values are omitted from API requests. However, any field 991 // with an empty value appearing in NullFields will be sent to the 992 // server as null. It is an error if a field in this list has a 993 // non-empty value. This may be used to include null fields in Patch 994 // requests. 995 NullFields []string `json:"-"` 996} 997 998func (s *CompensationHistogramRequest) MarshalJSON() ([]byte, error) { 999 type NoMethod CompensationHistogramRequest 1000 raw := NoMethod(*s) 1001 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1002} 1003 1004// CompensationHistogramResult: Output only. 1005// 1006// Compensation based histogram result. 1007type CompensationHistogramResult struct { 1008 // Result: Histogram result. 1009 Result *NumericBucketingResult `json:"result,omitempty"` 1010 1011 // Type: Type of the request, corresponding 1012 // to 1013 // CompensationHistogramRequest.type. 1014 // 1015 // Possible values: 1016 // "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value. 1017 // Invalid. 1018 // "BASE" - Histogram by job's base compensation. See 1019 // CompensationEntry for 1020 // definition of base compensation. 1021 // "ANNUALIZED_BASE" - Histogram by job's annualized base 1022 // compensation. See CompensationEntry 1023 // for definition of annualized base compensation. 1024 // "ANNUALIZED_TOTAL" - Histogram by job's annualized total 1025 // compensation. See CompensationEntry 1026 // for definition of annualized total compensation. 1027 Type string `json:"type,omitempty"` 1028 1029 // ForceSendFields is a list of field names (e.g. "Result") to 1030 // unconditionally include in API requests. By default, fields with 1031 // empty values are omitted from API requests. However, any non-pointer, 1032 // non-interface field appearing in ForceSendFields will be sent to the 1033 // server regardless of whether the field is empty or not. This may be 1034 // used to include empty fields in Patch requests. 1035 ForceSendFields []string `json:"-"` 1036 1037 // NullFields is a list of field names (e.g. "Result") to include in API 1038 // requests with the JSON null value. By default, fields with empty 1039 // values are omitted from API requests. However, any field with an 1040 // empty value appearing in NullFields will be sent to the server as 1041 // null. It is an error if a field in this list has a non-empty value. 1042 // This may be used to include null fields in Patch requests. 1043 NullFields []string `json:"-"` 1044} 1045 1046func (s *CompensationHistogramResult) MarshalJSON() ([]byte, error) { 1047 type NoMethod CompensationHistogramResult 1048 raw := NoMethod(*s) 1049 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1050} 1051 1052// CompensationInfo: Job compensation details. 1053type CompensationInfo struct { 1054 // AnnualizedBaseCompensationRange: Output only. Annualized base 1055 // compensation range. Computed as 1056 // base compensation entry's CompensationEntry.compensation 1057 // times 1058 // CompensationEntry.expected_units_per_year. 1059 // 1060 // See CompensationEntry for explanation on compensation annualization. 1061 AnnualizedBaseCompensationRange *CompensationRange `json:"annualizedBaseCompensationRange,omitempty"` 1062 1063 // AnnualizedTotalCompensationRange: Output only. Annualized total 1064 // compensation range. Computed as 1065 // all compensation entries' CompensationEntry.compensation 1066 // times 1067 // CompensationEntry.expected_units_per_year. 1068 // 1069 // See CompensationEntry for explanation on compensation annualization. 1070 AnnualizedTotalCompensationRange *CompensationRange `json:"annualizedTotalCompensationRange,omitempty"` 1071 1072 // Entries: Optional. Job compensation information. 1073 // 1074 // At most one entry can be of 1075 // type 1076 // CompensationInfo.CompensationType.BASE, which is 1077 // referred as ** base compensation entry ** for the job. 1078 Entries []*CompensationEntry `json:"entries,omitempty"` 1079 1080 // ForceSendFields is a list of field names (e.g. 1081 // "AnnualizedBaseCompensationRange") to unconditionally include in API 1082 // requests. By default, fields with empty values are omitted from API 1083 // requests. However, any non-pointer, non-interface field appearing in 1084 // ForceSendFields will be sent to the server regardless of whether the 1085 // field is empty or not. This may be used to include empty fields in 1086 // Patch requests. 1087 ForceSendFields []string `json:"-"` 1088 1089 // NullFields is a list of field names (e.g. 1090 // "AnnualizedBaseCompensationRange") to include in API requests with 1091 // the JSON null value. By default, fields with empty values are omitted 1092 // from API requests. However, any field with an empty value appearing 1093 // in NullFields will be sent to the server as null. It is an error if a 1094 // field in this list has a non-empty value. This may be used to include 1095 // null fields in Patch requests. 1096 NullFields []string `json:"-"` 1097} 1098 1099func (s *CompensationInfo) MarshalJSON() ([]byte, error) { 1100 type NoMethod CompensationInfo 1101 raw := NoMethod(*s) 1102 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1103} 1104 1105// CompensationRange: Compensation range. 1106type CompensationRange struct { 1107 // MaxCompensation: Optional. The maximum amount of compensation. If 1108 // left empty, the value is set 1109 // to a maximal compensation value and the currency code is set to 1110 // match the currency code of 1111 // min_compensation. 1112 MaxCompensation *Money `json:"maxCompensation,omitempty"` 1113 1114 // MinCompensation: Optional. The minimum amount of compensation. If 1115 // left empty, the value is set 1116 // to zero and the currency code is set to match the 1117 // currency code of max_compensation. 1118 MinCompensation *Money `json:"minCompensation,omitempty"` 1119 1120 // ForceSendFields is a list of field names (e.g. "MaxCompensation") to 1121 // unconditionally include in API requests. By default, fields with 1122 // empty values are omitted from API requests. However, any non-pointer, 1123 // non-interface field appearing in ForceSendFields will be sent to the 1124 // server regardless of whether the field is empty or not. This may be 1125 // used to include empty fields in Patch requests. 1126 ForceSendFields []string `json:"-"` 1127 1128 // NullFields is a list of field names (e.g. "MaxCompensation") to 1129 // include in API requests with the JSON null value. By default, fields 1130 // with empty values are omitted from API requests. However, any field 1131 // with an empty value appearing in NullFields will be sent to the 1132 // server as null. It is an error if a field in this list has a 1133 // non-empty value. This may be used to include null fields in Patch 1134 // requests. 1135 NullFields []string `json:"-"` 1136} 1137 1138func (s *CompensationRange) MarshalJSON() ([]byte, error) { 1139 type NoMethod CompensationRange 1140 raw := NoMethod(*s) 1141 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1142} 1143 1144// CompleteQueryResponse: Output only. 1145// 1146// Response of auto-complete query. 1147type CompleteQueryResponse struct { 1148 // CompletionResults: Results of the matching job/company candidates. 1149 CompletionResults []*CompletionResult `json:"completionResults,omitempty"` 1150 1151 // Metadata: Additional information for the API invocation, such as the 1152 // request 1153 // tracking id. 1154 Metadata *ResponseMetadata `json:"metadata,omitempty"` 1155 1156 // ServerResponse contains the HTTP response code and headers from the 1157 // server. 1158 googleapi.ServerResponse `json:"-"` 1159 1160 // ForceSendFields is a list of field names (e.g. "CompletionResults") 1161 // to unconditionally include in API requests. By default, fields with 1162 // empty values are omitted from API requests. However, any non-pointer, 1163 // non-interface field appearing in ForceSendFields will be sent to the 1164 // server regardless of whether the field is empty or not. This may be 1165 // used to include empty fields in Patch requests. 1166 ForceSendFields []string `json:"-"` 1167 1168 // NullFields is a list of field names (e.g. "CompletionResults") to 1169 // include in API requests with the JSON null value. By default, fields 1170 // with empty values are omitted from API requests. However, any field 1171 // with an empty value appearing in NullFields will be sent to the 1172 // server as null. It is an error if a field in this list has a 1173 // non-empty value. This may be used to include null fields in Patch 1174 // requests. 1175 NullFields []string `json:"-"` 1176} 1177 1178func (s *CompleteQueryResponse) MarshalJSON() ([]byte, error) { 1179 type NoMethod CompleteQueryResponse 1180 raw := NoMethod(*s) 1181 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1182} 1183 1184// CompletionResult: Output only. 1185// 1186// Resource that represents completion results. 1187type CompletionResult struct { 1188 // ImageUri: The URI of the company image for 1189 // CompletionType.COMPANY_NAME. 1190 ImageUri string `json:"imageUri,omitempty"` 1191 1192 // Suggestion: The suggestion for the query. 1193 Suggestion string `json:"suggestion,omitempty"` 1194 1195 // Type: The completion topic. 1196 // 1197 // Possible values: 1198 // "COMPLETION_TYPE_UNSPECIFIED" - Default value. 1199 // "JOB_TITLE" - Only suggest job titles. 1200 // "COMPANY_NAME" - Only suggest company names. 1201 // "COMBINED" - Suggest both job titles and company names. 1202 Type string `json:"type,omitempty"` 1203 1204 // ForceSendFields is a list of field names (e.g. "ImageUri") to 1205 // unconditionally include in API requests. By default, fields with 1206 // empty values are omitted from API requests. However, any non-pointer, 1207 // non-interface field appearing in ForceSendFields will be sent to the 1208 // server regardless of whether the field is empty or not. This may be 1209 // used to include empty fields in Patch requests. 1210 ForceSendFields []string `json:"-"` 1211 1212 // NullFields is a list of field names (e.g. "ImageUri") to include in 1213 // API requests with the JSON null value. By default, fields with empty 1214 // values are omitted from API requests. However, any field with an 1215 // empty value appearing in NullFields will be sent to the server as 1216 // null. It is an error if a field in this list has a non-empty value. 1217 // This may be used to include null fields in Patch requests. 1218 NullFields []string `json:"-"` 1219} 1220 1221func (s *CompletionResult) MarshalJSON() ([]byte, error) { 1222 type NoMethod CompletionResult 1223 raw := NoMethod(*s) 1224 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1225} 1226 1227// CreateClientEventRequest: The report event request. 1228type CreateClientEventRequest struct { 1229 // ClientEvent: Required. Events issued when end user interacts with 1230 // customer's application that 1231 // uses Cloud Talent Solution. 1232 ClientEvent *ClientEvent `json:"clientEvent,omitempty"` 1233 1234 // ForceSendFields is a list of field names (e.g. "ClientEvent") to 1235 // unconditionally include in API requests. By default, fields with 1236 // empty values are omitted from API requests. However, any non-pointer, 1237 // non-interface field appearing in ForceSendFields will be sent to the 1238 // server regardless of whether the field is empty or not. This may be 1239 // used to include empty fields in Patch requests. 1240 ForceSendFields []string `json:"-"` 1241 1242 // NullFields is a list of field names (e.g. "ClientEvent") to include 1243 // in API requests with the JSON null value. By default, fields with 1244 // empty values are omitted from API requests. However, any field with 1245 // an empty value appearing in NullFields will be sent to the server as 1246 // null. It is an error if a field in this list has a non-empty value. 1247 // This may be used to include null fields in Patch requests. 1248 NullFields []string `json:"-"` 1249} 1250 1251func (s *CreateClientEventRequest) MarshalJSON() ([]byte, error) { 1252 type NoMethod CreateClientEventRequest 1253 raw := NoMethod(*s) 1254 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1255} 1256 1257// CreateCompanyRequest: Input only. 1258// 1259// The Request of the CreateCompany method. 1260type CreateCompanyRequest struct { 1261 // Company: Required. The company to be created. 1262 Company *Company `json:"company,omitempty"` 1263 1264 // ForceSendFields is a list of field names (e.g. "Company") to 1265 // unconditionally include in API requests. By default, fields with 1266 // empty values are omitted from API requests. However, any non-pointer, 1267 // non-interface field appearing in ForceSendFields will be sent to the 1268 // server regardless of whether the field is empty or not. This may be 1269 // used to include empty fields in Patch requests. 1270 ForceSendFields []string `json:"-"` 1271 1272 // NullFields is a list of field names (e.g. "Company") to include in 1273 // API requests with the JSON null value. By default, fields with empty 1274 // values are omitted from API requests. However, any field with an 1275 // empty value appearing in NullFields will be sent to the server as 1276 // null. It is an error if a field in this list has a non-empty value. 1277 // This may be used to include null fields in Patch requests. 1278 NullFields []string `json:"-"` 1279} 1280 1281func (s *CreateCompanyRequest) MarshalJSON() ([]byte, error) { 1282 type NoMethod CreateCompanyRequest 1283 raw := NoMethod(*s) 1284 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1285} 1286 1287// CreateJobRequest: Input only. 1288// 1289// Create job request. 1290type CreateJobRequest struct { 1291 // Job: Required. The Job to be created. 1292 Job *Job `json:"job,omitempty"` 1293 1294 // ForceSendFields is a list of field names (e.g. "Job") to 1295 // unconditionally include in API requests. By default, fields with 1296 // empty values are omitted from API requests. However, any non-pointer, 1297 // non-interface field appearing in ForceSendFields will be sent to the 1298 // server regardless of whether the field is empty or not. This may be 1299 // used to include empty fields in Patch requests. 1300 ForceSendFields []string `json:"-"` 1301 1302 // NullFields is a list of field names (e.g. "Job") to include in API 1303 // requests with the JSON null value. By default, fields with empty 1304 // values are omitted from API requests. However, any field with an 1305 // empty value appearing in NullFields will be sent to the server as 1306 // null. It is an error if a field in this list has a non-empty value. 1307 // This may be used to include null fields in Patch requests. 1308 NullFields []string `json:"-"` 1309} 1310 1311func (s *CreateJobRequest) MarshalJSON() ([]byte, error) { 1312 type NoMethod CreateJobRequest 1313 raw := NoMethod(*s) 1314 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1315} 1316 1317// CustomAttribute: Custom attribute values that are either filterable 1318// or non-filterable. 1319type CustomAttribute struct { 1320 // Filterable: Optional. If the `filterable` flag is true, custom field 1321 // values are searchable. 1322 // If false, values are not searchable. 1323 // 1324 // Default is false. 1325 Filterable bool `json:"filterable,omitempty"` 1326 1327 // LongValues: Optional but exactly one of string_values or long_values 1328 // must 1329 // be specified. 1330 // 1331 // This field is used to perform number range search. 1332 // (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable 1333 // `long_value`. 1334 // 1335 // Currently at most 1 long_values is supported. 1336 LongValues googleapi.Int64s `json:"longValues,omitempty"` 1337 1338 // StringValues: Optional but exactly one of string_values or 1339 // long_values must 1340 // be specified. 1341 // 1342 // This field is used to perform a string match (`CASE_SENSITIVE_MATCH` 1343 // or 1344 // `CASE_INSENSITIVE_MATCH`) search. 1345 // For filterable `string_value`s, a maximum total number of 200 1346 // values 1347 // is allowed, with each `string_value` has a byte size of no more 1348 // than 1349 // 500B. For unfilterable `string_values`, the maximum total byte size 1350 // of 1351 // unfilterable `string_values` is 50KB. 1352 // 1353 // Empty string is not allowed. 1354 StringValues []string `json:"stringValues,omitempty"` 1355 1356 // ForceSendFields is a list of field names (e.g. "Filterable") to 1357 // unconditionally include in API requests. By default, fields with 1358 // empty values are omitted from API requests. However, any non-pointer, 1359 // non-interface field appearing in ForceSendFields will be sent to the 1360 // server regardless of whether the field is empty or not. This may be 1361 // used to include empty fields in Patch requests. 1362 ForceSendFields []string `json:"-"` 1363 1364 // NullFields is a list of field names (e.g. "Filterable") to include in 1365 // API requests with the JSON null value. By default, fields with empty 1366 // values are omitted from API requests. However, any field with an 1367 // empty value appearing in NullFields will be sent to the server as 1368 // null. It is an error if a field in this list has a non-empty value. 1369 // This may be used to include null fields in Patch requests. 1370 NullFields []string `json:"-"` 1371} 1372 1373func (s *CustomAttribute) MarshalJSON() ([]byte, error) { 1374 type NoMethod CustomAttribute 1375 raw := NoMethod(*s) 1376 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1377} 1378 1379// CustomAttributeHistogramRequest: Custom attributes histogram request. 1380// An error is thrown if neither 1381// string_value_histogram or long_value_histogram_bucketing_option 1382// has 1383// been defined. 1384type CustomAttributeHistogramRequest struct { 1385 // Key: Required. Specifies the custom field key to perform a histogram 1386 // on. If specified 1387 // without `long_value_histogram_bucketing_option`, histogram on string 1388 // values 1389 // of the given `key` is triggered, otherwise histogram is performed on 1390 // long 1391 // values. 1392 Key string `json:"key,omitempty"` 1393 1394 // LongValueHistogramBucketingOption: Optional. Specifies buckets used 1395 // to perform a range histogram on Job's 1396 // filterable long custom field values, or min/max value requirements. 1397 LongValueHistogramBucketingOption *NumericBucketingOption `json:"longValueHistogramBucketingOption,omitempty"` 1398 1399 // StringValueHistogram: Optional. If set to true, the response includes 1400 // the histogram value for 1401 // each key as a string. 1402 StringValueHistogram bool `json:"stringValueHistogram,omitempty"` 1403 1404 // ForceSendFields is a list of field names (e.g. "Key") to 1405 // unconditionally include in API requests. By default, fields with 1406 // empty values are omitted from API requests. However, any non-pointer, 1407 // non-interface field appearing in ForceSendFields will be sent to the 1408 // server regardless of whether the field is empty or not. This may be 1409 // used to include empty fields in Patch requests. 1410 ForceSendFields []string `json:"-"` 1411 1412 // NullFields is a list of field names (e.g. "Key") to include in API 1413 // requests with the JSON null value. By default, fields with empty 1414 // values are omitted from API requests. However, any field with an 1415 // empty value appearing in NullFields will be sent to the server as 1416 // null. It is an error if a field in this list has a non-empty value. 1417 // This may be used to include null fields in Patch requests. 1418 NullFields []string `json:"-"` 1419} 1420 1421func (s *CustomAttributeHistogramRequest) MarshalJSON() ([]byte, error) { 1422 type NoMethod CustomAttributeHistogramRequest 1423 raw := NoMethod(*s) 1424 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1425} 1426 1427// CustomAttributeHistogramResult: Output only. 1428// 1429// Custom attribute histogram result. 1430type CustomAttributeHistogramResult struct { 1431 // Key: Stores the key of custom attribute the histogram is performed 1432 // on. 1433 Key string `json:"key,omitempty"` 1434 1435 // LongValueHistogramResult: Stores bucketed histogram counting result 1436 // or min/max values for 1437 // custom attribute long values associated with `key`. 1438 LongValueHistogramResult *NumericBucketingResult `json:"longValueHistogramResult,omitempty"` 1439 1440 // StringValueHistogramResult: Stores a map from the values of string 1441 // custom field associated 1442 // with `key` to the number of jobs with that value in this histogram 1443 // result. 1444 StringValueHistogramResult map[string]int64 `json:"stringValueHistogramResult,omitempty"` 1445 1446 // ForceSendFields is a list of field names (e.g. "Key") to 1447 // unconditionally include in API requests. By default, fields with 1448 // empty values are omitted from API requests. However, any non-pointer, 1449 // non-interface field appearing in ForceSendFields will be sent to the 1450 // server regardless of whether the field is empty or not. This may be 1451 // used to include empty fields in Patch requests. 1452 ForceSendFields []string `json:"-"` 1453 1454 // NullFields is a list of field names (e.g. "Key") to include in API 1455 // requests with the JSON null value. By default, fields with empty 1456 // values are omitted from API requests. However, any field with an 1457 // empty value appearing in NullFields will be sent to the server as 1458 // null. It is an error if a field in this list has a non-empty value. 1459 // This may be used to include null fields in Patch requests. 1460 NullFields []string `json:"-"` 1461} 1462 1463func (s *CustomAttributeHistogramResult) MarshalJSON() ([]byte, error) { 1464 type NoMethod CustomAttributeHistogramResult 1465 raw := NoMethod(*s) 1466 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1467} 1468 1469// CustomRankingInfo: Input only. 1470// 1471// Custom ranking information for SearchJobsRequest. 1472type CustomRankingInfo struct { 1473 // ImportanceLevel: Required. Controls over how important the score 1474 // of 1475 // CustomRankingInfo.ranking_expression gets applied to job's 1476 // final 1477 // ranking position. 1478 // 1479 // An error is thrown if not specified. 1480 // 1481 // Possible values: 1482 // "IMPORTANCE_LEVEL_UNSPECIFIED" - Default value if the importance 1483 // level is not specified. 1484 // "NONE" - The given ranking expression is of None importance, 1485 // existing relevance 1486 // score (determined by API algorithm) dominates job's final 1487 // ranking 1488 // position. 1489 // "LOW" - The given ranking expression is of Low importance in terms 1490 // of job's 1491 // final ranking position compared to existing relevance 1492 // score (determined by API algorithm). 1493 // "MILD" - The given ranking expression is of Mild importance in 1494 // terms of job's 1495 // final ranking position compared to existing relevance 1496 // score (determined by API algorithm). 1497 // "MEDIUM" - The given ranking expression is of Medium importance in 1498 // terms of job's 1499 // final ranking position compared to existing relevance 1500 // score (determined by API algorithm). 1501 // "HIGH" - The given ranking expression is of High importance in 1502 // terms of job's 1503 // final ranking position compared to existing relevance 1504 // score (determined by API algorithm). 1505 // "EXTREME" - The given ranking expression is of Extreme importance, 1506 // and dominates 1507 // job's final ranking position with existing relevance 1508 // score (determined by API algorithm) ignored. 1509 ImportanceLevel string `json:"importanceLevel,omitempty"` 1510 1511 // RankingExpression: Required. Controls over how job documents get 1512 // ranked on top of existing relevance 1513 // score (determined by API algorithm). A combination of the 1514 // ranking 1515 // expression and relevance score is used to determine job's final 1516 // ranking 1517 // position. 1518 // 1519 // The syntax for this expression is a subset of Google SQL 1520 // syntax. 1521 // 1522 // Supported operators are: +, -, *, /, where the left and right side 1523 // of 1524 // the operator is either a numeric Job.custom_attributes 1525 // key, 1526 // integer/double value or an expression that can be evaluated to a 1527 // number. 1528 // 1529 // Parenthesis are supported to adjust calculation precedence. 1530 // The 1531 // expression must be < 100 characters in length. 1532 // 1533 // The expression is considered invalid for a job if the 1534 // expression 1535 // references custom attributes that are not populated on the job or if 1536 // the 1537 // expression results in a divide by zero. If an expression is invalid 1538 // for a 1539 // job, that job is demoted to the end of the results. 1540 // 1541 // Sample ranking expression 1542 // (year + 25) * 0.25 - (freshness / 0.5) 1543 RankingExpression string `json:"rankingExpression,omitempty"` 1544 1545 // ForceSendFields is a list of field names (e.g. "ImportanceLevel") to 1546 // unconditionally include in API requests. By default, fields with 1547 // empty values are omitted from API requests. However, any non-pointer, 1548 // non-interface field appearing in ForceSendFields will be sent to the 1549 // server regardless of whether the field is empty or not. This may be 1550 // used to include empty fields in Patch requests. 1551 ForceSendFields []string `json:"-"` 1552 1553 // NullFields is a list of field names (e.g. "ImportanceLevel") to 1554 // include in API requests with the JSON null value. By default, fields 1555 // with empty values are omitted from API requests. However, any field 1556 // with an empty value appearing in NullFields will be sent to the 1557 // server as null. It is an error if a field in this list has a 1558 // non-empty value. This may be used to include null fields in Patch 1559 // requests. 1560 NullFields []string `json:"-"` 1561} 1562 1563func (s *CustomRankingInfo) MarshalJSON() ([]byte, error) { 1564 type NoMethod CustomRankingInfo 1565 raw := NoMethod(*s) 1566 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1567} 1568 1569// DeviceInfo: Device information collected from the job seeker, 1570// candidate, or 1571// other entity conducting the job search. Providing this information 1572// improves 1573// the quality of the search results across devices. 1574type DeviceInfo struct { 1575 // DeviceType: Optional. Type of the device. 1576 // 1577 // Possible values: 1578 // "DEVICE_TYPE_UNSPECIFIED" - The device type isn't specified. 1579 // "WEB" - A desktop web browser, such as, Chrome, Firefox, Safari, or 1580 // Internet 1581 // Explorer) 1582 // "MOBILE_WEB" - A mobile device web browser, such as a phone or 1583 // tablet with a Chrome 1584 // browser. 1585 // "ANDROID" - An Android device native application. 1586 // "IOS" - An iOS device native application. 1587 // "BOT" - A bot, as opposed to a device operated by human beings, 1588 // such as a web 1589 // crawler. 1590 // "OTHER" - Other devices types. 1591 DeviceType string `json:"deviceType,omitempty"` 1592 1593 // Id: Optional. A device-specific ID. The ID must be a unique 1594 // identifier that 1595 // distinguishes the device from other devices. 1596 Id string `json:"id,omitempty"` 1597 1598 // ForceSendFields is a list of field names (e.g. "DeviceType") to 1599 // unconditionally include in API requests. By default, fields with 1600 // empty values are omitted from API requests. However, any non-pointer, 1601 // non-interface field appearing in ForceSendFields will be sent to the 1602 // server regardless of whether the field is empty or not. This may be 1603 // used to include empty fields in Patch requests. 1604 ForceSendFields []string `json:"-"` 1605 1606 // NullFields is a list of field names (e.g. "DeviceType") to include in 1607 // API requests with the JSON null value. By default, fields with empty 1608 // values are omitted from API requests. However, any field with an 1609 // empty value appearing in NullFields will be sent to the server as 1610 // null. It is an error if a field in this list has a non-empty value. 1611 // This may be used to include null fields in Patch requests. 1612 NullFields []string `json:"-"` 1613} 1614 1615func (s *DeviceInfo) MarshalJSON() ([]byte, error) { 1616 type NoMethod DeviceInfo 1617 raw := NoMethod(*s) 1618 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1619} 1620 1621// Empty: A generic empty message that you can re-use to avoid defining 1622// duplicated 1623// empty messages in your APIs. A typical example is to use it as the 1624// request 1625// or the response type of an API method. For instance: 1626// 1627// service Foo { 1628// rpc Bar(google.protobuf.Empty) returns 1629// (google.protobuf.Empty); 1630// } 1631// 1632// The JSON representation for `Empty` is empty JSON object `{}`. 1633type Empty struct { 1634 // ServerResponse contains the HTTP response code and headers from the 1635 // server. 1636 googleapi.ServerResponse `json:"-"` 1637} 1638 1639// HistogramFacets: Input only. 1640// 1641// Histogram facets to be specified in SearchJobsRequest. 1642type HistogramFacets struct { 1643 // CompensationHistogramFacets: Optional. Specifies compensation 1644 // field-based histogram requests. 1645 // Duplicate values of CompensationHistogramRequest.type are not 1646 // allowed. 1647 CompensationHistogramFacets []*CompensationHistogramRequest `json:"compensationHistogramFacets,omitempty"` 1648 1649 // CustomAttributeHistogramFacets: Optional. Specifies the custom 1650 // attributes histogram requests. 1651 // Duplicate values of CustomAttributeHistogramRequest.key are 1652 // not 1653 // allowed. 1654 CustomAttributeHistogramFacets []*CustomAttributeHistogramRequest `json:"customAttributeHistogramFacets,omitempty"` 1655 1656 // SimpleHistogramFacets: Optional. Specifies the simple type of 1657 // histogram facets, for example, 1658 // `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. 1659 // 1660 // Possible values: 1661 // "SEARCH_TYPE_UNSPECIFIED" - The default value if search type is not 1662 // specified. 1663 // "COMPANY_ID" - Filter by the company id field. 1664 // "EMPLOYMENT_TYPE" - Filter by the employment type field, such as 1665 // `FULL_TIME` or `PART_TIME`. 1666 // "COMPANY_SIZE" - Filter by the company size type field, such as 1667 // `BIG`, `SMALL` or `BIGGER`. 1668 // "DATE_PUBLISHED" - Filter by the date published field. Possible 1669 // return values are: 1670 // * PAST_24_HOURS (The past 24 hours) 1671 // * PAST_3_DAYS (The past 3 days) 1672 // * PAST_WEEK (The past 7 days) 1673 // * PAST_MONTH (The past 30 days) 1674 // * PAST_YEAR (The past 365 days) 1675 // "EDUCATION_LEVEL" - Filter by the required education level of the 1676 // job. 1677 // "EXPERIENCE_LEVEL" - Filter by the required experience level of the 1678 // job. 1679 // "ADMIN_1" - Filter by Admin1, which is a global placeholder 1680 // for 1681 // referring to state, province, or the particular term a country uses 1682 // to 1683 // define the geographic structure below the country level. 1684 // Examples include states codes such as "CA", "IL", "NY", 1685 // and 1686 // provinces, such as "BC". 1687 // "COUNTRY" - Filter by the country code of job, such as US, JP, FR. 1688 // "CITY" - Filter by the "city name", "Admin1 code", for 1689 // example, 1690 // "Mountain View, CA" or "New York, NY". 1691 // "LOCALE" - Filter by the locale field of a job, such as "en-US", 1692 // "fr-FR". 1693 // 1694 // This is the BCP-47 language code, such as "en-US" or "sr-Latn". 1695 // For more information, see 1696 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 1697 // "LANGUAGE" - Filter by the language code portion of the locale 1698 // field, such as "en" or 1699 // "fr". 1700 // "CATEGORY" - Filter by the Category. 1701 // "CITY_COORDINATE" - Filter by the city center GPS coordinate 1702 // (latitude and longitude), for 1703 // example, 37.4038522,-122.0987765. Since the coordinates of a city 1704 // center 1705 // can change, clients may need to refresh them periodically. 1706 // "ADMIN_1_COUNTRY" - A combination of state or province code with a 1707 // country code. This field 1708 // differs from `JOB_ADMIN1`, which can be used in multiple countries. 1709 // "COMPANY_DISPLAY_NAME" - Company display name. 1710 // "BASE_COMPENSATION_UNIT" - Base compensation unit. 1711 SimpleHistogramFacets []string `json:"simpleHistogramFacets,omitempty"` 1712 1713 // ForceSendFields is a list of field names (e.g. 1714 // "CompensationHistogramFacets") to unconditionally include in API 1715 // requests. By default, fields with empty values are omitted from API 1716 // requests. However, any non-pointer, non-interface field appearing in 1717 // ForceSendFields will be sent to the server regardless of whether the 1718 // field is empty or not. This may be used to include empty fields in 1719 // Patch requests. 1720 ForceSendFields []string `json:"-"` 1721 1722 // NullFields is a list of field names (e.g. 1723 // "CompensationHistogramFacets") to include in API requests with the 1724 // JSON null value. By default, fields with empty values are omitted 1725 // from API requests. However, any field with an empty value appearing 1726 // in NullFields will be sent to the server as null. It is an error if a 1727 // field in this list has a non-empty value. This may be used to include 1728 // null fields in Patch requests. 1729 NullFields []string `json:"-"` 1730} 1731 1732func (s *HistogramFacets) MarshalJSON() ([]byte, error) { 1733 type NoMethod HistogramFacets 1734 raw := NoMethod(*s) 1735 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1736} 1737 1738// HistogramQuery: Input Only. 1739// 1740// The histogram request. 1741type HistogramQuery struct { 1742 // HistogramQuery: An expression specifies a histogram request against 1743 // matching resources 1744 // (for example, jobs) for searches. 1745 // 1746 // Expression syntax is a aggregation function call with histogram 1747 // facets and 1748 // other options. 1749 // 1750 // Available aggregation function calls are: 1751 // * `count(string_histogram_facet)`: Count the number of matching 1752 // entity, for 1753 // each distinct attribute value. 1754 // * `count(numeric_histogram_facet, list of buckets)`: Count the number 1755 // of 1756 // matching entity within each bucket. 1757 // 1758 // Data types: 1759 // 1760 // * Histogram facet: facet names with format a-zA-Z+. 1761 // * String: string like "any string with backslash escape for 1762 // quote(\")." 1763 // * Number: whole number and floating point number like 10, -1 and 1764 // -0.01. 1765 // * List: list of elements with comma(,) separator surrounded by 1766 // square 1767 // brackets. For example, [1, 2, 3] and ["one", "two", 1768 // "three"]. 1769 // 1770 // Built-in constants: 1771 // 1772 // * MIN (minimum number similar to java Double.MIN_VALUE) 1773 // * MAX (maximum number similar to java Double.MAX_VALUE) 1774 // 1775 // Built-in functions: 1776 // 1777 // * bucket(start, end[, label]): bucket built-in function creates a 1778 // bucket 1779 // with range of start, end). Note that the end is exclusive. For 1780 // example, 1781 // bucket(1, MAX, "positive number") or bucket(1, 10). 1782 // 1783 // Job histogram facets: 1784 // 1785 // * company_id: histogram by [Job.distributor_company_id. 1786 // * company_display_name: histogram by Job.company_display_name. 1787 // * employment_type: histogram by Job.employment_types. For 1788 // example, 1789 // "FULL_TIME", "PART_TIME". 1790 // * company_size: histogram by CompanySize, for example, 1791 // "SMALL", 1792 // "MEDIUM", "BIG". 1793 // * publish_time_in_month: histogram by the Job.publish_time in 1794 // months. 1795 // Must specify list of numeric buckets in spec. 1796 // * publish_time_in_year: histogram by the Job.publish_time in 1797 // years. 1798 // Must specify list of numeric buckets in spec. 1799 // * degree_type: histogram by the Job.degree_type. For 1800 // example, 1801 // "Bachelors", "Masters". 1802 // * job_level: histogram by the Job.job_level. For example, 1803 // "Entry 1804 // Level". 1805 // * country: histogram by the country code of jobs. For example, "US", 1806 // "FR". 1807 // * admin1: histogram by the admin1 code of jobs, which is a 1808 // global 1809 // placeholder referring to the state, province, or the particular term 1810 // a 1811 // country uses to define the geographic structure below the country 1812 // level. 1813 // For example, "CA", "IL". 1814 // * city: histogram by a combination of the "city name, admin1 code". 1815 // For 1816 // example, "Mountain View, CA", "New York, NY". 1817 // * admin1_country: histogram by a combination of the "admin1 code, 1818 // country". 1819 // For example, "CA, US", "IL, US". 1820 // * city_coordinate: histogram by the city center's GPS coordinates 1821 // (latitude 1822 // and longitude). For example, 37.4038522,-122.0987765. Since the 1823 // coordinates 1824 // of a city center can change, customers may need to refresh 1825 // them 1826 // periodically. 1827 // * locale: histogram by the Job.language_code. For example, 1828 // "en-US", 1829 // "fr-FR". 1830 // * language: histogram by the language subtag of the 1831 // Job.language_code. 1832 // For example, "en", "fr". 1833 // * category: histogram by the JobCategory. For 1834 // example, 1835 // "COMPUTER_AND_IT", "HEALTHCARE". 1836 // * base_compensation_unit: histogram by the CompensationUnit of 1837 // base 1838 // salary. For example, "WEEKLY", "MONTHLY". 1839 // * base_compensation: histogram by the base salary. Must specify list 1840 // of 1841 // numeric buckets to group results by. 1842 // * annualized_base_compensation: histogram by the base annualized 1843 // salary. 1844 // Must specify list of numeric buckets to group results by. 1845 // * annualized_total_compensation: histogram by the total annualized 1846 // salary. 1847 // Must specify list of numeric buckets to group results by. 1848 // * string_custom_attribute: histogram by string 1849 // Job.custom_attributes. 1850 // Values can be accessed via square bracket notations 1851 // like 1852 // string_custom_attribute["key1"]. 1853 // * numeric_custom_attribute: histogram by numeric 1854 // Job.custom_attributes. 1855 // Values can be accessed via square bracket notations 1856 // like 1857 // numeric_custom_attribute["key1"]. Must specify list of numeric 1858 // buckets to 1859 // group results by. 1860 // 1861 // Example expressions: 1862 // * count(admin1) 1863 // * count(base_compensation, [bucket(1000, 10000), bucket(10000, 1864 // 100000), 1865 // bucket(100000, MAX)]) 1866 // * count(string_custom_attribute["some-string-custom-attribute"]) 1867 // * 1868 // count(numeric_custom_attribute["some-numeric-custom-attribute"], 1869 // [buck 1870 // et(MIN, 0, "negative"), bucket(0, MAX, "non-negative"]) 1871 HistogramQuery string `json:"histogramQuery,omitempty"` 1872 1873 // ForceSendFields is a list of field names (e.g. "HistogramQuery") to 1874 // unconditionally include in API requests. By default, fields with 1875 // empty values are omitted from API requests. However, any non-pointer, 1876 // non-interface field appearing in ForceSendFields will be sent to the 1877 // server regardless of whether the field is empty or not. This may be 1878 // used to include empty fields in Patch requests. 1879 ForceSendFields []string `json:"-"` 1880 1881 // NullFields is a list of field names (e.g. "HistogramQuery") to 1882 // include in API requests with the JSON null value. By default, fields 1883 // with empty values are omitted from API requests. However, any field 1884 // with an empty value appearing in NullFields will be sent to the 1885 // server as null. It is an error if a field in this list has a 1886 // non-empty value. This may be used to include null fields in Patch 1887 // requests. 1888 NullFields []string `json:"-"` 1889} 1890 1891func (s *HistogramQuery) MarshalJSON() ([]byte, error) { 1892 type NoMethod HistogramQuery 1893 raw := NoMethod(*s) 1894 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1895} 1896 1897// HistogramQueryResult: Output only. 1898// 1899// Histogram result that matches HistogramSpec specified in searches. 1900type HistogramQueryResult struct { 1901 // Histogram: A map from the values of the facet associated with 1902 // distinct values to the 1903 // number of matching entries with corresponding value. 1904 // 1905 // The key format is: 1906 // * (for string histogram) string values stored in the field. 1907 // * (for named numeric bucket) name specified in `bucket()` function, 1908 // like 1909 // for `bucket(0, MAX, "non-negative")`, the key will be 1910 // `non-negative`. 1911 // * (for anonymous numeric bucket) range formatted as `<low>-<high>`, 1912 // for 1913 // example, `0-1000`, `MIN-0`, and `0-MAX`. 1914 Histogram map[string]string `json:"histogram,omitempty"` 1915 1916 // HistogramQuery: Requested histogram expression. 1917 HistogramQuery string `json:"histogramQuery,omitempty"` 1918 1919 // ForceSendFields is a list of field names (e.g. "Histogram") to 1920 // unconditionally include in API requests. By default, fields with 1921 // empty values are omitted from API requests. However, any non-pointer, 1922 // non-interface field appearing in ForceSendFields will be sent to the 1923 // server regardless of whether the field is empty or not. This may be 1924 // used to include empty fields in Patch requests. 1925 ForceSendFields []string `json:"-"` 1926 1927 // NullFields is a list of field names (e.g. "Histogram") to include in 1928 // API requests with the JSON null value. By default, fields with empty 1929 // values are omitted from API requests. However, any field with an 1930 // empty value appearing in NullFields will be sent to the server as 1931 // null. It is an error if a field in this list has a non-empty value. 1932 // This may be used to include null fields in Patch requests. 1933 NullFields []string `json:"-"` 1934} 1935 1936func (s *HistogramQueryResult) MarshalJSON() ([]byte, error) { 1937 type NoMethod HistogramQueryResult 1938 raw := NoMethod(*s) 1939 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1940} 1941 1942// HistogramResult: Output only. 1943// 1944// Result of a histogram call. The response contains the histogram map 1945// for the 1946// search type specified by HistogramResult.field. 1947// The response is a map of each filter value to the corresponding count 1948// of 1949// jobs for that filter. 1950type HistogramResult struct { 1951 // SearchType: The Histogram search filters. 1952 // 1953 // Possible values: 1954 // "SEARCH_TYPE_UNSPECIFIED" - The default value if search type is not 1955 // specified. 1956 // "COMPANY_ID" - Filter by the company id field. 1957 // "EMPLOYMENT_TYPE" - Filter by the employment type field, such as 1958 // `FULL_TIME` or `PART_TIME`. 1959 // "COMPANY_SIZE" - Filter by the company size type field, such as 1960 // `BIG`, `SMALL` or `BIGGER`. 1961 // "DATE_PUBLISHED" - Filter by the date published field. Possible 1962 // return values are: 1963 // * PAST_24_HOURS (The past 24 hours) 1964 // * PAST_3_DAYS (The past 3 days) 1965 // * PAST_WEEK (The past 7 days) 1966 // * PAST_MONTH (The past 30 days) 1967 // * PAST_YEAR (The past 365 days) 1968 // "EDUCATION_LEVEL" - Filter by the required education level of the 1969 // job. 1970 // "EXPERIENCE_LEVEL" - Filter by the required experience level of the 1971 // job. 1972 // "ADMIN_1" - Filter by Admin1, which is a global placeholder 1973 // for 1974 // referring to state, province, or the particular term a country uses 1975 // to 1976 // define the geographic structure below the country level. 1977 // Examples include states codes such as "CA", "IL", "NY", 1978 // and 1979 // provinces, such as "BC". 1980 // "COUNTRY" - Filter by the country code of job, such as US, JP, FR. 1981 // "CITY" - Filter by the "city name", "Admin1 code", for 1982 // example, 1983 // "Mountain View, CA" or "New York, NY". 1984 // "LOCALE" - Filter by the locale field of a job, such as "en-US", 1985 // "fr-FR". 1986 // 1987 // This is the BCP-47 language code, such as "en-US" or "sr-Latn". 1988 // For more information, see 1989 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 1990 // "LANGUAGE" - Filter by the language code portion of the locale 1991 // field, such as "en" or 1992 // "fr". 1993 // "CATEGORY" - Filter by the Category. 1994 // "CITY_COORDINATE" - Filter by the city center GPS coordinate 1995 // (latitude and longitude), for 1996 // example, 37.4038522,-122.0987765. Since the coordinates of a city 1997 // center 1998 // can change, clients may need to refresh them periodically. 1999 // "ADMIN_1_COUNTRY" - A combination of state or province code with a 2000 // country code. This field 2001 // differs from `JOB_ADMIN1`, which can be used in multiple countries. 2002 // "COMPANY_DISPLAY_NAME" - Company display name. 2003 // "BASE_COMPENSATION_UNIT" - Base compensation unit. 2004 SearchType string `json:"searchType,omitempty"` 2005 2006 // Values: A map from the values of field to the number of jobs with 2007 // that value 2008 // in this search result. 2009 // 2010 // Key: search type (filter names, such as the companyName). 2011 // 2012 // Values: the count of jobs that match the filter for this search. 2013 Values map[string]int64 `json:"values,omitempty"` 2014 2015 // ForceSendFields is a list of field names (e.g. "SearchType") to 2016 // unconditionally include in API requests. By default, fields with 2017 // empty values are omitted from API requests. However, any non-pointer, 2018 // non-interface field appearing in ForceSendFields will be sent to the 2019 // server regardless of whether the field is empty or not. This may be 2020 // used to include empty fields in Patch requests. 2021 ForceSendFields []string `json:"-"` 2022 2023 // NullFields is a list of field names (e.g. "SearchType") to include in 2024 // API requests with the JSON null value. By default, fields with empty 2025 // values are omitted from API requests. However, any field with an 2026 // empty value appearing in NullFields will be sent to the server as 2027 // null. It is an error if a field in this list has a non-empty value. 2028 // This may be used to include null fields in Patch requests. 2029 NullFields []string `json:"-"` 2030} 2031 2032func (s *HistogramResult) MarshalJSON() ([]byte, error) { 2033 type NoMethod HistogramResult 2034 raw := NoMethod(*s) 2035 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2036} 2037 2038// HistogramResults: Output only. 2039// 2040// Histogram results that match HistogramFacets specified 2041// in 2042// SearchJobsRequest. 2043type HistogramResults struct { 2044 // CompensationHistogramResults: Specifies compensation field-based 2045 // histogram results that 2046 // match 2047 // HistogramFacets.compensation_histogram_requests. 2048 CompensationHistogramResults []*CompensationHistogramResult `json:"compensationHistogramResults,omitempty"` 2049 2050 // CustomAttributeHistogramResults: Specifies histogram results for 2051 // custom attributes that 2052 // match 2053 // HistogramFacets.custom_attribute_histogram_facets. 2054 CustomAttributeHistogramResults []*CustomAttributeHistogramResult `json:"customAttributeHistogramResults,omitempty"` 2055 2056 // SimpleHistogramResults: Specifies histogram results that 2057 // matches 2058 // HistogramFacets.simple_histogram_facets. 2059 SimpleHistogramResults []*HistogramResult `json:"simpleHistogramResults,omitempty"` 2060 2061 // ForceSendFields is a list of field names (e.g. 2062 // "CompensationHistogramResults") to unconditionally include in API 2063 // requests. By default, fields with empty values are omitted from API 2064 // requests. However, any non-pointer, non-interface field appearing in 2065 // ForceSendFields will be sent to the server regardless of whether the 2066 // field is empty or not. This may be used to include empty fields in 2067 // Patch requests. 2068 ForceSendFields []string `json:"-"` 2069 2070 // NullFields is a list of field names (e.g. 2071 // "CompensationHistogramResults") to include in API requests with the 2072 // JSON null value. By default, fields with empty values are omitted 2073 // from API requests. However, any field with an empty value appearing 2074 // in NullFields will be sent to the server as null. It is an error if a 2075 // field in this list has a non-empty value. This may be used to include 2076 // null fields in Patch requests. 2077 NullFields []string `json:"-"` 2078} 2079 2080func (s *HistogramResults) MarshalJSON() ([]byte, error) { 2081 type NoMethod HistogramResults 2082 raw := NoMethod(*s) 2083 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2084} 2085 2086// Job: A Job resource represents a job posting (also referred to as a 2087// "job listing" 2088// or "job requisition"). A job belongs to a Company, which is the 2089// hiring 2090// entity responsible for the job. 2091type Job struct { 2092 // Addresses: Optional but strongly recommended for the best service 2093 // experience. 2094 // 2095 // Location(s) where the employer is looking to hire for this job 2096 // posting. 2097 // 2098 // Specifying the full street address(es) of the hiring location 2099 // enables 2100 // better API results, especially job searches by commute time. 2101 // 2102 // At most 50 locations are allowed for best search performance. If a 2103 // job has 2104 // more locations, it is suggested to split it into multiple jobs with 2105 // unique 2106 // requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) 2107 // as 2108 // multiple jobs with the same company_name, language_code 2109 // and 2110 // requisition_id are not allowed. If the original requisition_id 2111 // must 2112 // be preserved, a custom field should be used for storage. It is 2113 // also 2114 // suggested to group the locations that close to each other in the same 2115 // job 2116 // for better search experience. 2117 // 2118 // The maximum number of allowed characters is 500. 2119 Addresses []string `json:"addresses,omitempty"` 2120 2121 // ApplicationInfo: Required. At least one field within ApplicationInfo 2122 // must be specified. 2123 // 2124 // Job application information. 2125 ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"` 2126 2127 // CompanyDisplayName: Output only. Display name of the company listing 2128 // the job. 2129 CompanyDisplayName string `json:"companyDisplayName,omitempty"` 2130 2131 // CompanyName: Required. The resource name of the company listing the 2132 // job, such as 2133 // "projects/api-test-project/companies/foo". 2134 CompanyName string `json:"companyName,omitempty"` 2135 2136 // CompensationInfo: Optional. Job compensation information. 2137 CompensationInfo *CompensationInfo `json:"compensationInfo,omitempty"` 2138 2139 // CustomAttributes: Optional. A map of fields to hold both filterable 2140 // and non-filterable custom job 2141 // attributes that are not covered by the provided structured 2142 // fields. 2143 // 2144 // The keys of the map are strings up to 64 bytes and must match 2145 // the 2146 // pattern: a-zA-Z*. For example, key0LikeThis or 2147 // KEY_1_LIKE_THIS. 2148 // 2149 // At most 100 filterable and at most 100 unfilterable keys are 2150 // supported. 2151 // For filterable `string_values`, across all keys at most 200 values 2152 // are 2153 // allowed, with each string no more than 255 characters. For 2154 // unfilterable 2155 // `string_values`, the maximum total size of `string_values` across all 2156 // keys 2157 // is 50KB. 2158 CustomAttributes map[string]CustomAttribute `json:"customAttributes,omitempty"` 2159 2160 // DegreeTypes: Optional. The desired education degrees for the job, 2161 // such as Bachelors, Masters. 2162 // 2163 // Possible values: 2164 // "DEGREE_TYPE_UNSPECIFIED" - Default value. Represents no degree, or 2165 // early childhood education. 2166 // Maps to ISCED code 0. 2167 // Ex) Kindergarten 2168 // "PRIMARY_EDUCATION" - Primary education which is typically the 2169 // first stage of compulsory 2170 // education. ISCED code 1. 2171 // Ex) Elementary school 2172 // "LOWER_SECONDARY_EDUCATION" - Lower secondary education; First 2173 // stage of secondary education building on 2174 // primary education, typically with a more subject-oriented 2175 // curriculum. 2176 // ISCED code 2. 2177 // Ex) Middle school 2178 // "UPPER_SECONDARY_EDUCATION" - Middle education; Second/final stage 2179 // of secondary education preparing for 2180 // tertiary education and/or providing skills relevant to 2181 // employment. 2182 // Usually with an increased range of subject options and streams. 2183 // ISCED 2184 // code 3. 2185 // Ex) High school 2186 // "ADULT_REMEDIAL_EDUCATION" - Adult Remedial Education; Programmes 2187 // providing learning experiences that 2188 // build on secondary education and prepare for labour market entry 2189 // and/or 2190 // tertiary education. The content is broader than secondary but not 2191 // as 2192 // complex as tertiary education. ISCED code 4. 2193 // "ASSOCIATES_OR_EQUIVALENT" - Associate's or equivalent; Short first 2194 // tertiary programmes that are 2195 // typically practically-based, occupationally-specific and prepare 2196 // for 2197 // labour market entry. These programmes may also provide a pathway to 2198 // other 2199 // tertiary programmes. ISCED code 5. 2200 // "BACHELORS_OR_EQUIVALENT" - Bachelor's or equivalent; Programmes 2201 // designed to provide intermediate 2202 // academic and/or professional knowledge, skills and competencies 2203 // leading 2204 // to a first tertiary degree or equivalent qualification. ISCED code 6. 2205 // "MASTERS_OR_EQUIVALENT" - Master's or equivalent; Programmes 2206 // designed to provide advanced academic 2207 // and/or professional knowledge, skills and competencies leading to 2208 // a 2209 // second tertiary degree or equivalent qualification. ISCED code 7. 2210 // "DOCTORAL_OR_EQUIVALENT" - Doctoral or equivalent; Programmes 2211 // designed primarily to lead to an 2212 // advanced research qualification, usually concluding with the 2213 // submission 2214 // and defense of a substantive dissertation of publishable quality 2215 // based on 2216 // original research. ISCED code 8. 2217 DegreeTypes []string `json:"degreeTypes,omitempty"` 2218 2219 // Department: Optional. The department or functional area within the 2220 // company with the open 2221 // position. 2222 // 2223 // The maximum number of allowed characters is 255. 2224 Department string `json:"department,omitempty"` 2225 2226 // DerivedInfo: Output only. Derived details about the job posting. 2227 DerivedInfo *JobDerivedInfo `json:"derivedInfo,omitempty"` 2228 2229 // Description: Required. The description of the job, which typically 2230 // includes a multi-paragraph 2231 // description of the company and related information. Separate fields 2232 // are 2233 // provided on the job object for responsibilities, 2234 // qualifications, and other job characteristics. Use of 2235 // these separate job fields is recommended. 2236 // 2237 // This field accepts and sanitizes HTML input, and also accepts 2238 // bold, italic, ordered list, and unordered list markup tags. 2239 // 2240 // The maximum number of allowed characters is 100,000. 2241 Description string `json:"description,omitempty"` 2242 2243 // EmploymentTypes: Optional. The employment type(s) of a job, for 2244 // example, 2245 // full time or 2246 // part time. 2247 // 2248 // Possible values: 2249 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 2250 // type is not specified. 2251 // "FULL_TIME" - The job requires working a number of hours that 2252 // constitute full 2253 // time employment, typically 40 or more hours per week. 2254 // "PART_TIME" - The job entails working fewer hours than a full time 2255 // job, 2256 // typically less than 40 hours a week. 2257 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 2258 // salaried employee, 2259 // position. 2260 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 2261 // with the understanding 2262 // that it's converted into a full-time position at the end of 2263 // the 2264 // contract. Jobs of this type are also returned by a search 2265 // for 2266 // EmploymentType.CONTRACTOR jobs. 2267 // "TEMPORARY" - The job is offered as a temporary employment 2268 // opportunity, usually 2269 // a short-term engagement. 2270 // "INTERN" - The job is a fixed-term opportunity for students or 2271 // entry-level job 2272 // seekers to obtain on-the-job training, typically offered as a 2273 // summer 2274 // position. 2275 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 2276 // where there's no 2277 // expectation of compensation for the provided services. 2278 // "PER_DIEM" - The job requires an employee to work on an as-needed 2279 // basis with a 2280 // flexible schedule. 2281 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 2282 // areas and flying them 2283 // temporarily to the work site instead of relocating employees and 2284 // their 2285 // families permanently. 2286 // "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other 2287 // listed types. 2288 EmploymentTypes []string `json:"employmentTypes,omitempty"` 2289 2290 // Incentives: Optional. A description of bonus, commission, and other 2291 // compensation 2292 // incentives associated with the job not including salary or pay. 2293 // 2294 // The maximum number of allowed characters is 10,000. 2295 Incentives string `json:"incentives,omitempty"` 2296 2297 // JobBenefits: Optional. The benefits included with the job. 2298 // 2299 // Possible values: 2300 // "JOB_BENEFIT_UNSPECIFIED" - Default value if the type is not 2301 // specified. 2302 // "CHILD_CARE" - The job includes access to programs that support 2303 // child care, such 2304 // as daycare. 2305 // "DENTAL" - The job includes dental services covered by a 2306 // dental 2307 // insurance plan. 2308 // "DOMESTIC_PARTNER" - The job offers specific benefits to domestic 2309 // partners. 2310 // "FLEXIBLE_HOURS" - The job allows for a flexible work schedule. 2311 // "MEDICAL" - The job includes health services covered by a medical 2312 // insurance plan. 2313 // "LIFE_INSURANCE" - The job includes a life insurance plan provided 2314 // by the employer or 2315 // available for purchase by the employee. 2316 // "PARENTAL_LEAVE" - The job allows for a leave of absence to a 2317 // parent to care for a newborn 2318 // child. 2319 // "RETIREMENT_PLAN" - The job includes a workplace retirement plan 2320 // provided by the 2321 // employer or available for purchase by the employee. 2322 // "SICK_DAYS" - The job allows for paid time off due to illness. 2323 // "VACATION" - The job includes paid time off for vacation. 2324 // "VISION" - The job includes vision services covered by a 2325 // vision 2326 // insurance plan. 2327 JobBenefits []string `json:"jobBenefits,omitempty"` 2328 2329 // JobEndTime: Optional. The end timestamp of the job. Typically this 2330 // field is used for contracting 2331 // engagements. Invalid timestamps are ignored. 2332 JobEndTime string `json:"jobEndTime,omitempty"` 2333 2334 // JobLevel: Optional. The experience level associated with the job, 2335 // such as "Entry Level". 2336 // 2337 // Possible values: 2338 // "JOB_LEVEL_UNSPECIFIED" - The default value if the level is not 2339 // specified. 2340 // "ENTRY_LEVEL" - Entry-level individual contributors, typically with 2341 // less than 2 years of 2342 // experience in a similar role. Includes interns. 2343 // "EXPERIENCED" - Experienced individual contributors, typically with 2344 // 2+ years of 2345 // experience in a similar role. 2346 // "MANAGER" - Entry- to mid-level managers responsible for managing a 2347 // team of people. 2348 // "DIRECTOR" - Senior-level managers responsible for managing teams 2349 // of managers. 2350 // "EXECUTIVE" - Executive-level managers and above, including C-level 2351 // positions. 2352 JobLevel string `json:"jobLevel,omitempty"` 2353 2354 // JobStartTime: Optional. The start timestamp of the job in UTC time 2355 // zone. Typically this field 2356 // is used for contracting engagements. Invalid timestamps are ignored. 2357 JobStartTime string `json:"jobStartTime,omitempty"` 2358 2359 // LanguageCode: Optional. The language of the posting. This field is 2360 // distinct from 2361 // any requirements for fluency that are associated with the 2362 // job. 2363 // 2364 // Language codes must be in BCP-47 format, such as "en-US" or 2365 // "sr-Latn". 2366 // For more information, see 2367 // [Tags for Identifying 2368 // Languages](https://tools.ietf.org/html/bcp47){: 2369 // class="external" target="_blank" }. 2370 // 2371 // If this field is unspecified and Job.description is present, 2372 // detected 2373 // language code based on Job.description is assigned, 2374 // otherwise 2375 // defaults to 'en_US'. 2376 LanguageCode string `json:"languageCode,omitempty"` 2377 2378 // Name: Required during job update. 2379 // 2380 // The resource name for the job. This is generated by the service when 2381 // a 2382 // job is created. 2383 // 2384 // The format is "projects/{project_id}/jobs/{job_id}", 2385 // for example, "projects/api-test-project/jobs/1234". 2386 // 2387 // Use of this field in job queries and API calls is preferred over the 2388 // use of 2389 // requisition_id since this value is unique. 2390 Name string `json:"name,omitempty"` 2391 2392 // PostingCreateTime: Output only. The timestamp when this job posting 2393 // was created. 2394 PostingCreateTime string `json:"postingCreateTime,omitempty"` 2395 2396 // PostingExpireTime: Optional but strongly recommended for the best 2397 // service 2398 // experience. 2399 // 2400 // The expiration timestamp of the job. After this timestamp, the 2401 // job is marked as expired, and it no longer appears in search results. 2402 // The 2403 // expired job can't be deleted or listed by the DeleteJob and 2404 // ListJobs APIs, but it can be retrieved with the GetJob API or 2405 // updated with the UpdateJob API. An expired job can be updated 2406 // and 2407 // opened again by using a future expiration timestamp. Updating an 2408 // expired 2409 // job fails if there is another existing open job with same 2410 // company_name, 2411 // language_code and requisition_id. 2412 // 2413 // The expired jobs are retained in our system for 90 days. However, 2414 // the 2415 // overall expired job count cannot exceed 3 times the maximum of open 2416 // jobs 2417 // count over the past week, otherwise jobs with earlier expire time 2418 // are 2419 // cleaned first. Expired jobs are no longer accessible after they are 2420 // cleaned 2421 // out. 2422 // 2423 // Invalid timestamps are ignored, and treated as expire time not 2424 // provided. 2425 // 2426 // Timestamp before the instant request is made is considered valid, the 2427 // job 2428 // will be treated as expired immediately. 2429 // 2430 // If this value is not provided at the time of job creation or is 2431 // invalid, 2432 // the job posting expires after 30 days from the job's creation time. 2433 // For 2434 // example, if the job was created on 2017/01/01 13:00AM UTC with 2435 // an 2436 // unspecified expiration date, the job expires after 2017/01/31 13:00AM 2437 // UTC. 2438 // 2439 // If this value is not provided on job update, it depends on the field 2440 // masks 2441 // set by UpdateJobRequest.update_mask. If the field masks 2442 // include 2443 // expiry_time, or the masks are empty meaning that every field 2444 // is 2445 // updated, the job posting expires after 30 days from the job's 2446 // last 2447 // update time. Otherwise the expiration date isn't updated. 2448 PostingExpireTime string `json:"postingExpireTime,omitempty"` 2449 2450 // PostingPublishTime: Optional. The timestamp this job posting was most 2451 // recently published. The default 2452 // value is the time the request arrives at the server. Invalid 2453 // timestamps are 2454 // ignored. 2455 PostingPublishTime string `json:"postingPublishTime,omitempty"` 2456 2457 // PostingRegion: Optional. The job PostingRegion (for example, state, 2458 // country) throughout which 2459 // the job is available. If this field is set, a 2460 // LocationFilter in a search query within the job region 2461 // finds this job posting if an exact location match isn't specified. 2462 // If this field is set to PostingRegion.NATION 2463 // or 2464 // PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses 2465 // to the same location level as this field is strongly recommended. 2466 // 2467 // Possible values: 2468 // "POSTING_REGION_UNSPECIFIED" - If the region is unspecified, the 2469 // job is only returned if it 2470 // matches the LocationFilter. 2471 // "ADMINISTRATIVE_AREA" - In addition to exact location matching, job 2472 // posting is returned when the 2473 // LocationFilter in the search query is in the same administrative 2474 // area 2475 // as the returned job posting. For example, if a `ADMINISTRATIVE_AREA` 2476 // job 2477 // is posted in "CA, USA", it's returned if LocationFilter has 2478 // "Mountain View". 2479 // 2480 // Administrative area refers to top-level administrative subdivision of 2481 // this 2482 // country. For example, US state, IT region, UK constituent nation 2483 // and 2484 // JP prefecture. 2485 // "NATION" - In addition to exact location matching, job is returned 2486 // when 2487 // LocationFilter in search query is in the same country as this 2488 // job. 2489 // For example, if a `NATION_WIDE` job is posted in "USA", it's 2490 // returned if LocationFilter has 'Mountain View'. 2491 // "TELECOMMUTE" - Job allows employees to work remotely 2492 // (telecommute). 2493 // If locations are provided with this value, the job is 2494 // considered as having a location, but telecommuting is allowed. 2495 PostingRegion string `json:"postingRegion,omitempty"` 2496 2497 // PostingUpdateTime: Output only. The timestamp when this job posting 2498 // was last updated. 2499 PostingUpdateTime string `json:"postingUpdateTime,omitempty"` 2500 2501 // ProcessingOptions: Optional. Options for job processing. 2502 ProcessingOptions *ProcessingOptions `json:"processingOptions,omitempty"` 2503 2504 // PromotionValue: Optional. A promotion value of the job, as determined 2505 // by the client. 2506 // The value determines the sort order of the jobs returned when 2507 // searching for 2508 // jobs using the featured jobs search call, with higher promotional 2509 // values 2510 // being returned first and ties being resolved by relevance sort. Only 2511 // the 2512 // jobs with a promotionValue >0 are returned in a 2513 // FEATURED_JOB_SEARCH. 2514 // 2515 // Default value is 0, and negative values are treated as 0. 2516 PromotionValue int64 `json:"promotionValue,omitempty"` 2517 2518 // Qualifications: Optional. A description of the qualifications 2519 // required to perform the 2520 // job. The use of this field is recommended 2521 // as an alternative to using the more general description field. 2522 // 2523 // This field accepts and sanitizes HTML input, and also accepts 2524 // bold, italic, ordered list, and unordered list markup tags. 2525 // 2526 // The maximum number of allowed characters is 10,000. 2527 Qualifications string `json:"qualifications,omitempty"` 2528 2529 // RequisitionId: Required. The requisition ID, also referred to as the 2530 // posting ID, assigned by the 2531 // client to identify a job. This field is intended to be used by 2532 // clients 2533 // for client identification and tracking of postings. A job is not 2534 // allowed 2535 // to be created if there is another job with the same 2536 // [company_name], 2537 // language_code and requisition_id. 2538 // 2539 // The maximum number of allowed characters is 255. 2540 RequisitionId string `json:"requisitionId,omitempty"` 2541 2542 // Responsibilities: Optional. A description of job responsibilities. 2543 // The use of this field is 2544 // recommended as an alternative to using the more general 2545 // description 2546 // field. 2547 // 2548 // This field accepts and sanitizes HTML input, and also accepts 2549 // bold, italic, ordered list, and unordered list markup tags. 2550 // 2551 // The maximum number of allowed characters is 10,000. 2552 Responsibilities string `json:"responsibilities,omitempty"` 2553 2554 // Title: Required. The title of the job, such as "Software 2555 // Engineer" 2556 // 2557 // The maximum number of allowed characters is 500. 2558 Title string `json:"title,omitempty"` 2559 2560 // Visibility: Deprecated. The job is only visible to the owner. 2561 // 2562 // The visibility of the job. 2563 // 2564 // Defaults to Visibility.ACCOUNT_ONLY if not specified. 2565 // 2566 // Possible values: 2567 // "VISIBILITY_UNSPECIFIED" - Default value. 2568 // "ACCOUNT_ONLY" - The resource is only visible to the GCP account 2569 // who owns it. 2570 // "SHARED_WITH_GOOGLE" - The resource is visible to the owner and may 2571 // be visible to other 2572 // applications and processes at Google. 2573 // "SHARED_WITH_PUBLIC" - The resource is visible to the owner and may 2574 // be visible to all other API 2575 // clients. 2576 Visibility string `json:"visibility,omitempty"` 2577 2578 // ServerResponse contains the HTTP response code and headers from the 2579 // server. 2580 googleapi.ServerResponse `json:"-"` 2581 2582 // ForceSendFields is a list of field names (e.g. "Addresses") to 2583 // unconditionally include in API requests. By default, fields with 2584 // empty values are omitted from API requests. However, any non-pointer, 2585 // non-interface field appearing in ForceSendFields will be sent to the 2586 // server regardless of whether the field is empty or not. This may be 2587 // used to include empty fields in Patch requests. 2588 ForceSendFields []string `json:"-"` 2589 2590 // NullFields is a list of field names (e.g. "Addresses") to include in 2591 // API requests with the JSON null value. By default, fields with empty 2592 // values are omitted from API requests. However, any field with an 2593 // empty value appearing in NullFields will be sent to the server as 2594 // null. It is an error if a field in this list has a non-empty value. 2595 // This may be used to include null fields in Patch requests. 2596 NullFields []string `json:"-"` 2597} 2598 2599func (s *Job) MarshalJSON() ([]byte, error) { 2600 type NoMethod Job 2601 raw := NoMethod(*s) 2602 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2603} 2604 2605// JobDerivedInfo: Output only. 2606// 2607// Derived details about the job posting. 2608type JobDerivedInfo struct { 2609 // JobCategories: Job categories derived from Job.title and 2610 // Job.description. 2611 // 2612 // Possible values: 2613 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category 2614 // isn't specified. 2615 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 2616 // an Accountant. 2617 // "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job, 2618 // such as an Administrative Assistant. 2619 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 2620 // such as Marketing Manager. 2621 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 2622 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 2623 // Designer. 2624 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 2625 // Operations Manager. 2626 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 2627 // Custodial Staff. 2628 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 2629 // Administrator. 2630 // "CONSTRUCTION" - A construction job, such as General Laborer. 2631 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 2632 // "EDUCATION" - An education job, such as School Teacher. 2633 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 2634 // as Flight Attendant. 2635 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 2636 // Ranger. 2637 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 2638 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 2639 // Director. 2640 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 2641 // maintenance, or repair job, such as Electrician. 2642 // "LEGAL" - A legal job, such as Law Clerk. 2643 // "MANAGEMENT" - A management job, often used in conjunction with 2644 // another category, 2645 // such as Store Manager. 2646 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 2647 // such as Assembly Technician. 2648 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 2649 // writing job, such as Media Relations. 2650 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 2651 // Driller. 2652 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 2653 // such as Hair Stylist. 2654 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 2655 // Guard. 2656 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 2657 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 2658 // such as Restaurant Server. 2659 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 2660 // Associate. 2661 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 2662 // Lab Technician. 2663 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 2664 // job, such as Case Worker. 2665 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 2666 // job, such as Personal Trainer. 2667 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 2668 // such as Truck Driver. 2669 JobCategories []string `json:"jobCategories,omitempty"` 2670 2671 // Locations: Structured locations of the job, resolved from 2672 // Job.addresses. 2673 // 2674 // locations are exactly matched to Job.addresses in the same 2675 // order. 2676 Locations []*Location `json:"locations,omitempty"` 2677 2678 // ForceSendFields is a list of field names (e.g. "JobCategories") to 2679 // unconditionally include in API requests. By default, fields with 2680 // empty values are omitted from API requests. However, any non-pointer, 2681 // non-interface field appearing in ForceSendFields will be sent to the 2682 // server regardless of whether the field is empty or not. This may be 2683 // used to include empty fields in Patch requests. 2684 ForceSendFields []string `json:"-"` 2685 2686 // NullFields is a list of field names (e.g. "JobCategories") to include 2687 // in API requests with the JSON null value. By default, fields with 2688 // empty values are omitted from API requests. However, any field with 2689 // an empty value appearing in NullFields will be sent to the server as 2690 // null. It is an error if a field in this list has a non-empty value. 2691 // This may be used to include null fields in Patch requests. 2692 NullFields []string `json:"-"` 2693} 2694 2695func (s *JobDerivedInfo) MarshalJSON() ([]byte, error) { 2696 type NoMethod JobDerivedInfo 2697 raw := NoMethod(*s) 2698 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2699} 2700 2701// JobEvent: An event issued when a job seeker interacts with the 2702// application that 2703// implements Cloud Talent Solution. 2704type JobEvent struct { 2705 // Jobs: Required. The job name(s) associated with this event. 2706 // For example, if this is an impression event, 2707 // this field contains the identifiers of all jobs shown to the job 2708 // seeker. 2709 // If this was a view event, this field contains the 2710 // identifier of the viewed job. 2711 Jobs []string `json:"jobs,omitempty"` 2712 2713 // Type: Required. The type of the event (see JobEventType). 2714 // 2715 // Possible values: 2716 // "JOB_EVENT_TYPE_UNSPECIFIED" - The event is unspecified by other 2717 // provided values. 2718 // "IMPRESSION" - The job seeker or other entity interacting with the 2719 // service has 2720 // had a job rendered in their view, such as in a list of search results 2721 // in 2722 // a compressed or clipped format. This event is typically associated 2723 // with 2724 // the viewing of a jobs list on a single page by a job seeker. 2725 // "VIEW" - The job seeker, or other entity interacting with the 2726 // service, has 2727 // viewed the details of a job, including the full description. 2728 // This 2729 // event doesn't apply to the viewing a snippet of a job appearing as 2730 // a 2731 // part of the job search results. Viewing a snippet is associated with 2732 // an 2733 // impression). 2734 // "VIEW_REDIRECT" - The job seeker or other entity interacting with 2735 // the service 2736 // performed an action to view a job and was redirected to a 2737 // different 2738 // website for job. 2739 // "APPLICATION_START" - The job seeker or other entity interacting 2740 // with the service 2741 // began the process or demonstrated the intention of applying for a 2742 // job. 2743 // "APPLICATION_FINISH" - The job seeker or other entity interacting 2744 // with the service 2745 // submitted an application for a job. 2746 // "APPLICATION_QUICK_SUBMISSION" - The job seeker or other entity 2747 // interacting with the service 2748 // submitted an application for a job with a single click 2749 // without 2750 // entering information. If a job seeker performs this action, send 2751 // only 2752 // this event to the service. Do not also 2753 // send 2754 // JobEventType.APPLICATION_START or 2755 // JobEventType.APPLICATION_FINISH 2756 // events. 2757 // "APPLICATION_REDIRECT" - The job seeker or other entity interacting 2758 // with the service 2759 // performed an action to apply to a job and was redirected to a 2760 // different 2761 // website to complete the application. 2762 // "APPLICATION_START_FROM_SEARCH" - The job seeker or other entity 2763 // interacting with the service began the 2764 // process or demonstrated the intention of applying for a job from 2765 // the 2766 // search results page without viewing the details of the job 2767 // posting. 2768 // If sending this event, JobEventType.VIEW event shouldn't be sent. 2769 // "APPLICATION_REDIRECT_FROM_SEARCH" - The job seeker, or other 2770 // entity interacting with the service, performs an 2771 // action with a single click from the search results page to apply to a 2772 // job 2773 // (without viewing the details of the job posting), and is 2774 // redirected 2775 // to a different website to complete the application. If a 2776 // candidate 2777 // performs this action, send only this event to the service. Do not 2778 // also 2779 // send JobEventType.APPLICATION_START, 2780 // JobEventType.APPLICATION_FINISH or JobEventType.VIEW events. 2781 // "APPLICATION_COMPANY_SUBMIT" - This event should be used when a 2782 // company submits an application 2783 // on behalf of a job seeker. This event is intended for use by 2784 // staffing 2785 // agencies attempting to place candidates. 2786 // "BOOKMARK" - The job seeker or other entity interacting with the 2787 // service demonstrated 2788 // an interest in a job by bookmarking or saving it. 2789 // "NOTIFICATION" - The job seeker or other entity interacting with 2790 // the service was 2791 // sent a notification, such as an email alert or device 2792 // notification, 2793 // containing one or more jobs listings generated by the service. 2794 // "HIRED" - The job seeker or other entity interacting with the 2795 // service was 2796 // employed by the hiring entity (employer). Send this event 2797 // only if the job seeker was hired through an application that 2798 // was 2799 // initiated by a search conducted through the Cloud Talent 2800 // Solution 2801 // service. 2802 // "SENT_CV" - A recruiter or staffing agency submitted an application 2803 // on behalf of the 2804 // candidate after interacting with the service to identify a suitable 2805 // job 2806 // posting. 2807 // "INTERVIEW_GRANTED" - The entity interacting with the service (for 2808 // example, the job seeker), 2809 // was granted an initial interview by the hiring entity (employer). 2810 // This 2811 // event should only be sent if the job seeker was granted an interview 2812 // as 2813 // part of an application that was initiated by a search conducted 2814 // through / 2815 // recommendation provided by the Cloud Talent Solution service. 2816 // "NOT_INTERESTED" - The job seeker or other entity interacting with 2817 // the service showed 2818 // no interest in the job. 2819 Type string `json:"type,omitempty"` 2820 2821 // ForceSendFields is a list of field names (e.g. "Jobs") to 2822 // unconditionally include in API requests. By default, fields with 2823 // empty values are omitted from API requests. However, any non-pointer, 2824 // non-interface field appearing in ForceSendFields will be sent to the 2825 // server regardless of whether the field is empty or not. This may be 2826 // used to include empty fields in Patch requests. 2827 ForceSendFields []string `json:"-"` 2828 2829 // NullFields is a list of field names (e.g. "Jobs") to include in API 2830 // requests with the JSON null value. By default, fields with empty 2831 // values are omitted from API requests. However, any field with an 2832 // empty value appearing in NullFields will be sent to the server as 2833 // null. It is an error if a field in this list has a non-empty value. 2834 // This may be used to include null fields in Patch requests. 2835 NullFields []string `json:"-"` 2836} 2837 2838func (s *JobEvent) MarshalJSON() ([]byte, error) { 2839 type NoMethod JobEvent 2840 raw := NoMethod(*s) 2841 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2842} 2843 2844// JobQuery: Input only. 2845// 2846// The query required to perform a search query. 2847type JobQuery struct { 2848 // CommuteFilter: Optional. Allows filtering jobs by commute time with 2849 // different travel methods (for 2850 // example, driving or public transit). Note: This only works with 2851 // COMMUTE 2852 // MODE. When specified, [JobQuery.location_filters] is 2853 // ignored. 2854 // 2855 // Currently we don't support sorting by commute time. 2856 CommuteFilter *CommuteFilter `json:"commuteFilter,omitempty"` 2857 2858 // CompanyDisplayNames: Optional. This filter specifies the exact 2859 // company display 2860 // name of the jobs to search against. 2861 // 2862 // If a value isn't specified, jobs within the search results 2863 // are 2864 // associated with any company. 2865 // 2866 // If multiple values are specified, jobs within the search results may 2867 // be 2868 // associated with any of the specified companies. 2869 // 2870 // At most 20 company display name filters are allowed. 2871 CompanyDisplayNames []string `json:"companyDisplayNames,omitempty"` 2872 2873 // CompanyNames: Optional. This filter specifies the company entities to 2874 // search against. 2875 // 2876 // If a value isn't specified, jobs are searched for against 2877 // all 2878 // companies. 2879 // 2880 // If multiple values are specified, jobs are searched against 2881 // the 2882 // companies specified. 2883 // 2884 // The format is "projects/{project_id}/companies/{company_id}", for 2885 // example, 2886 // "projects/api-test-project/companies/foo". 2887 // 2888 // At most 20 company filters are allowed. 2889 CompanyNames []string `json:"companyNames,omitempty"` 2890 2891 // CompensationFilter: Optional. This search filter is applied only 2892 // to 2893 // Job.compensation_info. For example, if the filter is specified 2894 // as "Hourly job with per-hour compensation > $15", only jobs 2895 // meeting 2896 // these criteria are searched. If a filter isn't defined, all open 2897 // jobs 2898 // are searched. 2899 CompensationFilter *CompensationFilter `json:"compensationFilter,omitempty"` 2900 2901 // CustomAttributeFilter: Optional. This filter specifies a structured 2902 // syntax to match against the 2903 // Job.custom_attributes marked as `filterable`. 2904 // 2905 // The syntax for this expression is a subset of SQL syntax. 2906 // 2907 // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where 2908 // the 2909 // left of the operator is a custom field key and the right of the 2910 // operator 2911 // is a number or a quoted string. You must escape backslash (\\) 2912 // and 2913 // quote (\") characters. 2914 // 2915 // Supported functions are `LOWER([field_name])` to 2916 // perform a case insensitive match and `EMPTY([field_name])` to filter 2917 // on the 2918 // existence of a key. 2919 // 2920 // Boolean expressions (AND/OR/NOT) are supported up to 3 levels 2921 // of 2922 // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum 2923 // of 100 2924 // comparisons or functions are allowed in the expression. The 2925 // expression 2926 // must be < 6000 bytes in length. 2927 // 2928 // Sample Query: 2929 // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) 2930 // AND 2931 // driving_years > 10` 2932 CustomAttributeFilter string `json:"customAttributeFilter,omitempty"` 2933 2934 // DisableSpellCheck: Optional. This flag controls the spell-check 2935 // feature. If false, the 2936 // service attempts to correct a misspelled query, 2937 // for example, "enginee" is corrected to "engineer". 2938 // 2939 // Defaults to false: a spell check is performed. 2940 DisableSpellCheck bool `json:"disableSpellCheck,omitempty"` 2941 2942 // EmploymentTypes: Optional. The employment type filter specifies the 2943 // employment type of jobs to 2944 // search against, such as EmploymentType.FULL_TIME. 2945 // 2946 // If a value is not specified, jobs in the search results includes 2947 // any 2948 // employment type. 2949 // 2950 // If multiple values are specified, jobs in the search results 2951 // include 2952 // any of the specified employment types. 2953 // 2954 // Possible values: 2955 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 2956 // type is not specified. 2957 // "FULL_TIME" - The job requires working a number of hours that 2958 // constitute full 2959 // time employment, typically 40 or more hours per week. 2960 // "PART_TIME" - The job entails working fewer hours than a full time 2961 // job, 2962 // typically less than 40 hours a week. 2963 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 2964 // salaried employee, 2965 // position. 2966 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 2967 // with the understanding 2968 // that it's converted into a full-time position at the end of 2969 // the 2970 // contract. Jobs of this type are also returned by a search 2971 // for 2972 // EmploymentType.CONTRACTOR jobs. 2973 // "TEMPORARY" - The job is offered as a temporary employment 2974 // opportunity, usually 2975 // a short-term engagement. 2976 // "INTERN" - The job is a fixed-term opportunity for students or 2977 // entry-level job 2978 // seekers to obtain on-the-job training, typically offered as a 2979 // summer 2980 // position. 2981 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 2982 // where there's no 2983 // expectation of compensation for the provided services. 2984 // "PER_DIEM" - The job requires an employee to work on an as-needed 2985 // basis with a 2986 // flexible schedule. 2987 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 2988 // areas and flying them 2989 // temporarily to the work site instead of relocating employees and 2990 // their 2991 // families permanently. 2992 // "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other 2993 // listed types. 2994 EmploymentTypes []string `json:"employmentTypes,omitempty"` 2995 2996 // ExcludedJobs: Optional. This filter specifies a list of job names to 2997 // be excluded during search. 2998 // 2999 // At most 400 excluded job names are allowed. 3000 ExcludedJobs []string `json:"excludedJobs,omitempty"` 3001 3002 // JobCategories: Optional. The category filter specifies the categories 3003 // of jobs to search against. 3004 // See Category for more information. 3005 // 3006 // If a value is not specified, jobs from any category are searched 3007 // against. 3008 // 3009 // If multiple values are specified, jobs from any of the 3010 // specified 3011 // categories are searched against. 3012 // 3013 // Possible values: 3014 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category 3015 // isn't specified. 3016 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 3017 // an Accountant. 3018 // "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job, 3019 // such as an Administrative Assistant. 3020 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 3021 // such as Marketing Manager. 3022 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 3023 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 3024 // Designer. 3025 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 3026 // Operations Manager. 3027 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 3028 // Custodial Staff. 3029 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 3030 // Administrator. 3031 // "CONSTRUCTION" - A construction job, such as General Laborer. 3032 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 3033 // "EDUCATION" - An education job, such as School Teacher. 3034 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 3035 // as Flight Attendant. 3036 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 3037 // Ranger. 3038 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 3039 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 3040 // Director. 3041 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 3042 // maintenance, or repair job, such as Electrician. 3043 // "LEGAL" - A legal job, such as Law Clerk. 3044 // "MANAGEMENT" - A management job, often used in conjunction with 3045 // another category, 3046 // such as Store Manager. 3047 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 3048 // such as Assembly Technician. 3049 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 3050 // writing job, such as Media Relations. 3051 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 3052 // Driller. 3053 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 3054 // such as Hair Stylist. 3055 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 3056 // Guard. 3057 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 3058 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 3059 // such as Restaurant Server. 3060 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 3061 // Associate. 3062 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 3063 // Lab Technician. 3064 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 3065 // job, such as Case Worker. 3066 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 3067 // job, such as Personal Trainer. 3068 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 3069 // such as Truck Driver. 3070 JobCategories []string `json:"jobCategories,omitempty"` 3071 3072 // LanguageCodes: Optional. This filter specifies the locale of jobs to 3073 // search against, 3074 // for example, "en-US". 3075 // 3076 // If a value isn't specified, the search results can contain jobs in 3077 // any 3078 // locale. 3079 // 3080 // 3081 // Language codes should be in BCP-47 format, such as "en-US" or 3082 // "sr-Latn". 3083 // For more information, see 3084 // [Tags for Identifying 3085 // Languages](https://tools.ietf.org/html/bcp47). 3086 // 3087 // At most 10 language code filters are allowed. 3088 LanguageCodes []string `json:"languageCodes,omitempty"` 3089 3090 // LocationFilters: Optional. The location filter specifies geo-regions 3091 // containing the jobs to 3092 // search against. See LocationFilter for more information. 3093 // 3094 // If a location value isn't specified, jobs fitting the other 3095 // search 3096 // criteria are retrieved regardless of where they're located. 3097 // 3098 // If multiple values are specified, jobs are retrieved from any of 3099 // the 3100 // specified locations. If different values are specified for 3101 // the 3102 // LocationFilter.distance_in_miles parameter, the maximum 3103 // provided 3104 // distance is used for all locations. 3105 // 3106 // At most 5 location filters are allowed. 3107 LocationFilters []*LocationFilter `json:"locationFilters,omitempty"` 3108 3109 // PublishTimeRange: Optional. Jobs published within a range specified 3110 // by this filter are searched 3111 // against. 3112 PublishTimeRange *TimestampRange `json:"publishTimeRange,omitempty"` 3113 3114 // Query: Optional. The query string that matches against the job title, 3115 // description, and 3116 // location fields. 3117 // 3118 // The maximum number of allowed characters is 255. 3119 Query string `json:"query,omitempty"` 3120 3121 // QueryLanguageCode: The language code of query. For example, "en-US". 3122 // This field helps to 3123 // better interpret the query. 3124 // 3125 // If a value isn't specified, the query language code is 3126 // automatically 3127 // detected, which may not be accurate. 3128 // 3129 // Language code should be in BCP-47 format, such as "en-US" or 3130 // "sr-Latn". 3131 // For more information, see 3132 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 3133 QueryLanguageCode string `json:"queryLanguageCode,omitempty"` 3134 3135 // ForceSendFields is a list of field names (e.g. "CommuteFilter") to 3136 // unconditionally include in API requests. By default, fields with 3137 // empty values are omitted from API requests. However, any non-pointer, 3138 // non-interface field appearing in ForceSendFields will be sent to the 3139 // server regardless of whether the field is empty or not. This may be 3140 // used to include empty fields in Patch requests. 3141 ForceSendFields []string `json:"-"` 3142 3143 // NullFields is a list of field names (e.g. "CommuteFilter") to include 3144 // in API requests with the JSON null value. By default, fields with 3145 // empty values are omitted from API requests. However, any field with 3146 // an empty value appearing in NullFields will be sent to the server as 3147 // null. It is an error if a field in this list has a non-empty value. 3148 // This may be used to include null fields in Patch requests. 3149 NullFields []string `json:"-"` 3150} 3151 3152func (s *JobQuery) MarshalJSON() ([]byte, error) { 3153 type NoMethod JobQuery 3154 raw := NoMethod(*s) 3155 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3156} 3157 3158// LatLng: An object representing a latitude/longitude pair. This is 3159// expressed as a pair 3160// of doubles representing degrees latitude and degrees longitude. 3161// Unless 3162// specified otherwise, this must conform to the 3163// <a 3164// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 3165// st 3166// andard</a>. Values must be within normalized ranges. 3167type LatLng struct { 3168 // Latitude: The latitude in degrees. It must be in the range [-90.0, 3169 // +90.0]. 3170 Latitude float64 `json:"latitude,omitempty"` 3171 3172 // Longitude: The longitude in degrees. It must be in the range [-180.0, 3173 // +180.0]. 3174 Longitude float64 `json:"longitude,omitempty"` 3175 3176 // ForceSendFields is a list of field names (e.g. "Latitude") to 3177 // unconditionally include in API requests. By default, fields with 3178 // empty values are omitted from API requests. However, any non-pointer, 3179 // non-interface field appearing in ForceSendFields will be sent to the 3180 // server regardless of whether the field is empty or not. This may be 3181 // used to include empty fields in Patch requests. 3182 ForceSendFields []string `json:"-"` 3183 3184 // NullFields is a list of field names (e.g. "Latitude") to include in 3185 // API requests with the JSON null value. By default, fields with empty 3186 // values are omitted from API requests. However, any field with an 3187 // empty value appearing in NullFields will be sent to the server as 3188 // null. It is an error if a field in this list has a non-empty value. 3189 // This may be used to include null fields in Patch requests. 3190 NullFields []string `json:"-"` 3191} 3192 3193func (s *LatLng) MarshalJSON() ([]byte, error) { 3194 type NoMethod LatLng 3195 raw := NoMethod(*s) 3196 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3197} 3198 3199func (s *LatLng) UnmarshalJSON(data []byte) error { 3200 type NoMethod LatLng 3201 var s1 struct { 3202 Latitude gensupport.JSONFloat64 `json:"latitude"` 3203 Longitude gensupport.JSONFloat64 `json:"longitude"` 3204 *NoMethod 3205 } 3206 s1.NoMethod = (*NoMethod)(s) 3207 if err := json.Unmarshal(data, &s1); err != nil { 3208 return err 3209 } 3210 s.Latitude = float64(s1.Latitude) 3211 s.Longitude = float64(s1.Longitude) 3212 return nil 3213} 3214 3215// ListCompaniesResponse: Output only. 3216// 3217// The List companies response object. 3218type ListCompaniesResponse struct { 3219 // Companies: Companies for the current client. 3220 Companies []*Company `json:"companies,omitempty"` 3221 3222 // Metadata: Additional information for the API invocation, such as the 3223 // request 3224 // tracking id. 3225 Metadata *ResponseMetadata `json:"metadata,omitempty"` 3226 3227 // NextPageToken: A token to retrieve the next page of results. 3228 NextPageToken string `json:"nextPageToken,omitempty"` 3229 3230 // ServerResponse contains the HTTP response code and headers from the 3231 // server. 3232 googleapi.ServerResponse `json:"-"` 3233 3234 // ForceSendFields is a list of field names (e.g. "Companies") to 3235 // unconditionally include in API requests. By default, fields with 3236 // empty values are omitted from API requests. However, any non-pointer, 3237 // non-interface field appearing in ForceSendFields will be sent to the 3238 // server regardless of whether the field is empty or not. This may be 3239 // used to include empty fields in Patch requests. 3240 ForceSendFields []string `json:"-"` 3241 3242 // NullFields is a list of field names (e.g. "Companies") to include in 3243 // API requests with the JSON null value. By default, fields with empty 3244 // values are omitted from API requests. However, any field with an 3245 // empty value appearing in NullFields will be sent to the server as 3246 // null. It is an error if a field in this list has a non-empty value. 3247 // This may be used to include null fields in Patch requests. 3248 NullFields []string `json:"-"` 3249} 3250 3251func (s *ListCompaniesResponse) MarshalJSON() ([]byte, error) { 3252 type NoMethod ListCompaniesResponse 3253 raw := NoMethod(*s) 3254 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3255} 3256 3257// ListJobsResponse: Output only. 3258// 3259// List jobs response. 3260type ListJobsResponse struct { 3261 // Jobs: The Jobs for a given company. 3262 // 3263 // The maximum number of items returned is based on the limit 3264 // field 3265 // provided in the request. 3266 Jobs []*Job `json:"jobs,omitempty"` 3267 3268 // Metadata: Additional information for the API invocation, such as the 3269 // request 3270 // tracking id. 3271 Metadata *ResponseMetadata `json:"metadata,omitempty"` 3272 3273 // NextPageToken: A token to retrieve the next page of results. 3274 NextPageToken string `json:"nextPageToken,omitempty"` 3275 3276 // ServerResponse contains the HTTP response code and headers from the 3277 // server. 3278 googleapi.ServerResponse `json:"-"` 3279 3280 // ForceSendFields is a list of field names (e.g. "Jobs") to 3281 // unconditionally include in API requests. By default, fields with 3282 // empty values are omitted from API requests. However, any non-pointer, 3283 // non-interface field appearing in ForceSendFields will be sent to the 3284 // server regardless of whether the field is empty or not. This may be 3285 // used to include empty fields in Patch requests. 3286 ForceSendFields []string `json:"-"` 3287 3288 // NullFields is a list of field names (e.g. "Jobs") to include in API 3289 // requests with the JSON null value. By default, fields with empty 3290 // values are omitted from API requests. However, any field with an 3291 // empty value appearing in NullFields will be sent to the server as 3292 // null. It is an error if a field in this list has a non-empty value. 3293 // This may be used to include null fields in Patch requests. 3294 NullFields []string `json:"-"` 3295} 3296 3297func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { 3298 type NoMethod ListJobsResponse 3299 raw := NoMethod(*s) 3300 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3301} 3302 3303// Location: Output only. 3304// 3305// A resource that represents a location with full geographic 3306// information. 3307type Location struct { 3308 // LatLng: An object representing a latitude/longitude pair. 3309 LatLng *LatLng `json:"latLng,omitempty"` 3310 3311 // LocationType: The type of a location, which corresponds to the 3312 // address lines field of 3313 // PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type 3314 // of 3315 // LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type 3316 // of 3317 // LocationType#LOCALITY. 3318 // 3319 // Possible values: 3320 // "LOCATION_TYPE_UNSPECIFIED" - Default value if the type is not 3321 // specified. 3322 // "COUNTRY" - A country level location. 3323 // "ADMINISTRATIVE_AREA" - A state or equivalent level location. 3324 // "SUB_ADMINISTRATIVE_AREA" - A county or equivalent level location. 3325 // "LOCALITY" - A city or equivalent level location. 3326 // "POSTAL_CODE" - A postal code level location. 3327 // "SUB_LOCALITY" - A sublocality is a subdivision of a locality, for 3328 // example a city borough, 3329 // ward, or arrondissement. Sublocalities are usually recognized by a 3330 // local 3331 // political authority. For example, Manhattan and Brooklyn are 3332 // recognized 3333 // as boroughs by the City of New York, and are therefore modeled 3334 // as 3335 // sublocalities. 3336 // "SUB_LOCALITY_1" - A district or equivalent level location. 3337 // "SUB_LOCALITY_2" - A smaller district or equivalent level display. 3338 // "NEIGHBORHOOD" - A neighborhood level location. 3339 // "STREET_ADDRESS" - A street address level location. 3340 LocationType string `json:"locationType,omitempty"` 3341 3342 // PostalAddress: Postal address of the location that includes human 3343 // readable information, 3344 // such as postal delivery and payments addresses. Given a postal 3345 // address, 3346 // a postal service can deliver items to a premises, P.O. Box, or 3347 // other 3348 // delivery location. 3349 PostalAddress *PostalAddress `json:"postalAddress,omitempty"` 3350 3351 // RadiusInMiles: Radius in miles of the job location. This value is 3352 // derived from the 3353 // location bounding box in which a circle with the specified 3354 // radius 3355 // centered from LatLng covers the area associated with the job 3356 // location. 3357 // For example, currently, "Mountain View, CA, USA" has a radius of 3358 // 6.17 miles. 3359 RadiusInMiles float64 `json:"radiusInMiles,omitempty"` 3360 3361 // ForceSendFields is a list of field names (e.g. "LatLng") to 3362 // unconditionally include in API requests. By default, fields with 3363 // empty values are omitted from API requests. However, any non-pointer, 3364 // non-interface field appearing in ForceSendFields will be sent to the 3365 // server regardless of whether the field is empty or not. This may be 3366 // used to include empty fields in Patch requests. 3367 ForceSendFields []string `json:"-"` 3368 3369 // NullFields is a list of field names (e.g. "LatLng") to include in API 3370 // requests with the JSON null value. By default, fields with empty 3371 // values are omitted from API requests. However, any field with an 3372 // empty value appearing in NullFields will be sent to the server as 3373 // null. It is an error if a field in this list has a non-empty value. 3374 // This may be used to include null fields in Patch requests. 3375 NullFields []string `json:"-"` 3376} 3377 3378func (s *Location) MarshalJSON() ([]byte, error) { 3379 type NoMethod Location 3380 raw := NoMethod(*s) 3381 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3382} 3383 3384func (s *Location) UnmarshalJSON(data []byte) error { 3385 type NoMethod Location 3386 var s1 struct { 3387 RadiusInMiles gensupport.JSONFloat64 `json:"radiusInMiles"` 3388 *NoMethod 3389 } 3390 s1.NoMethod = (*NoMethod)(s) 3391 if err := json.Unmarshal(data, &s1); err != nil { 3392 return err 3393 } 3394 s.RadiusInMiles = float64(s1.RadiusInMiles) 3395 return nil 3396} 3397 3398// LocationFilter: Input only. 3399// 3400// Geographic region of the search. 3401type LocationFilter struct { 3402 // Address: Optional. The address name, such as "Mountain View" or "Bay 3403 // Area". 3404 Address string `json:"address,omitempty"` 3405 3406 // DistanceInMiles: Optional. The distance_in_miles is applied when the 3407 // location being searched for is 3408 // identified as a city or smaller. When the location being searched for 3409 // is a 3410 // state or larger, this field is ignored. 3411 DistanceInMiles float64 `json:"distanceInMiles,omitempty"` 3412 3413 // LatLng: Optional. The latitude and longitude of the geographic center 3414 // from which to 3415 // search. This field's ignored if `address` is provided. 3416 LatLng *LatLng `json:"latLng,omitempty"` 3417 3418 // RegionCode: Optional. CLDR region code of the country/region of the 3419 // address. This is used 3420 // to address ambiguity of the user-input location, for example, 3421 // "Liverpool" 3422 // against "Liverpool, NY, US" or "Liverpool, UK". 3423 // 3424 // Set this field if all the jobs to search against are from a same 3425 // region, 3426 // or jobs are world-wide, but the job seeker is from a specific 3427 // region. 3428 // 3429 // See http://cldr.unicode.org/ 3430 // and 3431 // http://www.unicode.org/cldr/charts/30/supplemental/territory_infor 3432 // mation.html 3433 // for details. Example: "CH" for Switzerland. 3434 RegionCode string `json:"regionCode,omitempty"` 3435 3436 // TelecommutePreference: Optional. Allows the client to return jobs 3437 // without a 3438 // set location, specifically, telecommuting jobs (telecommuting is 3439 // considered 3440 // by the service as a special location. 3441 // Job.posting_region indicates if a job permits telecommuting. 3442 // If this field is set to 3443 // TelecommutePreference.TELECOMMUTE_ALLOWED, 3444 // telecommuting jobs are searched, and address and lat_lng are 3445 // ignored. If not set or set 3446 // to 3447 // TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are 3448 // not 3449 // searched. 3450 // 3451 // This filter can be used by itself to search exclusively for 3452 // telecommuting 3453 // jobs, or it can be combined with another location 3454 // filter to search for a combination of job locations, 3455 // such as "Mountain View" or "telecommuting" jobs. However, when used 3456 // in 3457 // combination with other location filters, telecommuting jobs can 3458 // be 3459 // treated as less relevant than other jobs in the search response. 3460 // 3461 // Possible values: 3462 // "TELECOMMUTE_PREFERENCE_UNSPECIFIED" - Default value if the 3463 // telecommute preference is not specified. 3464 // "TELECOMMUTE_EXCLUDED" - Exclude telecommute jobs. 3465 // "TELECOMMUTE_ALLOWED" - Allow telecommute jobs. 3466 TelecommutePreference string `json:"telecommutePreference,omitempty"` 3467 3468 // ForceSendFields is a list of field names (e.g. "Address") to 3469 // unconditionally include in API requests. By default, fields with 3470 // empty values are omitted from API requests. However, any non-pointer, 3471 // non-interface field appearing in ForceSendFields will be sent to the 3472 // server regardless of whether the field is empty or not. This may be 3473 // used to include empty fields in Patch requests. 3474 ForceSendFields []string `json:"-"` 3475 3476 // NullFields is a list of field names (e.g. "Address") to include in 3477 // API requests with the JSON null value. By default, fields with empty 3478 // values are omitted from API requests. However, any field with an 3479 // empty value appearing in NullFields will be sent to the server as 3480 // null. It is an error if a field in this list has a non-empty value. 3481 // This may be used to include null fields in Patch requests. 3482 NullFields []string `json:"-"` 3483} 3484 3485func (s *LocationFilter) MarshalJSON() ([]byte, error) { 3486 type NoMethod LocationFilter 3487 raw := NoMethod(*s) 3488 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3489} 3490 3491func (s *LocationFilter) UnmarshalJSON(data []byte) error { 3492 type NoMethod LocationFilter 3493 var s1 struct { 3494 DistanceInMiles gensupport.JSONFloat64 `json:"distanceInMiles"` 3495 *NoMethod 3496 } 3497 s1.NoMethod = (*NoMethod)(s) 3498 if err := json.Unmarshal(data, &s1); err != nil { 3499 return err 3500 } 3501 s.DistanceInMiles = float64(s1.DistanceInMiles) 3502 return nil 3503} 3504 3505// MatchingJob: Output only. 3506// 3507// Job entry with metadata inside SearchJobsResponse. 3508type MatchingJob struct { 3509 // CommuteInfo: Commute information which is generated based on 3510 // specified 3511 // CommuteFilter. 3512 CommuteInfo *CommuteInfo `json:"commuteInfo,omitempty"` 3513 3514 // Job: Job resource that matches the specified SearchJobsRequest. 3515 Job *Job `json:"job,omitempty"` 3516 3517 // JobSummary: A summary of the job with core information that's 3518 // displayed on the search 3519 // results listing page. 3520 JobSummary string `json:"jobSummary,omitempty"` 3521 3522 // JobTitleSnippet: Contains snippets of text from the Job.job_title 3523 // field most 3524 // closely matching a search query's keywords, if available. The 3525 // matching 3526 // query keywords are enclosed in HTML bold tags. 3527 JobTitleSnippet string `json:"jobTitleSnippet,omitempty"` 3528 3529 // SearchTextSnippet: Contains snippets of text from the Job.description 3530 // and similar 3531 // fields that most closely match a search query's keywords, if 3532 // available. 3533 // All HTML tags in the original fields are stripped when returned in 3534 // this 3535 // field, and matching query keywords are enclosed in HTML bold tags. 3536 SearchTextSnippet string `json:"searchTextSnippet,omitempty"` 3537 3538 // ForceSendFields is a list of field names (e.g. "CommuteInfo") to 3539 // unconditionally include in API requests. By default, fields with 3540 // empty values are omitted from API requests. However, any non-pointer, 3541 // non-interface field appearing in ForceSendFields will be sent to the 3542 // server regardless of whether the field is empty or not. This may be 3543 // used to include empty fields in Patch requests. 3544 ForceSendFields []string `json:"-"` 3545 3546 // NullFields is a list of field names (e.g. "CommuteInfo") to include 3547 // in API requests with the JSON null value. By default, fields with 3548 // empty values are omitted from API requests. However, any field with 3549 // an empty value appearing in NullFields will be sent to the server as 3550 // null. It is an error if a field in this list has a non-empty value. 3551 // This may be used to include null fields in Patch requests. 3552 NullFields []string `json:"-"` 3553} 3554 3555func (s *MatchingJob) MarshalJSON() ([]byte, error) { 3556 type NoMethod MatchingJob 3557 raw := NoMethod(*s) 3558 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3559} 3560 3561// MendelDebugInput: Message representing input to a Mendel server for 3562// debug forcing. 3563// See go/mendel-debug-forcing for more details. 3564// Next ID: 2 3565type MendelDebugInput struct { 3566 // NamespacedDebugInput: When a request spans multiple servers, a 3567 // MendelDebugInput may travel with 3568 // the request and take effect in all the servers. This field is a map 3569 // of 3570 // namespaces to NamespacedMendelDebugInput protos. In a single server, 3571 // up to 3572 // two NamespacedMendelDebugInput protos are applied: 3573 // 1. NamespacedMendelDebugInput with the global namespace (key == 3574 // ""). 3575 // 2. NamespacedMendelDebugInput with the server's namespace. 3576 // When both NamespacedMendelDebugInput protos are present, they are 3577 // merged. 3578 // See go/mendel-debug-forcing for more details. 3579 NamespacedDebugInput map[string]NamespacedDebugInput `json:"namespacedDebugInput,omitempty"` 3580 3581 // ForceSendFields is a list of field names (e.g. 3582 // "NamespacedDebugInput") to unconditionally include in API requests. 3583 // By default, fields with empty values are omitted from API requests. 3584 // However, any non-pointer, non-interface field appearing in 3585 // ForceSendFields will be sent to the server regardless of whether the 3586 // field is empty or not. This may be used to include empty fields in 3587 // Patch requests. 3588 ForceSendFields []string `json:"-"` 3589 3590 // NullFields is a list of field names (e.g. "NamespacedDebugInput") to 3591 // include in API requests with the JSON null value. By default, fields 3592 // with empty values are omitted from API requests. However, any field 3593 // with an empty value appearing in NullFields will be sent to the 3594 // server as null. It is an error if a field in this list has a 3595 // non-empty value. This may be used to include null fields in Patch 3596 // requests. 3597 NullFields []string `json:"-"` 3598} 3599 3600func (s *MendelDebugInput) MarshalJSON() ([]byte, error) { 3601 type NoMethod MendelDebugInput 3602 raw := NoMethod(*s) 3603 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3604} 3605 3606// Money: Represents an amount of money with its currency type. 3607type Money struct { 3608 // CurrencyCode: The 3-letter currency code defined in ISO 4217. 3609 CurrencyCode string `json:"currencyCode,omitempty"` 3610 3611 // Nanos: Number of nano (10^-9) units of the amount. 3612 // The value must be between -999,999,999 and +999,999,999 inclusive. 3613 // If `units` is positive, `nanos` must be positive or zero. 3614 // If `units` is zero, `nanos` can be positive, zero, or negative. 3615 // If `units` is negative, `nanos` must be negative or zero. 3616 // For example $-1.75 is represented as `units`=-1 and 3617 // `nanos`=-750,000,000. 3618 Nanos int64 `json:"nanos,omitempty"` 3619 3620 // Units: The whole units of the amount. 3621 // For example if `currencyCode` is "USD", then 1 unit is one US 3622 // dollar. 3623 Units int64 `json:"units,omitempty,string"` 3624 3625 // ForceSendFields is a list of field names (e.g. "CurrencyCode") to 3626 // unconditionally include in API requests. By default, fields with 3627 // empty values are omitted from API requests. However, any non-pointer, 3628 // non-interface field appearing in ForceSendFields will be sent to the 3629 // server regardless of whether the field is empty or not. This may be 3630 // used to include empty fields in Patch requests. 3631 ForceSendFields []string `json:"-"` 3632 3633 // NullFields is a list of field names (e.g. "CurrencyCode") to include 3634 // in API requests with the JSON null value. By default, fields with 3635 // empty values are omitted from API requests. However, any field with 3636 // an empty value appearing in NullFields will be sent to the server as 3637 // null. It is an error if a field in this list has a non-empty value. 3638 // This may be used to include null fields in Patch requests. 3639 NullFields []string `json:"-"` 3640} 3641 3642func (s *Money) MarshalJSON() ([]byte, error) { 3643 type NoMethod Money 3644 raw := NoMethod(*s) 3645 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3646} 3647 3648// NamespacedDebugInput: Next ID: 15 3649type NamespacedDebugInput struct { 3650 // AbsolutelyForcedExpNames: Set of experiment names to be absolutely 3651 // forced. 3652 // These experiments will be forced without evaluating the conditions. 3653 AbsolutelyForcedExpNames []string `json:"absolutelyForcedExpNames,omitempty"` 3654 3655 // AbsolutelyForcedExpTags: Set of experiment tags to be absolutely 3656 // forced. 3657 // The experiments with these tags will be forced without evaluating 3658 // the 3659 // conditions. 3660 AbsolutelyForcedExpTags []string `json:"absolutelyForcedExpTags,omitempty"` 3661 3662 // AbsolutelyForcedExps: Set of experiment ids to be absolutely 3663 // forced. 3664 // These ids will be forced without evaluating the conditions. 3665 AbsolutelyForcedExps []int64 `json:"absolutelyForcedExps,omitempty"` 3666 3667 // ConditionallyForcedExpNames: Set of experiment names to be 3668 // conditionally forced. 3669 // These experiments will be forced only if their conditions and 3670 // their 3671 // parent domain's conditions are true. 3672 ConditionallyForcedExpNames []string `json:"conditionallyForcedExpNames,omitempty"` 3673 3674 // ConditionallyForcedExpTags: Set of experiment tags to be 3675 // conditionally forced. 3676 // The experiments with these tags will be forced only if their 3677 // conditions 3678 // and their parent domain's conditions are true. 3679 ConditionallyForcedExpTags []string `json:"conditionallyForcedExpTags,omitempty"` 3680 3681 // ConditionallyForcedExps: Set of experiment ids to be conditionally 3682 // forced. 3683 // These ids will be forced only if their conditions and their 3684 // parent 3685 // domain's conditions are true. 3686 ConditionallyForcedExps []int64 `json:"conditionallyForcedExps,omitempty"` 3687 3688 // DisableAutomaticEnrollmentSelection: If true, disable automatic 3689 // enrollment selection (at all diversion 3690 // points). Automatic enrollment selection means experiment 3691 // selection 3692 // process based on the experiment's automatic enrollment condition. 3693 // This 3694 // does not disable selection of forced experiments. 3695 DisableAutomaticEnrollmentSelection bool `json:"disableAutomaticEnrollmentSelection,omitempty"` 3696 3697 // DisableExpNames: Set of experiment names to be disabled. 3698 // If an experiment is disabled, it is never selected nor forced. 3699 // If an aggregate experiment is disabled, its partitions are 3700 // disabled 3701 // together. If an experiment with an enrollment is disabled, the 3702 // enrollment 3703 // is disabled together. If a name corresponds to a domain, the 3704 // domain 3705 // itself and all descendant experiments and domains are disabled 3706 // together. 3707 DisableExpNames []string `json:"disableExpNames,omitempty"` 3708 3709 // DisableExpTags: Set of experiment tags to be disabled. All 3710 // experiments that are tagged 3711 // with one or more of these tags are disabled. 3712 // If an experiment is disabled, it is never selected nor forced. 3713 // If an aggregate experiment is disabled, its partitions are 3714 // disabled 3715 // together. If an experiment with an enrollment is disabled, the 3716 // enrollment 3717 // is disabled together. 3718 DisableExpTags []string `json:"disableExpTags,omitempty"` 3719 3720 // DisableExps: Set of experiment ids to be disabled. 3721 // If an experiment is disabled, it is never selected nor forced. 3722 // If an aggregate experiment is disabled, its partitions are 3723 // disabled 3724 // together. If an experiment with an enrollment is disabled, the 3725 // enrollment 3726 // is disabled together. If an ID corresponds to a domain, the domain 3727 // itself 3728 // and all descendant experiments and domains are disabled together. 3729 DisableExps []int64 `json:"disableExps,omitempty"` 3730 3731 // DisableManualEnrollmentSelection: If true, disable manual enrollment 3732 // selection (at all diversion points). 3733 // Manual enrollment selection means experiment selection process based 3734 // on 3735 // the request's manual enrollment states (a.k.a. opt-in 3736 // experiments). 3737 // This does not disable selection of forced experiments. 3738 DisableManualEnrollmentSelection bool `json:"disableManualEnrollmentSelection,omitempty"` 3739 3740 // DisableOrganicSelection: If true, disable organic experiment 3741 // selection (at all diversion points). 3742 // Organic selection means experiment selection process based on 3743 // traffic 3744 // allocation and diversion condition evaluation. 3745 // This does not disable selection of forced experiments. 3746 // 3747 // This is useful in cases when it is not known whether experiment 3748 // selection 3749 // behavior is responsible for a error or breakage. Disabling 3750 // organic 3751 // selection may help to isolate the cause of a given problem. 3752 DisableOrganicSelection bool `json:"disableOrganicSelection,omitempty"` 3753 3754 // ForcedFlags: Flags to force in a particular experiment state. 3755 // Map from flag name to flag value. 3756 ForcedFlags map[string]string `json:"forcedFlags,omitempty"` 3757 3758 // ForcedRollouts: Rollouts to force in a particular experiment 3759 // state. 3760 // Map from rollout name to rollout value. 3761 ForcedRollouts map[string]bool `json:"forcedRollouts,omitempty"` 3762 3763 // ForceSendFields is a list of field names (e.g. 3764 // "AbsolutelyForcedExpNames") to unconditionally include in API 3765 // requests. By default, fields with empty values are omitted from API 3766 // requests. However, any non-pointer, non-interface field appearing in 3767 // ForceSendFields will be sent to the server regardless of whether the 3768 // field is empty or not. This may be used to include empty fields in 3769 // Patch requests. 3770 ForceSendFields []string `json:"-"` 3771 3772 // NullFields is a list of field names (e.g. "AbsolutelyForcedExpNames") 3773 // to include in API requests with the JSON null value. By default, 3774 // fields with empty values are omitted from API requests. However, any 3775 // field with an empty value appearing in NullFields will be sent to the 3776 // server as null. It is an error if a field in this list has a 3777 // non-empty value. This may be used to include null fields in Patch 3778 // requests. 3779 NullFields []string `json:"-"` 3780} 3781 3782func (s *NamespacedDebugInput) MarshalJSON() ([]byte, error) { 3783 type NoMethod NamespacedDebugInput 3784 raw := NoMethod(*s) 3785 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3786} 3787 3788// NumericBucketingOption: Input only. 3789// 3790// Use this field to specify bucketing option for the histogram search 3791// response. 3792type NumericBucketingOption struct { 3793 // BucketBounds: Required. Two adjacent values form a histogram bucket. 3794 // Values should be in 3795 // ascending order. For example, if [5, 10, 15] are provided, four 3796 // buckets are 3797 // created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 3798 // 20 3799 // [buckets_bound is supported. 3800 BucketBounds []float64 `json:"bucketBounds,omitempty"` 3801 3802 // RequiresMinMax: Optional. If set to true, the histogram result 3803 // includes minimum/maximum 3804 // value of the numeric field. 3805 RequiresMinMax bool `json:"requiresMinMax,omitempty"` 3806 3807 // ForceSendFields is a list of field names (e.g. "BucketBounds") to 3808 // unconditionally include in API requests. By default, fields with 3809 // empty values are omitted from API requests. However, any non-pointer, 3810 // non-interface field appearing in ForceSendFields will be sent to the 3811 // server regardless of whether the field is empty or not. This may be 3812 // used to include empty fields in Patch requests. 3813 ForceSendFields []string `json:"-"` 3814 3815 // NullFields is a list of field names (e.g. "BucketBounds") to include 3816 // in API requests with the JSON null value. By default, fields with 3817 // empty values are omitted from API requests. However, any field with 3818 // an empty value appearing in NullFields will be sent to the server as 3819 // null. It is an error if a field in this list has a non-empty value. 3820 // This may be used to include null fields in Patch requests. 3821 NullFields []string `json:"-"` 3822} 3823 3824func (s *NumericBucketingOption) MarshalJSON() ([]byte, error) { 3825 type NoMethod NumericBucketingOption 3826 raw := NoMethod(*s) 3827 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3828} 3829 3830// NumericBucketingResult: Output only. 3831// 3832// Custom numeric bucketing result. 3833type NumericBucketingResult struct { 3834 // Counts: Count within each bucket. Its size is the length 3835 // of 3836 // NumericBucketingOption.bucket_bounds plus 1. 3837 Counts []*BucketizedCount `json:"counts,omitempty"` 3838 3839 // MaxValue: Stores the maximum value of the numeric field. Is populated 3840 // only if 3841 // [NumericBucketingOption.requires_min_max] is set to true. 3842 MaxValue float64 `json:"maxValue,omitempty"` 3843 3844 // MinValue: Stores the minimum value of the numeric field. Will be 3845 // populated only if 3846 // [NumericBucketingOption.requires_min_max] is set to true. 3847 MinValue float64 `json:"minValue,omitempty"` 3848 3849 // ForceSendFields is a list of field names (e.g. "Counts") to 3850 // unconditionally include in API requests. By default, fields with 3851 // empty values are omitted from API requests. However, any non-pointer, 3852 // non-interface field appearing in ForceSendFields will be sent to the 3853 // server regardless of whether the field is empty or not. This may be 3854 // used to include empty fields in Patch requests. 3855 ForceSendFields []string `json:"-"` 3856 3857 // NullFields is a list of field names (e.g. "Counts") to include in API 3858 // requests with the JSON null value. By default, fields with empty 3859 // values are omitted from API requests. However, any field with an 3860 // empty value appearing in NullFields will be sent to the server as 3861 // null. It is an error if a field in this list has a non-empty value. 3862 // This may be used to include null fields in Patch requests. 3863 NullFields []string `json:"-"` 3864} 3865 3866func (s *NumericBucketingResult) MarshalJSON() ([]byte, error) { 3867 type NoMethod NumericBucketingResult 3868 raw := NoMethod(*s) 3869 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3870} 3871 3872func (s *NumericBucketingResult) UnmarshalJSON(data []byte) error { 3873 type NoMethod NumericBucketingResult 3874 var s1 struct { 3875 MaxValue gensupport.JSONFloat64 `json:"maxValue"` 3876 MinValue gensupport.JSONFloat64 `json:"minValue"` 3877 *NoMethod 3878 } 3879 s1.NoMethod = (*NoMethod)(s) 3880 if err := json.Unmarshal(data, &s1); err != nil { 3881 return err 3882 } 3883 s.MaxValue = float64(s1.MaxValue) 3884 s.MinValue = float64(s1.MinValue) 3885 return nil 3886} 3887 3888// Operation: This resource represents a long-running operation that is 3889// the result of a 3890// network API call. 3891type Operation struct { 3892 // Done: If the value is `false`, it means the operation is still in 3893 // progress. 3894 // If `true`, the operation is completed, and either `error` or 3895 // `response` is 3896 // available. 3897 Done bool `json:"done,omitempty"` 3898 3899 // Error: The error result of the operation in case of failure or 3900 // cancellation. 3901 Error *Status `json:"error,omitempty"` 3902 3903 // Metadata: Service-specific metadata associated with the operation. 3904 // It typically 3905 // contains progress information and common metadata such as create 3906 // time. 3907 // Some services might not provide such metadata. Any method that 3908 // returns a 3909 // long-running operation should document the metadata type, if any. 3910 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 3911 3912 // Name: The server-assigned name, which is only unique within the same 3913 // service that 3914 // originally returns it. If you use the default HTTP mapping, 3915 // the 3916 // `name` should be a resource name ending with 3917 // `operations/{unique_id}`. 3918 Name string `json:"name,omitempty"` 3919 3920 // Response: The normal response of the operation in case of success. 3921 // If the original 3922 // method returns no data on success, such as `Delete`, the response 3923 // is 3924 // `google.protobuf.Empty`. If the original method is 3925 // standard 3926 // `Get`/`Create`/`Update`, the response should be the resource. For 3927 // other 3928 // methods, the response should have the type `XxxResponse`, where 3929 // `Xxx` 3930 // is the original method name. For example, if the original method 3931 // name 3932 // is `TakeSnapshot()`, the inferred response type 3933 // is 3934 // `TakeSnapshotResponse`. 3935 Response googleapi.RawMessage `json:"response,omitempty"` 3936 3937 // ServerResponse contains the HTTP response code and headers from the 3938 // server. 3939 googleapi.ServerResponse `json:"-"` 3940 3941 // ForceSendFields is a list of field names (e.g. "Done") to 3942 // unconditionally include in API requests. By default, fields with 3943 // empty values are omitted from API requests. However, any non-pointer, 3944 // non-interface field appearing in ForceSendFields will be sent to the 3945 // server regardless of whether the field is empty or not. This may be 3946 // used to include empty fields in Patch requests. 3947 ForceSendFields []string `json:"-"` 3948 3949 // NullFields is a list of field names (e.g. "Done") to include in API 3950 // requests with the JSON null value. By default, fields with empty 3951 // values are omitted from API requests. However, any field with an 3952 // empty value appearing in NullFields will be sent to the server as 3953 // null. It is an error if a field in this list has a non-empty value. 3954 // This may be used to include null fields in Patch requests. 3955 NullFields []string `json:"-"` 3956} 3957 3958func (s *Operation) MarshalJSON() ([]byte, error) { 3959 type NoMethod Operation 3960 raw := NoMethod(*s) 3961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3962} 3963 3964// PostalAddress: Represents a postal address, e.g. for postal delivery 3965// or payments addresses. 3966// Given a postal address, a postal service can deliver items to a 3967// premise, P.O. 3968// Box or similar. 3969// It is not intended to model geographical locations (roads, 3970// towns, 3971// mountains). 3972// 3973// In typical usage an address would be created via user input or from 3974// importing 3975// existing data, depending on the type of process. 3976// 3977// Advice on address input / editing: 3978// - Use an i18n-ready address widget such as 3979// https://github.com/google/libaddressinput) 3980// - Users should not be presented with UI elements for input or editing 3981// of 3982// fields outside countries where that field is used. 3983// 3984// For more guidance on how to use this schema, please 3985// see: 3986// https://support.google.com/business/answer/6397478 3987type PostalAddress struct { 3988 // AddressLines: Unstructured address lines describing the lower levels 3989 // of an address. 3990 // 3991 // Because values in address_lines do not have type information and 3992 // may 3993 // sometimes contain multiple values in a single field (e.g. 3994 // "Austin, TX"), it is important that the line order is clear. The 3995 // order of 3996 // address lines should be "envelope order" for the country/region of 3997 // the 3998 // address. In places where this can vary (e.g. Japan), address_language 3999 // is 4000 // used to make it explicit (e.g. "ja" for large-to-small ordering 4001 // and 4002 // "ja-Latn" or "en" for small-to-large). This way, the most specific 4003 // line of 4004 // an address can be selected based on the language. 4005 // 4006 // The minimum permitted structural representation of an address 4007 // consists 4008 // of a region_code with all remaining information placed in 4009 // the 4010 // address_lines. It would be possible to format such an address 4011 // very 4012 // approximately without geocoding, but no semantic reasoning could 4013 // be 4014 // made about any of the address components until it was at 4015 // least 4016 // partially resolved. 4017 // 4018 // Creating an address only containing a region_code and address_lines, 4019 // and 4020 // then geocoding is the recommended way to handle completely 4021 // unstructured 4022 // addresses (as opposed to guessing which parts of the address should 4023 // be 4024 // localities or administrative areas). 4025 AddressLines []string `json:"addressLines,omitempty"` 4026 4027 // AdministrativeArea: Optional. Highest administrative subdivision 4028 // which is used for postal 4029 // addresses of a country or region. 4030 // For example, this can be a state, a province, an oblast, or a 4031 // prefecture. 4032 // Specifically, for Spain this is the province and not the 4033 // autonomous 4034 // community (e.g. "Barcelona" and not "Catalonia"). 4035 // Many countries don't use an administrative area in postal addresses. 4036 // E.g. 4037 // in Switzerland this should be left unpopulated. 4038 AdministrativeArea string `json:"administrativeArea,omitempty"` 4039 4040 // LanguageCode: Optional. BCP-47 language code of the contents of this 4041 // address (if 4042 // known). This is often the UI language of the input form or is 4043 // expected 4044 // to match one of the languages used in the address' country/region, or 4045 // their 4046 // transliterated equivalents. 4047 // This can affect formatting in certain countries, but is not 4048 // critical 4049 // to the correctness of the data and will never affect any validation 4050 // or 4051 // other non-formatting related operations. 4052 // 4053 // If this value is not known, it should be omitted (rather than 4054 // specifying a 4055 // possibly incorrect default). 4056 // 4057 // Examples: "zh-Hant", "ja", "ja-Latn", "en". 4058 LanguageCode string `json:"languageCode,omitempty"` 4059 4060 // Locality: Optional. Generally refers to the city/town portion of the 4061 // address. 4062 // Examples: US city, IT comune, UK post town. 4063 // In regions of the world where localities are not well defined or do 4064 // not fit 4065 // into this structure well, leave locality empty and use address_lines. 4066 Locality string `json:"locality,omitempty"` 4067 4068 // Organization: Optional. The name of the organization at the address. 4069 Organization string `json:"organization,omitempty"` 4070 4071 // PostalCode: Optional. Postal code of the address. Not all countries 4072 // use or require 4073 // postal codes to be present, but where they are used, they may 4074 // trigger 4075 // additional validation with other parts of the address (e.g. 4076 // state/zip 4077 // validation in the U.S.A.). 4078 PostalCode string `json:"postalCode,omitempty"` 4079 4080 // Recipients: Optional. The recipient at the address. 4081 // This field may, under certain circumstances, contain multiline 4082 // information. 4083 // For example, it might contain "care of" information. 4084 Recipients []string `json:"recipients,omitempty"` 4085 4086 // RegionCode: Required. CLDR region code of the country/region of the 4087 // address. This 4088 // is never inferred and it is up to the user to ensure the value 4089 // is 4090 // correct. See http://cldr.unicode.org/ 4091 // and 4092 // http://www.unicode.org/cldr/charts/30/supplemental/territory_infor 4093 // mation.html 4094 // for details. Example: "CH" for Switzerland. 4095 RegionCode string `json:"regionCode,omitempty"` 4096 4097 // Revision: The schema revision of the `PostalAddress`. This must be 4098 // set to 0, which is 4099 // the latest revision. 4100 // 4101 // All new revisions **must** be backward compatible with old revisions. 4102 Revision int64 `json:"revision,omitempty"` 4103 4104 // SortingCode: Optional. Additional, country-specific, sorting code. 4105 // This is not used 4106 // in most regions. Where it is used, the value is either a string 4107 // like 4108 // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a 4109 // number 4110 // alone, representing the "sector code" (Jamaica), "delivery area 4111 // indicator" 4112 // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). 4113 SortingCode string `json:"sortingCode,omitempty"` 4114 4115 // Sublocality: Optional. Sublocality of the address. 4116 // For example, this can be neighborhoods, boroughs, districts. 4117 Sublocality string `json:"sublocality,omitempty"` 4118 4119 // ForceSendFields is a list of field names (e.g. "AddressLines") to 4120 // unconditionally include in API requests. By default, fields with 4121 // empty values are omitted from API requests. However, any non-pointer, 4122 // non-interface field appearing in ForceSendFields will be sent to the 4123 // server regardless of whether the field is empty or not. This may be 4124 // used to include empty fields in Patch requests. 4125 ForceSendFields []string `json:"-"` 4126 4127 // NullFields is a list of field names (e.g. "AddressLines") to include 4128 // in API requests with the JSON null value. By default, fields with 4129 // empty values are omitted from API requests. However, any field with 4130 // an empty value appearing in NullFields will be sent to the server as 4131 // null. It is an error if a field in this list has a non-empty value. 4132 // This may be used to include null fields in Patch requests. 4133 NullFields []string `json:"-"` 4134} 4135 4136func (s *PostalAddress) MarshalJSON() ([]byte, error) { 4137 type NoMethod PostalAddress 4138 raw := NoMethod(*s) 4139 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4140} 4141 4142// ProcessingOptions: Input only. 4143// 4144// Options for job processing. 4145type ProcessingOptions struct { 4146 // DisableStreetAddressResolution: Optional. If set to `true`, the 4147 // service does not attempt to resolve a 4148 // more precise address for the job. 4149 DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"` 4150 4151 // HtmlSanitization: Optional. Option for job HTML content sanitization. 4152 // Applied fields are: 4153 // 4154 // * description 4155 // * applicationInfo.instruction 4156 // * incentives 4157 // * qualifications 4158 // * responsibilities 4159 // 4160 // HTML tags in these fields may be stripped if sanitiazation is 4161 // not 4162 // disabled. 4163 // 4164 // Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY. 4165 // 4166 // Possible values: 4167 // "HTML_SANITIZATION_UNSPECIFIED" - Default value. 4168 // "HTML_SANITIZATION_DISABLED" - Disables sanitization on HTML input. 4169 // "SIMPLE_FORMATTING_ONLY" - Sanitizes HTML input, only accepts bold, 4170 // italic, ordered list, and 4171 // unordered list markup tags. 4172 HtmlSanitization string `json:"htmlSanitization,omitempty"` 4173 4174 // ForceSendFields is a list of field names (e.g. 4175 // "DisableStreetAddressResolution") to unconditionally include in API 4176 // requests. By default, fields with empty values are omitted from API 4177 // requests. However, any non-pointer, non-interface field appearing in 4178 // ForceSendFields will be sent to the server regardless of whether the 4179 // field is empty or not. This may be used to include empty fields in 4180 // Patch requests. 4181 ForceSendFields []string `json:"-"` 4182 4183 // NullFields is a list of field names (e.g. 4184 // "DisableStreetAddressResolution") to include in API requests with the 4185 // JSON null value. By default, fields with empty values are omitted 4186 // from API requests. However, any field with an empty value appearing 4187 // in NullFields will be sent to the server as null. It is an error if a 4188 // field in this list has a non-empty value. This may be used to include 4189 // null fields in Patch requests. 4190 NullFields []string `json:"-"` 4191} 4192 4193func (s *ProcessingOptions) MarshalJSON() ([]byte, error) { 4194 type NoMethod ProcessingOptions 4195 raw := NoMethod(*s) 4196 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4197} 4198 4199// RequestMetadata: Input only. 4200// 4201// Meta information related to the job searcher or entity 4202// conducting the job search. This information is used to improve 4203// the 4204// performance of the service. 4205type RequestMetadata struct { 4206 // DeviceInfo: Optional. The type of device used by the job seeker at 4207 // the time of the call to the 4208 // service. 4209 DeviceInfo *DeviceInfo `json:"deviceInfo,omitempty"` 4210 4211 // Domain: Required. The client-defined scope or source of the service 4212 // call, which typically 4213 // is the domain on 4214 // which the service has been implemented and is currently being 4215 // run. 4216 // 4217 // For example, if the service is being run by client <em>Foo, 4218 // Inc.</em>, on 4219 // job board www.foo.com and career site www.bar.com, then this field 4220 // is 4221 // set to "foo.com" for use on the job board, and "bar.com" for use on 4222 // the 4223 // career site. 4224 // 4225 // If this field isn't available for some reason, send "UNKNOWN". 4226 // Any improvements to the model for a particular tenant site rely on 4227 // this 4228 // field being set correctly to a domain. 4229 // 4230 // The maximum number of allowed characters is 255. 4231 Domain string `json:"domain,omitempty"` 4232 4233 // SessionId: Required. A unique session identification string. A 4234 // session is defined as the 4235 // duration of an end user's interaction with the service over a 4236 // certain 4237 // period. 4238 // Obfuscate this field for privacy concerns before 4239 // providing it to the service. 4240 // 4241 // If this field is not available for some reason, send "UNKNOWN". 4242 // Note 4243 // that any improvements to the model for a particular tenant 4244 // site, rely on this field being set correctly to some unique 4245 // session_id. 4246 // 4247 // The maximum number of allowed characters is 255. 4248 SessionId string `json:"sessionId,omitempty"` 4249 4250 // UserId: Required. A unique user identification string, as determined 4251 // by the client. 4252 // To have the strongest positive impact on search quality 4253 // make sure the client-level is unique. 4254 // Obfuscate this field for privacy concerns before 4255 // providing it to the service. 4256 // 4257 // If this field is not available for some reason, send "UNKNOWN". 4258 // Note 4259 // that any improvements to the model for a particular tenant 4260 // site, rely on this field being set correctly to a unique 4261 // user_id. 4262 // 4263 // The maximum number of allowed characters is 255. 4264 UserId string `json:"userId,omitempty"` 4265 4266 // ForceSendFields is a list of field names (e.g. "DeviceInfo") to 4267 // unconditionally include in API requests. By default, fields with 4268 // empty values are omitted from API requests. However, any non-pointer, 4269 // non-interface field appearing in ForceSendFields will be sent to the 4270 // server regardless of whether the field is empty or not. This may be 4271 // used to include empty fields in Patch requests. 4272 ForceSendFields []string `json:"-"` 4273 4274 // NullFields is a list of field names (e.g. "DeviceInfo") to include in 4275 // API requests with the JSON null value. By default, fields with empty 4276 // values are omitted from API requests. However, any field with an 4277 // empty value appearing in NullFields will be sent to the server as 4278 // null. It is an error if a field in this list has a non-empty value. 4279 // This may be used to include null fields in Patch requests. 4280 NullFields []string `json:"-"` 4281} 4282 4283func (s *RequestMetadata) MarshalJSON() ([]byte, error) { 4284 type NoMethod RequestMetadata 4285 raw := NoMethod(*s) 4286 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4287} 4288 4289// ResponseMetadata: Output only. 4290// 4291// Additional information returned to client, such as debugging 4292// information. 4293type ResponseMetadata struct { 4294 // RequestId: A unique id associated with this call. 4295 // This id is logged for tracking purposes. 4296 RequestId string `json:"requestId,omitempty"` 4297 4298 // ForceSendFields is a list of field names (e.g. "RequestId") to 4299 // unconditionally include in API requests. By default, fields with 4300 // empty values are omitted from API requests. However, any non-pointer, 4301 // non-interface field appearing in ForceSendFields will be sent to the 4302 // server regardless of whether the field is empty or not. This may be 4303 // used to include empty fields in Patch requests. 4304 ForceSendFields []string `json:"-"` 4305 4306 // NullFields is a list of field names (e.g. "RequestId") to include in 4307 // API requests with the JSON null value. By default, fields with empty 4308 // values are omitted from API requests. However, any field with an 4309 // empty value appearing in NullFields will be sent to the server as 4310 // null. It is an error if a field in this list has a non-empty value. 4311 // This may be used to include null fields in Patch requests. 4312 NullFields []string `json:"-"` 4313} 4314 4315func (s *ResponseMetadata) MarshalJSON() ([]byte, error) { 4316 type NoMethod ResponseMetadata 4317 raw := NoMethod(*s) 4318 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4319} 4320 4321// SearchJobsRequest: Input only. 4322// 4323// The Request body of the `SearchJobs` call. 4324type SearchJobsRequest struct { 4325 // CustomRankingInfo: Optional. Controls over how job documents get 4326 // ranked on top of existing relevance 4327 // score (determined by API algorithm). 4328 CustomRankingInfo *CustomRankingInfo `json:"customRankingInfo,omitempty"` 4329 4330 // DisableKeywordMatch: Optional. Controls whether to disable exact 4331 // keyword match on Job.job_title, 4332 // Job.description, Job.company_display_name, 4333 // Job.locations, 4334 // Job.qualifications. When disable keyword match is turned off, 4335 // a 4336 // keyword match returns jobs that do not match given category filters 4337 // when 4338 // there are matching keywords. For example, the query "program 4339 // manager," a 4340 // result is returned even if the job posting has the title 4341 // "software 4342 // developer," which does not fall into "program manager" ontology, but 4343 // does 4344 // have "program manager" appearing in its description. 4345 // 4346 // For queries like "cloud" that does not contain title or 4347 // location specific ontology, jobs with "cloud" keyword matches are 4348 // returned 4349 // regardless of this flag's value. 4350 // 4351 // Please use Company.keyword_searchable_custom_fields 4352 // or 4353 // Company.keyword_searchable_custom_attributes if company 4354 // specific 4355 // globally matched custom field/attribute string values is needed. 4356 // Enabling 4357 // keyword match improves recall of subsequent search 4358 // requests. 4359 // 4360 // Defaults to false. 4361 DisableKeywordMatch bool `json:"disableKeywordMatch,omitempty"` 4362 4363 // DiversificationLevel: Optional. Controls whether highly similar jobs 4364 // are returned next to each other in 4365 // the search results. Jobs are identified as highly similar based 4366 // on 4367 // their titles, job categories, and locations. Highly similar results 4368 // are 4369 // clustered so that only one representative job of the cluster 4370 // is 4371 // displayed to the job seeker higher up in the results, with the other 4372 // jobs 4373 // being displayed lower down in the results. 4374 // 4375 // Defaults to DiversificationLevel.SIMPLE if no value 4376 // is specified. 4377 // 4378 // Possible values: 4379 // "DIVERSIFICATION_LEVEL_UNSPECIFIED" - The diversification level 4380 // isn't specified. By default, jobs with this 4381 // enum are ordered according to SIMPLE diversifying behavior. 4382 // "DISABLED" - Disables diversification. Jobs that would normally be 4383 // pushed to the last 4384 // page would not have their positions altered. This may result in 4385 // highly 4386 // similar jobs appearing in sequence in the search results. 4387 // "SIMPLE" - Default diversifying behavior. The result list is 4388 // ordered so that 4389 // highly similar results are pushed to the end of the last page of 4390 // search 4391 // results. 4392 DiversificationLevel string `json:"diversificationLevel,omitempty"` 4393 4394 // EnableBroadening: Optional. Controls whether to broaden the search 4395 // when it produces sparse results. 4396 // Broadened queries append results to the end of the matching 4397 // results 4398 // list. 4399 // 4400 // Defaults to false. 4401 EnableBroadening bool `json:"enableBroadening,omitempty"` 4402 4403 // HistogramFacets: Optional. Histogram requests for jobs matching 4404 // JobQuery. 4405 HistogramFacets *HistogramFacets `json:"histogramFacets,omitempty"` 4406 4407 // HistogramQueries: Optional. Expression based histogram requests for 4408 // jobs matching JobQuery. 4409 HistogramQueries []*HistogramQuery `json:"histogramQueries,omitempty"` 4410 4411 // JobQuery: Optional. Query used to search against jobs, such as 4412 // keyword, location filters, etc. 4413 JobQuery *JobQuery `json:"jobQuery,omitempty"` 4414 4415 // JobView: Optional. The desired job attributes returned for jobs in 4416 // the 4417 // search response. Defaults to JobView.SMALL if no value is specified. 4418 // 4419 // Possible values: 4420 // "JOB_VIEW_UNSPECIFIED" - Default value. 4421 // "JOB_VIEW_ID_ONLY" - A ID only view of job, with following 4422 // attributes: 4423 // Job.name, Job.requisition_id, Job.language_code. 4424 // "JOB_VIEW_MINIMAL" - A minimal view of the job, with the following 4425 // attributes: 4426 // Job.name, Job.requisition_id, Job.title, 4427 // Job.company_name, Job.DerivedInfo.locations, Job.language_code. 4428 // "JOB_VIEW_SMALL" - A small view of the job, with the following 4429 // attributes in the search 4430 // results: Job.name, Job.requisition_id, Job.title, 4431 // Job.company_name, Job.DerivedInfo.locations, 4432 // Job.visibility, 4433 // Job.language_code, Job.description. 4434 // "JOB_VIEW_FULL" - All available attributes are included in the 4435 // search results. 4436 JobView string `json:"jobView,omitempty"` 4437 4438 // Offset: Optional. An integer that specifies the current offset (that 4439 // is, starting result 4440 // location, amongst the jobs deemed by the API as relevant) in 4441 // search 4442 // results. This field is only considered if page_token is unset. 4443 // 4444 // The maximum allowed value is 5000. Otherwise an error is thrown. 4445 // 4446 // For example, 0 means to return results starting from the first 4447 // matching 4448 // job, and 10 means to return from the 11th job. This can be used 4449 // for 4450 // pagination, (for example, pageSize = 10 and offset = 10 means to 4451 // return 4452 // from the second page). 4453 Offset int64 `json:"offset,omitempty"` 4454 4455 // OrderBy: Optional. The criteria determining how search results are 4456 // sorted. Default is 4457 // "relevance desc". 4458 // 4459 // Supported options are: 4460 // 4461 // * "relevance desc": By relevance descending, as determined by the 4462 // API 4463 // algorithms. Relevance thresholding of query results is only 4464 // available 4465 // with this ordering. 4466 // * "posting_publish_time desc": By 4467 // Job.posting_publish_time 4468 // descending. 4469 // * "posting_update_time desc": By 4470 // Job.posting_update_time 4471 // descending. 4472 // * "title": By Job.title ascending. 4473 // * "title desc": By Job.title descending. 4474 // * "annualized_base_compensation": By 4475 // job's 4476 // CompensationInfo.annualized_base_compensation_range ascending. 4477 // Jobs 4478 // whose annualized base compensation is unspecified are put at the end 4479 // of 4480 // search results. 4481 // * "annualized_base_compensation desc": By 4482 // job's 4483 // CompensationInfo.annualized_base_compensation_range descending. 4484 // Jobs 4485 // whose annualized base compensation is unspecified are put at the end 4486 // of 4487 // search results. 4488 // * "annualized_total_compensation": By 4489 // job's 4490 // CompensationInfo.annualized_total_compensation_range ascending. 4491 // Jobs 4492 // whose annualized base compensation is unspecified are put at the end 4493 // of 4494 // search results. 4495 // * "annualized_total_compensation desc": By 4496 // job's 4497 // CompensationInfo.annualized_total_compensation_range descending. 4498 // Jobs 4499 // whose annualized base compensation is unspecified are put at the end 4500 // of 4501 // search results. 4502 // * "custom_ranking desc": By the relevance score adjusted to 4503 // the 4504 // SearchJobsRequest.custom_ranking_info.ranking_expression with 4505 // weight 4506 // factor assigned 4507 // by 4508 // SearchJobsRequest.custom_ranking_info.importance_level in 4509 // descending 4510 // order. 4511 // * Location sorting: Use the special syntax to order jobs by 4512 // distance:<br> 4513 // "distance_from('Hawaii')": Order by distance from 4514 // Hawaii.<br> 4515 // "distance_from(19.89, 155.5)": Order by distance from a 4516 // coordinate.<br> 4517 // "distance_from('Hawaii'), distance_from('Puerto Rico')": Order 4518 // by 4519 // multiple locations. See details below.<br> 4520 // "distance_from('Hawaii'), distance_from(19.89, 155.5)": Order 4521 // by 4522 // multiple locations. See details below.<br> 4523 // The string can have a maximum of 256 characters. When multiple 4524 // distance 4525 // centers are provided, a job that is close to any of the distance 4526 // centers 4527 // would have a high rank. When a job has multiple locations, the job 4528 // location 4529 // closest to one of the distance centers will be used. Jobs that don't 4530 // have 4531 // locations will be ranked at the bottom. Distance is calculated with 4532 // a 4533 // precision of 11.3 meters (37.4 feet). Diversification strategy is 4534 // still 4535 // applied unless explicitly disabled in 4536 // diversification_level. 4537 OrderBy string `json:"orderBy,omitempty"` 4538 4539 // PageSize: Optional. A limit on the number of jobs returned in the 4540 // search results. 4541 // Increasing this value above the default value of 10 can increase 4542 // search 4543 // response time. The value can be between 1 and 100. 4544 PageSize int64 `json:"pageSize,omitempty"` 4545 4546 // PageToken: Optional. The token specifying the current offset 4547 // within 4548 // search results. See SearchJobsResponse.next_page_token for 4549 // an explanation of how to obtain the next set of query results. 4550 PageToken string `json:"pageToken,omitempty"` 4551 4552 // RequestMetadata: Required. The meta information collected about the 4553 // job searcher, used to improve the 4554 // search quality of the service. The identifiers (such as `user_id`) 4555 // are 4556 // provided by users, and must be unique and consistent. 4557 RequestMetadata *RequestMetadata `json:"requestMetadata,omitempty"` 4558 4559 // RequirePreciseResultSize: Optional. Controls if the search job 4560 // request requires the return of a precise 4561 // count of the first 300 results. Setting this to `true` 4562 // ensures 4563 // consistency in the number of results per page. Best practice is to 4564 // set this 4565 // value to true if a client allows users to jump directly to 4566 // a 4567 // non-sequential search results page. 4568 // 4569 // Enabling this flag may adversely impact performance. 4570 // 4571 // Defaults to false. 4572 RequirePreciseResultSize bool `json:"requirePreciseResultSize,omitempty"` 4573 4574 // SearchMode: Optional. Mode of a search. 4575 // 4576 // Defaults to SearchMode.JOB_SEARCH. 4577 // 4578 // Possible values: 4579 // "SEARCH_MODE_UNSPECIFIED" - The mode of the search method isn't 4580 // specified. The default search 4581 // behavior is identical to JOB_SEARCH search behavior. 4582 // "JOB_SEARCH" - The job search matches against all jobs, and 4583 // featured jobs 4584 // (jobs with promotionValue > 0) are not specially handled. 4585 // "FEATURED_JOB_SEARCH" - The job search matches only against 4586 // featured jobs (jobs with a 4587 // promotionValue > 0). This method doesn't return any jobs having 4588 // a 4589 // promotionValue <= 0. The search results order is determined by 4590 // the 4591 // promotionValue (jobs with a higher promotionValue are returned higher 4592 // up 4593 // in the search results), with relevance being used as a tiebreaker. 4594 SearchMode string `json:"searchMode,omitempty"` 4595 4596 // ForceSendFields is a list of field names (e.g. "CustomRankingInfo") 4597 // to unconditionally include in API requests. By default, fields with 4598 // empty values are omitted from API requests. However, any non-pointer, 4599 // non-interface field appearing in ForceSendFields will be sent to the 4600 // server regardless of whether the field is empty or not. This may be 4601 // used to include empty fields in Patch requests. 4602 ForceSendFields []string `json:"-"` 4603 4604 // NullFields is a list of field names (e.g. "CustomRankingInfo") to 4605 // include in API requests with the JSON null value. By default, fields 4606 // with empty values are omitted from API requests. However, any field 4607 // with an empty value appearing in NullFields will be sent to the 4608 // server as null. It is an error if a field in this list has a 4609 // non-empty value. This may be used to include null fields in Patch 4610 // requests. 4611 NullFields []string `json:"-"` 4612} 4613 4614func (s *SearchJobsRequest) MarshalJSON() ([]byte, error) { 4615 type NoMethod SearchJobsRequest 4616 raw := NoMethod(*s) 4617 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4618} 4619 4620// SearchJobsResponse: Output only. 4621// 4622// Response for SearchJob method. 4623type SearchJobsResponse struct { 4624 // BroadenedQueryJobsCount: If query broadening is enabled, we may 4625 // append additional results from the 4626 // broadened query. This number indicates how many of the jobs returned 4627 // in the 4628 // jobs field are from the broadened query. These results are always at 4629 // the 4630 // end of the jobs list. In particular, a value of 0, or if the field 4631 // isn't 4632 // set, all the jobs in the jobs list are from the original 4633 // (without broadening) query. If this field is non-zero, subsequent 4634 // requests 4635 // with offset after this result set should contain all broadened 4636 // results. 4637 BroadenedQueryJobsCount int64 `json:"broadenedQueryJobsCount,omitempty"` 4638 4639 // EstimatedTotalSize: An estimation of the number of jobs that match 4640 // the specified query. 4641 // 4642 // This number is not guaranteed to be accurate. For accurate 4643 // results, 4644 // see enable_precise_result_size. 4645 EstimatedTotalSize int64 `json:"estimatedTotalSize,omitempty"` 4646 4647 // HistogramQueryResults: The histogram results that match with 4648 // specified 4649 // SearchJobsRequest.histogram_queries. 4650 HistogramQueryResults []*HistogramQueryResult `json:"histogramQueryResults,omitempty"` 4651 4652 // HistogramResults: The histogram results that match 4653 // specified 4654 // SearchJobsRequest.histogram_facets. 4655 HistogramResults *HistogramResults `json:"histogramResults,omitempty"` 4656 4657 // LocationFilters: The location filters that the service applied to the 4658 // specified query. If 4659 // any filters are lat-lng based, the JobLocation.location_type 4660 // is 4661 // JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. 4662 LocationFilters []*Location `json:"locationFilters,omitempty"` 4663 4664 // MatchingJobs: The Job entities that match the specified 4665 // SearchJobsRequest. 4666 MatchingJobs []*MatchingJob `json:"matchingJobs,omitempty"` 4667 4668 // Metadata: Additional information for the API invocation, such as the 4669 // request 4670 // tracking id. 4671 Metadata *ResponseMetadata `json:"metadata,omitempty"` 4672 4673 // NextPageToken: The token that specifies the starting position of the 4674 // next page of results. 4675 // This field is empty if there are no more results. 4676 NextPageToken string `json:"nextPageToken,omitempty"` 4677 4678 // SpellCorrection: The spell checking result, and correction. 4679 SpellCorrection *SpellingCorrection `json:"spellCorrection,omitempty"` 4680 4681 // TotalSize: The precise result count, which is available only if the 4682 // client set 4683 // enable_precise_result_size to `true`, or if the response 4684 // is the last page of results. Otherwise, the value is `-1`. 4685 TotalSize int64 `json:"totalSize,omitempty"` 4686 4687 // ServerResponse contains the HTTP response code and headers from the 4688 // server. 4689 googleapi.ServerResponse `json:"-"` 4690 4691 // ForceSendFields is a list of field names (e.g. 4692 // "BroadenedQueryJobsCount") to unconditionally include in API 4693 // requests. By default, fields with empty values are omitted from API 4694 // requests. However, any non-pointer, non-interface field appearing in 4695 // ForceSendFields will be sent to the server regardless of whether the 4696 // field is empty or not. This may be used to include empty fields in 4697 // Patch requests. 4698 ForceSendFields []string `json:"-"` 4699 4700 // NullFields is a list of field names (e.g. "BroadenedQueryJobsCount") 4701 // to include in API requests with the JSON null value. By default, 4702 // fields with empty values are omitted from API requests. However, any 4703 // field with an empty value appearing in NullFields will be sent to the 4704 // server as null. It is an error if a field in this list has a 4705 // non-empty value. This may be used to include null fields in Patch 4706 // requests. 4707 NullFields []string `json:"-"` 4708} 4709 4710func (s *SearchJobsResponse) MarshalJSON() ([]byte, error) { 4711 type NoMethod SearchJobsResponse 4712 raw := NoMethod(*s) 4713 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4714} 4715 4716// SpellingCorrection: Output only. 4717// 4718// Spell check result. 4719type SpellingCorrection struct { 4720 // Corrected: Indicates if the query was corrected by the spell checker. 4721 Corrected bool `json:"corrected,omitempty"` 4722 4723 // CorrectedText: Correction output consisting of the corrected keyword 4724 // string. 4725 CorrectedText string `json:"correctedText,omitempty"` 4726 4727 // ForceSendFields is a list of field names (e.g. "Corrected") to 4728 // unconditionally include in API requests. By default, fields with 4729 // empty values are omitted from API requests. However, any non-pointer, 4730 // non-interface field appearing in ForceSendFields will be sent to the 4731 // server regardless of whether the field is empty or not. This may be 4732 // used to include empty fields in Patch requests. 4733 ForceSendFields []string `json:"-"` 4734 4735 // NullFields is a list of field names (e.g. "Corrected") to include in 4736 // API requests with the JSON null value. By default, fields with empty 4737 // values are omitted from API requests. However, any field with an 4738 // empty value appearing in NullFields will be sent to the server as 4739 // null. It is an error if a field in this list has a non-empty value. 4740 // This may be used to include null fields in Patch requests. 4741 NullFields []string `json:"-"` 4742} 4743 4744func (s *SpellingCorrection) MarshalJSON() ([]byte, error) { 4745 type NoMethod SpellingCorrection 4746 raw := NoMethod(*s) 4747 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4748} 4749 4750// Status: The `Status` type defines a logical error model that is 4751// suitable for 4752// different programming environments, including REST APIs and RPC APIs. 4753// It is 4754// used by [gRPC](https://github.com/grpc). Each `Status` message 4755// contains 4756// three pieces of data: error code, error message, and error 4757// details. 4758// 4759// You can find out more about this error model and how to work with it 4760// in the 4761// [API Design Guide](https://cloud.google.com/apis/design/errors). 4762type Status struct { 4763 // Code: The status code, which should be an enum value of 4764 // google.rpc.Code. 4765 Code int64 `json:"code,omitempty"` 4766 4767 // Details: A list of messages that carry the error details. There is a 4768 // common set of 4769 // message types for APIs to use. 4770 Details []googleapi.RawMessage `json:"details,omitempty"` 4771 4772 // Message: A developer-facing error message, which should be in 4773 // English. Any 4774 // user-facing error message should be localized and sent in 4775 // the 4776 // google.rpc.Status.details field, or localized by the client. 4777 Message string `json:"message,omitempty"` 4778 4779 // ForceSendFields is a list of field names (e.g. "Code") to 4780 // unconditionally include in API requests. By default, fields with 4781 // empty values are omitted from API requests. However, any non-pointer, 4782 // non-interface field appearing in ForceSendFields will be sent to the 4783 // server regardless of whether the field is empty or not. This may be 4784 // used to include empty fields in Patch requests. 4785 ForceSendFields []string `json:"-"` 4786 4787 // NullFields is a list of field names (e.g. "Code") to include in API 4788 // requests with the JSON null value. By default, fields with empty 4789 // values are omitted from API requests. However, any field with an 4790 // empty value appearing in NullFields will be sent to the server as 4791 // null. It is an error if a field in this list has a non-empty value. 4792 // This may be used to include null fields in Patch requests. 4793 NullFields []string `json:"-"` 4794} 4795 4796func (s *Status) MarshalJSON() ([]byte, error) { 4797 type NoMethod Status 4798 raw := NoMethod(*s) 4799 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4800} 4801 4802// TimeOfDay: Represents a time of day. The date and time zone are 4803// either not significant 4804// or are specified elsewhere. An API may choose to allow leap seconds. 4805// Related 4806// types are google.type.Date and `google.protobuf.Timestamp`. 4807type TimeOfDay struct { 4808 // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API 4809 // may choose 4810 // to allow the value "24:00:00" for scenarios like business closing 4811 // time. 4812 Hours int64 `json:"hours,omitempty"` 4813 4814 // Minutes: Minutes of hour of day. Must be from 0 to 59. 4815 Minutes int64 `json:"minutes,omitempty"` 4816 4817 // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 4818 // 999,999,999. 4819 Nanos int64 `json:"nanos,omitempty"` 4820 4821 // Seconds: Seconds of minutes of the time. Must normally be from 0 to 4822 // 59. An API may 4823 // allow the value 60 if it allows leap-seconds. 4824 Seconds int64 `json:"seconds,omitempty"` 4825 4826 // ForceSendFields is a list of field names (e.g. "Hours") to 4827 // unconditionally include in API requests. By default, fields with 4828 // empty values are omitted from API requests. However, any non-pointer, 4829 // non-interface field appearing in ForceSendFields will be sent to the 4830 // server regardless of whether the field is empty or not. This may be 4831 // used to include empty fields in Patch requests. 4832 ForceSendFields []string `json:"-"` 4833 4834 // NullFields is a list of field names (e.g. "Hours") to include in API 4835 // requests with the JSON null value. By default, fields with empty 4836 // values are omitted from API requests. However, any field with an 4837 // empty value appearing in NullFields will be sent to the server as 4838 // null. It is an error if a field in this list has a non-empty value. 4839 // This may be used to include null fields in Patch requests. 4840 NullFields []string `json:"-"` 4841} 4842 4843func (s *TimeOfDay) MarshalJSON() ([]byte, error) { 4844 type NoMethod TimeOfDay 4845 raw := NoMethod(*s) 4846 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4847} 4848 4849// TimestampRange: Message representing a period of time between two 4850// timestamps. 4851type TimestampRange struct { 4852 // EndTime: End of the period. 4853 EndTime string `json:"endTime,omitempty"` 4854 4855 // StartTime: Begin of the period. 4856 StartTime string `json:"startTime,omitempty"` 4857 4858 // ForceSendFields is a list of field names (e.g. "EndTime") to 4859 // unconditionally include in API requests. By default, fields with 4860 // empty values are omitted from API requests. However, any non-pointer, 4861 // non-interface field appearing in ForceSendFields will be sent to the 4862 // server regardless of whether the field is empty or not. This may be 4863 // used to include empty fields in Patch requests. 4864 ForceSendFields []string `json:"-"` 4865 4866 // NullFields is a list of field names (e.g. "EndTime") to include in 4867 // API requests with the JSON null value. By default, fields with empty 4868 // values are omitted from API requests. However, any field with an 4869 // empty value appearing in NullFields will be sent to the server as 4870 // null. It is an error if a field in this list has a non-empty value. 4871 // This may be used to include null fields in Patch requests. 4872 NullFields []string `json:"-"` 4873} 4874 4875func (s *TimestampRange) MarshalJSON() ([]byte, error) { 4876 type NoMethod TimestampRange 4877 raw := NoMethod(*s) 4878 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4879} 4880 4881// UpdateCompanyRequest: Input only. 4882// 4883// Request for updating a specified company. 4884type UpdateCompanyRequest struct { 4885 // Company: Required. The company resource to replace the current 4886 // resource in the system. 4887 Company *Company `json:"company,omitempty"` 4888 4889 // UpdateMask: Optional but strongly recommended for the best 4890 // service 4891 // experience. 4892 // 4893 // If update_mask is provided, only the specified fields in 4894 // company are updated. Otherwise all the fields are updated. 4895 // 4896 // A field mask to specify the company fields to be updated. Only 4897 // top level fields of Company are supported. 4898 UpdateMask string `json:"updateMask,omitempty"` 4899 4900 // ForceSendFields is a list of field names (e.g. "Company") to 4901 // unconditionally include in API requests. By default, fields with 4902 // empty values are omitted from API requests. However, any non-pointer, 4903 // non-interface field appearing in ForceSendFields will be sent to the 4904 // server regardless of whether the field is empty or not. This may be 4905 // used to include empty fields in Patch requests. 4906 ForceSendFields []string `json:"-"` 4907 4908 // NullFields is a list of field names (e.g. "Company") to include in 4909 // API requests with the JSON null value. By default, fields with empty 4910 // values are omitted from API requests. However, any field with an 4911 // empty value appearing in NullFields will be sent to the server as 4912 // null. It is an error if a field in this list has a non-empty value. 4913 // This may be used to include null fields in Patch requests. 4914 NullFields []string `json:"-"` 4915} 4916 4917func (s *UpdateCompanyRequest) MarshalJSON() ([]byte, error) { 4918 type NoMethod UpdateCompanyRequest 4919 raw := NoMethod(*s) 4920 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4921} 4922 4923// UpdateJobRequest: Input only. 4924// 4925// Update job request. 4926type UpdateJobRequest struct { 4927 // Job: Required. The Job to be updated. 4928 Job *Job `json:"job,omitempty"` 4929 4930 // UpdateMask: Optional but strongly recommended to be provided for the 4931 // best service 4932 // experience. 4933 // 4934 // If update_mask is provided, only the specified fields in 4935 // job are updated. Otherwise all the fields are updated. 4936 // 4937 // A field mask to restrict the fields that are updated. Only 4938 // top level fields of Job are supported. 4939 UpdateMask string `json:"updateMask,omitempty"` 4940 4941 // ForceSendFields is a list of field names (e.g. "Job") to 4942 // unconditionally include in API requests. By default, fields with 4943 // empty values are omitted from API requests. However, any non-pointer, 4944 // non-interface field appearing in ForceSendFields will be sent to the 4945 // server regardless of whether the field is empty or not. This may be 4946 // used to include empty fields in Patch requests. 4947 ForceSendFields []string `json:"-"` 4948 4949 // NullFields is a list of field names (e.g. "Job") to include in API 4950 // requests with the JSON null value. By default, fields with empty 4951 // values are omitted from API requests. However, any field with an 4952 // empty value appearing in NullFields will be sent to the server as 4953 // null. It is an error if a field in this list has a non-empty value. 4954 // This may be used to include null fields in Patch requests. 4955 NullFields []string `json:"-"` 4956} 4957 4958func (s *UpdateJobRequest) MarshalJSON() ([]byte, error) { 4959 type NoMethod UpdateJobRequest 4960 raw := NoMethod(*s) 4961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4962} 4963 4964// method id "jobs.projects.complete": 4965 4966type ProjectsCompleteCall struct { 4967 s *Service 4968 name string 4969 urlParams_ gensupport.URLParams 4970 ifNoneMatch_ string 4971 ctx_ context.Context 4972 header_ http.Header 4973} 4974 4975// Complete: Completes the specified prefix with keyword 4976// suggestions. 4977// Intended for use by a job search auto-complete search box. 4978func (r *ProjectsService) Complete(name string) *ProjectsCompleteCall { 4979 c := &ProjectsCompleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4980 c.name = name 4981 return c 4982} 4983 4984// CompanyName sets the optional parameter "companyName": If provided, 4985// restricts completion to specified company. 4986// 4987// The format is "projects/{project_id}/companies/{company_id}", for 4988// example, 4989// "projects/api-test-project/companies/foo". 4990func (c *ProjectsCompleteCall) CompanyName(companyName string) *ProjectsCompleteCall { 4991 c.urlParams_.Set("companyName", companyName) 4992 return c 4993} 4994 4995// LanguageCode sets the optional parameter "languageCode": Deprecated. 4996// Use language_codes instead. 4997// 4998// 4999// 5000// The language of the query. This is 5001// the BCP-47 language code, such as "en-US" or "sr-Latn". 5002// For more information, see 5003// [Tags for Identifying 5004// Languages](https://tools.ietf.org/html/bcp47). 5005// 5006// For CompletionType.JOB_TITLE type, only open jobs with the 5007// same 5008// language_code are returned. 5009// 5010// For CompletionType.COMPANY_NAME type, 5011// only companies having open jobs with the same language_code 5012// are 5013// returned. 5014// 5015// For CompletionType.COMBINED type, only open jobs with the 5016// same 5017// language_code or companies having open jobs with the 5018// same 5019// language_code are returned. 5020// 5021// The maximum number of allowed characters is 255. 5022func (c *ProjectsCompleteCall) LanguageCode(languageCode string) *ProjectsCompleteCall { 5023 c.urlParams_.Set("languageCode", languageCode) 5024 return c 5025} 5026 5027// LanguageCodes sets the optional parameter "languageCodes": The list 5028// of languages of the query. This is 5029// the BCP-47 language code, such as "en-US" or "sr-Latn". 5030// For more information, see 5031// [Tags for Identifying 5032// Languages](https://tools.ietf.org/html/bcp47). 5033// 5034// For CompletionType.JOB_TITLE type, only open jobs with the 5035// same 5036// language_codes are returned. 5037// 5038// For CompletionType.COMPANY_NAME type, 5039// only companies having open jobs with the same language_codes 5040// are 5041// returned. 5042// 5043// For CompletionType.COMBINED type, only open jobs with the 5044// same 5045// language_codes or companies having open jobs with the 5046// same 5047// language_codes are returned. 5048// 5049// The maximum number of allowed characters is 255. 5050func (c *ProjectsCompleteCall) LanguageCodes(languageCodes ...string) *ProjectsCompleteCall { 5051 c.urlParams_.SetMulti("languageCodes", append([]string{}, languageCodes...)) 5052 return c 5053} 5054 5055// PageSize sets the optional parameter "pageSize": Required. Completion 5056// result count. 5057// 5058// The maximum allowed page size is 10. 5059func (c *ProjectsCompleteCall) PageSize(pageSize int64) *ProjectsCompleteCall { 5060 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 5061 return c 5062} 5063 5064// Query sets the optional parameter "query": Required. The query used 5065// to generate suggestions. 5066// 5067// The maximum number of allowed characters is 255. 5068func (c *ProjectsCompleteCall) Query(query string) *ProjectsCompleteCall { 5069 c.urlParams_.Set("query", query) 5070 return c 5071} 5072 5073// Scope sets the optional parameter "scope": The scope of the 5074// completion. The defaults is CompletionScope.PUBLIC. 5075// 5076// Possible values: 5077// "COMPLETION_SCOPE_UNSPECIFIED" 5078// "TENANT" 5079// "PUBLIC" 5080func (c *ProjectsCompleteCall) Scope(scope string) *ProjectsCompleteCall { 5081 c.urlParams_.Set("scope", scope) 5082 return c 5083} 5084 5085// Type sets the optional parameter "type": The completion topic. The 5086// default is CompletionType.COMBINED. 5087// 5088// Possible values: 5089// "COMPLETION_TYPE_UNSPECIFIED" 5090// "JOB_TITLE" 5091// "COMPANY_NAME" 5092// "COMBINED" 5093func (c *ProjectsCompleteCall) Type(type_ string) *ProjectsCompleteCall { 5094 c.urlParams_.Set("type", type_) 5095 return c 5096} 5097 5098// Fields allows partial responses to be retrieved. See 5099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5100// for more information. 5101func (c *ProjectsCompleteCall) Fields(s ...googleapi.Field) *ProjectsCompleteCall { 5102 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5103 return c 5104} 5105 5106// IfNoneMatch sets the optional parameter which makes the operation 5107// fail if the object's ETag matches the given value. This is useful for 5108// getting updates only after the object has changed since the last 5109// request. Use googleapi.IsNotModified to check whether the response 5110// error from Do is the result of In-None-Match. 5111func (c *ProjectsCompleteCall) IfNoneMatch(entityTag string) *ProjectsCompleteCall { 5112 c.ifNoneMatch_ = entityTag 5113 return c 5114} 5115 5116// Context sets the context to be used in this call's Do method. Any 5117// pending HTTP request will be aborted if the provided context is 5118// canceled. 5119func (c *ProjectsCompleteCall) Context(ctx context.Context) *ProjectsCompleteCall { 5120 c.ctx_ = ctx 5121 return c 5122} 5123 5124// Header returns an http.Header that can be modified by the caller to 5125// add HTTP headers to the request. 5126func (c *ProjectsCompleteCall) Header() http.Header { 5127 if c.header_ == nil { 5128 c.header_ = make(http.Header) 5129 } 5130 return c.header_ 5131} 5132 5133func (c *ProjectsCompleteCall) doRequest(alt string) (*http.Response, error) { 5134 reqHeaders := make(http.Header) 5135 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5136 for k, v := range c.header_ { 5137 reqHeaders[k] = v 5138 } 5139 reqHeaders.Set("User-Agent", c.s.userAgent()) 5140 if c.ifNoneMatch_ != "" { 5141 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5142 } 5143 var body io.Reader = nil 5144 c.urlParams_.Set("alt", alt) 5145 c.urlParams_.Set("prettyPrint", "false") 5146 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}:complete") 5147 urls += "?" + c.urlParams_.Encode() 5148 req, err := http.NewRequest("GET", urls, body) 5149 if err != nil { 5150 return nil, err 5151 } 5152 req.Header = reqHeaders 5153 googleapi.Expand(req.URL, map[string]string{ 5154 "name": c.name, 5155 }) 5156 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5157} 5158 5159// Do executes the "jobs.projects.complete" call. 5160// Exactly one of *CompleteQueryResponse or error will be non-nil. Any 5161// non-2xx status code is an error. Response headers are in either 5162// *CompleteQueryResponse.ServerResponse.Header or (if a response was 5163// returned at all) in error.(*googleapi.Error).Header. Use 5164// googleapi.IsNotModified to check whether the returned error was 5165// because http.StatusNotModified was returned. 5166func (c *ProjectsCompleteCall) Do(opts ...googleapi.CallOption) (*CompleteQueryResponse, error) { 5167 gensupport.SetOptions(c.urlParams_, opts...) 5168 res, err := c.doRequest("json") 5169 if res != nil && res.StatusCode == http.StatusNotModified { 5170 if res.Body != nil { 5171 res.Body.Close() 5172 } 5173 return nil, &googleapi.Error{ 5174 Code: res.StatusCode, 5175 Header: res.Header, 5176 } 5177 } 5178 if err != nil { 5179 return nil, err 5180 } 5181 defer googleapi.CloseBody(res) 5182 if err := googleapi.CheckResponse(res); err != nil { 5183 return nil, err 5184 } 5185 ret := &CompleteQueryResponse{ 5186 ServerResponse: googleapi.ServerResponse{ 5187 Header: res.Header, 5188 HTTPStatusCode: res.StatusCode, 5189 }, 5190 } 5191 target := &ret 5192 if err := gensupport.DecodeResponse(target, res); err != nil { 5193 return nil, err 5194 } 5195 return ret, nil 5196 // { 5197 // "description": "Completes the specified prefix with keyword suggestions.\nIntended for use by a job search auto-complete search box.", 5198 // "flatPath": "v3p1beta1/projects/{projectsId}:complete", 5199 // "httpMethod": "GET", 5200 // "id": "jobs.projects.complete", 5201 // "parameterOrder": [ 5202 // "name" 5203 // ], 5204 // "parameters": { 5205 // "companyName": { 5206 // "description": "Optional. If provided, restricts completion to specified company.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".", 5207 // "location": "query", 5208 // "type": "string" 5209 // }, 5210 // "languageCode": { 5211 // "description": "Deprecated. Use language_codes instead.\n\nOptional.\n\nThe language of the query. This is\nthe BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nFor CompletionType.JOB_TITLE type, only open jobs with the same\nlanguage_code are returned.\n\nFor CompletionType.COMPANY_NAME type,\nonly companies having open jobs with the same language_code are\nreturned.\n\nFor CompletionType.COMBINED type, only open jobs with the same\nlanguage_code or companies having open jobs with the same\nlanguage_code are returned.\n\nThe maximum number of allowed characters is 255.", 5212 // "location": "query", 5213 // "type": "string" 5214 // }, 5215 // "languageCodes": { 5216 // "description": "Optional. The list of languages of the query. This is\nthe BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nFor CompletionType.JOB_TITLE type, only open jobs with the same\nlanguage_codes are returned.\n\nFor CompletionType.COMPANY_NAME type,\nonly companies having open jobs with the same language_codes are\nreturned.\n\nFor CompletionType.COMBINED type, only open jobs with the same\nlanguage_codes or companies having open jobs with the same\nlanguage_codes are returned.\n\nThe maximum number of allowed characters is 255.", 5217 // "location": "query", 5218 // "repeated": true, 5219 // "type": "string" 5220 // }, 5221 // "name": { 5222 // "description": "Required. Resource name of project the completion is performed within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 5223 // "location": "path", 5224 // "pattern": "^projects/[^/]+$", 5225 // "required": true, 5226 // "type": "string" 5227 // }, 5228 // "pageSize": { 5229 // "description": "Required. Completion result count.\n\nThe maximum allowed page size is 10.", 5230 // "format": "int32", 5231 // "location": "query", 5232 // "type": "integer" 5233 // }, 5234 // "query": { 5235 // "description": "Required. The query used to generate suggestions.\n\nThe maximum number of allowed characters is 255.", 5236 // "location": "query", 5237 // "type": "string" 5238 // }, 5239 // "scope": { 5240 // "description": "Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC.", 5241 // "enum": [ 5242 // "COMPLETION_SCOPE_UNSPECIFIED", 5243 // "TENANT", 5244 // "PUBLIC" 5245 // ], 5246 // "location": "query", 5247 // "type": "string" 5248 // }, 5249 // "type": { 5250 // "description": "Optional. The completion topic. The default is CompletionType.COMBINED.", 5251 // "enum": [ 5252 // "COMPLETION_TYPE_UNSPECIFIED", 5253 // "JOB_TITLE", 5254 // "COMPANY_NAME", 5255 // "COMBINED" 5256 // ], 5257 // "location": "query", 5258 // "type": "string" 5259 // } 5260 // }, 5261 // "path": "v3p1beta1/{+name}:complete", 5262 // "response": { 5263 // "$ref": "CompleteQueryResponse" 5264 // }, 5265 // "scopes": [ 5266 // "https://www.googleapis.com/auth/cloud-platform", 5267 // "https://www.googleapis.com/auth/jobs" 5268 // ] 5269 // } 5270 5271} 5272 5273// method id "jobs.projects.clientEvents.create": 5274 5275type ProjectsClientEventsCreateCall struct { 5276 s *Service 5277 parent string 5278 createclienteventrequest *CreateClientEventRequest 5279 urlParams_ gensupport.URLParams 5280 ctx_ context.Context 5281 header_ http.Header 5282} 5283 5284// Create: Report events issued when end user interacts with customer's 5285// application 5286// that uses Cloud Talent Solution. You may inspect the created events 5287// in 5288// [self 5289// service 5290// tools](https://console.cloud.google.com/talent-solution/overvi 5291// ew). 5292// [Learn 5293// more](https://cloud.google.com/talent-solution/docs/manage 5294// ment-tools) 5295// about self service tools. 5296func (r *ProjectsClientEventsService) Create(parent string, createclienteventrequest *CreateClientEventRequest) *ProjectsClientEventsCreateCall { 5297 c := &ProjectsClientEventsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5298 c.parent = parent 5299 c.createclienteventrequest = createclienteventrequest 5300 return c 5301} 5302 5303// Fields allows partial responses to be retrieved. See 5304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5305// for more information. 5306func (c *ProjectsClientEventsCreateCall) Fields(s ...googleapi.Field) *ProjectsClientEventsCreateCall { 5307 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5308 return c 5309} 5310 5311// Context sets the context to be used in this call's Do method. Any 5312// pending HTTP request will be aborted if the provided context is 5313// canceled. 5314func (c *ProjectsClientEventsCreateCall) Context(ctx context.Context) *ProjectsClientEventsCreateCall { 5315 c.ctx_ = ctx 5316 return c 5317} 5318 5319// Header returns an http.Header that can be modified by the caller to 5320// add HTTP headers to the request. 5321func (c *ProjectsClientEventsCreateCall) Header() http.Header { 5322 if c.header_ == nil { 5323 c.header_ = make(http.Header) 5324 } 5325 return c.header_ 5326} 5327 5328func (c *ProjectsClientEventsCreateCall) doRequest(alt string) (*http.Response, error) { 5329 reqHeaders := make(http.Header) 5330 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5331 for k, v := range c.header_ { 5332 reqHeaders[k] = v 5333 } 5334 reqHeaders.Set("User-Agent", c.s.userAgent()) 5335 var body io.Reader = nil 5336 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclienteventrequest) 5337 if err != nil { 5338 return nil, err 5339 } 5340 reqHeaders.Set("Content-Type", "application/json") 5341 c.urlParams_.Set("alt", alt) 5342 c.urlParams_.Set("prettyPrint", "false") 5343 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/clientEvents") 5344 urls += "?" + c.urlParams_.Encode() 5345 req, err := http.NewRequest("POST", urls, body) 5346 if err != nil { 5347 return nil, err 5348 } 5349 req.Header = reqHeaders 5350 googleapi.Expand(req.URL, map[string]string{ 5351 "parent": c.parent, 5352 }) 5353 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5354} 5355 5356// Do executes the "jobs.projects.clientEvents.create" call. 5357// Exactly one of *ClientEvent or error will be non-nil. Any non-2xx 5358// status code is an error. Response headers are in either 5359// *ClientEvent.ServerResponse.Header or (if a response was returned at 5360// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 5361// to check whether the returned error was because 5362// http.StatusNotModified was returned. 5363func (c *ProjectsClientEventsCreateCall) Do(opts ...googleapi.CallOption) (*ClientEvent, error) { 5364 gensupport.SetOptions(c.urlParams_, opts...) 5365 res, err := c.doRequest("json") 5366 if res != nil && res.StatusCode == http.StatusNotModified { 5367 if res.Body != nil { 5368 res.Body.Close() 5369 } 5370 return nil, &googleapi.Error{ 5371 Code: res.StatusCode, 5372 Header: res.Header, 5373 } 5374 } 5375 if err != nil { 5376 return nil, err 5377 } 5378 defer googleapi.CloseBody(res) 5379 if err := googleapi.CheckResponse(res); err != nil { 5380 return nil, err 5381 } 5382 ret := &ClientEvent{ 5383 ServerResponse: googleapi.ServerResponse{ 5384 Header: res.Header, 5385 HTTPStatusCode: res.StatusCode, 5386 }, 5387 } 5388 target := &ret 5389 if err := gensupport.DecodeResponse(target, res); err != nil { 5390 return nil, err 5391 } 5392 return ret, nil 5393 // { 5394 // "description": "Report events issued when end user interacts with customer's application\nthat uses Cloud Talent Solution. You may inspect the created events in\n[self service\ntools](https://console.cloud.google.com/talent-solution/overview).\n[Learn\nmore](https://cloud.google.com/talent-solution/docs/management-tools)\nabout self service tools.", 5395 // "flatPath": "v3p1beta1/projects/{projectsId}/clientEvents", 5396 // "httpMethod": "POST", 5397 // "id": "jobs.projects.clientEvents.create", 5398 // "parameterOrder": [ 5399 // "parent" 5400 // ], 5401 // "parameters": { 5402 // "parent": { 5403 // "description": "Parent project name.", 5404 // "location": "path", 5405 // "pattern": "^projects/[^/]+$", 5406 // "required": true, 5407 // "type": "string" 5408 // } 5409 // }, 5410 // "path": "v3p1beta1/{+parent}/clientEvents", 5411 // "request": { 5412 // "$ref": "CreateClientEventRequest" 5413 // }, 5414 // "response": { 5415 // "$ref": "ClientEvent" 5416 // }, 5417 // "scopes": [ 5418 // "https://www.googleapis.com/auth/cloud-platform", 5419 // "https://www.googleapis.com/auth/jobs" 5420 // ] 5421 // } 5422 5423} 5424 5425// method id "jobs.projects.companies.create": 5426 5427type ProjectsCompaniesCreateCall struct { 5428 s *Service 5429 parent string 5430 createcompanyrequest *CreateCompanyRequest 5431 urlParams_ gensupport.URLParams 5432 ctx_ context.Context 5433 header_ http.Header 5434} 5435 5436// Create: Creates a new company entity. 5437func (r *ProjectsCompaniesService) Create(parent string, createcompanyrequest *CreateCompanyRequest) *ProjectsCompaniesCreateCall { 5438 c := &ProjectsCompaniesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5439 c.parent = parent 5440 c.createcompanyrequest = createcompanyrequest 5441 return c 5442} 5443 5444// Fields allows partial responses to be retrieved. See 5445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5446// for more information. 5447func (c *ProjectsCompaniesCreateCall) Fields(s ...googleapi.Field) *ProjectsCompaniesCreateCall { 5448 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5449 return c 5450} 5451 5452// Context sets the context to be used in this call's Do method. Any 5453// pending HTTP request will be aborted if the provided context is 5454// canceled. 5455func (c *ProjectsCompaniesCreateCall) Context(ctx context.Context) *ProjectsCompaniesCreateCall { 5456 c.ctx_ = ctx 5457 return c 5458} 5459 5460// Header returns an http.Header that can be modified by the caller to 5461// add HTTP headers to the request. 5462func (c *ProjectsCompaniesCreateCall) Header() http.Header { 5463 if c.header_ == nil { 5464 c.header_ = make(http.Header) 5465 } 5466 return c.header_ 5467} 5468 5469func (c *ProjectsCompaniesCreateCall) doRequest(alt string) (*http.Response, error) { 5470 reqHeaders := make(http.Header) 5471 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5472 for k, v := range c.header_ { 5473 reqHeaders[k] = v 5474 } 5475 reqHeaders.Set("User-Agent", c.s.userAgent()) 5476 var body io.Reader = nil 5477 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcompanyrequest) 5478 if err != nil { 5479 return nil, err 5480 } 5481 reqHeaders.Set("Content-Type", "application/json") 5482 c.urlParams_.Set("alt", alt) 5483 c.urlParams_.Set("prettyPrint", "false") 5484 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/companies") 5485 urls += "?" + c.urlParams_.Encode() 5486 req, err := http.NewRequest("POST", urls, body) 5487 if err != nil { 5488 return nil, err 5489 } 5490 req.Header = reqHeaders 5491 googleapi.Expand(req.URL, map[string]string{ 5492 "parent": c.parent, 5493 }) 5494 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5495} 5496 5497// Do executes the "jobs.projects.companies.create" call. 5498// Exactly one of *Company or error will be non-nil. Any non-2xx status 5499// code is an error. Response headers are in either 5500// *Company.ServerResponse.Header or (if a response was returned at all) 5501// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5502// check whether the returned error was because http.StatusNotModified 5503// was returned. 5504func (c *ProjectsCompaniesCreateCall) Do(opts ...googleapi.CallOption) (*Company, error) { 5505 gensupport.SetOptions(c.urlParams_, opts...) 5506 res, err := c.doRequest("json") 5507 if res != nil && res.StatusCode == http.StatusNotModified { 5508 if res.Body != nil { 5509 res.Body.Close() 5510 } 5511 return nil, &googleapi.Error{ 5512 Code: res.StatusCode, 5513 Header: res.Header, 5514 } 5515 } 5516 if err != nil { 5517 return nil, err 5518 } 5519 defer googleapi.CloseBody(res) 5520 if err := googleapi.CheckResponse(res); err != nil { 5521 return nil, err 5522 } 5523 ret := &Company{ 5524 ServerResponse: googleapi.ServerResponse{ 5525 Header: res.Header, 5526 HTTPStatusCode: res.StatusCode, 5527 }, 5528 } 5529 target := &ret 5530 if err := gensupport.DecodeResponse(target, res); err != nil { 5531 return nil, err 5532 } 5533 return ret, nil 5534 // { 5535 // "description": "Creates a new company entity.", 5536 // "flatPath": "v3p1beta1/projects/{projectsId}/companies", 5537 // "httpMethod": "POST", 5538 // "id": "jobs.projects.companies.create", 5539 // "parameterOrder": [ 5540 // "parent" 5541 // ], 5542 // "parameters": { 5543 // "parent": { 5544 // "description": "Required. Resource name of the project under which the company is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 5545 // "location": "path", 5546 // "pattern": "^projects/[^/]+$", 5547 // "required": true, 5548 // "type": "string" 5549 // } 5550 // }, 5551 // "path": "v3p1beta1/{+parent}/companies", 5552 // "request": { 5553 // "$ref": "CreateCompanyRequest" 5554 // }, 5555 // "response": { 5556 // "$ref": "Company" 5557 // }, 5558 // "scopes": [ 5559 // "https://www.googleapis.com/auth/cloud-platform", 5560 // "https://www.googleapis.com/auth/jobs" 5561 // ] 5562 // } 5563 5564} 5565 5566// method id "jobs.projects.companies.delete": 5567 5568type ProjectsCompaniesDeleteCall struct { 5569 s *Service 5570 name string 5571 urlParams_ gensupport.URLParams 5572 ctx_ context.Context 5573 header_ http.Header 5574} 5575 5576// Delete: Deletes specified company. 5577// Prerequisite: The company has no jobs associated with it. 5578func (r *ProjectsCompaniesService) Delete(name string) *ProjectsCompaniesDeleteCall { 5579 c := &ProjectsCompaniesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5580 c.name = name 5581 return c 5582} 5583 5584// Fields allows partial responses to be retrieved. See 5585// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5586// for more information. 5587func (c *ProjectsCompaniesDeleteCall) Fields(s ...googleapi.Field) *ProjectsCompaniesDeleteCall { 5588 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5589 return c 5590} 5591 5592// Context sets the context to be used in this call's Do method. Any 5593// pending HTTP request will be aborted if the provided context is 5594// canceled. 5595func (c *ProjectsCompaniesDeleteCall) Context(ctx context.Context) *ProjectsCompaniesDeleteCall { 5596 c.ctx_ = ctx 5597 return c 5598} 5599 5600// Header returns an http.Header that can be modified by the caller to 5601// add HTTP headers to the request. 5602func (c *ProjectsCompaniesDeleteCall) Header() http.Header { 5603 if c.header_ == nil { 5604 c.header_ = make(http.Header) 5605 } 5606 return c.header_ 5607} 5608 5609func (c *ProjectsCompaniesDeleteCall) doRequest(alt string) (*http.Response, error) { 5610 reqHeaders := make(http.Header) 5611 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5612 for k, v := range c.header_ { 5613 reqHeaders[k] = v 5614 } 5615 reqHeaders.Set("User-Agent", c.s.userAgent()) 5616 var body io.Reader = nil 5617 c.urlParams_.Set("alt", alt) 5618 c.urlParams_.Set("prettyPrint", "false") 5619 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 5620 urls += "?" + c.urlParams_.Encode() 5621 req, err := http.NewRequest("DELETE", urls, body) 5622 if err != nil { 5623 return nil, err 5624 } 5625 req.Header = reqHeaders 5626 googleapi.Expand(req.URL, map[string]string{ 5627 "name": c.name, 5628 }) 5629 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5630} 5631 5632// Do executes the "jobs.projects.companies.delete" call. 5633// Exactly one of *Empty or error will be non-nil. Any non-2xx status 5634// code is an error. Response headers are in either 5635// *Empty.ServerResponse.Header or (if a response was returned at all) 5636// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5637// check whether the returned error was because http.StatusNotModified 5638// was returned. 5639func (c *ProjectsCompaniesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 5640 gensupport.SetOptions(c.urlParams_, opts...) 5641 res, err := c.doRequest("json") 5642 if res != nil && res.StatusCode == http.StatusNotModified { 5643 if res.Body != nil { 5644 res.Body.Close() 5645 } 5646 return nil, &googleapi.Error{ 5647 Code: res.StatusCode, 5648 Header: res.Header, 5649 } 5650 } 5651 if err != nil { 5652 return nil, err 5653 } 5654 defer googleapi.CloseBody(res) 5655 if err := googleapi.CheckResponse(res); err != nil { 5656 return nil, err 5657 } 5658 ret := &Empty{ 5659 ServerResponse: googleapi.ServerResponse{ 5660 Header: res.Header, 5661 HTTPStatusCode: res.StatusCode, 5662 }, 5663 } 5664 target := &ret 5665 if err := gensupport.DecodeResponse(target, res); err != nil { 5666 return nil, err 5667 } 5668 return ret, nil 5669 // { 5670 // "description": "Deletes specified company.\nPrerequisite: The company has no jobs associated with it.", 5671 // "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}", 5672 // "httpMethod": "DELETE", 5673 // "id": "jobs.projects.companies.delete", 5674 // "parameterOrder": [ 5675 // "name" 5676 // ], 5677 // "parameters": { 5678 // "name": { 5679 // "description": "Required. The resource name of the company to be deleted.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".", 5680 // "location": "path", 5681 // "pattern": "^projects/[^/]+/companies/[^/]+$", 5682 // "required": true, 5683 // "type": "string" 5684 // } 5685 // }, 5686 // "path": "v3p1beta1/{+name}", 5687 // "response": { 5688 // "$ref": "Empty" 5689 // }, 5690 // "scopes": [ 5691 // "https://www.googleapis.com/auth/cloud-platform", 5692 // "https://www.googleapis.com/auth/jobs" 5693 // ] 5694 // } 5695 5696} 5697 5698// method id "jobs.projects.companies.get": 5699 5700type ProjectsCompaniesGetCall struct { 5701 s *Service 5702 name string 5703 urlParams_ gensupport.URLParams 5704 ifNoneMatch_ string 5705 ctx_ context.Context 5706 header_ http.Header 5707} 5708 5709// Get: Retrieves specified company. 5710func (r *ProjectsCompaniesService) Get(name string) *ProjectsCompaniesGetCall { 5711 c := &ProjectsCompaniesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5712 c.name = name 5713 return c 5714} 5715 5716// Fields allows partial responses to be retrieved. See 5717// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5718// for more information. 5719func (c *ProjectsCompaniesGetCall) Fields(s ...googleapi.Field) *ProjectsCompaniesGetCall { 5720 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5721 return c 5722} 5723 5724// IfNoneMatch sets the optional parameter which makes the operation 5725// fail if the object's ETag matches the given value. This is useful for 5726// getting updates only after the object has changed since the last 5727// request. Use googleapi.IsNotModified to check whether the response 5728// error from Do is the result of In-None-Match. 5729func (c *ProjectsCompaniesGetCall) IfNoneMatch(entityTag string) *ProjectsCompaniesGetCall { 5730 c.ifNoneMatch_ = entityTag 5731 return c 5732} 5733 5734// Context sets the context to be used in this call's Do method. Any 5735// pending HTTP request will be aborted if the provided context is 5736// canceled. 5737func (c *ProjectsCompaniesGetCall) Context(ctx context.Context) *ProjectsCompaniesGetCall { 5738 c.ctx_ = ctx 5739 return c 5740} 5741 5742// Header returns an http.Header that can be modified by the caller to 5743// add HTTP headers to the request. 5744func (c *ProjectsCompaniesGetCall) Header() http.Header { 5745 if c.header_ == nil { 5746 c.header_ = make(http.Header) 5747 } 5748 return c.header_ 5749} 5750 5751func (c *ProjectsCompaniesGetCall) doRequest(alt string) (*http.Response, error) { 5752 reqHeaders := make(http.Header) 5753 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5754 for k, v := range c.header_ { 5755 reqHeaders[k] = v 5756 } 5757 reqHeaders.Set("User-Agent", c.s.userAgent()) 5758 if c.ifNoneMatch_ != "" { 5759 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5760 } 5761 var body io.Reader = nil 5762 c.urlParams_.Set("alt", alt) 5763 c.urlParams_.Set("prettyPrint", "false") 5764 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 5765 urls += "?" + c.urlParams_.Encode() 5766 req, err := http.NewRequest("GET", urls, body) 5767 if err != nil { 5768 return nil, err 5769 } 5770 req.Header = reqHeaders 5771 googleapi.Expand(req.URL, map[string]string{ 5772 "name": c.name, 5773 }) 5774 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5775} 5776 5777// Do executes the "jobs.projects.companies.get" call. 5778// Exactly one of *Company or error will be non-nil. Any non-2xx status 5779// code is an error. Response headers are in either 5780// *Company.ServerResponse.Header or (if a response was returned at all) 5781// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5782// check whether the returned error was because http.StatusNotModified 5783// was returned. 5784func (c *ProjectsCompaniesGetCall) Do(opts ...googleapi.CallOption) (*Company, error) { 5785 gensupport.SetOptions(c.urlParams_, opts...) 5786 res, err := c.doRequest("json") 5787 if res != nil && res.StatusCode == http.StatusNotModified { 5788 if res.Body != nil { 5789 res.Body.Close() 5790 } 5791 return nil, &googleapi.Error{ 5792 Code: res.StatusCode, 5793 Header: res.Header, 5794 } 5795 } 5796 if err != nil { 5797 return nil, err 5798 } 5799 defer googleapi.CloseBody(res) 5800 if err := googleapi.CheckResponse(res); err != nil { 5801 return nil, err 5802 } 5803 ret := &Company{ 5804 ServerResponse: googleapi.ServerResponse{ 5805 Header: res.Header, 5806 HTTPStatusCode: res.StatusCode, 5807 }, 5808 } 5809 target := &ret 5810 if err := gensupport.DecodeResponse(target, res); err != nil { 5811 return nil, err 5812 } 5813 return ret, nil 5814 // { 5815 // "description": "Retrieves specified company.", 5816 // "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}", 5817 // "httpMethod": "GET", 5818 // "id": "jobs.projects.companies.get", 5819 // "parameterOrder": [ 5820 // "name" 5821 // ], 5822 // "parameters": { 5823 // "name": { 5824 // "description": "Required. The resource name of the company to be retrieved.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".", 5825 // "location": "path", 5826 // "pattern": "^projects/[^/]+/companies/[^/]+$", 5827 // "required": true, 5828 // "type": "string" 5829 // } 5830 // }, 5831 // "path": "v3p1beta1/{+name}", 5832 // "response": { 5833 // "$ref": "Company" 5834 // }, 5835 // "scopes": [ 5836 // "https://www.googleapis.com/auth/cloud-platform", 5837 // "https://www.googleapis.com/auth/jobs" 5838 // ] 5839 // } 5840 5841} 5842 5843// method id "jobs.projects.companies.list": 5844 5845type ProjectsCompaniesListCall struct { 5846 s *Service 5847 parent string 5848 urlParams_ gensupport.URLParams 5849 ifNoneMatch_ string 5850 ctx_ context.Context 5851 header_ http.Header 5852} 5853 5854// List: Lists all companies associated with the service account. 5855func (r *ProjectsCompaniesService) List(parent string) *ProjectsCompaniesListCall { 5856 c := &ProjectsCompaniesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5857 c.parent = parent 5858 return c 5859} 5860 5861// PageSize sets the optional parameter "pageSize": The maximum number 5862// of companies to be returned, at most 100. 5863// Default is 100 if a non-positive number is provided. 5864func (c *ProjectsCompaniesListCall) PageSize(pageSize int64) *ProjectsCompaniesListCall { 5865 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 5866 return c 5867} 5868 5869// PageToken sets the optional parameter "pageToken": The starting 5870// indicator from which to return results. 5871func (c *ProjectsCompaniesListCall) PageToken(pageToken string) *ProjectsCompaniesListCall { 5872 c.urlParams_.Set("pageToken", pageToken) 5873 return c 5874} 5875 5876// RequireOpenJobs sets the optional parameter "requireOpenJobs": Set to 5877// true if the companies requested must have open jobs. 5878// 5879// Defaults to false. 5880// 5881// If true, at most page_size of companies are fetched, among which 5882// only those with open jobs are returned. 5883func (c *ProjectsCompaniesListCall) RequireOpenJobs(requireOpenJobs bool) *ProjectsCompaniesListCall { 5884 c.urlParams_.Set("requireOpenJobs", fmt.Sprint(requireOpenJobs)) 5885 return c 5886} 5887 5888// Fields allows partial responses to be retrieved. See 5889// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5890// for more information. 5891func (c *ProjectsCompaniesListCall) Fields(s ...googleapi.Field) *ProjectsCompaniesListCall { 5892 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5893 return c 5894} 5895 5896// IfNoneMatch sets the optional parameter which makes the operation 5897// fail if the object's ETag matches the given value. This is useful for 5898// getting updates only after the object has changed since the last 5899// request. Use googleapi.IsNotModified to check whether the response 5900// error from Do is the result of In-None-Match. 5901func (c *ProjectsCompaniesListCall) IfNoneMatch(entityTag string) *ProjectsCompaniesListCall { 5902 c.ifNoneMatch_ = entityTag 5903 return c 5904} 5905 5906// Context sets the context to be used in this call's Do method. Any 5907// pending HTTP request will be aborted if the provided context is 5908// canceled. 5909func (c *ProjectsCompaniesListCall) Context(ctx context.Context) *ProjectsCompaniesListCall { 5910 c.ctx_ = ctx 5911 return c 5912} 5913 5914// Header returns an http.Header that can be modified by the caller to 5915// add HTTP headers to the request. 5916func (c *ProjectsCompaniesListCall) Header() http.Header { 5917 if c.header_ == nil { 5918 c.header_ = make(http.Header) 5919 } 5920 return c.header_ 5921} 5922 5923func (c *ProjectsCompaniesListCall) doRequest(alt string) (*http.Response, error) { 5924 reqHeaders := make(http.Header) 5925 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 5926 for k, v := range c.header_ { 5927 reqHeaders[k] = v 5928 } 5929 reqHeaders.Set("User-Agent", c.s.userAgent()) 5930 if c.ifNoneMatch_ != "" { 5931 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5932 } 5933 var body io.Reader = nil 5934 c.urlParams_.Set("alt", alt) 5935 c.urlParams_.Set("prettyPrint", "false") 5936 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/companies") 5937 urls += "?" + c.urlParams_.Encode() 5938 req, err := http.NewRequest("GET", urls, body) 5939 if err != nil { 5940 return nil, err 5941 } 5942 req.Header = reqHeaders 5943 googleapi.Expand(req.URL, map[string]string{ 5944 "parent": c.parent, 5945 }) 5946 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5947} 5948 5949// Do executes the "jobs.projects.companies.list" call. 5950// Exactly one of *ListCompaniesResponse or error will be non-nil. Any 5951// non-2xx status code is an error. Response headers are in either 5952// *ListCompaniesResponse.ServerResponse.Header or (if a response was 5953// returned at all) in error.(*googleapi.Error).Header. Use 5954// googleapi.IsNotModified to check whether the returned error was 5955// because http.StatusNotModified was returned. 5956func (c *ProjectsCompaniesListCall) Do(opts ...googleapi.CallOption) (*ListCompaniesResponse, error) { 5957 gensupport.SetOptions(c.urlParams_, opts...) 5958 res, err := c.doRequest("json") 5959 if res != nil && res.StatusCode == http.StatusNotModified { 5960 if res.Body != nil { 5961 res.Body.Close() 5962 } 5963 return nil, &googleapi.Error{ 5964 Code: res.StatusCode, 5965 Header: res.Header, 5966 } 5967 } 5968 if err != nil { 5969 return nil, err 5970 } 5971 defer googleapi.CloseBody(res) 5972 if err := googleapi.CheckResponse(res); err != nil { 5973 return nil, err 5974 } 5975 ret := &ListCompaniesResponse{ 5976 ServerResponse: googleapi.ServerResponse{ 5977 Header: res.Header, 5978 HTTPStatusCode: res.StatusCode, 5979 }, 5980 } 5981 target := &ret 5982 if err := gensupport.DecodeResponse(target, res); err != nil { 5983 return nil, err 5984 } 5985 return ret, nil 5986 // { 5987 // "description": "Lists all companies associated with the service account.", 5988 // "flatPath": "v3p1beta1/projects/{projectsId}/companies", 5989 // "httpMethod": "GET", 5990 // "id": "jobs.projects.companies.list", 5991 // "parameterOrder": [ 5992 // "parent" 5993 // ], 5994 // "parameters": { 5995 // "pageSize": { 5996 // "description": "Optional. The maximum number of companies to be returned, at most 100.\nDefault is 100 if a non-positive number is provided.", 5997 // "format": "int32", 5998 // "location": "query", 5999 // "type": "integer" 6000 // }, 6001 // "pageToken": { 6002 // "description": "Optional. The starting indicator from which to return results.", 6003 // "location": "query", 6004 // "type": "string" 6005 // }, 6006 // "parent": { 6007 // "description": "Required. Resource name of the project under which the company is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 6008 // "location": "path", 6009 // "pattern": "^projects/[^/]+$", 6010 // "required": true, 6011 // "type": "string" 6012 // }, 6013 // "requireOpenJobs": { 6014 // "description": "Optional. Set to true if the companies requested must have open jobs.\n\nDefaults to false.\n\nIf true, at most page_size of companies are fetched, among which\nonly those with open jobs are returned.", 6015 // "location": "query", 6016 // "type": "boolean" 6017 // } 6018 // }, 6019 // "path": "v3p1beta1/{+parent}/companies", 6020 // "response": { 6021 // "$ref": "ListCompaniesResponse" 6022 // }, 6023 // "scopes": [ 6024 // "https://www.googleapis.com/auth/cloud-platform", 6025 // "https://www.googleapis.com/auth/jobs" 6026 // ] 6027 // } 6028 6029} 6030 6031// Pages invokes f for each page of results. 6032// A non-nil error returned from f will halt the iteration. 6033// The provided context supersedes any context provided to the Context method. 6034func (c *ProjectsCompaniesListCall) Pages(ctx context.Context, f func(*ListCompaniesResponse) error) error { 6035 c.ctx_ = ctx 6036 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 6037 for { 6038 x, err := c.Do() 6039 if err != nil { 6040 return err 6041 } 6042 if err := f(x); err != nil { 6043 return err 6044 } 6045 if x.NextPageToken == "" { 6046 return nil 6047 } 6048 c.PageToken(x.NextPageToken) 6049 } 6050} 6051 6052// method id "jobs.projects.companies.patch": 6053 6054type ProjectsCompaniesPatchCall struct { 6055 s *Service 6056 name string 6057 updatecompanyrequest *UpdateCompanyRequest 6058 urlParams_ gensupport.URLParams 6059 ctx_ context.Context 6060 header_ http.Header 6061} 6062 6063// Patch: Updates specified company. Company names can't be updated. To 6064// update a 6065// company name, delete the company and all jobs associated with it, and 6066// only 6067// then re-create them. 6068func (r *ProjectsCompaniesService) Patch(name string, updatecompanyrequest *UpdateCompanyRequest) *ProjectsCompaniesPatchCall { 6069 c := &ProjectsCompaniesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6070 c.name = name 6071 c.updatecompanyrequest = updatecompanyrequest 6072 return c 6073} 6074 6075// Fields allows partial responses to be retrieved. See 6076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6077// for more information. 6078func (c *ProjectsCompaniesPatchCall) Fields(s ...googleapi.Field) *ProjectsCompaniesPatchCall { 6079 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6080 return c 6081} 6082 6083// Context sets the context to be used in this call's Do method. Any 6084// pending HTTP request will be aborted if the provided context is 6085// canceled. 6086func (c *ProjectsCompaniesPatchCall) Context(ctx context.Context) *ProjectsCompaniesPatchCall { 6087 c.ctx_ = ctx 6088 return c 6089} 6090 6091// Header returns an http.Header that can be modified by the caller to 6092// add HTTP headers to the request. 6093func (c *ProjectsCompaniesPatchCall) Header() http.Header { 6094 if c.header_ == nil { 6095 c.header_ = make(http.Header) 6096 } 6097 return c.header_ 6098} 6099 6100func (c *ProjectsCompaniesPatchCall) doRequest(alt string) (*http.Response, error) { 6101 reqHeaders := make(http.Header) 6102 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6103 for k, v := range c.header_ { 6104 reqHeaders[k] = v 6105 } 6106 reqHeaders.Set("User-Agent", c.s.userAgent()) 6107 var body io.Reader = nil 6108 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatecompanyrequest) 6109 if err != nil { 6110 return nil, err 6111 } 6112 reqHeaders.Set("Content-Type", "application/json") 6113 c.urlParams_.Set("alt", alt) 6114 c.urlParams_.Set("prettyPrint", "false") 6115 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 6116 urls += "?" + c.urlParams_.Encode() 6117 req, err := http.NewRequest("PATCH", urls, body) 6118 if err != nil { 6119 return nil, err 6120 } 6121 req.Header = reqHeaders 6122 googleapi.Expand(req.URL, map[string]string{ 6123 "name": c.name, 6124 }) 6125 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6126} 6127 6128// Do executes the "jobs.projects.companies.patch" call. 6129// Exactly one of *Company or error will be non-nil. Any non-2xx status 6130// code is an error. Response headers are in either 6131// *Company.ServerResponse.Header or (if a response was returned at all) 6132// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6133// check whether the returned error was because http.StatusNotModified 6134// was returned. 6135func (c *ProjectsCompaniesPatchCall) Do(opts ...googleapi.CallOption) (*Company, error) { 6136 gensupport.SetOptions(c.urlParams_, opts...) 6137 res, err := c.doRequest("json") 6138 if res != nil && res.StatusCode == http.StatusNotModified { 6139 if res.Body != nil { 6140 res.Body.Close() 6141 } 6142 return nil, &googleapi.Error{ 6143 Code: res.StatusCode, 6144 Header: res.Header, 6145 } 6146 } 6147 if err != nil { 6148 return nil, err 6149 } 6150 defer googleapi.CloseBody(res) 6151 if err := googleapi.CheckResponse(res); err != nil { 6152 return nil, err 6153 } 6154 ret := &Company{ 6155 ServerResponse: googleapi.ServerResponse{ 6156 Header: res.Header, 6157 HTTPStatusCode: res.StatusCode, 6158 }, 6159 } 6160 target := &ret 6161 if err := gensupport.DecodeResponse(target, res); err != nil { 6162 return nil, err 6163 } 6164 return ret, nil 6165 // { 6166 // "description": "Updates specified company. Company names can't be updated. To update a\ncompany name, delete the company and all jobs associated with it, and only\nthen re-create them.", 6167 // "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}", 6168 // "httpMethod": "PATCH", 6169 // "id": "jobs.projects.companies.patch", 6170 // "parameterOrder": [ 6171 // "name" 6172 // ], 6173 // "parameters": { 6174 // "name": { 6175 // "description": "Required during company update.\n\nThe resource name for a company. This is generated by the service when a\ncompany is created.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".", 6176 // "location": "path", 6177 // "pattern": "^projects/[^/]+/companies/[^/]+$", 6178 // "required": true, 6179 // "type": "string" 6180 // } 6181 // }, 6182 // "path": "v3p1beta1/{+name}", 6183 // "request": { 6184 // "$ref": "UpdateCompanyRequest" 6185 // }, 6186 // "response": { 6187 // "$ref": "Company" 6188 // }, 6189 // "scopes": [ 6190 // "https://www.googleapis.com/auth/cloud-platform", 6191 // "https://www.googleapis.com/auth/jobs" 6192 // ] 6193 // } 6194 6195} 6196 6197// method id "jobs.projects.jobs.batchDelete": 6198 6199type ProjectsJobsBatchDeleteCall struct { 6200 s *Service 6201 parent string 6202 batchdeletejobsrequest *BatchDeleteJobsRequest 6203 urlParams_ gensupport.URLParams 6204 ctx_ context.Context 6205 header_ http.Header 6206} 6207 6208// BatchDelete: Deletes a list of Jobs by filter. 6209func (r *ProjectsJobsService) BatchDelete(parent string, batchdeletejobsrequest *BatchDeleteJobsRequest) *ProjectsJobsBatchDeleteCall { 6210 c := &ProjectsJobsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6211 c.parent = parent 6212 c.batchdeletejobsrequest = batchdeletejobsrequest 6213 return c 6214} 6215 6216// Fields allows partial responses to be retrieved. See 6217// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6218// for more information. 6219func (c *ProjectsJobsBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsJobsBatchDeleteCall { 6220 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6221 return c 6222} 6223 6224// Context sets the context to be used in this call's Do method. Any 6225// pending HTTP request will be aborted if the provided context is 6226// canceled. 6227func (c *ProjectsJobsBatchDeleteCall) Context(ctx context.Context) *ProjectsJobsBatchDeleteCall { 6228 c.ctx_ = ctx 6229 return c 6230} 6231 6232// Header returns an http.Header that can be modified by the caller to 6233// add HTTP headers to the request. 6234func (c *ProjectsJobsBatchDeleteCall) Header() http.Header { 6235 if c.header_ == nil { 6236 c.header_ = make(http.Header) 6237 } 6238 return c.header_ 6239} 6240 6241func (c *ProjectsJobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) { 6242 reqHeaders := make(http.Header) 6243 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6244 for k, v := range c.header_ { 6245 reqHeaders[k] = v 6246 } 6247 reqHeaders.Set("User-Agent", c.s.userAgent()) 6248 var body io.Reader = nil 6249 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeletejobsrequest) 6250 if err != nil { 6251 return nil, err 6252 } 6253 reqHeaders.Set("Content-Type", "application/json") 6254 c.urlParams_.Set("alt", alt) 6255 c.urlParams_.Set("prettyPrint", "false") 6256 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/jobs:batchDelete") 6257 urls += "?" + c.urlParams_.Encode() 6258 req, err := http.NewRequest("POST", urls, body) 6259 if err != nil { 6260 return nil, err 6261 } 6262 req.Header = reqHeaders 6263 googleapi.Expand(req.URL, map[string]string{ 6264 "parent": c.parent, 6265 }) 6266 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6267} 6268 6269// Do executes the "jobs.projects.jobs.batchDelete" call. 6270// Exactly one of *Empty or error will be non-nil. Any non-2xx status 6271// code is an error. Response headers are in either 6272// *Empty.ServerResponse.Header or (if a response was returned at all) 6273// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6274// check whether the returned error was because http.StatusNotModified 6275// was returned. 6276func (c *ProjectsJobsBatchDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 6277 gensupport.SetOptions(c.urlParams_, opts...) 6278 res, err := c.doRequest("json") 6279 if res != nil && res.StatusCode == http.StatusNotModified { 6280 if res.Body != nil { 6281 res.Body.Close() 6282 } 6283 return nil, &googleapi.Error{ 6284 Code: res.StatusCode, 6285 Header: res.Header, 6286 } 6287 } 6288 if err != nil { 6289 return nil, err 6290 } 6291 defer googleapi.CloseBody(res) 6292 if err := googleapi.CheckResponse(res); err != nil { 6293 return nil, err 6294 } 6295 ret := &Empty{ 6296 ServerResponse: googleapi.ServerResponse{ 6297 Header: res.Header, 6298 HTTPStatusCode: res.StatusCode, 6299 }, 6300 } 6301 target := &ret 6302 if err := gensupport.DecodeResponse(target, res); err != nil { 6303 return nil, err 6304 } 6305 return ret, nil 6306 // { 6307 // "description": "Deletes a list of Jobs by filter.", 6308 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs:batchDelete", 6309 // "httpMethod": "POST", 6310 // "id": "jobs.projects.jobs.batchDelete", 6311 // "parameterOrder": [ 6312 // "parent" 6313 // ], 6314 // "parameters": { 6315 // "parent": { 6316 // "description": "Required. The resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 6317 // "location": "path", 6318 // "pattern": "^projects/[^/]+$", 6319 // "required": true, 6320 // "type": "string" 6321 // } 6322 // }, 6323 // "path": "v3p1beta1/{+parent}/jobs:batchDelete", 6324 // "request": { 6325 // "$ref": "BatchDeleteJobsRequest" 6326 // }, 6327 // "response": { 6328 // "$ref": "Empty" 6329 // }, 6330 // "scopes": [ 6331 // "https://www.googleapis.com/auth/cloud-platform", 6332 // "https://www.googleapis.com/auth/jobs" 6333 // ] 6334 // } 6335 6336} 6337 6338// method id "jobs.projects.jobs.create": 6339 6340type ProjectsJobsCreateCall struct { 6341 s *Service 6342 parent string 6343 createjobrequest *CreateJobRequest 6344 urlParams_ gensupport.URLParams 6345 ctx_ context.Context 6346 header_ http.Header 6347} 6348 6349// Create: Creates a new job. 6350// 6351// Typically, the job becomes searchable within 10 seconds, but it may 6352// take 6353// up to 5 minutes. 6354func (r *ProjectsJobsService) Create(parent string, createjobrequest *CreateJobRequest) *ProjectsJobsCreateCall { 6355 c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6356 c.parent = parent 6357 c.createjobrequest = createjobrequest 6358 return c 6359} 6360 6361// Fields allows partial responses to be retrieved. See 6362// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6363// for more information. 6364func (c *ProjectsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsJobsCreateCall { 6365 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6366 return c 6367} 6368 6369// Context sets the context to be used in this call's Do method. Any 6370// pending HTTP request will be aborted if the provided context is 6371// canceled. 6372func (c *ProjectsJobsCreateCall) Context(ctx context.Context) *ProjectsJobsCreateCall { 6373 c.ctx_ = ctx 6374 return c 6375} 6376 6377// Header returns an http.Header that can be modified by the caller to 6378// add HTTP headers to the request. 6379func (c *ProjectsJobsCreateCall) Header() http.Header { 6380 if c.header_ == nil { 6381 c.header_ = make(http.Header) 6382 } 6383 return c.header_ 6384} 6385 6386func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) { 6387 reqHeaders := make(http.Header) 6388 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6389 for k, v := range c.header_ { 6390 reqHeaders[k] = v 6391 } 6392 reqHeaders.Set("User-Agent", c.s.userAgent()) 6393 var body io.Reader = nil 6394 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createjobrequest) 6395 if err != nil { 6396 return nil, err 6397 } 6398 reqHeaders.Set("Content-Type", "application/json") 6399 c.urlParams_.Set("alt", alt) 6400 c.urlParams_.Set("prettyPrint", "false") 6401 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/jobs") 6402 urls += "?" + c.urlParams_.Encode() 6403 req, err := http.NewRequest("POST", urls, body) 6404 if err != nil { 6405 return nil, err 6406 } 6407 req.Header = reqHeaders 6408 googleapi.Expand(req.URL, map[string]string{ 6409 "parent": c.parent, 6410 }) 6411 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6412} 6413 6414// Do executes the "jobs.projects.jobs.create" call. 6415// Exactly one of *Job or error will be non-nil. Any non-2xx status code 6416// is an error. Response headers are in either 6417// *Job.ServerResponse.Header or (if a response was returned at all) in 6418// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 6419// whether the returned error was because http.StatusNotModified was 6420// returned. 6421func (c *ProjectsJobsCreateCall) Do(opts ...googleapi.CallOption) (*Job, error) { 6422 gensupport.SetOptions(c.urlParams_, opts...) 6423 res, err := c.doRequest("json") 6424 if res != nil && res.StatusCode == http.StatusNotModified { 6425 if res.Body != nil { 6426 res.Body.Close() 6427 } 6428 return nil, &googleapi.Error{ 6429 Code: res.StatusCode, 6430 Header: res.Header, 6431 } 6432 } 6433 if err != nil { 6434 return nil, err 6435 } 6436 defer googleapi.CloseBody(res) 6437 if err := googleapi.CheckResponse(res); err != nil { 6438 return nil, err 6439 } 6440 ret := &Job{ 6441 ServerResponse: googleapi.ServerResponse{ 6442 Header: res.Header, 6443 HTTPStatusCode: res.StatusCode, 6444 }, 6445 } 6446 target := &ret 6447 if err := gensupport.DecodeResponse(target, res); err != nil { 6448 return nil, err 6449 } 6450 return ret, nil 6451 // { 6452 // "description": "Creates a new job.\n\nTypically, the job becomes searchable within 10 seconds, but it may take\nup to 5 minutes.", 6453 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs", 6454 // "httpMethod": "POST", 6455 // "id": "jobs.projects.jobs.create", 6456 // "parameterOrder": [ 6457 // "parent" 6458 // ], 6459 // "parameters": { 6460 // "parent": { 6461 // "description": "Required. The resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 6462 // "location": "path", 6463 // "pattern": "^projects/[^/]+$", 6464 // "required": true, 6465 // "type": "string" 6466 // } 6467 // }, 6468 // "path": "v3p1beta1/{+parent}/jobs", 6469 // "request": { 6470 // "$ref": "CreateJobRequest" 6471 // }, 6472 // "response": { 6473 // "$ref": "Job" 6474 // }, 6475 // "scopes": [ 6476 // "https://www.googleapis.com/auth/cloud-platform", 6477 // "https://www.googleapis.com/auth/jobs" 6478 // ] 6479 // } 6480 6481} 6482 6483// method id "jobs.projects.jobs.delete": 6484 6485type ProjectsJobsDeleteCall struct { 6486 s *Service 6487 name string 6488 urlParams_ gensupport.URLParams 6489 ctx_ context.Context 6490 header_ http.Header 6491} 6492 6493// Delete: Deletes the specified job. 6494// 6495// Typically, the job becomes unsearchable within 10 seconds, but it may 6496// take 6497// up to 5 minutes. 6498func (r *ProjectsJobsService) Delete(name string) *ProjectsJobsDeleteCall { 6499 c := &ProjectsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6500 c.name = name 6501 return c 6502} 6503 6504// Fields allows partial responses to be retrieved. See 6505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6506// for more information. 6507func (c *ProjectsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsJobsDeleteCall { 6508 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6509 return c 6510} 6511 6512// Context sets the context to be used in this call's Do method. Any 6513// pending HTTP request will be aborted if the provided context is 6514// canceled. 6515func (c *ProjectsJobsDeleteCall) Context(ctx context.Context) *ProjectsJobsDeleteCall { 6516 c.ctx_ = ctx 6517 return c 6518} 6519 6520// Header returns an http.Header that can be modified by the caller to 6521// add HTTP headers to the request. 6522func (c *ProjectsJobsDeleteCall) Header() http.Header { 6523 if c.header_ == nil { 6524 c.header_ = make(http.Header) 6525 } 6526 return c.header_ 6527} 6528 6529func (c *ProjectsJobsDeleteCall) doRequest(alt string) (*http.Response, error) { 6530 reqHeaders := make(http.Header) 6531 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6532 for k, v := range c.header_ { 6533 reqHeaders[k] = v 6534 } 6535 reqHeaders.Set("User-Agent", c.s.userAgent()) 6536 var body io.Reader = nil 6537 c.urlParams_.Set("alt", alt) 6538 c.urlParams_.Set("prettyPrint", "false") 6539 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 6540 urls += "?" + c.urlParams_.Encode() 6541 req, err := http.NewRequest("DELETE", urls, body) 6542 if err != nil { 6543 return nil, err 6544 } 6545 req.Header = reqHeaders 6546 googleapi.Expand(req.URL, map[string]string{ 6547 "name": c.name, 6548 }) 6549 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6550} 6551 6552// Do executes the "jobs.projects.jobs.delete" call. 6553// Exactly one of *Empty or error will be non-nil. Any non-2xx status 6554// code is an error. Response headers are in either 6555// *Empty.ServerResponse.Header or (if a response was returned at all) 6556// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6557// check whether the returned error was because http.StatusNotModified 6558// was returned. 6559func (c *ProjectsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 6560 gensupport.SetOptions(c.urlParams_, opts...) 6561 res, err := c.doRequest("json") 6562 if res != nil && res.StatusCode == http.StatusNotModified { 6563 if res.Body != nil { 6564 res.Body.Close() 6565 } 6566 return nil, &googleapi.Error{ 6567 Code: res.StatusCode, 6568 Header: res.Header, 6569 } 6570 } 6571 if err != nil { 6572 return nil, err 6573 } 6574 defer googleapi.CloseBody(res) 6575 if err := googleapi.CheckResponse(res); err != nil { 6576 return nil, err 6577 } 6578 ret := &Empty{ 6579 ServerResponse: googleapi.ServerResponse{ 6580 Header: res.Header, 6581 HTTPStatusCode: res.StatusCode, 6582 }, 6583 } 6584 target := &ret 6585 if err := gensupport.DecodeResponse(target, res); err != nil { 6586 return nil, err 6587 } 6588 return ret, nil 6589 // { 6590 // "description": "Deletes the specified job.\n\nTypically, the job becomes unsearchable within 10 seconds, but it may take\nup to 5 minutes.", 6591 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}", 6592 // "httpMethod": "DELETE", 6593 // "id": "jobs.projects.jobs.delete", 6594 // "parameterOrder": [ 6595 // "name" 6596 // ], 6597 // "parameters": { 6598 // "name": { 6599 // "description": "Required. The resource name of the job to be deleted.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".", 6600 // "location": "path", 6601 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 6602 // "required": true, 6603 // "type": "string" 6604 // } 6605 // }, 6606 // "path": "v3p1beta1/{+name}", 6607 // "response": { 6608 // "$ref": "Empty" 6609 // }, 6610 // "scopes": [ 6611 // "https://www.googleapis.com/auth/cloud-platform", 6612 // "https://www.googleapis.com/auth/jobs" 6613 // ] 6614 // } 6615 6616} 6617 6618// method id "jobs.projects.jobs.get": 6619 6620type ProjectsJobsGetCall struct { 6621 s *Service 6622 name string 6623 urlParams_ gensupport.URLParams 6624 ifNoneMatch_ string 6625 ctx_ context.Context 6626 header_ http.Header 6627} 6628 6629// Get: Retrieves the specified job, whose status is OPEN or recently 6630// EXPIRED 6631// within the last 90 days. 6632func (r *ProjectsJobsService) Get(name string) *ProjectsJobsGetCall { 6633 c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6634 c.name = name 6635 return c 6636} 6637 6638// Fields allows partial responses to be retrieved. See 6639// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6640// for more information. 6641func (c *ProjectsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsJobsGetCall { 6642 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6643 return c 6644} 6645 6646// IfNoneMatch sets the optional parameter which makes the operation 6647// fail if the object's ETag matches the given value. This is useful for 6648// getting updates only after the object has changed since the last 6649// request. Use googleapi.IsNotModified to check whether the response 6650// error from Do is the result of In-None-Match. 6651func (c *ProjectsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsJobsGetCall { 6652 c.ifNoneMatch_ = entityTag 6653 return c 6654} 6655 6656// Context sets the context to be used in this call's Do method. Any 6657// pending HTTP request will be aborted if the provided context is 6658// canceled. 6659func (c *ProjectsJobsGetCall) Context(ctx context.Context) *ProjectsJobsGetCall { 6660 c.ctx_ = ctx 6661 return c 6662} 6663 6664// Header returns an http.Header that can be modified by the caller to 6665// add HTTP headers to the request. 6666func (c *ProjectsJobsGetCall) Header() http.Header { 6667 if c.header_ == nil { 6668 c.header_ = make(http.Header) 6669 } 6670 return c.header_ 6671} 6672 6673func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) { 6674 reqHeaders := make(http.Header) 6675 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6676 for k, v := range c.header_ { 6677 reqHeaders[k] = v 6678 } 6679 reqHeaders.Set("User-Agent", c.s.userAgent()) 6680 if c.ifNoneMatch_ != "" { 6681 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 6682 } 6683 var body io.Reader = nil 6684 c.urlParams_.Set("alt", alt) 6685 c.urlParams_.Set("prettyPrint", "false") 6686 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 6687 urls += "?" + c.urlParams_.Encode() 6688 req, err := http.NewRequest("GET", urls, body) 6689 if err != nil { 6690 return nil, err 6691 } 6692 req.Header = reqHeaders 6693 googleapi.Expand(req.URL, map[string]string{ 6694 "name": c.name, 6695 }) 6696 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6697} 6698 6699// Do executes the "jobs.projects.jobs.get" call. 6700// Exactly one of *Job or error will be non-nil. Any non-2xx status code 6701// is an error. Response headers are in either 6702// *Job.ServerResponse.Header or (if a response was returned at all) in 6703// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 6704// whether the returned error was because http.StatusNotModified was 6705// returned. 6706func (c *ProjectsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) { 6707 gensupport.SetOptions(c.urlParams_, opts...) 6708 res, err := c.doRequest("json") 6709 if res != nil && res.StatusCode == http.StatusNotModified { 6710 if res.Body != nil { 6711 res.Body.Close() 6712 } 6713 return nil, &googleapi.Error{ 6714 Code: res.StatusCode, 6715 Header: res.Header, 6716 } 6717 } 6718 if err != nil { 6719 return nil, err 6720 } 6721 defer googleapi.CloseBody(res) 6722 if err := googleapi.CheckResponse(res); err != nil { 6723 return nil, err 6724 } 6725 ret := &Job{ 6726 ServerResponse: googleapi.ServerResponse{ 6727 Header: res.Header, 6728 HTTPStatusCode: res.StatusCode, 6729 }, 6730 } 6731 target := &ret 6732 if err := gensupport.DecodeResponse(target, res); err != nil { 6733 return nil, err 6734 } 6735 return ret, nil 6736 // { 6737 // "description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED\nwithin the last 90 days.", 6738 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}", 6739 // "httpMethod": "GET", 6740 // "id": "jobs.projects.jobs.get", 6741 // "parameterOrder": [ 6742 // "name" 6743 // ], 6744 // "parameters": { 6745 // "name": { 6746 // "description": "Required. The resource name of the job to retrieve.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".", 6747 // "location": "path", 6748 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 6749 // "required": true, 6750 // "type": "string" 6751 // } 6752 // }, 6753 // "path": "v3p1beta1/{+name}", 6754 // "response": { 6755 // "$ref": "Job" 6756 // }, 6757 // "scopes": [ 6758 // "https://www.googleapis.com/auth/cloud-platform", 6759 // "https://www.googleapis.com/auth/jobs" 6760 // ] 6761 // } 6762 6763} 6764 6765// method id "jobs.projects.jobs.list": 6766 6767type ProjectsJobsListCall struct { 6768 s *Service 6769 parent string 6770 urlParams_ gensupport.URLParams 6771 ifNoneMatch_ string 6772 ctx_ context.Context 6773 header_ http.Header 6774} 6775 6776// List: Lists jobs by filter. 6777func (r *ProjectsJobsService) List(parent string) *ProjectsJobsListCall { 6778 c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6779 c.parent = parent 6780 return c 6781} 6782 6783// Filter sets the optional parameter "filter": Required. The filter 6784// string specifies the jobs to be enumerated. 6785// 6786// Supported operator: =, AND 6787// 6788// The fields eligible for filtering are: 6789// 6790// * `companyName` (Required) 6791// * `requisitionId` (Optional) 6792// 6793// Sample Query: 6794// 6795// * companyName = "projects/api-test-project/companies/123" 6796// * companyName = "projects/api-test-project/companies/123" AND 6797// requisitionId 6798// = "req-1" 6799func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall { 6800 c.urlParams_.Set("filter", filter) 6801 return c 6802} 6803 6804// JobView sets the optional parameter "jobView": The desired job 6805// attributes returned for jobs in the 6806// search response. Defaults to JobView.JOB_VIEW_FULL if no value 6807// is 6808// specified. 6809// 6810// Possible values: 6811// "JOB_VIEW_UNSPECIFIED" 6812// "JOB_VIEW_ID_ONLY" 6813// "JOB_VIEW_MINIMAL" 6814// "JOB_VIEW_SMALL" 6815// "JOB_VIEW_FULL" 6816func (c *ProjectsJobsListCall) JobView(jobView string) *ProjectsJobsListCall { 6817 c.urlParams_.Set("jobView", jobView) 6818 return c 6819} 6820 6821// PageSize sets the optional parameter "pageSize": The maximum number 6822// of jobs to be returned per page of results. 6823// 6824// If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum 6825// allowed 6826// page size is 1000. Otherwise, the maximum allowed page size is 6827// 100. 6828// 6829// Default is 100 if empty or a number < 1 is specified. 6830func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall { 6831 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 6832 return c 6833} 6834 6835// PageToken sets the optional parameter "pageToken": The starting point 6836// of a query result. 6837func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall { 6838 c.urlParams_.Set("pageToken", pageToken) 6839 return c 6840} 6841 6842// Fields allows partial responses to be retrieved. See 6843// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6844// for more information. 6845func (c *ProjectsJobsListCall) Fields(s ...googleapi.Field) *ProjectsJobsListCall { 6846 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6847 return c 6848} 6849 6850// IfNoneMatch sets the optional parameter which makes the operation 6851// fail if the object's ETag matches the given value. This is useful for 6852// getting updates only after the object has changed since the last 6853// request. Use googleapi.IsNotModified to check whether the response 6854// error from Do is the result of In-None-Match. 6855func (c *ProjectsJobsListCall) IfNoneMatch(entityTag string) *ProjectsJobsListCall { 6856 c.ifNoneMatch_ = entityTag 6857 return c 6858} 6859 6860// Context sets the context to be used in this call's Do method. Any 6861// pending HTTP request will be aborted if the provided context is 6862// canceled. 6863func (c *ProjectsJobsListCall) Context(ctx context.Context) *ProjectsJobsListCall { 6864 c.ctx_ = ctx 6865 return c 6866} 6867 6868// Header returns an http.Header that can be modified by the caller to 6869// add HTTP headers to the request. 6870func (c *ProjectsJobsListCall) Header() http.Header { 6871 if c.header_ == nil { 6872 c.header_ = make(http.Header) 6873 } 6874 return c.header_ 6875} 6876 6877func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) { 6878 reqHeaders := make(http.Header) 6879 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 6880 for k, v := range c.header_ { 6881 reqHeaders[k] = v 6882 } 6883 reqHeaders.Set("User-Agent", c.s.userAgent()) 6884 if c.ifNoneMatch_ != "" { 6885 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 6886 } 6887 var body io.Reader = nil 6888 c.urlParams_.Set("alt", alt) 6889 c.urlParams_.Set("prettyPrint", "false") 6890 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/jobs") 6891 urls += "?" + c.urlParams_.Encode() 6892 req, err := http.NewRequest("GET", urls, body) 6893 if err != nil { 6894 return nil, err 6895 } 6896 req.Header = reqHeaders 6897 googleapi.Expand(req.URL, map[string]string{ 6898 "parent": c.parent, 6899 }) 6900 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6901} 6902 6903// Do executes the "jobs.projects.jobs.list" call. 6904// Exactly one of *ListJobsResponse or error will be non-nil. Any 6905// non-2xx status code is an error. Response headers are in either 6906// *ListJobsResponse.ServerResponse.Header or (if a response was 6907// returned at all) in error.(*googleapi.Error).Header. Use 6908// googleapi.IsNotModified to check whether the returned error was 6909// because http.StatusNotModified was returned. 6910func (c *ProjectsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) { 6911 gensupport.SetOptions(c.urlParams_, opts...) 6912 res, err := c.doRequest("json") 6913 if res != nil && res.StatusCode == http.StatusNotModified { 6914 if res.Body != nil { 6915 res.Body.Close() 6916 } 6917 return nil, &googleapi.Error{ 6918 Code: res.StatusCode, 6919 Header: res.Header, 6920 } 6921 } 6922 if err != nil { 6923 return nil, err 6924 } 6925 defer googleapi.CloseBody(res) 6926 if err := googleapi.CheckResponse(res); err != nil { 6927 return nil, err 6928 } 6929 ret := &ListJobsResponse{ 6930 ServerResponse: googleapi.ServerResponse{ 6931 Header: res.Header, 6932 HTTPStatusCode: res.StatusCode, 6933 }, 6934 } 6935 target := &ret 6936 if err := gensupport.DecodeResponse(target, res); err != nil { 6937 return nil, err 6938 } 6939 return ret, nil 6940 // { 6941 // "description": "Lists jobs by filter.", 6942 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs", 6943 // "httpMethod": "GET", 6944 // "id": "jobs.projects.jobs.list", 6945 // "parameterOrder": [ 6946 // "parent" 6947 // ], 6948 // "parameters": { 6949 // "filter": { 6950 // "description": "Required. The filter string specifies the jobs to be enumerated.\n\nSupported operator: =, AND\n\nThe fields eligible for filtering are:\n\n* `companyName` (Required)\n* `requisitionId` (Optional)\n\nSample Query:\n\n* companyName = \"projects/api-test-project/companies/123\"\n* companyName = \"projects/api-test-project/companies/123\" AND requisitionId\n= \"req-1\"", 6951 // "location": "query", 6952 // "type": "string" 6953 // }, 6954 // "jobView": { 6955 // "description": "Optional. The desired job attributes returned for jobs in the\nsearch response. Defaults to JobView.JOB_VIEW_FULL if no value is\nspecified.", 6956 // "enum": [ 6957 // "JOB_VIEW_UNSPECIFIED", 6958 // "JOB_VIEW_ID_ONLY", 6959 // "JOB_VIEW_MINIMAL", 6960 // "JOB_VIEW_SMALL", 6961 // "JOB_VIEW_FULL" 6962 // ], 6963 // "location": "query", 6964 // "type": "string" 6965 // }, 6966 // "pageSize": { 6967 // "description": "Optional. The maximum number of jobs to be returned per page of results.\n\nIf job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed\npage size is 1000. Otherwise, the maximum allowed page size is 100.\n\nDefault is 100 if empty or a number \u003c 1 is specified.", 6968 // "format": "int32", 6969 // "location": "query", 6970 // "type": "integer" 6971 // }, 6972 // "pageToken": { 6973 // "description": "Optional. The starting point of a query result.", 6974 // "location": "query", 6975 // "type": "string" 6976 // }, 6977 // "parent": { 6978 // "description": "Required. The resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 6979 // "location": "path", 6980 // "pattern": "^projects/[^/]+$", 6981 // "required": true, 6982 // "type": "string" 6983 // } 6984 // }, 6985 // "path": "v3p1beta1/{+parent}/jobs", 6986 // "response": { 6987 // "$ref": "ListJobsResponse" 6988 // }, 6989 // "scopes": [ 6990 // "https://www.googleapis.com/auth/cloud-platform", 6991 // "https://www.googleapis.com/auth/jobs" 6992 // ] 6993 // } 6994 6995} 6996 6997// Pages invokes f for each page of results. 6998// A non-nil error returned from f will halt the iteration. 6999// The provided context supersedes any context provided to the Context method. 7000func (c *ProjectsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { 7001 c.ctx_ = ctx 7002 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 7003 for { 7004 x, err := c.Do() 7005 if err != nil { 7006 return err 7007 } 7008 if err := f(x); err != nil { 7009 return err 7010 } 7011 if x.NextPageToken == "" { 7012 return nil 7013 } 7014 c.PageToken(x.NextPageToken) 7015 } 7016} 7017 7018// method id "jobs.projects.jobs.patch": 7019 7020type ProjectsJobsPatchCall struct { 7021 s *Service 7022 name string 7023 updatejobrequest *UpdateJobRequest 7024 urlParams_ gensupport.URLParams 7025 ctx_ context.Context 7026 header_ http.Header 7027} 7028 7029// Patch: Updates specified job. 7030// 7031// Typically, updated contents become visible in search results within 7032// 10 7033// seconds, but it may take up to 5 minutes. 7034func (r *ProjectsJobsService) Patch(name string, updatejobrequest *UpdateJobRequest) *ProjectsJobsPatchCall { 7035 c := &ProjectsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7036 c.name = name 7037 c.updatejobrequest = updatejobrequest 7038 return c 7039} 7040 7041// Fields allows partial responses to be retrieved. See 7042// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7043// for more information. 7044func (c *ProjectsJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsJobsPatchCall { 7045 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7046 return c 7047} 7048 7049// Context sets the context to be used in this call's Do method. Any 7050// pending HTTP request will be aborted if the provided context is 7051// canceled. 7052func (c *ProjectsJobsPatchCall) Context(ctx context.Context) *ProjectsJobsPatchCall { 7053 c.ctx_ = ctx 7054 return c 7055} 7056 7057// Header returns an http.Header that can be modified by the caller to 7058// add HTTP headers to the request. 7059func (c *ProjectsJobsPatchCall) Header() http.Header { 7060 if c.header_ == nil { 7061 c.header_ = make(http.Header) 7062 } 7063 return c.header_ 7064} 7065 7066func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) { 7067 reqHeaders := make(http.Header) 7068 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 7069 for k, v := range c.header_ { 7070 reqHeaders[k] = v 7071 } 7072 reqHeaders.Set("User-Agent", c.s.userAgent()) 7073 var body io.Reader = nil 7074 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatejobrequest) 7075 if err != nil { 7076 return nil, err 7077 } 7078 reqHeaders.Set("Content-Type", "application/json") 7079 c.urlParams_.Set("alt", alt) 7080 c.urlParams_.Set("prettyPrint", "false") 7081 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 7082 urls += "?" + c.urlParams_.Encode() 7083 req, err := http.NewRequest("PATCH", urls, body) 7084 if err != nil { 7085 return nil, err 7086 } 7087 req.Header = reqHeaders 7088 googleapi.Expand(req.URL, map[string]string{ 7089 "name": c.name, 7090 }) 7091 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7092} 7093 7094// Do executes the "jobs.projects.jobs.patch" call. 7095// Exactly one of *Job or error will be non-nil. Any non-2xx status code 7096// is an error. Response headers are in either 7097// *Job.ServerResponse.Header or (if a response was returned at all) in 7098// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 7099// whether the returned error was because http.StatusNotModified was 7100// returned. 7101func (c *ProjectsJobsPatchCall) Do(opts ...googleapi.CallOption) (*Job, error) { 7102 gensupport.SetOptions(c.urlParams_, opts...) 7103 res, err := c.doRequest("json") 7104 if res != nil && res.StatusCode == http.StatusNotModified { 7105 if res.Body != nil { 7106 res.Body.Close() 7107 } 7108 return nil, &googleapi.Error{ 7109 Code: res.StatusCode, 7110 Header: res.Header, 7111 } 7112 } 7113 if err != nil { 7114 return nil, err 7115 } 7116 defer googleapi.CloseBody(res) 7117 if err := googleapi.CheckResponse(res); err != nil { 7118 return nil, err 7119 } 7120 ret := &Job{ 7121 ServerResponse: googleapi.ServerResponse{ 7122 Header: res.Header, 7123 HTTPStatusCode: res.StatusCode, 7124 }, 7125 } 7126 target := &ret 7127 if err := gensupport.DecodeResponse(target, res); err != nil { 7128 return nil, err 7129 } 7130 return ret, nil 7131 // { 7132 // "description": "Updates specified job.\n\nTypically, updated contents become visible in search results within 10\nseconds, but it may take up to 5 minutes.", 7133 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}", 7134 // "httpMethod": "PATCH", 7135 // "id": "jobs.projects.jobs.patch", 7136 // "parameterOrder": [ 7137 // "name" 7138 // ], 7139 // "parameters": { 7140 // "name": { 7141 // "description": "Required during job update.\n\nThe resource name for the job. This is generated by the service when a\njob is created.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".\n\nUse of this field in job queries and API calls is preferred over the use of\nrequisition_id since this value is unique.", 7142 // "location": "path", 7143 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 7144 // "required": true, 7145 // "type": "string" 7146 // } 7147 // }, 7148 // "path": "v3p1beta1/{+name}", 7149 // "request": { 7150 // "$ref": "UpdateJobRequest" 7151 // }, 7152 // "response": { 7153 // "$ref": "Job" 7154 // }, 7155 // "scopes": [ 7156 // "https://www.googleapis.com/auth/cloud-platform", 7157 // "https://www.googleapis.com/auth/jobs" 7158 // ] 7159 // } 7160 7161} 7162 7163// method id "jobs.projects.jobs.search": 7164 7165type ProjectsJobsSearchCall struct { 7166 s *Service 7167 parent string 7168 searchjobsrequest *SearchJobsRequest 7169 urlParams_ gensupport.URLParams 7170 ctx_ context.Context 7171 header_ http.Header 7172} 7173 7174// Search: Searches for jobs using the provided SearchJobsRequest. 7175// 7176// This call constrains the visibility of jobs 7177// present in the database, and only returns jobs that the caller 7178// has 7179// permission to search against. 7180func (r *ProjectsJobsService) Search(parent string, searchjobsrequest *SearchJobsRequest) *ProjectsJobsSearchCall { 7181 c := &ProjectsJobsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7182 c.parent = parent 7183 c.searchjobsrequest = searchjobsrequest 7184 return c 7185} 7186 7187// Fields allows partial responses to be retrieved. See 7188// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7189// for more information. 7190func (c *ProjectsJobsSearchCall) Fields(s ...googleapi.Field) *ProjectsJobsSearchCall { 7191 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7192 return c 7193} 7194 7195// Context sets the context to be used in this call's Do method. Any 7196// pending HTTP request will be aborted if the provided context is 7197// canceled. 7198func (c *ProjectsJobsSearchCall) Context(ctx context.Context) *ProjectsJobsSearchCall { 7199 c.ctx_ = ctx 7200 return c 7201} 7202 7203// Header returns an http.Header that can be modified by the caller to 7204// add HTTP headers to the request. 7205func (c *ProjectsJobsSearchCall) Header() http.Header { 7206 if c.header_ == nil { 7207 c.header_ = make(http.Header) 7208 } 7209 return c.header_ 7210} 7211 7212func (c *ProjectsJobsSearchCall) doRequest(alt string) (*http.Response, error) { 7213 reqHeaders := make(http.Header) 7214 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 7215 for k, v := range c.header_ { 7216 reqHeaders[k] = v 7217 } 7218 reqHeaders.Set("User-Agent", c.s.userAgent()) 7219 var body io.Reader = nil 7220 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 7221 if err != nil { 7222 return nil, err 7223 } 7224 reqHeaders.Set("Content-Type", "application/json") 7225 c.urlParams_.Set("alt", alt) 7226 c.urlParams_.Set("prettyPrint", "false") 7227 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/jobs:search") 7228 urls += "?" + c.urlParams_.Encode() 7229 req, err := http.NewRequest("POST", urls, body) 7230 if err != nil { 7231 return nil, err 7232 } 7233 req.Header = reqHeaders 7234 googleapi.Expand(req.URL, map[string]string{ 7235 "parent": c.parent, 7236 }) 7237 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7238} 7239 7240// Do executes the "jobs.projects.jobs.search" call. 7241// Exactly one of *SearchJobsResponse or error will be non-nil. Any 7242// non-2xx status code is an error. Response headers are in either 7243// *SearchJobsResponse.ServerResponse.Header or (if a response was 7244// returned at all) in error.(*googleapi.Error).Header. Use 7245// googleapi.IsNotModified to check whether the returned error was 7246// because http.StatusNotModified was returned. 7247func (c *ProjectsJobsSearchCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 7248 gensupport.SetOptions(c.urlParams_, opts...) 7249 res, err := c.doRequest("json") 7250 if res != nil && res.StatusCode == http.StatusNotModified { 7251 if res.Body != nil { 7252 res.Body.Close() 7253 } 7254 return nil, &googleapi.Error{ 7255 Code: res.StatusCode, 7256 Header: res.Header, 7257 } 7258 } 7259 if err != nil { 7260 return nil, err 7261 } 7262 defer googleapi.CloseBody(res) 7263 if err := googleapi.CheckResponse(res); err != nil { 7264 return nil, err 7265 } 7266 ret := &SearchJobsResponse{ 7267 ServerResponse: googleapi.ServerResponse{ 7268 Header: res.Header, 7269 HTTPStatusCode: res.StatusCode, 7270 }, 7271 } 7272 target := &ret 7273 if err := gensupport.DecodeResponse(target, res); err != nil { 7274 return nil, err 7275 } 7276 return ret, nil 7277 // { 7278 // "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs that the caller has\npermission to search against.", 7279 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs:search", 7280 // "httpMethod": "POST", 7281 // "id": "jobs.projects.jobs.search", 7282 // "parameterOrder": [ 7283 // "parent" 7284 // ], 7285 // "parameters": { 7286 // "parent": { 7287 // "description": "Required. The resource name of the project to search within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 7288 // "location": "path", 7289 // "pattern": "^projects/[^/]+$", 7290 // "required": true, 7291 // "type": "string" 7292 // } 7293 // }, 7294 // "path": "v3p1beta1/{+parent}/jobs:search", 7295 // "request": { 7296 // "$ref": "SearchJobsRequest" 7297 // }, 7298 // "response": { 7299 // "$ref": "SearchJobsResponse" 7300 // }, 7301 // "scopes": [ 7302 // "https://www.googleapis.com/auth/cloud-platform", 7303 // "https://www.googleapis.com/auth/jobs" 7304 // ] 7305 // } 7306 7307} 7308 7309// Pages invokes f for each page of results. 7310// A non-nil error returned from f will halt the iteration. 7311// The provided context supersedes any context provided to the Context method. 7312func (c *ProjectsJobsSearchCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 7313 c.ctx_ = ctx 7314 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 7315 for { 7316 x, err := c.Do() 7317 if err != nil { 7318 return err 7319 } 7320 if err := f(x); err != nil { 7321 return err 7322 } 7323 if x.NextPageToken == "" { 7324 return nil 7325 } 7326 c.searchjobsrequest.PageToken = x.NextPageToken 7327 } 7328} 7329 7330// method id "jobs.projects.jobs.searchForAlert": 7331 7332type ProjectsJobsSearchForAlertCall struct { 7333 s *Service 7334 parent string 7335 searchjobsrequest *SearchJobsRequest 7336 urlParams_ gensupport.URLParams 7337 ctx_ context.Context 7338 header_ http.Header 7339} 7340 7341// SearchForAlert: Searches for jobs using the provided 7342// SearchJobsRequest. 7343// 7344// This API call is intended for the use case of targeting passive 7345// job 7346// seekers (for example, job seekers who have signed up to receive 7347// email 7348// alerts about potential job opportunities), and has different 7349// algorithmic 7350// adjustments that are targeted to passive job seekers. 7351// 7352// This call constrains the visibility of jobs 7353// present in the database, and only returns jobs the caller 7354// has 7355// permission to search against. 7356func (r *ProjectsJobsService) SearchForAlert(parent string, searchjobsrequest *SearchJobsRequest) *ProjectsJobsSearchForAlertCall { 7357 c := &ProjectsJobsSearchForAlertCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7358 c.parent = parent 7359 c.searchjobsrequest = searchjobsrequest 7360 return c 7361} 7362 7363// Fields allows partial responses to be retrieved. See 7364// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7365// for more information. 7366func (c *ProjectsJobsSearchForAlertCall) Fields(s ...googleapi.Field) *ProjectsJobsSearchForAlertCall { 7367 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7368 return c 7369} 7370 7371// Context sets the context to be used in this call's Do method. Any 7372// pending HTTP request will be aborted if the provided context is 7373// canceled. 7374func (c *ProjectsJobsSearchForAlertCall) Context(ctx context.Context) *ProjectsJobsSearchForAlertCall { 7375 c.ctx_ = ctx 7376 return c 7377} 7378 7379// Header returns an http.Header that can be modified by the caller to 7380// add HTTP headers to the request. 7381func (c *ProjectsJobsSearchForAlertCall) Header() http.Header { 7382 if c.header_ == nil { 7383 c.header_ = make(http.Header) 7384 } 7385 return c.header_ 7386} 7387 7388func (c *ProjectsJobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) { 7389 reqHeaders := make(http.Header) 7390 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 7391 for k, v := range c.header_ { 7392 reqHeaders[k] = v 7393 } 7394 reqHeaders.Set("User-Agent", c.s.userAgent()) 7395 var body io.Reader = nil 7396 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 7397 if err != nil { 7398 return nil, err 7399 } 7400 reqHeaders.Set("Content-Type", "application/json") 7401 c.urlParams_.Set("alt", alt) 7402 c.urlParams_.Set("prettyPrint", "false") 7403 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+parent}/jobs:searchForAlert") 7404 urls += "?" + c.urlParams_.Encode() 7405 req, err := http.NewRequest("POST", urls, body) 7406 if err != nil { 7407 return nil, err 7408 } 7409 req.Header = reqHeaders 7410 googleapi.Expand(req.URL, map[string]string{ 7411 "parent": c.parent, 7412 }) 7413 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7414} 7415 7416// Do executes the "jobs.projects.jobs.searchForAlert" call. 7417// Exactly one of *SearchJobsResponse or error will be non-nil. Any 7418// non-2xx status code is an error. Response headers are in either 7419// *SearchJobsResponse.ServerResponse.Header or (if a response was 7420// returned at all) in error.(*googleapi.Error).Header. Use 7421// googleapi.IsNotModified to check whether the returned error was 7422// because http.StatusNotModified was returned. 7423func (c *ProjectsJobsSearchForAlertCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 7424 gensupport.SetOptions(c.urlParams_, opts...) 7425 res, err := c.doRequest("json") 7426 if res != nil && res.StatusCode == http.StatusNotModified { 7427 if res.Body != nil { 7428 res.Body.Close() 7429 } 7430 return nil, &googleapi.Error{ 7431 Code: res.StatusCode, 7432 Header: res.Header, 7433 } 7434 } 7435 if err != nil { 7436 return nil, err 7437 } 7438 defer googleapi.CloseBody(res) 7439 if err := googleapi.CheckResponse(res); err != nil { 7440 return nil, err 7441 } 7442 ret := &SearchJobsResponse{ 7443 ServerResponse: googleapi.ServerResponse{ 7444 Header: res.Header, 7445 HTTPStatusCode: res.StatusCode, 7446 }, 7447 } 7448 target := &ret 7449 if err := gensupport.DecodeResponse(target, res); err != nil { 7450 return nil, err 7451 } 7452 return ret, nil 7453 // { 7454 // "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis API call is intended for the use case of targeting passive job\nseekers (for example, job seekers who have signed up to receive email\nalerts about potential job opportunities), and has different algorithmic\nadjustments that are targeted to passive job seekers.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs the caller has\npermission to search against.", 7455 // "flatPath": "v3p1beta1/projects/{projectsId}/jobs:searchForAlert", 7456 // "httpMethod": "POST", 7457 // "id": "jobs.projects.jobs.searchForAlert", 7458 // "parameterOrder": [ 7459 // "parent" 7460 // ], 7461 // "parameters": { 7462 // "parent": { 7463 // "description": "Required. The resource name of the project to search within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".", 7464 // "location": "path", 7465 // "pattern": "^projects/[^/]+$", 7466 // "required": true, 7467 // "type": "string" 7468 // } 7469 // }, 7470 // "path": "v3p1beta1/{+parent}/jobs:searchForAlert", 7471 // "request": { 7472 // "$ref": "SearchJobsRequest" 7473 // }, 7474 // "response": { 7475 // "$ref": "SearchJobsResponse" 7476 // }, 7477 // "scopes": [ 7478 // "https://www.googleapis.com/auth/cloud-platform", 7479 // "https://www.googleapis.com/auth/jobs" 7480 // ] 7481 // } 7482 7483} 7484 7485// Pages invokes f for each page of results. 7486// A non-nil error returned from f will halt the iteration. 7487// The provided context supersedes any context provided to the Context method. 7488func (c *ProjectsJobsSearchForAlertCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 7489 c.ctx_ = ctx 7490 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 7491 for { 7492 x, err := c.Do() 7493 if err != nil { 7494 return err 7495 } 7496 if err := f(x); err != nil { 7497 return err 7498 } 7499 if x.NextPageToken == "" { 7500 return nil 7501 } 7502 c.searchjobsrequest.PageToken = x.NextPageToken 7503 } 7504} 7505 7506// method id "jobs.projects.operations.get": 7507 7508type ProjectsOperationsGetCall struct { 7509 s *Service 7510 name string 7511 urlParams_ gensupport.URLParams 7512 ifNoneMatch_ string 7513 ctx_ context.Context 7514 header_ http.Header 7515} 7516 7517// Get: Gets the latest state of a long-running operation. Clients can 7518// use this 7519// method to poll the operation result at intervals as recommended by 7520// the API 7521// service. 7522func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { 7523 c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7524 c.name = name 7525 return c 7526} 7527 7528// Fields allows partial responses to be retrieved. See 7529// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7530// for more information. 7531func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { 7532 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7533 return c 7534} 7535 7536// IfNoneMatch sets the optional parameter which makes the operation 7537// fail if the object's ETag matches the given value. This is useful for 7538// getting updates only after the object has changed since the last 7539// request. Use googleapi.IsNotModified to check whether the response 7540// error from Do is the result of In-None-Match. 7541func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { 7542 c.ifNoneMatch_ = entityTag 7543 return c 7544} 7545 7546// Context sets the context to be used in this call's Do method. Any 7547// pending HTTP request will be aborted if the provided context is 7548// canceled. 7549func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { 7550 c.ctx_ = ctx 7551 return c 7552} 7553 7554// Header returns an http.Header that can be modified by the caller to 7555// add HTTP headers to the request. 7556func (c *ProjectsOperationsGetCall) Header() http.Header { 7557 if c.header_ == nil { 7558 c.header_ = make(http.Header) 7559 } 7560 return c.header_ 7561} 7562 7563func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { 7564 reqHeaders := make(http.Header) 7565 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200302") 7566 for k, v := range c.header_ { 7567 reqHeaders[k] = v 7568 } 7569 reqHeaders.Set("User-Agent", c.s.userAgent()) 7570 if c.ifNoneMatch_ != "" { 7571 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 7572 } 7573 var body io.Reader = nil 7574 c.urlParams_.Set("alt", alt) 7575 c.urlParams_.Set("prettyPrint", "false") 7576 urls := googleapi.ResolveRelative(c.s.BasePath, "v3p1beta1/{+name}") 7577 urls += "?" + c.urlParams_.Encode() 7578 req, err := http.NewRequest("GET", urls, body) 7579 if err != nil { 7580 return nil, err 7581 } 7582 req.Header = reqHeaders 7583 googleapi.Expand(req.URL, map[string]string{ 7584 "name": c.name, 7585 }) 7586 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7587} 7588 7589// Do executes the "jobs.projects.operations.get" call. 7590// Exactly one of *Operation or error will be non-nil. Any non-2xx 7591// status code is an error. Response headers are in either 7592// *Operation.ServerResponse.Header or (if a response was returned at 7593// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 7594// to check whether the returned error was because 7595// http.StatusNotModified was returned. 7596func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 7597 gensupport.SetOptions(c.urlParams_, opts...) 7598 res, err := c.doRequest("json") 7599 if res != nil && res.StatusCode == http.StatusNotModified { 7600 if res.Body != nil { 7601 res.Body.Close() 7602 } 7603 return nil, &googleapi.Error{ 7604 Code: res.StatusCode, 7605 Header: res.Header, 7606 } 7607 } 7608 if err != nil { 7609 return nil, err 7610 } 7611 defer googleapi.CloseBody(res) 7612 if err := googleapi.CheckResponse(res); err != nil { 7613 return nil, err 7614 } 7615 ret := &Operation{ 7616 ServerResponse: googleapi.ServerResponse{ 7617 Header: res.Header, 7618 HTTPStatusCode: res.StatusCode, 7619 }, 7620 } 7621 target := &ret 7622 if err := gensupport.DecodeResponse(target, res); err != nil { 7623 return nil, err 7624 } 7625 return ret, nil 7626 // { 7627 // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", 7628 // "flatPath": "v3p1beta1/projects/{projectsId}/operations/{operationsId}", 7629 // "httpMethod": "GET", 7630 // "id": "jobs.projects.operations.get", 7631 // "parameterOrder": [ 7632 // "name" 7633 // ], 7634 // "parameters": { 7635 // "name": { 7636 // "description": "The name of the operation resource.", 7637 // "location": "path", 7638 // "pattern": "^projects/[^/]+/operations/[^/]+$", 7639 // "required": true, 7640 // "type": "string" 7641 // } 7642 // }, 7643 // "path": "v3p1beta1/{+name}", 7644 // "response": { 7645 // "$ref": "Operation" 7646 // }, 7647 // "scopes": [ 7648 // "https://www.googleapis.com/auth/cloud-platform", 7649 // "https://www.googleapis.com/auth/jobs" 7650 // ] 7651 // } 7652 7653} 7654