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