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