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