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 // View and manage your data across Google Cloud Platform services 87 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 88 89 // Manage job postings 90 JobsScope = "https://www.googleapis.com/auth/jobs" 91) 92 93// NewService creates a new Service. 94func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 95 scopesOption := option.WithScopes( 96 "https://www.googleapis.com/auth/cloud-platform", 97 "https://www.googleapis.com/auth/jobs", 98 ) 99 // NOTE: prepend, so we don't override user-specified scopes. 100 opts = append([]option.ClientOption{scopesOption}, opts...) 101 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 102 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 103 client, endpoint, err := htransport.NewClient(ctx, opts...) 104 if err != nil { 105 return nil, err 106 } 107 s, err := New(client) 108 if err != nil { 109 return nil, err 110 } 111 if endpoint != "" { 112 s.BasePath = endpoint 113 } 114 return s, nil 115} 116 117// New creates a new Service. It uses the provided http.Client for requests. 118// 119// Deprecated: please use NewService instead. 120// To provide a custom HTTP client, use option.WithHTTPClient. 121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 122func New(client *http.Client) (*Service, error) { 123 if client == nil { 124 return nil, errors.New("client is nil") 125 } 126 s := &Service{client: client, BasePath: basePath} 127 s.Projects = NewProjectsService(s) 128 return s, nil 129} 130 131type Service struct { 132 client *http.Client 133 BasePath string // API endpoint base URL 134 UserAgent string // optional additional User-Agent fragment 135 136 Projects *ProjectsService 137} 138 139func (s *Service) userAgent() string { 140 if s.UserAgent == "" { 141 return googleapi.UserAgent 142 } 143 return googleapi.UserAgent + " " + s.UserAgent 144} 145 146func NewProjectsService(s *Service) *ProjectsService { 147 rs := &ProjectsService{s: s} 148 rs.ClientEvents = NewProjectsClientEventsService(s) 149 rs.Companies = NewProjectsCompaniesService(s) 150 rs.Jobs = NewProjectsJobsService(s) 151 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 values are omitted from API requests. However, any non-pointer, 216 // non-interface field appearing in ForceSendFields will be sent to the 217 // server regardless of whether the field is empty or not. This may be 218 // 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 values are omitted from API requests. However, any non-pointer, 248 // non-interface field appearing in ForceSendFields will be sent to the 249 // server regardless of whether the field is empty or not. This may be 250 // 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 values are omitted from API requests. However, any non-pointer, 280 // non-interface field appearing in ForceSendFields will be sent to the 281 // server regardless of whether the field is empty or not. This may be 282 // 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 values are omitted from API requests. However, any non-pointer, 328 // non-interface field appearing in ForceSendFields will be sent to the 329 // server regardless of whether the field is empty or not. This may be 330 // 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 values are omitted from API requests. However, any non-pointer, 392 // non-interface field appearing in ForceSendFields will be sent to the 393 // server regardless of whether the field is empty or not. This may be 394 // 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 values are omitted from API 464 // requests. However, any non-pointer, non-interface field appearing in 465 // ForceSendFields will be sent to the server regardless of whether the 466 // field is empty or not. This may be used to include empty fields in 467 // 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 values are omitted from API requests. However, any non-pointer, 501 // non-interface field appearing in ForceSendFields will be sent to the 502 // server regardless of whether the field is empty or not. This may be 503 // 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 values are omitted from API requests. However, any non-pointer, 607 // non-interface field appearing in ForceSendFields will be sent to the 608 // server regardless of whether the field is empty or not. This may be 609 // 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 values are omitted from API requests. 636 // 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 values are omitted from API requests. However, any non-pointer, 717 // non-interface field appearing in ForceSendFields will be sent to the 718 // server regardless of whether the field is empty or not. This may be 719 // 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 values are 803 // omitted from API requests. However, any non-pointer, non-interface 804 // field appearing in ForceSendFields will be sent to the server 805 // regardless of whether the field is empty or not. This may be used to 806 // 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 values are omitted from API requests. However, any non-pointer, 852 // non-interface field appearing in ForceSendFields will be sent to the 853 // server regardless of whether the field is empty or not. This may be 854 // 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 values are omitted from API requests. However, any non-pointer, 898 // non-interface field appearing in ForceSendFields will be sent to the 899 // server regardless of whether the field is empty or not. This may be 900 // 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 values are omitted from API 942 // requests. However, any non-pointer, non-interface field appearing in 943 // ForceSendFields will be sent to the server regardless of whether the 944 // field is empty or not. This may be used to include empty fields in 945 // 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 values are omitted from API requests. However, any non-pointer, 979 // non-interface field appearing in ForceSendFields will be sent to the 980 // server regardless of whether the field is empty or not. This may be 981 // 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 values are omitted from API requests. However, any non-pointer, 1016 // non-interface field appearing in ForceSendFields will be sent to the 1017 // server regardless of whether the field is empty or not. This may be 1018 // 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 values are omitted from API requests. However, any non-pointer, 1059 // non-interface field appearing in ForceSendFields will be sent to the 1060 // server regardless of whether the field is empty or not. This may be 1061 // 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 values are omitted from API requests. However, any non-pointer, 1088 // non-interface field appearing in ForceSendFields will be sent to the 1089 // server regardless of whether the field is empty or not. This may be 1090 // 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 values are omitted from API requests. However, any non-pointer, 1117 // non-interface field appearing in ForceSendFields will be sent to the 1118 // server regardless of whether the field is empty or not. This may be 1119 // 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 values are omitted from API requests. However, any non-pointer, 1145 // non-interface field appearing in ForceSendFields will be sent to the 1146 // server regardless of whether the field is empty or not. This may be 1147 // 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 values are omitted from API requests. However, any non-pointer, 1192 // non-interface field appearing in ForceSendFields will be sent to the 1193 // server regardless of whether the field is empty or not. This may be 1194 // 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 values are omitted from API requests. However, any non-pointer, 1234 // non-interface field appearing in ForceSendFields will be sent to the 1235 // server regardless of whether the field is empty or not. This may be 1236 // 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 values are omitted from API requests. However, any non-pointer, 1274 // non-interface field appearing in ForceSendFields will be sent to the 1275 // server regardless of whether the field is empty or not. This may be 1276 // 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 values are omitted from API requests. However, any non-pointer, 1321 // non-interface field appearing in ForceSendFields will be sent to the 1322 // server regardless of whether the field is empty or not. This may be 1323 // 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 values are omitted from API 1414 // requests. However, any non-pointer, non-interface field appearing in 1415 // ForceSendFields will be sent to the server regardless of whether the 1416 // field is empty or not. This may be used to include empty fields in 1417 // 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 values are omitted from API requests. However, any non-pointer, 1494 // non-interface field appearing in ForceSendFields will be sent to the 1495 // server regardless of whether the field is empty or not. This may be 1496 // 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 values are omitted from API 1534 // requests. However, any non-pointer, non-interface field appearing in 1535 // ForceSendFields will be sent to the server regardless of whether the 1536 // field is empty or not. This may be used to include empty fields in 1537 // 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. The 1572 // maximum number of allowed characters is 500. 1573 Addresses []string `json:"addresses,omitempty"` 1574 1575 // ApplicationInfo: Required. At least one field within ApplicationInfo 1576 // must be specified. Job application information. 1577 ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"` 1578 1579 // CompanyDisplayName: Output only. Display name of the company listing 1580 // the job. 1581 CompanyDisplayName string `json:"companyDisplayName,omitempty"` 1582 1583 // CompanyName: Required. The resource name of the company listing the 1584 // job, such as "projects/api-test-project/companies/foo". 1585 CompanyName string `json:"companyName,omitempty"` 1586 1587 // CompensationInfo: Optional. Job compensation information. 1588 CompensationInfo *CompensationInfo `json:"compensationInfo,omitempty"` 1589 1590 // CustomAttributes: Optional. A map of fields to hold both filterable 1591 // and non-filterable custom job attributes that are not covered by the 1592 // provided structured fields. The keys of the map are strings up to 64 1593 // bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis 1594 // or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 1595 // unfilterable keys are supported. For filterable `string_values`, 1596 // across all keys at most 200 values are allowed, with each string no 1597 // more than 255 characters. For unfilterable `string_values`, the 1598 // maximum total size of `string_values` across all keys is 50KB. 1599 CustomAttributes map[string]CustomAttribute `json:"customAttributes,omitempty"` 1600 1601 // DegreeTypes: Optional. The desired education degrees for the job, 1602 // such as Bachelors, Masters. 1603 // 1604 // Possible values: 1605 // "DEGREE_TYPE_UNSPECIFIED" - Default value. Represents no degree, or 1606 // early childhood education. Maps to ISCED code 0. Ex) Kindergarten 1607 // "PRIMARY_EDUCATION" - Primary education which is typically the 1608 // first stage of compulsory education. ISCED code 1. Ex) Elementary 1609 // school 1610 // "LOWER_SECONDARY_EDUCATION" - Lower secondary education; First 1611 // stage of secondary education building on primary education, typically 1612 // with a more subject-oriented curriculum. ISCED code 2. Ex) Middle 1613 // school 1614 // "UPPER_SECONDARY_EDUCATION" - Middle education; Second/final stage 1615 // of secondary education preparing for tertiary education and/or 1616 // providing skills relevant to employment. Usually with an increased 1617 // range of subject options and streams. ISCED code 3. Ex) High school 1618 // "ADULT_REMEDIAL_EDUCATION" - Adult Remedial Education; Programmes 1619 // providing learning experiences that build on secondary education and 1620 // prepare for labour market entry and/or tertiary education. The 1621 // content is broader than secondary but not as complex as tertiary 1622 // education. ISCED code 4. 1623 // "ASSOCIATES_OR_EQUIVALENT" - Associate's or equivalent; Short first 1624 // tertiary programmes that are typically practically-based, 1625 // occupationally-specific and prepare for labour market entry. These 1626 // programmes may also provide a pathway to other tertiary programmes. 1627 // ISCED code 5. 1628 // "BACHELORS_OR_EQUIVALENT" - Bachelor's or equivalent; Programmes 1629 // designed to provide intermediate academic and/or professional 1630 // knowledge, skills and competencies leading to a first tertiary degree 1631 // or equivalent qualification. ISCED code 6. 1632 // "MASTERS_OR_EQUIVALENT" - Master's or equivalent; Programmes 1633 // designed to provide advanced academic and/or professional knowledge, 1634 // skills and competencies leading to a second tertiary degree or 1635 // equivalent qualification. ISCED code 7. 1636 // "DOCTORAL_OR_EQUIVALENT" - Doctoral or equivalent; Programmes 1637 // designed primarily to lead to an advanced research qualification, 1638 // usually concluding with the submission and defense of a substantive 1639 // dissertation of publishable quality based on original research. ISCED 1640 // code 8. 1641 DegreeTypes []string `json:"degreeTypes,omitempty"` 1642 1643 // Department: Optional. The department or functional area within the 1644 // company with the open position. The maximum number of allowed 1645 // characters is 255. 1646 Department string `json:"department,omitempty"` 1647 1648 // DerivedInfo: Output only. Derived details about the job posting. 1649 DerivedInfo *JobDerivedInfo `json:"derivedInfo,omitempty"` 1650 1651 // Description: Required. The description of the job, which typically 1652 // includes a multi-paragraph description of the company and related 1653 // information. Separate fields are provided on the job object for 1654 // responsibilities, qualifications, and other job characteristics. Use 1655 // of these separate job fields is recommended. This field accepts and 1656 // sanitizes HTML input, and also accepts bold, italic, ordered list, 1657 // and unordered list markup tags. The maximum number of allowed 1658 // characters is 100,000. 1659 Description string `json:"description,omitempty"` 1660 1661 // EmploymentTypes: Optional. The employment type(s) of a job, for 1662 // example, full time or part time. 1663 // 1664 // Possible values: 1665 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 1666 // type is not specified. 1667 // "FULL_TIME" - The job requires working a number of hours that 1668 // constitute full time employment, typically 40 or more hours per week. 1669 // "PART_TIME" - The job entails working fewer hours than a full time 1670 // job, typically less than 40 hours a week. 1671 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 1672 // salaried employee, position. 1673 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 1674 // with the understanding that it's converted into a full-time position 1675 // at the end of the contract. Jobs of this type are also returned by a 1676 // search for EmploymentType.CONTRACTOR jobs. 1677 // "TEMPORARY" - The job is offered as a temporary employment 1678 // opportunity, usually a short-term engagement. 1679 // "INTERN" - The job is a fixed-term opportunity for students or 1680 // entry-level job seekers to obtain on-the-job training, typically 1681 // offered as a summer position. 1682 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 1683 // where there's no expectation of compensation for the provided 1684 // services. 1685 // "PER_DIEM" - The job requires an employee to work on an as-needed 1686 // basis with a flexible schedule. 1687 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 1688 // areas and flying them temporarily to the work site instead of 1689 // relocating employees and their families permanently. 1690 // "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other 1691 // listed types. 1692 EmploymentTypes []string `json:"employmentTypes,omitempty"` 1693 1694 // Incentives: Optional. A description of bonus, commission, and other 1695 // compensation incentives associated with the job not including salary 1696 // or pay. The maximum number of allowed characters is 10,000. 1697 Incentives string `json:"incentives,omitempty"` 1698 1699 // JobBenefits: Optional. The benefits included with the job. 1700 // 1701 // Possible values: 1702 // "JOB_BENEFIT_UNSPECIFIED" - Default value if the type is not 1703 // specified. 1704 // "CHILD_CARE" - The job includes access to programs that support 1705 // child care, such as daycare. 1706 // "DENTAL" - The job includes dental services covered by a dental 1707 // insurance plan. 1708 // "DOMESTIC_PARTNER" - The job offers specific benefits to domestic 1709 // partners. 1710 // "FLEXIBLE_HOURS" - The job allows for a flexible work schedule. 1711 // "MEDICAL" - The job includes health services covered by a medical 1712 // insurance plan. 1713 // "LIFE_INSURANCE" - The job includes a life insurance plan provided 1714 // by the employer or available for purchase by the employee. 1715 // "PARENTAL_LEAVE" - The job allows for a leave of absence to a 1716 // parent to care for a newborn child. 1717 // "RETIREMENT_PLAN" - The job includes a workplace retirement plan 1718 // provided by the employer or available for purchase by the employee. 1719 // "SICK_DAYS" - The job allows for paid time off due to illness. 1720 // "VACATION" - The job includes paid time off for vacation. 1721 // "VISION" - The job includes vision services covered by a vision 1722 // insurance plan. 1723 JobBenefits []string `json:"jobBenefits,omitempty"` 1724 1725 // JobEndTime: Optional. The end timestamp of the job. Typically this 1726 // field is used for contracting engagements. Invalid timestamps are 1727 // ignored. 1728 JobEndTime string `json:"jobEndTime,omitempty"` 1729 1730 // JobLevel: Optional. The experience level associated with the job, 1731 // such as "Entry Level". 1732 // 1733 // Possible values: 1734 // "JOB_LEVEL_UNSPECIFIED" - The default value if the level is not 1735 // specified. 1736 // "ENTRY_LEVEL" - Entry-level individual contributors, typically with 1737 // less than 2 years of experience in a similar role. Includes interns. 1738 // "EXPERIENCED" - Experienced individual contributors, typically with 1739 // 2+ years of experience in a similar role. 1740 // "MANAGER" - Entry- to mid-level managers responsible for managing a 1741 // team of people. 1742 // "DIRECTOR" - Senior-level managers responsible for managing teams 1743 // of managers. 1744 // "EXECUTIVE" - Executive-level managers and above, including C-level 1745 // positions. 1746 JobLevel string `json:"jobLevel,omitempty"` 1747 1748 // JobStartTime: Optional. The start timestamp of the job in UTC time 1749 // zone. Typically this field is used for contracting engagements. 1750 // Invalid timestamps are ignored. 1751 JobStartTime string `json:"jobStartTime,omitempty"` 1752 1753 // LanguageCode: Optional. The language of the posting. This field is 1754 // distinct from any requirements for fluency that are associated with 1755 // the job. Language codes must be in BCP-47 format, such as "en-US" or 1756 // "sr-Latn". For more information, see Tags for Identifying Languages 1757 // (https://tools.ietf.org/html/bcp47){: class="external" 1758 // target="_blank" }. If this field is unspecified and Job.description 1759 // is present, detected language code based on Job.description is 1760 // assigned, otherwise defaults to 'en_US'. 1761 LanguageCode string `json:"languageCode,omitempty"` 1762 1763 // Name: Required during job update. The resource name for the job. This 1764 // is generated by the service when a job is created. The format is 1765 // "projects/{project_id}/jobs/{job_id}", for example, 1766 // "projects/api-test-project/jobs/1234". Use of this field in job 1767 // queries and API calls is preferred over the use of requisition_id 1768 // since this value is unique. 1769 Name string `json:"name,omitempty"` 1770 1771 // PostingCreateTime: Output only. The timestamp when this job posting 1772 // was created. 1773 PostingCreateTime string `json:"postingCreateTime,omitempty"` 1774 1775 // PostingExpireTime: Optional but strongly recommended for the best 1776 // service experience. The expiration timestamp of the job. After this 1777 // timestamp, the job is marked as expired, and it no longer appears in 1778 // search results. The expired job can't be deleted or listed by the 1779 // DeleteJob and ListJobs APIs, but it can be retrieved with the GetJob 1780 // API or updated with the UpdateJob API. An expired job can be updated 1781 // and opened again by using a future expiration timestamp. Updating an 1782 // expired job fails if there is another existing open job with same 1783 // company_name, language_code and requisition_id. The expired jobs are 1784 // retained in our system for 90 days. However, the overall expired job 1785 // count cannot exceed 3 times the maximum of open jobs count over the 1786 // past week, otherwise jobs with earlier expire time are cleaned first. 1787 // Expired jobs are no longer accessible after they are cleaned out. 1788 // Invalid timestamps are ignored, and treated as expire time not 1789 // provided. Timestamp before the instant request is made is considered 1790 // valid, the job will be treated as expired immediately. If this value 1791 // is not provided at the time of job creation or is invalid, the job 1792 // posting expires after 30 days from the job's creation time. For 1793 // example, if the job was created on 2017/01/01 13:00AM UTC with an 1794 // unspecified expiration date, the job expires after 2017/01/31 13:00AM 1795 // UTC. If this value is not provided on job update, it depends on the 1796 // field masks set by UpdateJobRequest.update_mask. If the field masks 1797 // include expiry_time, or the masks are empty meaning that every field 1798 // is updated, the job posting expires after 30 days from the job's last 1799 // update time. Otherwise the expiration date isn't updated. 1800 PostingExpireTime string `json:"postingExpireTime,omitempty"` 1801 1802 // PostingPublishTime: Optional. The timestamp this job posting was most 1803 // recently published. The default value is the time the request arrives 1804 // at the server. Invalid timestamps are ignored. 1805 PostingPublishTime string `json:"postingPublishTime,omitempty"` 1806 1807 // PostingRegion: Optional. The job PostingRegion (for example, state, 1808 // country) throughout which the job is available. If this field is set, 1809 // a LocationFilter in a search query within the job region finds this 1810 // job posting if an exact location match isn't specified. If this field 1811 // is set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, 1812 // setting job Job.addresses to the same location level as this field is 1813 // strongly recommended. 1814 // 1815 // Possible values: 1816 // "POSTING_REGION_UNSPECIFIED" - If the region is unspecified, the 1817 // job is only returned if it matches the LocationFilter. 1818 // "ADMINISTRATIVE_AREA" - In addition to exact location matching, job 1819 // posting is returned when the LocationFilter in the search query is in 1820 // the same administrative area as the returned job posting. For 1821 // example, if a `ADMINISTRATIVE_AREA` job is posted in "CA, USA", it's 1822 // returned if LocationFilter has "Mountain View". Administrative area 1823 // refers to top-level administrative subdivision of this country. For 1824 // example, US state, IT region, UK constituent nation and JP 1825 // prefecture. 1826 // "NATION" - In addition to exact location matching, job is returned 1827 // when LocationFilter in search query is in the same country as this 1828 // job. For example, if a `NATION_WIDE` job is posted in "USA", it's 1829 // returned if LocationFilter has 'Mountain View'. 1830 // "TELECOMMUTE" - Job allows employees to work remotely 1831 // (telecommute). If locations are provided with this value, the job is 1832 // considered as having a location, but telecommuting is allowed. 1833 PostingRegion string `json:"postingRegion,omitempty"` 1834 1835 // PostingUpdateTime: Output only. The timestamp when this job posting 1836 // was last updated. 1837 PostingUpdateTime string `json:"postingUpdateTime,omitempty"` 1838 1839 // ProcessingOptions: Optional. Options for job processing. 1840 ProcessingOptions *ProcessingOptions `json:"processingOptions,omitempty"` 1841 1842 // PromotionValue: Optional. A promotion value of the job, as determined 1843 // by the client. The value determines the sort order of the jobs 1844 // returned when searching for jobs using the featured jobs search call, 1845 // with higher promotional values being returned first and ties being 1846 // resolved by relevance sort. Only the jobs with a promotionValue >0 1847 // are returned in a FEATURED_JOB_SEARCH. Default value is 0, and 1848 // negative values are treated as 0. 1849 PromotionValue int64 `json:"promotionValue,omitempty"` 1850 1851 // Qualifications: Optional. A description of the qualifications 1852 // required to perform the job. The use of this field is recommended as 1853 // an alternative to using the more general description field. This 1854 // field accepts and sanitizes HTML input, and also accepts bold, 1855 // italic, ordered list, and unordered list markup tags. The maximum 1856 // number of allowed characters is 10,000. 1857 Qualifications string `json:"qualifications,omitempty"` 1858 1859 // RequisitionId: Required. The requisition ID, also referred to as the 1860 // posting ID, assigned by the client to identify a job. This field is 1861 // intended to be used by clients for client identification and tracking 1862 // of postings. A job is not allowed to be created if there is another 1863 // job with the same [company_name], language_code and requisition_id. 1864 // The maximum number of allowed characters is 255. 1865 RequisitionId string `json:"requisitionId,omitempty"` 1866 1867 // Responsibilities: Optional. A description of job responsibilities. 1868 // The use of this field is recommended as an alternative to using the 1869 // more general description field. This field accepts and sanitizes HTML 1870 // input, and also accepts bold, italic, ordered list, and unordered 1871 // list markup tags. The maximum number of allowed characters is 10,000. 1872 Responsibilities string `json:"responsibilities,omitempty"` 1873 1874 // Title: Required. The title of the job, such as "Software Engineer" 1875 // The maximum number of allowed characters is 500. 1876 Title string `json:"title,omitempty"` 1877 1878 // Visibility: Deprecated. The job is only visible to the owner. The 1879 // visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not 1880 // specified. 1881 // 1882 // Possible values: 1883 // "VISIBILITY_UNSPECIFIED" - Default value. 1884 // "ACCOUNT_ONLY" - The resource is only visible to the GCP account 1885 // who owns it. 1886 // "SHARED_WITH_GOOGLE" - The resource is visible to the owner and may 1887 // be visible to other applications and processes at Google. 1888 // "SHARED_WITH_PUBLIC" - The resource is visible to the owner and may 1889 // be visible to all other API clients. 1890 Visibility string `json:"visibility,omitempty"` 1891 1892 // ServerResponse contains the HTTP response code and headers from the 1893 // server. 1894 googleapi.ServerResponse `json:"-"` 1895 1896 // ForceSendFields is a list of field names (e.g. "Addresses") to 1897 // unconditionally include in API requests. By default, fields with 1898 // empty values are omitted from API requests. However, any non-pointer, 1899 // non-interface field appearing in ForceSendFields will be sent to the 1900 // server regardless of whether the field is empty or not. This may be 1901 // used to include empty fields in Patch requests. 1902 ForceSendFields []string `json:"-"` 1903 1904 // NullFields is a list of field names (e.g. "Addresses") to include in 1905 // API requests with the JSON null value. By default, fields with empty 1906 // values are omitted from API requests. However, any field with an 1907 // empty value appearing in NullFields will be sent to the server as 1908 // null. It is an error if a field in this list has a non-empty value. 1909 // This may be used to include null fields in Patch requests. 1910 NullFields []string `json:"-"` 1911} 1912 1913func (s *Job) MarshalJSON() ([]byte, error) { 1914 type NoMethod Job 1915 raw := NoMethod(*s) 1916 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1917} 1918 1919// JobDerivedInfo: Output only. Derived details about the job posting. 1920type JobDerivedInfo struct { 1921 // JobCategories: Job categories derived from Job.title and 1922 // Job.description. 1923 // 1924 // Possible values: 1925 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category 1926 // isn't specified. 1927 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 1928 // an Accountant. 1929 // "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job, 1930 // such as an Administrative Assistant. 1931 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 1932 // such as Marketing Manager. 1933 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 1934 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 1935 // Designer. 1936 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 1937 // Operations Manager. 1938 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 1939 // Custodial Staff. 1940 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 1941 // Administrator. 1942 // "CONSTRUCTION" - A construction job, such as General Laborer. 1943 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 1944 // "EDUCATION" - An education job, such as School Teacher. 1945 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 1946 // as Flight Attendant. 1947 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 1948 // Ranger. 1949 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 1950 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 1951 // Director. 1952 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 1953 // maintenance, or repair job, such as Electrician. 1954 // "LEGAL" - A legal job, such as Law Clerk. 1955 // "MANAGEMENT" - A management job, often used in conjunction with 1956 // another category, such as Store Manager. 1957 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 1958 // such as Assembly Technician. 1959 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 1960 // writing job, such as Media Relations. 1961 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 1962 // Driller. 1963 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 1964 // such as Hair Stylist. 1965 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 1966 // Guard. 1967 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 1968 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 1969 // such as Restaurant Server. 1970 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 1971 // Associate. 1972 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 1973 // Lab Technician. 1974 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 1975 // job, such as Case Worker. 1976 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 1977 // job, such as Personal Trainer. 1978 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 1979 // such as Truck Driver. 1980 JobCategories []string `json:"jobCategories,omitempty"` 1981 1982 // Locations: Structured locations of the job, resolved from 1983 // Job.addresses. locations are exactly matched to Job.addresses in the 1984 // same order. 1985 Locations []*Location `json:"locations,omitempty"` 1986 1987 // ForceSendFields is a list of field names (e.g. "JobCategories") to 1988 // unconditionally include in API requests. By default, fields with 1989 // empty values are omitted from API requests. However, any non-pointer, 1990 // non-interface field appearing in ForceSendFields will be sent to the 1991 // server regardless of whether the field is empty or not. This may be 1992 // used to include empty fields in Patch requests. 1993 ForceSendFields []string `json:"-"` 1994 1995 // NullFields is a list of field names (e.g. "JobCategories") to include 1996 // in API requests with the JSON null value. By default, fields with 1997 // empty values are omitted from API requests. However, any field with 1998 // an empty value appearing in NullFields will be sent to the server as 1999 // null. It is an error if a field in this list has a non-empty value. 2000 // This may be used to include null fields in Patch requests. 2001 NullFields []string `json:"-"` 2002} 2003 2004func (s *JobDerivedInfo) MarshalJSON() ([]byte, error) { 2005 type NoMethod JobDerivedInfo 2006 raw := NoMethod(*s) 2007 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2008} 2009 2010// JobEvent: An event issued when a job seeker interacts with the 2011// application that implements Cloud Talent Solution. 2012type JobEvent struct { 2013 // Jobs: Required. The job name(s) associated with this event. For 2014 // example, if this is an impression event, this field contains the 2015 // identifiers of all jobs shown to the job seeker. If this was a view 2016 // event, this field contains the identifier of the viewed job. 2017 Jobs []string `json:"jobs,omitempty"` 2018 2019 // Type: Required. The type of the event (see JobEventType). 2020 // 2021 // Possible values: 2022 // "JOB_EVENT_TYPE_UNSPECIFIED" - The event is unspecified by other 2023 // provided values. 2024 // "IMPRESSION" - The job seeker or other entity interacting with the 2025 // service has had a job rendered in their view, such as in a list of 2026 // search results in a compressed or clipped format. This event is 2027 // typically associated with the viewing of a jobs list on a single page 2028 // by a job seeker. 2029 // "VIEW" - The job seeker, or other entity interacting with the 2030 // service, has viewed the details of a job, including the full 2031 // description. This event doesn't apply to the viewing a snippet of a 2032 // job appearing as a part of the job search results. Viewing a snippet 2033 // is associated with an impression). 2034 // "VIEW_REDIRECT" - The job seeker or other entity interacting with 2035 // the service performed an action to view a job and was redirected to a 2036 // different website for job. 2037 // "APPLICATION_START" - The job seeker or other entity interacting 2038 // with the service began the process or demonstrated the intention of 2039 // applying for a job. 2040 // "APPLICATION_FINISH" - The job seeker or other entity interacting 2041 // with the service submitted an application for a job. 2042 // "APPLICATION_QUICK_SUBMISSION" - The job seeker or other entity 2043 // interacting with the service submitted an application for a job with 2044 // a single click without entering information. If a job seeker performs 2045 // this action, send only this event to the service. Do not also send 2046 // JobEventType.APPLICATION_START or JobEventType.APPLICATION_FINISH 2047 // events. 2048 // "APPLICATION_REDIRECT" - The job seeker or other entity interacting 2049 // with the service performed an action to apply to a job and was 2050 // redirected to a different website to complete the application. 2051 // "APPLICATION_START_FROM_SEARCH" - The job seeker or other entity 2052 // interacting with the service began the process or demonstrated the 2053 // intention of applying for a job from the search results page without 2054 // viewing the details of the job posting. If sending this event, 2055 // JobEventType.VIEW event shouldn't be sent. 2056 // "APPLICATION_REDIRECT_FROM_SEARCH" - The job seeker, or other 2057 // entity interacting with the service, performs an action with a single 2058 // click from the search results page to apply to a job (without viewing 2059 // the details of the job posting), and is redirected to a different 2060 // website to complete the application. If a candidate performs this 2061 // action, send only this event to the service. Do not also send 2062 // JobEventType.APPLICATION_START, JobEventType.APPLICATION_FINISH or 2063 // JobEventType.VIEW events. 2064 // "APPLICATION_COMPANY_SUBMIT" - This event should be used when a 2065 // company submits an application on behalf of a job seeker. This event 2066 // is intended for use by staffing agencies attempting to place 2067 // candidates. 2068 // "BOOKMARK" - The job seeker or other entity interacting with the 2069 // service demonstrated an interest in a job by bookmarking or saving 2070 // it. 2071 // "NOTIFICATION" - The job seeker or other entity interacting with 2072 // the service was sent a notification, such as an email alert or device 2073 // notification, containing one or more jobs listings generated by the 2074 // service. 2075 // "HIRED" - The job seeker or other entity interacting with the 2076 // service was employed by the hiring entity (employer). Send this event 2077 // only if the job seeker was hired through an application that was 2078 // initiated by a search conducted through the Cloud Talent Solution 2079 // service. 2080 // "SENT_CV" - A recruiter or staffing agency submitted an application 2081 // on behalf of the candidate after interacting with the service to 2082 // identify a suitable job posting. 2083 // "INTERVIEW_GRANTED" - The entity interacting with the service (for 2084 // example, the job seeker), was granted an initial interview by the 2085 // hiring entity (employer). This event should only be sent if the job 2086 // seeker was granted an interview as part of an application that was 2087 // initiated by a search conducted through / recommendation provided by 2088 // the Cloud Talent Solution service. 2089 // "NOT_INTERESTED" - The job seeker or other entity interacting with 2090 // the service showed no interest in the job. 2091 Type string `json:"type,omitempty"` 2092 2093 // ForceSendFields is a list of field names (e.g. "Jobs") to 2094 // unconditionally include in API requests. By default, fields with 2095 // empty values are omitted from API requests. However, any non-pointer, 2096 // non-interface field appearing in ForceSendFields will be sent to the 2097 // server regardless of whether the field is empty or not. This may be 2098 // used to include empty fields in Patch requests. 2099 ForceSendFields []string `json:"-"` 2100 2101 // NullFields is a list of field names (e.g. "Jobs") to include in API 2102 // requests with the JSON null value. By default, fields with empty 2103 // values are omitted from API requests. However, any field with an 2104 // empty value appearing in NullFields will be sent to the server as 2105 // null. It is an error if a field in this list has a non-empty value. 2106 // This may be used to include null fields in Patch requests. 2107 NullFields []string `json:"-"` 2108} 2109 2110func (s *JobEvent) MarshalJSON() ([]byte, error) { 2111 type NoMethod JobEvent 2112 raw := NoMethod(*s) 2113 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2114} 2115 2116// JobQuery: Input only. The query required to perform a search query. 2117type JobQuery struct { 2118 // CommuteFilter: Optional. Allows filtering jobs by commute time with 2119 // different travel methods (for example, driving or public transit). 2120 // Note: This only works with COMMUTE MODE. When specified, 2121 // [JobQuery.location_filters] is ignored. Currently we don't support 2122 // sorting by commute time. 2123 CommuteFilter *CommuteFilter `json:"commuteFilter,omitempty"` 2124 2125 // CompanyDisplayNames: Optional. This filter specifies the exact 2126 // company display name of the jobs to search against. If a value isn't 2127 // specified, jobs within the search results are associated with any 2128 // company. If multiple values are specified, jobs within the search 2129 // results may be associated with any of the specified companies. At 2130 // most 20 company display name filters are allowed. 2131 CompanyDisplayNames []string `json:"companyDisplayNames,omitempty"` 2132 2133 // CompanyNames: Optional. This filter specifies the company entities to 2134 // search against. If a value isn't specified, jobs are searched for 2135 // against all companies. If multiple values are specified, jobs are 2136 // searched against the companies specified. The format is 2137 // "projects/{project_id}/companies/{company_id}", for example, 2138 // "projects/api-test-project/companies/foo". At most 20 company filters 2139 // are allowed. 2140 CompanyNames []string `json:"companyNames,omitempty"` 2141 2142 // CompensationFilter: Optional. This search filter is applied only to 2143 // Job.compensation_info. For example, if the filter is specified as 2144 // "Hourly job with per-hour compensation > $15", only jobs meeting 2145 // these criteria are searched. If a filter isn't defined, all open jobs 2146 // are searched. 2147 CompensationFilter *CompensationFilter `json:"compensationFilter,omitempty"` 2148 2149 // CustomAttributeFilter: Optional. This filter specifies a structured 2150 // syntax to match against the Job.custom_attributes marked as 2151 // `filterable`. The syntax for this expression is a subset of SQL 2152 // syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` 2153 // where the left of the operator is a custom field key and the right of 2154 // the operator is a number or a quoted string. You must escape 2155 // backslash (\\) and quote (\") characters. Supported functions are 2156 // `LOWER([field_name])` to perform a case insensitive match and 2157 // `EMPTY([field_name])` to filter on the existence of a key. Boolean 2158 // expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for 2159 // example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 2160 // comparisons or functions are allowed in the expression. The 2161 // expression must be < 6000 bytes in length. Sample Query: 2162 // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND 2163 // driving_years > 10` 2164 CustomAttributeFilter string `json:"customAttributeFilter,omitempty"` 2165 2166 // DisableSpellCheck: Optional. This flag controls the spell-check 2167 // feature. If false, the service attempts to correct a misspelled 2168 // query, for example, "enginee" is corrected to "engineer". Defaults to 2169 // false: a spell check is performed. 2170 DisableSpellCheck bool `json:"disableSpellCheck,omitempty"` 2171 2172 // EmploymentTypes: Optional. The employment type filter specifies the 2173 // employment type of jobs to search against, such as 2174 // EmploymentType.FULL_TIME. If a value is not specified, jobs in the 2175 // search results includes any employment type. If multiple values are 2176 // specified, jobs in the search results include any of the specified 2177 // employment types. 2178 // 2179 // Possible values: 2180 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 2181 // type is not specified. 2182 // "FULL_TIME" - The job requires working a number of hours that 2183 // constitute full time employment, typically 40 or more hours per week. 2184 // "PART_TIME" - The job entails working fewer hours than a full time 2185 // job, typically less than 40 hours a week. 2186 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 2187 // salaried employee, position. 2188 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 2189 // with the understanding that it's converted into a full-time position 2190 // at the end of the contract. Jobs of this type are also returned by a 2191 // search for EmploymentType.CONTRACTOR jobs. 2192 // "TEMPORARY" - The job is offered as a temporary employment 2193 // opportunity, usually a short-term engagement. 2194 // "INTERN" - The job is a fixed-term opportunity for students or 2195 // entry-level job seekers to obtain on-the-job training, typically 2196 // offered as a summer position. 2197 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 2198 // where there's no expectation of compensation for the provided 2199 // services. 2200 // "PER_DIEM" - The job requires an employee to work on an as-needed 2201 // basis with a flexible schedule. 2202 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 2203 // areas and flying them temporarily to the work site instead of 2204 // relocating employees and their families permanently. 2205 // "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other 2206 // listed types. 2207 EmploymentTypes []string `json:"employmentTypes,omitempty"` 2208 2209 // JobCategories: Optional. The category filter specifies the categories 2210 // of jobs to search against. See Category for more information. If a 2211 // value is not specified, jobs from any category are searched against. 2212 // If multiple values are specified, jobs from any of the specified 2213 // categories are searched against. 2214 // 2215 // Possible values: 2216 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category 2217 // isn't specified. 2218 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 2219 // an Accountant. 2220 // "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job, 2221 // such as an Administrative Assistant. 2222 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 2223 // such as Marketing Manager. 2224 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 2225 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 2226 // Designer. 2227 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 2228 // Operations Manager. 2229 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 2230 // Custodial Staff. 2231 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 2232 // Administrator. 2233 // "CONSTRUCTION" - A construction job, such as General Laborer. 2234 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 2235 // "EDUCATION" - An education job, such as School Teacher. 2236 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 2237 // as Flight Attendant. 2238 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 2239 // Ranger. 2240 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 2241 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 2242 // Director. 2243 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 2244 // maintenance, or repair job, such as Electrician. 2245 // "LEGAL" - A legal job, such as Law Clerk. 2246 // "MANAGEMENT" - A management job, often used in conjunction with 2247 // another category, such as Store Manager. 2248 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 2249 // such as Assembly Technician. 2250 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 2251 // writing job, such as Media Relations. 2252 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 2253 // Driller. 2254 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 2255 // such as Hair Stylist. 2256 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 2257 // Guard. 2258 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 2259 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 2260 // such as Restaurant Server. 2261 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 2262 // Associate. 2263 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 2264 // Lab Technician. 2265 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 2266 // job, such as Case Worker. 2267 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 2268 // job, such as Personal Trainer. 2269 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 2270 // such as Truck Driver. 2271 JobCategories []string `json:"jobCategories,omitempty"` 2272 2273 // LanguageCodes: Optional. This filter specifies the locale of jobs to 2274 // search against, for example, "en-US". If a value isn't specified, the 2275 // search results can contain jobs in any locale. Language codes should 2276 // be in BCP-47 format, such as "en-US" or "sr-Latn". For more 2277 // information, see Tags for Identifying Languages 2278 // (https://tools.ietf.org/html/bcp47). At most 10 language code filters 2279 // are allowed. 2280 LanguageCodes []string `json:"languageCodes,omitempty"` 2281 2282 // LocationFilters: Optional. The location filter specifies geo-regions 2283 // containing the jobs to search against. See LocationFilter for more 2284 // information. If a location value isn't specified, jobs fitting the 2285 // other search criteria are retrieved regardless of where they're 2286 // located. If multiple values are specified, jobs are retrieved from 2287 // any of the specified locations. If different values are specified for 2288 // the LocationFilter.distance_in_miles parameter, the maximum provided 2289 // distance is used for all locations. At most 5 location filters are 2290 // allowed. 2291 LocationFilters []*LocationFilter `json:"locationFilters,omitempty"` 2292 2293 // PublishTimeRange: Optional. Jobs published within a range specified 2294 // by this filter are searched against. 2295 PublishTimeRange *TimestampRange `json:"publishTimeRange,omitempty"` 2296 2297 // Query: Optional. The query string that matches against the job title, 2298 // description, and location fields. The maximum number of allowed 2299 // characters is 255. 2300 Query string `json:"query,omitempty"` 2301 2302 // QueryLanguageCode: The language code of query. For example, "en-US". 2303 // This field helps to better interpret the query. If a value isn't 2304 // specified, the query language code is automatically detected, which 2305 // may not be accurate. Language code should be in BCP-47 format, such 2306 // as "en-US" or "sr-Latn". For more information, see Tags for 2307 // Identifying Languages (https://tools.ietf.org/html/bcp47). 2308 QueryLanguageCode string `json:"queryLanguageCode,omitempty"` 2309 2310 // ForceSendFields is a list of field names (e.g. "CommuteFilter") to 2311 // unconditionally include in API requests. By default, fields with 2312 // empty values are omitted from API requests. However, any non-pointer, 2313 // non-interface field appearing in ForceSendFields will be sent to the 2314 // server regardless of whether the field is empty or not. This may be 2315 // used to include empty fields in Patch requests. 2316 ForceSendFields []string `json:"-"` 2317 2318 // NullFields is a list of field names (e.g. "CommuteFilter") to include 2319 // in API requests with the JSON null value. By default, fields with 2320 // empty values are omitted from API requests. However, any field with 2321 // an empty value appearing in NullFields will be sent to the server as 2322 // null. It is an error if a field in this list has a non-empty value. 2323 // This may be used to include null fields in Patch requests. 2324 NullFields []string `json:"-"` 2325} 2326 2327func (s *JobQuery) MarshalJSON() ([]byte, error) { 2328 type NoMethod JobQuery 2329 raw := NoMethod(*s) 2330 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2331} 2332 2333// LatLng: An object that represents a latitude/longitude pair. This is 2334// expressed as a pair of doubles to represent degrees latitude and 2335// degrees longitude. Unless specified otherwise, this must conform to 2336// the WGS84 standard. Values must be within normalized ranges. 2337type LatLng struct { 2338 // Latitude: The latitude in degrees. It must be in the range [-90.0, 2339 // +90.0]. 2340 Latitude float64 `json:"latitude,omitempty"` 2341 2342 // Longitude: The longitude in degrees. It must be in the range [-180.0, 2343 // +180.0]. 2344 Longitude float64 `json:"longitude,omitempty"` 2345 2346 // ForceSendFields is a list of field names (e.g. "Latitude") to 2347 // unconditionally include in API requests. By default, fields with 2348 // empty values are omitted from API requests. However, any non-pointer, 2349 // non-interface field appearing in ForceSendFields will be sent to the 2350 // server regardless of whether the field is empty or not. This may be 2351 // used to include empty fields in Patch requests. 2352 ForceSendFields []string `json:"-"` 2353 2354 // NullFields is a list of field names (e.g. "Latitude") to include in 2355 // API requests with the JSON null value. By default, fields with empty 2356 // values are omitted from API requests. However, any field with an 2357 // empty value appearing in NullFields will be sent to the server as 2358 // null. It is an error if a field in this list has a non-empty value. 2359 // This may be used to include null fields in Patch requests. 2360 NullFields []string `json:"-"` 2361} 2362 2363func (s *LatLng) MarshalJSON() ([]byte, error) { 2364 type NoMethod LatLng 2365 raw := NoMethod(*s) 2366 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2367} 2368 2369func (s *LatLng) UnmarshalJSON(data []byte) error { 2370 type NoMethod LatLng 2371 var s1 struct { 2372 Latitude gensupport.JSONFloat64 `json:"latitude"` 2373 Longitude gensupport.JSONFloat64 `json:"longitude"` 2374 *NoMethod 2375 } 2376 s1.NoMethod = (*NoMethod)(s) 2377 if err := json.Unmarshal(data, &s1); err != nil { 2378 return err 2379 } 2380 s.Latitude = float64(s1.Latitude) 2381 s.Longitude = float64(s1.Longitude) 2382 return nil 2383} 2384 2385// ListCompaniesResponse: Output only. The List companies response 2386// object. 2387type ListCompaniesResponse struct { 2388 // Companies: Companies for the current client. 2389 Companies []*Company `json:"companies,omitempty"` 2390 2391 // Metadata: Additional information for the API invocation, such as the 2392 // request tracking id. 2393 Metadata *ResponseMetadata `json:"metadata,omitempty"` 2394 2395 // NextPageToken: A token to retrieve the next page of results. 2396 NextPageToken string `json:"nextPageToken,omitempty"` 2397 2398 // ServerResponse contains the HTTP response code and headers from the 2399 // server. 2400 googleapi.ServerResponse `json:"-"` 2401 2402 // ForceSendFields is a list of field names (e.g. "Companies") to 2403 // unconditionally include in API requests. By default, fields with 2404 // empty values are omitted from API requests. However, any non-pointer, 2405 // non-interface field appearing in ForceSendFields will be sent to the 2406 // server regardless of whether the field is empty or not. This may be 2407 // used to include empty fields in Patch requests. 2408 ForceSendFields []string `json:"-"` 2409 2410 // NullFields is a list of field names (e.g. "Companies") to include in 2411 // API requests with the JSON null value. By default, fields with empty 2412 // values are omitted from API requests. However, any field with an 2413 // empty value appearing in NullFields will be sent to the server as 2414 // null. It is an error if a field in this list has a non-empty value. 2415 // This may be used to include null fields in Patch requests. 2416 NullFields []string `json:"-"` 2417} 2418 2419func (s *ListCompaniesResponse) MarshalJSON() ([]byte, error) { 2420 type NoMethod ListCompaniesResponse 2421 raw := NoMethod(*s) 2422 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2423} 2424 2425// ListJobsResponse: Output only. List jobs response. 2426type ListJobsResponse struct { 2427 // Jobs: The Jobs for a given company. The maximum number of items 2428 // returned is based on the limit field provided in the request. 2429 Jobs []*Job `json:"jobs,omitempty"` 2430 2431 // Metadata: Additional information for the API invocation, such as the 2432 // request tracking id. 2433 Metadata *ResponseMetadata `json:"metadata,omitempty"` 2434 2435 // NextPageToken: A token to retrieve the next page of results. 2436 NextPageToken string `json:"nextPageToken,omitempty"` 2437 2438 // ServerResponse contains the HTTP response code and headers from the 2439 // server. 2440 googleapi.ServerResponse `json:"-"` 2441 2442 // ForceSendFields is a list of field names (e.g. "Jobs") to 2443 // unconditionally include in API requests. By default, fields with 2444 // empty values are omitted from API requests. However, any non-pointer, 2445 // non-interface field appearing in ForceSendFields will be sent to the 2446 // server regardless of whether the field is empty or not. This may be 2447 // used to include empty fields in Patch requests. 2448 ForceSendFields []string `json:"-"` 2449 2450 // NullFields is a list of field names (e.g. "Jobs") to include in API 2451 // requests with the JSON null value. By default, fields with empty 2452 // values are omitted from API requests. However, any field with an 2453 // empty value appearing in NullFields will be sent to the server as 2454 // null. It is an error if a field in this list has a non-empty value. 2455 // This may be used to include null fields in Patch requests. 2456 NullFields []string `json:"-"` 2457} 2458 2459func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { 2460 type NoMethod ListJobsResponse 2461 raw := NoMethod(*s) 2462 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2463} 2464 2465// Location: Output only. A resource that represents a location with 2466// full geographic information. 2467type Location struct { 2468 // LatLng: An object representing a latitude/longitude pair. 2469 LatLng *LatLng `json:"latLng,omitempty"` 2470 2471 // LocationType: The type of a location, which corresponds to the 2472 // address lines field of PostalAddress. For example, "Downtown, 2473 // Atlanta, GA, USA" has a type of LocationType#NEIGHBORHOOD, and 2474 // "Kansas City, KS, USA" has a type of LocationType#LOCALITY. 2475 // 2476 // Possible values: 2477 // "LOCATION_TYPE_UNSPECIFIED" - Default value if the type is not 2478 // specified. 2479 // "COUNTRY" - A country level location. 2480 // "ADMINISTRATIVE_AREA" - A state or equivalent level location. 2481 // "SUB_ADMINISTRATIVE_AREA" - A county or equivalent level location. 2482 // "LOCALITY" - A city or equivalent level location. 2483 // "POSTAL_CODE" - A postal code level location. 2484 // "SUB_LOCALITY" - A sublocality is a subdivision of a locality, for 2485 // example a city borough, ward, or arrondissement. Sublocalities are 2486 // usually recognized by a local political authority. For example, 2487 // Manhattan and Brooklyn are recognized as boroughs by the City of New 2488 // York, and are therefore modeled as sublocalities. 2489 // "SUB_LOCALITY_1" - A district or equivalent level location. 2490 // "SUB_LOCALITY_2" - A smaller district or equivalent level display. 2491 // "NEIGHBORHOOD" - A neighborhood level location. 2492 // "STREET_ADDRESS" - A street address level location. 2493 LocationType string `json:"locationType,omitempty"` 2494 2495 // PostalAddress: Postal address of the location that includes human 2496 // readable information, such as postal delivery and payments addresses. 2497 // Given a postal address, a postal service can deliver items to a 2498 // premises, P.O. Box, or other delivery location. 2499 PostalAddress *PostalAddress `json:"postalAddress,omitempty"` 2500 2501 // RadiusInMiles: Radius in miles of the job location. This value is 2502 // derived from the location bounding box in which a circle with the 2503 // specified radius centered from LatLng covers the area associated with 2504 // the job location. For example, currently, "Mountain View, CA, USA" 2505 // has a radius of 6.17 miles. 2506 RadiusInMiles float64 `json:"radiusInMiles,omitempty"` 2507 2508 // ForceSendFields is a list of field names (e.g. "LatLng") to 2509 // unconditionally include in API requests. By default, fields with 2510 // empty values are omitted from API requests. However, any non-pointer, 2511 // non-interface field appearing in ForceSendFields will be sent to the 2512 // server regardless of whether the field is empty or not. This may be 2513 // used to include empty fields in Patch requests. 2514 ForceSendFields []string `json:"-"` 2515 2516 // NullFields is a list of field names (e.g. "LatLng") to include in API 2517 // requests with the JSON null value. By default, fields with empty 2518 // values are omitted from API requests. However, any field with an 2519 // empty value appearing in NullFields will be sent to the server as 2520 // null. It is an error if a field in this list has a non-empty value. 2521 // This may be used to include null fields in Patch requests. 2522 NullFields []string `json:"-"` 2523} 2524 2525func (s *Location) MarshalJSON() ([]byte, error) { 2526 type NoMethod Location 2527 raw := NoMethod(*s) 2528 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2529} 2530 2531func (s *Location) UnmarshalJSON(data []byte) error { 2532 type NoMethod Location 2533 var s1 struct { 2534 RadiusInMiles gensupport.JSONFloat64 `json:"radiusInMiles"` 2535 *NoMethod 2536 } 2537 s1.NoMethod = (*NoMethod)(s) 2538 if err := json.Unmarshal(data, &s1); err != nil { 2539 return err 2540 } 2541 s.RadiusInMiles = float64(s1.RadiusInMiles) 2542 return nil 2543} 2544 2545// LocationFilter: Input only. Geographic region of the search. 2546type LocationFilter struct { 2547 // Address: Optional. The address name, such as "Mountain View" or "Bay 2548 // Area". 2549 Address string `json:"address,omitempty"` 2550 2551 // DistanceInMiles: Optional. The distance_in_miles is applied when the 2552 // location being searched for is identified as a city or smaller. When 2553 // the location being searched for is a state or larger, this field is 2554 // ignored. 2555 DistanceInMiles float64 `json:"distanceInMiles,omitempty"` 2556 2557 // LatLng: Optional. The latitude and longitude of the geographic center 2558 // from which to search. This field's ignored if `address` is provided. 2559 LatLng *LatLng `json:"latLng,omitempty"` 2560 2561 // RegionCode: Optional. CLDR region code of the country/region. This 2562 // field may be used in two ways: 1) If telecommute preference is not 2563 // set, this field is used address ambiguity of the user-input address. 2564 // For example, "Liverpool" may refer to "Liverpool, NY, US" or 2565 // "Liverpool, UK". This region code biases the address resolution 2566 // toward a specific country or territory. If this field is not set, 2567 // address resolution is biased toward the United States by default. 2) 2568 // If telecommute preference is set to TELECOMMUTE_ALLOWED, the 2569 // telecommute location filter will be limited to the region specified 2570 // in this field. If this field is not set, the telecommute job 2571 // locations will not be limited. See 2572 // https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html 2573 // for details. Example: "CH" for Switzerland. 2574 RegionCode string `json:"regionCode,omitempty"` 2575 2576 // TelecommutePreference: Optional. Allows the client to return jobs 2577 // without a set location, specifically, telecommuting jobs 2578 // (telecommuting is considered by the service as a special location. 2579 // Job.posting_region indicates if a job permits telecommuting. If this 2580 // field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, 2581 // telecommuting jobs are searched, and address and lat_lng are ignored. 2582 // If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, 2583 // telecommute job are not searched. This filter can be used by itself 2584 // to search exclusively for telecommuting jobs, or it can be combined 2585 // with another location filter to search for a combination of job 2586 // locations, such as "Mountain View" or "telecommuting" jobs. However, 2587 // when used in combination with other location filters, telecommuting 2588 // jobs can be treated as less relevant than other jobs in the search 2589 // response. 2590 // 2591 // Possible values: 2592 // "TELECOMMUTE_PREFERENCE_UNSPECIFIED" - Default value if the 2593 // telecommute preference is not specified. 2594 // "TELECOMMUTE_EXCLUDED" - Exclude telecommute jobs. 2595 // "TELECOMMUTE_ALLOWED" - Allow telecommute jobs. 2596 TelecommutePreference string `json:"telecommutePreference,omitempty"` 2597 2598 // ForceSendFields is a list of field names (e.g. "Address") to 2599 // unconditionally include in API requests. By default, fields with 2600 // empty values are omitted from API requests. However, any non-pointer, 2601 // non-interface field appearing in ForceSendFields will be sent to the 2602 // server regardless of whether the field is empty or not. This may be 2603 // used to include empty fields in Patch requests. 2604 ForceSendFields []string `json:"-"` 2605 2606 // NullFields is a list of field names (e.g. "Address") to include in 2607 // API requests with the JSON null value. By default, fields with empty 2608 // values are omitted from API requests. However, any field with an 2609 // empty value appearing in NullFields will be sent to the server as 2610 // null. It is an error if a field in this list has a non-empty value. 2611 // This may be used to include null fields in Patch requests. 2612 NullFields []string `json:"-"` 2613} 2614 2615func (s *LocationFilter) MarshalJSON() ([]byte, error) { 2616 type NoMethod LocationFilter 2617 raw := NoMethod(*s) 2618 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2619} 2620 2621func (s *LocationFilter) UnmarshalJSON(data []byte) error { 2622 type NoMethod LocationFilter 2623 var s1 struct { 2624 DistanceInMiles gensupport.JSONFloat64 `json:"distanceInMiles"` 2625 *NoMethod 2626 } 2627 s1.NoMethod = (*NoMethod)(s) 2628 if err := json.Unmarshal(data, &s1); err != nil { 2629 return err 2630 } 2631 s.DistanceInMiles = float64(s1.DistanceInMiles) 2632 return nil 2633} 2634 2635// MatchingJob: Output only. Job entry with metadata inside 2636// SearchJobsResponse. 2637type MatchingJob struct { 2638 // CommuteInfo: Commute information which is generated based on 2639 // specified CommuteFilter. 2640 CommuteInfo *CommuteInfo `json:"commuteInfo,omitempty"` 2641 2642 // Job: Job resource that matches the specified SearchJobsRequest. 2643 Job *Job `json:"job,omitempty"` 2644 2645 // JobSummary: A summary of the job with core information that's 2646 // displayed on the search results listing page. 2647 JobSummary string `json:"jobSummary,omitempty"` 2648 2649 // JobTitleSnippet: Contains snippets of text from the Job.job_title 2650 // field most closely matching a search query's keywords, if available. 2651 // The matching query keywords are enclosed in HTML bold tags. 2652 JobTitleSnippet string `json:"jobTitleSnippet,omitempty"` 2653 2654 // SearchTextSnippet: Contains snippets of text from the Job.description 2655 // and similar fields that most closely match a search query's keywords, 2656 // if available. All HTML tags in the original fields are stripped when 2657 // returned in this field, and matching query keywords are enclosed in 2658 // HTML bold tags. 2659 SearchTextSnippet string `json:"searchTextSnippet,omitempty"` 2660 2661 // ForceSendFields is a list of field names (e.g. "CommuteInfo") to 2662 // unconditionally include in API requests. By default, fields with 2663 // empty values are omitted from API requests. However, any non-pointer, 2664 // non-interface field appearing in ForceSendFields will be sent to the 2665 // server regardless of whether the field is empty or not. This may be 2666 // used to include empty fields in Patch requests. 2667 ForceSendFields []string `json:"-"` 2668 2669 // NullFields is a list of field names (e.g. "CommuteInfo") to include 2670 // in API requests with the JSON null value. By default, fields with 2671 // empty values are omitted from API requests. However, any field with 2672 // an empty value appearing in NullFields will be sent to the server as 2673 // null. It is an error if a field in this list has a non-empty value. 2674 // This may be used to include null fields in Patch requests. 2675 NullFields []string `json:"-"` 2676} 2677 2678func (s *MatchingJob) MarshalJSON() ([]byte, error) { 2679 type NoMethod MatchingJob 2680 raw := NoMethod(*s) 2681 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2682} 2683 2684// MendelDebugInput: Message representing input to a Mendel server for 2685// debug forcing. See go/mendel-debug-forcing for more details. Next ID: 2686// 2 2687type MendelDebugInput struct { 2688 // NamespacedDebugInput: When a request spans multiple servers, a 2689 // MendelDebugInput may travel with the request and take effect in all 2690 // the servers. This field is a map of namespaces to 2691 // NamespacedMendelDebugInput protos. In a single server, up to two 2692 // NamespacedMendelDebugInput protos are applied: 1. 2693 // NamespacedMendelDebugInput with the global namespace (key == ""). 2. 2694 // NamespacedMendelDebugInput with the server's namespace. When both 2695 // NamespacedMendelDebugInput protos are present, they are merged. See 2696 // go/mendel-debug-forcing for more details. 2697 NamespacedDebugInput map[string]NamespacedDebugInput `json:"namespacedDebugInput,omitempty"` 2698 2699 // ForceSendFields is a list of field names (e.g. 2700 // "NamespacedDebugInput") to unconditionally include in API requests. 2701 // By default, fields with empty values are omitted from API requests. 2702 // However, any non-pointer, non-interface field appearing in 2703 // ForceSendFields will be sent to the server regardless of whether the 2704 // field is empty or not. This may be used to include empty fields in 2705 // Patch requests. 2706 ForceSendFields []string `json:"-"` 2707 2708 // NullFields is a list of field names (e.g. "NamespacedDebugInput") to 2709 // include in API requests with the JSON null value. By default, fields 2710 // with empty values are omitted from API requests. However, any field 2711 // with an empty value appearing in NullFields will be sent to the 2712 // server as null. It is an error if a field in this list has a 2713 // non-empty value. This may be used to include null fields in Patch 2714 // requests. 2715 NullFields []string `json:"-"` 2716} 2717 2718func (s *MendelDebugInput) MarshalJSON() ([]byte, error) { 2719 type NoMethod MendelDebugInput 2720 raw := NoMethod(*s) 2721 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2722} 2723 2724// Money: Represents an amount of money with its currency type. 2725type Money struct { 2726 // CurrencyCode: The three-letter currency code defined in ISO 4217. 2727 CurrencyCode string `json:"currencyCode,omitempty"` 2728 2729 // Nanos: Number of nano (10^-9) units of the amount. The value must be 2730 // between -999,999,999 and +999,999,999 inclusive. If `units` is 2731 // positive, `nanos` must be positive or zero. If `units` is zero, 2732 // `nanos` can be positive, zero, or negative. If `units` is negative, 2733 // `nanos` must be negative or zero. For example $-1.75 is represented 2734 // as `units`=-1 and `nanos`=-750,000,000. 2735 Nanos int64 `json:"nanos,omitempty"` 2736 2737 // Units: The whole units of the amount. For example if `currencyCode` 2738 // is "USD", then 1 unit is one US dollar. 2739 Units int64 `json:"units,omitempty,string"` 2740 2741 // ForceSendFields is a list of field names (e.g. "CurrencyCode") to 2742 // unconditionally include in API requests. By default, fields with 2743 // empty values are omitted from API requests. However, any non-pointer, 2744 // non-interface field appearing in ForceSendFields will be sent to the 2745 // server regardless of whether the field is empty or not. This may be 2746 // used to include empty fields in Patch requests. 2747 ForceSendFields []string `json:"-"` 2748 2749 // NullFields is a list of field names (e.g. "CurrencyCode") to include 2750 // in API requests with the JSON null value. By default, fields with 2751 // empty values are omitted from API requests. However, any field with 2752 // an empty value appearing in NullFields will be sent to the server as 2753 // null. It is an error if a field in this list has a non-empty value. 2754 // This may be used to include null fields in Patch requests. 2755 NullFields []string `json:"-"` 2756} 2757 2758func (s *Money) MarshalJSON() ([]byte, error) { 2759 type NoMethod Money 2760 raw := NoMethod(*s) 2761 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2762} 2763 2764// NamespacedDebugInput: Next ID: 15 2765type NamespacedDebugInput struct { 2766 // AbsolutelyForcedExpNames: Set of experiment names to be absolutely 2767 // forced. These experiments will be forced without evaluating the 2768 // conditions. 2769 AbsolutelyForcedExpNames []string `json:"absolutelyForcedExpNames,omitempty"` 2770 2771 // AbsolutelyForcedExpTags: Set of experiment tags to be absolutely 2772 // forced. The experiments with these tags will be forced without 2773 // evaluating the conditions. 2774 AbsolutelyForcedExpTags []string `json:"absolutelyForcedExpTags,omitempty"` 2775 2776 // AbsolutelyForcedExps: Set of experiment ids to be absolutely forced. 2777 // These ids will be forced without evaluating the conditions. 2778 AbsolutelyForcedExps []int64 `json:"absolutelyForcedExps,omitempty"` 2779 2780 // ConditionallyForcedExpNames: Set of experiment names to be 2781 // conditionally forced. These experiments will be forced only if their 2782 // conditions and their parent domain's conditions are true. 2783 ConditionallyForcedExpNames []string `json:"conditionallyForcedExpNames,omitempty"` 2784 2785 // ConditionallyForcedExpTags: Set of experiment tags to be 2786 // conditionally forced. The experiments with these tags will be forced 2787 // only if their conditions and their parent domain's conditions are 2788 // true. 2789 ConditionallyForcedExpTags []string `json:"conditionallyForcedExpTags,omitempty"` 2790 2791 // ConditionallyForcedExps: Set of experiment ids to be conditionally 2792 // forced. These ids will be forced only if their conditions and their 2793 // parent domain's conditions are true. 2794 ConditionallyForcedExps []int64 `json:"conditionallyForcedExps,omitempty"` 2795 2796 // DisableAutomaticEnrollmentSelection: If true, disable automatic 2797 // enrollment selection (at all diversion points). Automatic enrollment 2798 // selection means experiment selection process based on the 2799 // experiment's automatic enrollment condition. This does not disable 2800 // selection of forced experiments. 2801 DisableAutomaticEnrollmentSelection bool `json:"disableAutomaticEnrollmentSelection,omitempty"` 2802 2803 // DisableExpNames: Set of experiment names to be disabled. If an 2804 // experiment is disabled, it is never selected nor forced. If an 2805 // aggregate experiment is disabled, its partitions are disabled 2806 // together. If an experiment with an enrollment is disabled, the 2807 // enrollment is disabled together. If a name corresponds to a domain, 2808 // the domain itself and all descendant experiments and domains are 2809 // disabled together. 2810 DisableExpNames []string `json:"disableExpNames,omitempty"` 2811 2812 // DisableExpTags: Set of experiment tags to be disabled. All 2813 // experiments that are tagged with one or more of these tags are 2814 // disabled. If an experiment is disabled, it is never selected nor 2815 // forced. If an aggregate experiment is disabled, its partitions are 2816 // disabled together. If an experiment with an enrollment is disabled, 2817 // the enrollment is disabled together. 2818 DisableExpTags []string `json:"disableExpTags,omitempty"` 2819 2820 // DisableExps: Set of experiment ids to be disabled. If an experiment 2821 // is disabled, it is never selected nor forced. If an aggregate 2822 // experiment is disabled, its partitions are disabled together. If an 2823 // experiment with an enrollment is disabled, the enrollment is disabled 2824 // together. If an ID corresponds to a domain, the domain itself and all 2825 // descendant experiments and domains are disabled together. 2826 DisableExps []int64 `json:"disableExps,omitempty"` 2827 2828 // DisableManualEnrollmentSelection: If true, disable manual enrollment 2829 // selection (at all diversion points). Manual enrollment selection 2830 // means experiment selection process based on the request's manual 2831 // enrollment states (a.k.a. opt-in experiments). This does not disable 2832 // selection of forced experiments. 2833 DisableManualEnrollmentSelection bool `json:"disableManualEnrollmentSelection,omitempty"` 2834 2835 // DisableOrganicSelection: If true, disable organic experiment 2836 // selection (at all diversion points). Organic selection means 2837 // experiment selection process based on traffic allocation and 2838 // diversion condition evaluation. This does not disable selection of 2839 // forced experiments. This is useful in cases when it is not known 2840 // whether experiment selection behavior is responsible for a error or 2841 // breakage. Disabling organic selection may help to isolate the cause 2842 // of a given problem. 2843 DisableOrganicSelection bool `json:"disableOrganicSelection,omitempty"` 2844 2845 // ForcedFlags: Flags to force in a particular experiment state. Map 2846 // from flag name to flag value. 2847 ForcedFlags map[string]string `json:"forcedFlags,omitempty"` 2848 2849 // ForcedRollouts: Rollouts to force in a particular experiment state. 2850 // Map from rollout name to rollout value. 2851 ForcedRollouts map[string]bool `json:"forcedRollouts,omitempty"` 2852 2853 // ForceSendFields is a list of field names (e.g. 2854 // "AbsolutelyForcedExpNames") to unconditionally include in API 2855 // requests. By default, fields with empty values are omitted from API 2856 // requests. However, any non-pointer, non-interface field appearing in 2857 // ForceSendFields will be sent to the server regardless of whether the 2858 // field is empty or not. This may be used to include empty fields in 2859 // Patch requests. 2860 ForceSendFields []string `json:"-"` 2861 2862 // NullFields is a list of field names (e.g. "AbsolutelyForcedExpNames") 2863 // to include in API requests with the JSON null value. By default, 2864 // fields with empty values are omitted from API requests. However, any 2865 // field with an empty value appearing in NullFields will be sent to the 2866 // server as null. It is an error if a field in this list has a 2867 // non-empty value. This may be used to include null fields in Patch 2868 // requests. 2869 NullFields []string `json:"-"` 2870} 2871 2872func (s *NamespacedDebugInput) MarshalJSON() ([]byte, error) { 2873 type NoMethod NamespacedDebugInput 2874 raw := NoMethod(*s) 2875 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2876} 2877 2878// NumericBucketingOption: Input only. Use this field to specify 2879// bucketing option for the histogram search response. 2880type NumericBucketingOption struct { 2881 // BucketBounds: Required. Two adjacent values form a histogram bucket. 2882 // Values should be in ascending order. For example, if [5, 10, 15] are 2883 // provided, four buckets are created: (-inf, 5), 5, 10), [10, 15), [15, 2884 // inf). At most 20 [buckets_bound is supported. 2885 BucketBounds []float64 `json:"bucketBounds,omitempty"` 2886 2887 // RequiresMinMax: Optional. If set to true, the histogram result 2888 // includes minimum/maximum value of the numeric field. 2889 RequiresMinMax bool `json:"requiresMinMax,omitempty"` 2890 2891 // ForceSendFields is a list of field names (e.g. "BucketBounds") to 2892 // unconditionally include in API requests. By default, fields with 2893 // empty values are omitted from API requests. However, any non-pointer, 2894 // non-interface field appearing in ForceSendFields will be sent to the 2895 // server regardless of whether the field is empty or not. This may be 2896 // used to include empty fields in Patch requests. 2897 ForceSendFields []string `json:"-"` 2898 2899 // NullFields is a list of field names (e.g. "BucketBounds") to include 2900 // in API requests with the JSON null value. By default, fields with 2901 // empty values are omitted from API requests. However, any field with 2902 // an empty value appearing in NullFields will be sent to the server as 2903 // null. It is an error if a field in this list has a non-empty value. 2904 // This may be used to include null fields in Patch requests. 2905 NullFields []string `json:"-"` 2906} 2907 2908func (s *NumericBucketingOption) MarshalJSON() ([]byte, error) { 2909 type NoMethod NumericBucketingOption 2910 raw := NoMethod(*s) 2911 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2912} 2913 2914// NumericBucketingResult: Output only. Custom numeric bucketing result. 2915type NumericBucketingResult struct { 2916 // Counts: Count within each bucket. Its size is the length of 2917 // NumericBucketingOption.bucket_bounds plus 1. 2918 Counts []*BucketizedCount `json:"counts,omitempty"` 2919 2920 // MaxValue: Stores the maximum value of the numeric field. Is populated 2921 // only if [NumericBucketingOption.requires_min_max] is set to true. 2922 MaxValue float64 `json:"maxValue,omitempty"` 2923 2924 // MinValue: Stores the minimum value of the numeric field. Will be 2925 // populated only if [NumericBucketingOption.requires_min_max] is set to 2926 // true. 2927 MinValue float64 `json:"minValue,omitempty"` 2928 2929 // ForceSendFields is a list of field names (e.g. "Counts") to 2930 // unconditionally include in API requests. By default, fields with 2931 // empty values are omitted from API requests. However, any non-pointer, 2932 // non-interface field appearing in ForceSendFields will be sent to the 2933 // server regardless of whether the field is empty or not. This may be 2934 // used to include empty fields in Patch requests. 2935 ForceSendFields []string `json:"-"` 2936 2937 // NullFields is a list of field names (e.g. "Counts") to include in API 2938 // requests with the JSON null value. By default, fields with empty 2939 // values are omitted from API requests. However, any field with an 2940 // empty value appearing in NullFields will be sent to the server as 2941 // null. It is an error if a field in this list has a non-empty value. 2942 // This may be used to include null fields in Patch requests. 2943 NullFields []string `json:"-"` 2944} 2945 2946func (s *NumericBucketingResult) MarshalJSON() ([]byte, error) { 2947 type NoMethod NumericBucketingResult 2948 raw := NoMethod(*s) 2949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2950} 2951 2952func (s *NumericBucketingResult) UnmarshalJSON(data []byte) error { 2953 type NoMethod NumericBucketingResult 2954 var s1 struct { 2955 MaxValue gensupport.JSONFloat64 `json:"maxValue"` 2956 MinValue gensupport.JSONFloat64 `json:"minValue"` 2957 *NoMethod 2958 } 2959 s1.NoMethod = (*NoMethod)(s) 2960 if err := json.Unmarshal(data, &s1); err != nil { 2961 return err 2962 } 2963 s.MaxValue = float64(s1.MaxValue) 2964 s.MinValue = float64(s1.MinValue) 2965 return nil 2966} 2967 2968// PostalAddress: Represents a postal address, e.g. for postal delivery 2969// or payments addresses. Given a postal address, a postal service can 2970// deliver items to a premise, P.O. Box or similar. It is not intended 2971// to model geographical locations (roads, towns, mountains). In typical 2972// usage an address would be created via user input or from importing 2973// existing data, depending on the type of process. Advice on address 2974// input / editing: - Use an i18n-ready address widget such as 2975// https://github.com/google/libaddressinput) - Users should not be 2976// presented with UI elements for input or editing of fields outside 2977// countries where that field is used. For more guidance on how to use 2978// this schema, please see: 2979// https://support.google.com/business/answer/6397478 2980type PostalAddress struct { 2981 // AddressLines: Unstructured address lines describing the lower levels 2982 // of an address. Because values in address_lines do not have type 2983 // information and may sometimes contain multiple values in a single 2984 // field (e.g. "Austin, TX"), it is important that the line order is 2985 // clear. The order of address lines should be "envelope order" for the 2986 // country/region of the address. In places where this can vary (e.g. 2987 // Japan), address_language is used to make it explicit (e.g. "ja" for 2988 // large-to-small ordering and "ja-Latn" or "en" for small-to-large). 2989 // This way, the most specific line of an address can be selected based 2990 // on the language. The minimum permitted structural representation of 2991 // an address consists of a region_code with all remaining information 2992 // placed in the address_lines. It would be possible to format such an 2993 // address very approximately without geocoding, but no semantic 2994 // reasoning could be made about any of the address components until it 2995 // was at least partially resolved. Creating an address only containing 2996 // a region_code and address_lines, and then geocoding is the 2997 // recommended way to handle completely unstructured addresses (as 2998 // opposed to guessing which parts of the address should be localities 2999 // or administrative areas). 3000 AddressLines []string `json:"addressLines,omitempty"` 3001 3002 // AdministrativeArea: Optional. Highest administrative subdivision 3003 // which is used for postal addresses of a country or region. For 3004 // example, this can be a state, a province, an oblast, or a prefecture. 3005 // Specifically, for Spain this is the province and not the autonomous 3006 // community (e.g. "Barcelona" and not "Catalonia"). Many countries 3007 // don't use an administrative area in postal addresses. E.g. in 3008 // Switzerland this should be left unpopulated. 3009 AdministrativeArea string `json:"administrativeArea,omitempty"` 3010 3011 // LanguageCode: Optional. BCP-47 language code of the contents of this 3012 // address (if known). This is often the UI language of the input form 3013 // or is expected to match one of the languages used in the address' 3014 // country/region, or their transliterated equivalents. This can affect 3015 // formatting in certain countries, but is not critical to the 3016 // correctness of the data and will never affect any validation or other 3017 // non-formatting related operations. If this value is not known, it 3018 // should be omitted (rather than specifying a possibly incorrect 3019 // default). Examples: "zh-Hant", "ja", "ja-Latn", "en". 3020 LanguageCode string `json:"languageCode,omitempty"` 3021 3022 // Locality: Optional. Generally refers to the city/town portion of the 3023 // address. Examples: US city, IT comune, UK post town. In regions of 3024 // the world where localities are not well defined or do not fit into 3025 // this structure well, leave locality empty and use address_lines. 3026 Locality string `json:"locality,omitempty"` 3027 3028 // Organization: Optional. The name of the organization at the address. 3029 Organization string `json:"organization,omitempty"` 3030 3031 // PostalCode: Optional. Postal code of the address. Not all countries 3032 // use or require postal codes to be present, but where they are used, 3033 // they may trigger additional validation with other parts of the 3034 // address (e.g. state/zip validation in the U.S.A.). 3035 PostalCode string `json:"postalCode,omitempty"` 3036 3037 // Recipients: Optional. The recipient at the address. This field may, 3038 // under certain circumstances, contain multiline information. For 3039 // example, it might contain "care of" information. 3040 Recipients []string `json:"recipients,omitempty"` 3041 3042 // RegionCode: Required. CLDR region code of the country/region of the 3043 // address. This is never inferred and it is up to the user to ensure 3044 // the value is correct. See http://cldr.unicode.org/ and 3045 // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html 3046 // for details. Example: "CH" for Switzerland. 3047 RegionCode string `json:"regionCode,omitempty"` 3048 3049 // Revision: The schema revision of the `PostalAddress`. This must be 3050 // set to 0, which is the latest revision. All new revisions **must** be 3051 // backward compatible with old revisions. 3052 Revision int64 `json:"revision,omitempty"` 3053 3054 // SortingCode: Optional. Additional, country-specific, sorting code. 3055 // This is not used in most regions. Where it is used, the value is 3056 // either a string like "CEDEX", optionally followed by a number (e.g. 3057 // "CEDEX 7"), or just a number alone, representing the "sector code" 3058 // (Jamaica), "delivery area indicator" (Malawi) or "post office 3059 // indicator" (e.g. Côte d'Ivoire). 3060 SortingCode string `json:"sortingCode,omitempty"` 3061 3062 // Sublocality: Optional. Sublocality of the address. For example, this 3063 // can be neighborhoods, boroughs, districts. 3064 Sublocality string `json:"sublocality,omitempty"` 3065 3066 // ForceSendFields is a list of field names (e.g. "AddressLines") to 3067 // unconditionally include in API requests. By default, fields with 3068 // empty values are omitted from API requests. However, any non-pointer, 3069 // non-interface field appearing in ForceSendFields will be sent to the 3070 // server regardless of whether the field is empty or not. This may be 3071 // used to include empty fields in Patch requests. 3072 ForceSendFields []string `json:"-"` 3073 3074 // NullFields is a list of field names (e.g. "AddressLines") to include 3075 // in API requests with the JSON null value. By default, fields with 3076 // empty values are omitted from API requests. However, any field with 3077 // an empty value appearing in NullFields will be sent to the server as 3078 // null. It is an error if a field in this list has a non-empty value. 3079 // This may be used to include null fields in Patch requests. 3080 NullFields []string `json:"-"` 3081} 3082 3083func (s *PostalAddress) MarshalJSON() ([]byte, error) { 3084 type NoMethod PostalAddress 3085 raw := NoMethod(*s) 3086 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3087} 3088 3089// ProcessingOptions: Input only. Options for job processing. 3090type ProcessingOptions struct { 3091 // DisableStreetAddressResolution: Optional. If set to `true`, the 3092 // service does not attempt to resolve a more precise address for the 3093 // job. 3094 DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"` 3095 3096 // HtmlSanitization: Optional. Option for job HTML content sanitization. 3097 // Applied fields are: * description * applicationInfo.instruction * 3098 // incentives * qualifications * responsibilities HTML tags in these 3099 // fields may be stripped if sanitiazation is not disabled. Defaults to 3100 // HtmlSanitization.SIMPLE_FORMATTING_ONLY. 3101 // 3102 // Possible values: 3103 // "HTML_SANITIZATION_UNSPECIFIED" - Default value. 3104 // "HTML_SANITIZATION_DISABLED" - Disables sanitization on HTML input. 3105 // "SIMPLE_FORMATTING_ONLY" - Sanitizes HTML input, only accepts bold, 3106 // italic, ordered list, and unordered list markup tags. 3107 HtmlSanitization string `json:"htmlSanitization,omitempty"` 3108 3109 // ForceSendFields is a list of field names (e.g. 3110 // "DisableStreetAddressResolution") to unconditionally include in API 3111 // requests. By default, fields with empty values are omitted from API 3112 // requests. However, any non-pointer, non-interface field appearing in 3113 // ForceSendFields will be sent to the server regardless of whether the 3114 // field is empty or not. This may be used to include empty fields in 3115 // Patch requests. 3116 ForceSendFields []string `json:"-"` 3117 3118 // NullFields is a list of field names (e.g. 3119 // "DisableStreetAddressResolution") to include in API requests with the 3120 // JSON null value. By default, fields with empty values are omitted 3121 // from API requests. However, any field with an empty value appearing 3122 // in NullFields will be sent to the server as null. It is an error if a 3123 // field in this list has a non-empty value. This may be used to include 3124 // null fields in Patch requests. 3125 NullFields []string `json:"-"` 3126} 3127 3128func (s *ProcessingOptions) MarshalJSON() ([]byte, error) { 3129 type NoMethod ProcessingOptions 3130 raw := NoMethod(*s) 3131 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3132} 3133 3134// RequestMetadata: Input only. Meta information related to the job 3135// searcher or entity conducting the job search. This information is 3136// used to improve the performance of the service. 3137type RequestMetadata struct { 3138 // DeviceInfo: Optional. The type of device used by the job seeker at 3139 // the time of the call to the service. 3140 DeviceInfo *DeviceInfo `json:"deviceInfo,omitempty"` 3141 3142 // Domain: Required. The client-defined scope or source of the service 3143 // call, which typically is the domain on which the service has been 3144 // implemented and is currently being run. For example, if the service 3145 // is being run by client *Foo, Inc.*, on job board www.foo.com and 3146 // career site www.bar.com, then this field is set to "foo.com" for use 3147 // on the job board, and "bar.com" for use on the career site. If this 3148 // field isn't available for some reason, send "UNKNOWN". Any 3149 // improvements to the model for a particular tenant site rely on this 3150 // field being set correctly to a domain. The maximum number of allowed 3151 // characters is 255. 3152 Domain string `json:"domain,omitempty"` 3153 3154 // SessionId: Required. A unique session identification string. A 3155 // session is defined as the duration of an end user's interaction with 3156 // the service over a certain period. Obfuscate this field for privacy 3157 // concerns before providing it to the service. If this field is not 3158 // available for some reason, send "UNKNOWN". Note that any improvements 3159 // to the model for a particular tenant site, rely on this field being 3160 // set correctly to some unique session_id. The maximum number of 3161 // allowed characters is 255. 3162 SessionId string `json:"sessionId,omitempty"` 3163 3164 // UserId: Required. A unique user identification string, as determined 3165 // by the client. To have the strongest positive impact on search 3166 // quality make sure the client-level is unique. Obfuscate this field 3167 // for privacy concerns before providing it to the service. If this 3168 // field is not available for some reason, send "UNKNOWN". Note that any 3169 // improvements to the model for a particular tenant site, rely on this 3170 // field being set correctly to a unique user_id. The maximum number of 3171 // allowed characters is 255. 3172 UserId string `json:"userId,omitempty"` 3173 3174 // ForceSendFields is a list of field names (e.g. "DeviceInfo") to 3175 // unconditionally include in API requests. By default, fields with 3176 // empty values are omitted from API requests. However, any non-pointer, 3177 // non-interface field appearing in ForceSendFields will be sent to the 3178 // server regardless of whether the field is empty or not. This may be 3179 // used to include empty fields in Patch requests. 3180 ForceSendFields []string `json:"-"` 3181 3182 // NullFields is a list of field names (e.g. "DeviceInfo") to include in 3183 // API requests with the JSON null value. By default, fields with empty 3184 // values are omitted from API requests. However, any field with an 3185 // empty value appearing in NullFields will be sent to the server as 3186 // null. It is an error if a field in this list has a non-empty value. 3187 // This may be used to include null fields in Patch requests. 3188 NullFields []string `json:"-"` 3189} 3190 3191func (s *RequestMetadata) MarshalJSON() ([]byte, error) { 3192 type NoMethod RequestMetadata 3193 raw := NoMethod(*s) 3194 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3195} 3196 3197// ResponseMetadata: Output only. Additional information returned to 3198// client, such as debugging information. 3199type ResponseMetadata struct { 3200 // RequestId: A unique id associated with this call. This id is logged 3201 // for tracking purposes. 3202 RequestId string `json:"requestId,omitempty"` 3203 3204 // ForceSendFields is a list of field names (e.g. "RequestId") to 3205 // unconditionally include in API requests. By default, fields with 3206 // empty values are omitted from API requests. However, any non-pointer, 3207 // non-interface field appearing in ForceSendFields will be sent to the 3208 // server regardless of whether the field is empty or not. This may be 3209 // used to include empty fields in Patch requests. 3210 ForceSendFields []string `json:"-"` 3211 3212 // NullFields is a list of field names (e.g. "RequestId") to include in 3213 // API requests with the JSON null value. By default, fields with empty 3214 // values are omitted from API requests. However, any field with an 3215 // empty value appearing in NullFields will be sent to the server as 3216 // null. It is an error if a field in this list has a non-empty value. 3217 // This may be used to include null fields in Patch requests. 3218 NullFields []string `json:"-"` 3219} 3220 3221func (s *ResponseMetadata) MarshalJSON() ([]byte, error) { 3222 type NoMethod ResponseMetadata 3223 raw := NoMethod(*s) 3224 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3225} 3226 3227// SearchJobsRequest: Input only. The Request body of the `SearchJobs` 3228// call. 3229type SearchJobsRequest struct { 3230 // DisableKeywordMatch: Optional. Controls whether to disable exact 3231 // keyword match on Job.job_title, Job.description, 3232 // Job.company_display_name, Job.locations, Job.qualifications. When 3233 // disable keyword match is turned off, a keyword match returns jobs 3234 // that do not match given category filters when there are matching 3235 // keywords. For example, the query "program manager," a result is 3236 // returned even if the job posting has the title "software developer," 3237 // which does not fall into "program manager" ontology, but does have 3238 // "program manager" appearing in its description. For queries like 3239 // "cloud" that does not contain title or location specific ontology, 3240 // jobs with "cloud" keyword matches are returned regardless of this 3241 // flag's value. Please use Company.keyword_searchable_custom_fields or 3242 // Company.keyword_searchable_custom_attributes if company specific 3243 // globally matched custom field/attribute string values is needed. 3244 // Enabling keyword match improves recall of subsequent search requests. 3245 // Defaults to false. 3246 DisableKeywordMatch bool `json:"disableKeywordMatch,omitempty"` 3247 3248 // DiversificationLevel: Optional. Controls whether highly similar jobs 3249 // are returned next to each other in the search results. Jobs are 3250 // identified as highly similar based on their titles, job categories, 3251 // and locations. Highly similar results are clustered so that only one 3252 // representative job of the cluster is displayed to the job seeker 3253 // higher up in the results, with the other jobs being displayed lower 3254 // down in the results. Defaults to DiversificationLevel.SIMPLE if no 3255 // value is specified. 3256 // 3257 // Possible values: 3258 // "DIVERSIFICATION_LEVEL_UNSPECIFIED" - The diversification level 3259 // isn't specified. By default, jobs with this enum are ordered 3260 // according to SIMPLE diversifying behavior. 3261 // "DISABLED" - Disables diversification. Jobs that would normally be 3262 // pushed to the last page would not have their positions altered. This 3263 // may result in highly similar jobs appearing in sequence in the search 3264 // results. 3265 // "SIMPLE" - Default diversifying behavior. The result list is 3266 // ordered so that highly similar results are pushed to the end of the 3267 // last page of search results. 3268 DiversificationLevel string `json:"diversificationLevel,omitempty"` 3269 3270 // EnableBroadening: Optional. Controls whether to broaden the search 3271 // when it produces sparse results. Broadened queries append results to 3272 // the end of the matching results list. Defaults to false. 3273 EnableBroadening bool `json:"enableBroadening,omitempty"` 3274 3275 // HistogramFacets: Optional. Histogram requests for jobs matching 3276 // JobQuery. 3277 HistogramFacets *HistogramFacets `json:"histogramFacets,omitempty"` 3278 3279 // JobQuery: Optional. Query used to search against jobs, such as 3280 // keyword, location filters, etc. 3281 JobQuery *JobQuery `json:"jobQuery,omitempty"` 3282 3283 // JobView: Optional. The desired job attributes returned for jobs in 3284 // the search response. Defaults to JobView.SMALL if no value is 3285 // specified. 3286 // 3287 // Possible values: 3288 // "JOB_VIEW_UNSPECIFIED" - Default value. 3289 // "JOB_VIEW_ID_ONLY" - A ID only view of job, with following 3290 // attributes: Job.name, Job.requisition_id, Job.language_code. 3291 // "JOB_VIEW_MINIMAL" - A minimal view of the job, with the following 3292 // attributes: Job.name, Job.requisition_id, Job.title, 3293 // Job.company_name, Job.DerivedInfo.locations, Job.language_code. 3294 // "JOB_VIEW_SMALL" - A small view of the job, with the following 3295 // attributes in the search results: Job.name, Job.requisition_id, 3296 // Job.title, Job.company_name, Job.DerivedInfo.locations, 3297 // Job.visibility, Job.language_code, Job.description. 3298 // "JOB_VIEW_FULL" - All available attributes are included in the 3299 // search results. 3300 JobView string `json:"jobView,omitempty"` 3301 3302 // Offset: Optional. An integer that specifies the current offset (that 3303 // is, starting result location, amongst the jobs deemed by the API as 3304 // relevant) in search results. This field is only considered if 3305 // page_token is unset. The maximum allowed value is 5000. Otherwise an 3306 // error is thrown. For example, 0 means to return results starting from 3307 // the first matching job, and 10 means to return from the 11th job. 3308 // This can be used for pagination, (for example, pageSize = 10 and 3309 // offset = 10 means to return from the second page). 3310 Offset int64 `json:"offset,omitempty"` 3311 3312 // OrderBy: Optional. The criteria determining how search results are 3313 // sorted. Default is "relevance desc". Supported options are: * 3314 // "relevance desc": By relevance descending, as determined by the API 3315 // algorithms. Relevance thresholding of query results is only available 3316 // with this ordering. * "posting_publish_time desc": By 3317 // Job.posting_publish_time descending. * "posting_update_time desc": 3318 // By Job.posting_update_time descending. * "title": By Job.title 3319 // ascending. * "title desc": By Job.title descending. * 3320 // "annualized_base_compensation": By job's 3321 // CompensationInfo.annualized_base_compensation_range ascending. Jobs 3322 // whose annualized base compensation is unspecified are put at the end 3323 // of search results. * "annualized_base_compensation desc": By job's 3324 // CompensationInfo.annualized_base_compensation_range descending. Jobs 3325 // whose annualized base compensation is unspecified are put at the end 3326 // of search results. * "annualized_total_compensation": By job's 3327 // CompensationInfo.annualized_total_compensation_range ascending. Jobs 3328 // whose annualized base compensation is unspecified are put at the end 3329 // of search results. * "annualized_total_compensation desc": By job's 3330 // CompensationInfo.annualized_total_compensation_range descending. Jobs 3331 // whose annualized base compensation is unspecified are put at the end 3332 // of search results. 3333 OrderBy string `json:"orderBy,omitempty"` 3334 3335 // PageSize: Optional. A limit on the number of jobs returned in the 3336 // search results. Increasing this value above the default value of 10 3337 // can increase search response time. The value can be between 1 and 3338 // 100. 3339 PageSize int64 `json:"pageSize,omitempty"` 3340 3341 // PageToken: Optional. The token specifying the current offset within 3342 // search results. See SearchJobsResponse.next_page_token for an 3343 // explanation of how to obtain the next set of query results. 3344 PageToken string `json:"pageToken,omitempty"` 3345 3346 // RequestMetadata: Required. The meta information collected about the 3347 // job searcher, used to improve the search quality of the service. The 3348 // identifiers (such as `user_id`) are provided by users, and must be 3349 // unique and consistent. 3350 RequestMetadata *RequestMetadata `json:"requestMetadata,omitempty"` 3351 3352 // RequirePreciseResultSize: This field is deprecated. 3353 RequirePreciseResultSize bool `json:"requirePreciseResultSize,omitempty"` 3354 3355 // SearchMode: Optional. Mode of a search. Defaults to 3356 // SearchMode.JOB_SEARCH. 3357 // 3358 // Possible values: 3359 // "SEARCH_MODE_UNSPECIFIED" - The mode of the search method isn't 3360 // specified. The default search behavior is identical to JOB_SEARCH 3361 // search behavior. 3362 // "JOB_SEARCH" - The job search matches against all jobs, and 3363 // featured jobs (jobs with promotionValue > 0) are not specially 3364 // handled. 3365 // "FEATURED_JOB_SEARCH" - The job search matches only against 3366 // featured jobs (jobs with a promotionValue > 0). This method doesn't 3367 // return any jobs having a promotionValue <= 0. The search results 3368 // order is determined by the promotionValue (jobs with a higher 3369 // promotionValue are returned higher up in the search results), with 3370 // relevance being used as a tiebreaker. 3371 SearchMode string `json:"searchMode,omitempty"` 3372 3373 // ForceSendFields is a list of field names (e.g. "DisableKeywordMatch") 3374 // to unconditionally include in API requests. By default, fields with 3375 // empty values are omitted from API requests. However, any non-pointer, 3376 // non-interface field appearing in ForceSendFields will be sent to the 3377 // server regardless of whether the field is empty or not. This may be 3378 // used to include empty fields in Patch requests. 3379 ForceSendFields []string `json:"-"` 3380 3381 // NullFields is a list of field names (e.g. "DisableKeywordMatch") to 3382 // include in API requests with the JSON null value. By default, fields 3383 // with empty values are omitted from API requests. However, any field 3384 // with an empty value appearing in NullFields will be sent to the 3385 // server as null. It is an error if a field in this list has a 3386 // non-empty value. This may be used to include null fields in Patch 3387 // requests. 3388 NullFields []string `json:"-"` 3389} 3390 3391func (s *SearchJobsRequest) MarshalJSON() ([]byte, error) { 3392 type NoMethod SearchJobsRequest 3393 raw := NoMethod(*s) 3394 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3395} 3396 3397// SearchJobsResponse: Output only. Response for SearchJob method. 3398type SearchJobsResponse struct { 3399 // BroadenedQueryJobsCount: If query broadening is enabled, we may 3400 // append additional results from the broadened query. This number 3401 // indicates how many of the jobs returned in the jobs field are from 3402 // the broadened query. These results are always at the end of the jobs 3403 // list. In particular, a value of 0, or if the field isn't set, all the 3404 // jobs in the jobs list are from the original (without broadening) 3405 // query. If this field is non-zero, subsequent requests with offset 3406 // after this result set should contain all broadened results. 3407 BroadenedQueryJobsCount int64 `json:"broadenedQueryJobsCount,omitempty"` 3408 3409 // EstimatedTotalSize: An estimation of the number of jobs that match 3410 // the specified query. This number is not guaranteed to be accurate. 3411 // For accurate results, see SearchJobsResponse.total_size. 3412 EstimatedTotalSize int64 `json:"estimatedTotalSize,omitempty"` 3413 3414 // HistogramResults: The histogram results that match specified 3415 // SearchJobsRequest.histogram_facets. 3416 HistogramResults *HistogramResults `json:"histogramResults,omitempty"` 3417 3418 // LocationFilters: The location filters that the service applied to the 3419 // specified query. If any filters are lat-lng based, the 3420 // JobLocation.location_type is 3421 // JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. 3422 LocationFilters []*Location `json:"locationFilters,omitempty"` 3423 3424 // MatchingJobs: The Job entities that match the specified 3425 // SearchJobsRequest. 3426 MatchingJobs []*MatchingJob `json:"matchingJobs,omitempty"` 3427 3428 // Metadata: Additional information for the API invocation, such as the 3429 // request tracking id. 3430 Metadata *ResponseMetadata `json:"metadata,omitempty"` 3431 3432 // NextPageToken: The token that specifies the starting position of the 3433 // next page of results. This field is empty if there are no more 3434 // results. 3435 NextPageToken string `json:"nextPageToken,omitempty"` 3436 3437 // SpellCorrection: The spell checking result, and correction. 3438 SpellCorrection *SpellingCorrection `json:"spellCorrection,omitempty"` 3439 3440 // TotalSize: The precise result count with limit 100,000. 3441 TotalSize int64 `json:"totalSize,omitempty"` 3442 3443 // ServerResponse contains the HTTP response code and headers from the 3444 // server. 3445 googleapi.ServerResponse `json:"-"` 3446 3447 // ForceSendFields is a list of field names (e.g. 3448 // "BroadenedQueryJobsCount") to unconditionally include in API 3449 // requests. By default, fields with empty values are omitted from API 3450 // requests. However, any non-pointer, non-interface field appearing in 3451 // ForceSendFields will be sent to the server regardless of whether the 3452 // field is empty or not. This may be used to include empty fields in 3453 // Patch requests. 3454 ForceSendFields []string `json:"-"` 3455 3456 // NullFields is a list of field names (e.g. "BroadenedQueryJobsCount") 3457 // to include in API requests with the JSON null value. By default, 3458 // fields with empty values are omitted from API requests. However, any 3459 // field with an empty value appearing in NullFields will be sent to the 3460 // server as null. It is an error if a field in this list has a 3461 // non-empty value. This may be used to include null fields in Patch 3462 // requests. 3463 NullFields []string `json:"-"` 3464} 3465 3466func (s *SearchJobsResponse) MarshalJSON() ([]byte, error) { 3467 type NoMethod SearchJobsResponse 3468 raw := NoMethod(*s) 3469 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3470} 3471 3472// SpellingCorrection: Output only. Spell check result. 3473type SpellingCorrection struct { 3474 // Corrected: Indicates if the query was corrected by the spell checker. 3475 Corrected bool `json:"corrected,omitempty"` 3476 3477 // CorrectedText: Correction output consisting of the corrected keyword 3478 // string. 3479 CorrectedText string `json:"correctedText,omitempty"` 3480 3481 // ForceSendFields is a list of field names (e.g. "Corrected") to 3482 // unconditionally include in API requests. By default, fields with 3483 // empty values are omitted from API requests. However, any non-pointer, 3484 // non-interface field appearing in ForceSendFields will be sent to the 3485 // server regardless of whether the field is empty or not. This may be 3486 // used to include empty fields in Patch requests. 3487 ForceSendFields []string `json:"-"` 3488 3489 // NullFields is a list of field names (e.g. "Corrected") to include in 3490 // API requests with the JSON null value. By default, fields with empty 3491 // values are omitted from API requests. However, any field with an 3492 // empty value appearing in NullFields will be sent to the server as 3493 // null. It is an error if a field in this list has a non-empty value. 3494 // This may be used to include null fields in Patch requests. 3495 NullFields []string `json:"-"` 3496} 3497 3498func (s *SpellingCorrection) MarshalJSON() ([]byte, error) { 3499 type NoMethod SpellingCorrection 3500 raw := NoMethod(*s) 3501 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3502} 3503 3504// TimeOfDay: Represents a time of day. The date and time zone are 3505// either not significant or are specified elsewhere. An API may choose 3506// to allow leap seconds. Related types are google.type.Date and 3507// `google.protobuf.Timestamp`. 3508type TimeOfDay struct { 3509 // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API 3510 // may choose to allow the value "24:00:00" for scenarios like business 3511 // closing time. 3512 Hours int64 `json:"hours,omitempty"` 3513 3514 // Minutes: Minutes of hour of day. Must be from 0 to 59. 3515 Minutes int64 `json:"minutes,omitempty"` 3516 3517 // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 3518 // 999,999,999. 3519 Nanos int64 `json:"nanos,omitempty"` 3520 3521 // Seconds: Seconds of minutes of the time. Must normally be from 0 to 3522 // 59. An API may allow the value 60 if it allows leap-seconds. 3523 Seconds int64 `json:"seconds,omitempty"` 3524 3525 // ForceSendFields is a list of field names (e.g. "Hours") to 3526 // unconditionally include in API requests. By default, fields with 3527 // empty values are omitted from API requests. However, any non-pointer, 3528 // non-interface field appearing in ForceSendFields will be sent to the 3529 // server regardless of whether the field is empty or not. This may be 3530 // used to include empty fields in Patch requests. 3531 ForceSendFields []string `json:"-"` 3532 3533 // NullFields is a list of field names (e.g. "Hours") to include in API 3534 // requests with the JSON null value. By default, fields with empty 3535 // values are omitted from API requests. However, any field with an 3536 // empty value appearing in NullFields will be sent to the server as 3537 // null. It is an error if a field in this list has a non-empty value. 3538 // This may be used to include null fields in Patch requests. 3539 NullFields []string `json:"-"` 3540} 3541 3542func (s *TimeOfDay) MarshalJSON() ([]byte, error) { 3543 type NoMethod TimeOfDay 3544 raw := NoMethod(*s) 3545 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3546} 3547 3548// TimestampRange: Message representing a period of time between two 3549// timestamps. 3550type TimestampRange struct { 3551 // EndTime: End of the period. 3552 EndTime string `json:"endTime,omitempty"` 3553 3554 // StartTime: Begin of the period. 3555 StartTime string `json:"startTime,omitempty"` 3556 3557 // ForceSendFields is a list of field names (e.g. "EndTime") to 3558 // unconditionally include in API requests. By default, fields with 3559 // empty values are omitted from API requests. However, any non-pointer, 3560 // non-interface field appearing in ForceSendFields will be sent to the 3561 // server regardless of whether the field is empty or not. This may be 3562 // used to include empty fields in Patch requests. 3563 ForceSendFields []string `json:"-"` 3564 3565 // NullFields is a list of field names (e.g. "EndTime") to include in 3566 // API requests with the JSON null value. By default, fields with empty 3567 // values are omitted from API requests. However, any field with an 3568 // empty value appearing in NullFields will be sent to the server as 3569 // null. It is an error if a field in this list has a non-empty value. 3570 // This may be used to include null fields in Patch requests. 3571 NullFields []string `json:"-"` 3572} 3573 3574func (s *TimestampRange) MarshalJSON() ([]byte, error) { 3575 type NoMethod TimestampRange 3576 raw := NoMethod(*s) 3577 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3578} 3579 3580// UpdateCompanyRequest: Input only. Request for updating a specified 3581// company. 3582type UpdateCompanyRequest struct { 3583 // Company: Required. The company resource to replace the current 3584 // resource in the system. 3585 Company *Company `json:"company,omitempty"` 3586 3587 // UpdateMask: Optional but strongly recommended for the best service 3588 // experience. If update_mask is provided, only the specified fields in 3589 // company are updated. Otherwise all the fields are updated. A field 3590 // mask to specify the company fields to be updated. Only top level 3591 // fields of Company are supported. 3592 UpdateMask string `json:"updateMask,omitempty"` 3593 3594 // ForceSendFields is a list of field names (e.g. "Company") to 3595 // unconditionally include in API requests. By default, fields with 3596 // empty values are omitted from API requests. However, any non-pointer, 3597 // non-interface field appearing in ForceSendFields will be sent to the 3598 // server regardless of whether the field is empty or not. This may be 3599 // used to include empty fields in Patch requests. 3600 ForceSendFields []string `json:"-"` 3601 3602 // NullFields is a list of field names (e.g. "Company") to include in 3603 // API requests with the JSON null value. By default, fields with empty 3604 // values are omitted from API requests. However, any field with an 3605 // empty value appearing in NullFields will be sent to the server as 3606 // null. It is an error if a field in this list has a non-empty value. 3607 // This may be used to include null fields in Patch requests. 3608 NullFields []string `json:"-"` 3609} 3610 3611func (s *UpdateCompanyRequest) MarshalJSON() ([]byte, error) { 3612 type NoMethod UpdateCompanyRequest 3613 raw := NoMethod(*s) 3614 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3615} 3616 3617// UpdateJobRequest: Input only. Update job request. 3618type UpdateJobRequest struct { 3619 // Job: Required. The Job to be updated. 3620 Job *Job `json:"job,omitempty"` 3621 3622 // UpdateMask: Optional but strongly recommended to be provided for the 3623 // best service experience. If update_mask is provided, only the 3624 // specified fields in job are updated. Otherwise all the fields are 3625 // updated. A field mask to restrict the fields that are updated. Only 3626 // top level fields of Job are supported. 3627 UpdateMask string `json:"updateMask,omitempty"` 3628 3629 // ForceSendFields is a list of field names (e.g. "Job") to 3630 // unconditionally include in API requests. By default, fields with 3631 // empty values are omitted from API requests. However, any non-pointer, 3632 // non-interface field appearing in ForceSendFields will be sent to the 3633 // server regardless of whether the field is empty or not. This may be 3634 // used to include empty fields in Patch requests. 3635 ForceSendFields []string `json:"-"` 3636 3637 // NullFields is a list of field names (e.g. "Job") to include in API 3638 // requests with the JSON null value. By default, fields with empty 3639 // values are omitted from API requests. However, any field with an 3640 // empty value appearing in NullFields will be sent to the server as 3641 // null. It is an error if a field in this list has a non-empty value. 3642 // This may be used to include null fields in Patch requests. 3643 NullFields []string `json:"-"` 3644} 3645 3646func (s *UpdateJobRequest) MarshalJSON() ([]byte, error) { 3647 type NoMethod UpdateJobRequest 3648 raw := NoMethod(*s) 3649 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3650} 3651 3652// method id "jobs.projects.complete": 3653 3654type ProjectsCompleteCall struct { 3655 s *Service 3656 name string 3657 urlParams_ gensupport.URLParams 3658 ifNoneMatch_ string 3659 ctx_ context.Context 3660 header_ http.Header 3661} 3662 3663// Complete: Completes the specified prefix with keyword suggestions. 3664// Intended for use by a job search auto-complete search box. 3665// 3666// - name: Resource name of project the completion is performed within. 3667// The format is "projects/{project_id}", for example, 3668// "projects/api-test-project". 3669func (r *ProjectsService) Complete(name string) *ProjectsCompleteCall { 3670 c := &ProjectsCompleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3671 c.name = name 3672 return c 3673} 3674 3675// CompanyName sets the optional parameter "companyName": If provided, 3676// restricts completion to specified company. The format is 3677// "projects/{project_id}/companies/{company_id}", for example, 3678// "projects/api-test-project/companies/foo". 3679func (c *ProjectsCompleteCall) CompanyName(companyName string) *ProjectsCompleteCall { 3680 c.urlParams_.Set("companyName", companyName) 3681 return c 3682} 3683 3684// LanguageCode sets the optional parameter "languageCode": Deprecated. 3685// Use language_codes instead. The language of the query. This is the 3686// BCP-47 language code, such as "en-US" or "sr-Latn". For more 3687// information, see Tags for Identifying Languages 3688// (https://tools.ietf.org/html/bcp47). For CompletionType.JOB_TITLE 3689// type, only open jobs with the same language_code are returned. For 3690// CompletionType.COMPANY_NAME type, only companies having open jobs 3691// with the same language_code are returned. For CompletionType.COMBINED 3692// type, only open jobs with the same language_code or companies having 3693// open jobs with the same language_code are returned. The maximum 3694// number of allowed characters is 255. 3695func (c *ProjectsCompleteCall) LanguageCode(languageCode string) *ProjectsCompleteCall { 3696 c.urlParams_.Set("languageCode", languageCode) 3697 return c 3698} 3699 3700// LanguageCodes sets the optional parameter "languageCodes": The list 3701// of languages of the query. This is the BCP-47 language code, such as 3702// "en-US" or "sr-Latn". For more information, see Tags for Identifying 3703// Languages (https://tools.ietf.org/html/bcp47). For 3704// CompletionType.JOB_TITLE type, only open jobs with the same 3705// language_codes are returned. For CompletionType.COMPANY_NAME type, 3706// only companies having open jobs with the same language_codes are 3707// returned. For CompletionType.COMBINED type, only open jobs with the 3708// same language_codes or companies having open jobs with the same 3709// language_codes are returned. The maximum number of allowed characters 3710// is 255. 3711func (c *ProjectsCompleteCall) LanguageCodes(languageCodes ...string) *ProjectsCompleteCall { 3712 c.urlParams_.SetMulti("languageCodes", append([]string{}, languageCodes...)) 3713 return c 3714} 3715 3716// PageSize sets the optional parameter "pageSize": Required. Completion 3717// result count. The maximum allowed page size is 10. 3718func (c *ProjectsCompleteCall) PageSize(pageSize int64) *ProjectsCompleteCall { 3719 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 3720 return c 3721} 3722 3723// Query sets the optional parameter "query": Required. The query used 3724// to generate suggestions. The maximum number of allowed characters is 3725// 255. 3726func (c *ProjectsCompleteCall) Query(query string) *ProjectsCompleteCall { 3727 c.urlParams_.Set("query", query) 3728 return c 3729} 3730 3731// Scope sets the optional parameter "scope": The scope of the 3732// completion. The defaults is CompletionScope.PUBLIC. 3733// 3734// Possible values: 3735// "COMPLETION_SCOPE_UNSPECIFIED" - Default value. 3736// "TENANT" - Suggestions are based only on the data provided by the 3737// client. 3738// "PUBLIC" - Suggestions are based on all jobs data in the system 3739// that's visible to the client 3740func (c *ProjectsCompleteCall) Scope(scope string) *ProjectsCompleteCall { 3741 c.urlParams_.Set("scope", scope) 3742 return c 3743} 3744 3745// Type sets the optional parameter "type": The completion topic. The 3746// default is CompletionType.COMBINED. 3747// 3748// Possible values: 3749// "COMPLETION_TYPE_UNSPECIFIED" - Default value. 3750// "JOB_TITLE" - Only suggest job titles. 3751// "COMPANY_NAME" - Only suggest company names. 3752// "COMBINED" - Suggest both job titles and company names. 3753func (c *ProjectsCompleteCall) Type(type_ string) *ProjectsCompleteCall { 3754 c.urlParams_.Set("type", type_) 3755 return c 3756} 3757 3758// Fields allows partial responses to be retrieved. See 3759// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3760// for more information. 3761func (c *ProjectsCompleteCall) Fields(s ...googleapi.Field) *ProjectsCompleteCall { 3762 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3763 return c 3764} 3765 3766// IfNoneMatch sets the optional parameter which makes the operation 3767// fail if the object's ETag matches the given value. This is useful for 3768// getting updates only after the object has changed since the last 3769// request. Use googleapi.IsNotModified to check whether the response 3770// error from Do is the result of In-None-Match. 3771func (c *ProjectsCompleteCall) IfNoneMatch(entityTag string) *ProjectsCompleteCall { 3772 c.ifNoneMatch_ = entityTag 3773 return c 3774} 3775 3776// Context sets the context to be used in this call's Do method. Any 3777// pending HTTP request will be aborted if the provided context is 3778// canceled. 3779func (c *ProjectsCompleteCall) Context(ctx context.Context) *ProjectsCompleteCall { 3780 c.ctx_ = ctx 3781 return c 3782} 3783 3784// Header returns an http.Header that can be modified by the caller to 3785// add HTTP headers to the request. 3786func (c *ProjectsCompleteCall) Header() http.Header { 3787 if c.header_ == nil { 3788 c.header_ = make(http.Header) 3789 } 3790 return c.header_ 3791} 3792 3793func (c *ProjectsCompleteCall) doRequest(alt string) (*http.Response, error) { 3794 reqHeaders := make(http.Header) 3795 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 3796 for k, v := range c.header_ { 3797 reqHeaders[k] = v 3798 } 3799 reqHeaders.Set("User-Agent", c.s.userAgent()) 3800 if c.ifNoneMatch_ != "" { 3801 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3802 } 3803 var body io.Reader = nil 3804 c.urlParams_.Set("alt", alt) 3805 c.urlParams_.Set("prettyPrint", "false") 3806 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:complete") 3807 urls += "?" + c.urlParams_.Encode() 3808 req, err := http.NewRequest("GET", urls, body) 3809 if err != nil { 3810 return nil, err 3811 } 3812 req.Header = reqHeaders 3813 googleapi.Expand(req.URL, map[string]string{ 3814 "name": c.name, 3815 }) 3816 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3817} 3818 3819// Do executes the "jobs.projects.complete" call. 3820// Exactly one of *CompleteQueryResponse or error will be non-nil. Any 3821// non-2xx status code is an error. Response headers are in either 3822// *CompleteQueryResponse.ServerResponse.Header or (if a response was 3823// returned at all) in error.(*googleapi.Error).Header. Use 3824// googleapi.IsNotModified to check whether the returned error was 3825// because http.StatusNotModified was returned. 3826func (c *ProjectsCompleteCall) Do(opts ...googleapi.CallOption) (*CompleteQueryResponse, error) { 3827 gensupport.SetOptions(c.urlParams_, opts...) 3828 res, err := c.doRequest("json") 3829 if res != nil && res.StatusCode == http.StatusNotModified { 3830 if res.Body != nil { 3831 res.Body.Close() 3832 } 3833 return nil, &googleapi.Error{ 3834 Code: res.StatusCode, 3835 Header: res.Header, 3836 } 3837 } 3838 if err != nil { 3839 return nil, err 3840 } 3841 defer googleapi.CloseBody(res) 3842 if err := googleapi.CheckResponse(res); err != nil { 3843 return nil, err 3844 } 3845 ret := &CompleteQueryResponse{ 3846 ServerResponse: googleapi.ServerResponse{ 3847 Header: res.Header, 3848 HTTPStatusCode: res.StatusCode, 3849 }, 3850 } 3851 target := &ret 3852 if err := gensupport.DecodeResponse(target, res); err != nil { 3853 return nil, err 3854 } 3855 return ret, nil 3856 // { 3857 // "description": "Completes the specified prefix with keyword suggestions. Intended for use by a job search auto-complete search box.", 3858 // "flatPath": "v3/projects/{projectsId}:complete", 3859 // "httpMethod": "GET", 3860 // "id": "jobs.projects.complete", 3861 // "parameterOrder": [ 3862 // "name" 3863 // ], 3864 // "parameters": { 3865 // "companyName": { 3866 // "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\".", 3867 // "location": "query", 3868 // "type": "string" 3869 // }, 3870 // "languageCode": { 3871 // "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.", 3872 // "location": "query", 3873 // "type": "string" 3874 // }, 3875 // "languageCodes": { 3876 // "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.", 3877 // "location": "query", 3878 // "repeated": true, 3879 // "type": "string" 3880 // }, 3881 // "name": { 3882 // "description": "Required. Resource name of project the completion is performed within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".", 3883 // "location": "path", 3884 // "pattern": "^projects/[^/]+$", 3885 // "required": true, 3886 // "type": "string" 3887 // }, 3888 // "pageSize": { 3889 // "description": "Required. Completion result count. The maximum allowed page size is 10.", 3890 // "format": "int32", 3891 // "location": "query", 3892 // "type": "integer" 3893 // }, 3894 // "query": { 3895 // "description": "Required. The query used to generate suggestions. The maximum number of allowed characters is 255.", 3896 // "location": "query", 3897 // "type": "string" 3898 // }, 3899 // "scope": { 3900 // "description": "Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC.", 3901 // "enum": [ 3902 // "COMPLETION_SCOPE_UNSPECIFIED", 3903 // "TENANT", 3904 // "PUBLIC" 3905 // ], 3906 // "enumDescriptions": [ 3907 // "Default value.", 3908 // "Suggestions are based only on the data provided by the client.", 3909 // "Suggestions are based on all jobs data in the system that's visible to the client" 3910 // ], 3911 // "location": "query", 3912 // "type": "string" 3913 // }, 3914 // "type": { 3915 // "description": "Optional. The completion topic. The default is CompletionType.COMBINED.", 3916 // "enum": [ 3917 // "COMPLETION_TYPE_UNSPECIFIED", 3918 // "JOB_TITLE", 3919 // "COMPANY_NAME", 3920 // "COMBINED" 3921 // ], 3922 // "enumDescriptions": [ 3923 // "Default value.", 3924 // "Only suggest job titles.", 3925 // "Only suggest company names.", 3926 // "Suggest both job titles and company names." 3927 // ], 3928 // "location": "query", 3929 // "type": "string" 3930 // } 3931 // }, 3932 // "path": "v3/{+name}:complete", 3933 // "response": { 3934 // "$ref": "CompleteQueryResponse" 3935 // }, 3936 // "scopes": [ 3937 // "https://www.googleapis.com/auth/cloud-platform", 3938 // "https://www.googleapis.com/auth/jobs" 3939 // ] 3940 // } 3941 3942} 3943 3944// method id "jobs.projects.clientEvents.create": 3945 3946type ProjectsClientEventsCreateCall struct { 3947 s *Service 3948 parent string 3949 createclienteventrequest *CreateClientEventRequest 3950 urlParams_ gensupport.URLParams 3951 ctx_ context.Context 3952 header_ http.Header 3953} 3954 3955// Create: Report events issued when end user interacts with customer's 3956// application that uses Cloud Talent Solution. You may inspect the 3957// created events in self service tools 3958// (https://console.cloud.google.com/talent-solution/overview). Learn 3959// more (https://cloud.google.com/talent-solution/docs/management-tools) 3960// about self service tools. 3961// 3962// - parent: Parent project name. 3963func (r *ProjectsClientEventsService) Create(parent string, createclienteventrequest *CreateClientEventRequest) *ProjectsClientEventsCreateCall { 3964 c := &ProjectsClientEventsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3965 c.parent = parent 3966 c.createclienteventrequest = createclienteventrequest 3967 return c 3968} 3969 3970// Fields allows partial responses to be retrieved. See 3971// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3972// for more information. 3973func (c *ProjectsClientEventsCreateCall) Fields(s ...googleapi.Field) *ProjectsClientEventsCreateCall { 3974 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3975 return c 3976} 3977 3978// Context sets the context to be used in this call's Do method. Any 3979// pending HTTP request will be aborted if the provided context is 3980// canceled. 3981func (c *ProjectsClientEventsCreateCall) Context(ctx context.Context) *ProjectsClientEventsCreateCall { 3982 c.ctx_ = ctx 3983 return c 3984} 3985 3986// Header returns an http.Header that can be modified by the caller to 3987// add HTTP headers to the request. 3988func (c *ProjectsClientEventsCreateCall) Header() http.Header { 3989 if c.header_ == nil { 3990 c.header_ = make(http.Header) 3991 } 3992 return c.header_ 3993} 3994 3995func (c *ProjectsClientEventsCreateCall) doRequest(alt string) (*http.Response, error) { 3996 reqHeaders := make(http.Header) 3997 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 3998 for k, v := range c.header_ { 3999 reqHeaders[k] = v 4000 } 4001 reqHeaders.Set("User-Agent", c.s.userAgent()) 4002 var body io.Reader = nil 4003 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclienteventrequest) 4004 if err != nil { 4005 return nil, err 4006 } 4007 reqHeaders.Set("Content-Type", "application/json") 4008 c.urlParams_.Set("alt", alt) 4009 c.urlParams_.Set("prettyPrint", "false") 4010 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/clientEvents") 4011 urls += "?" + c.urlParams_.Encode() 4012 req, err := http.NewRequest("POST", urls, body) 4013 if err != nil { 4014 return nil, err 4015 } 4016 req.Header = reqHeaders 4017 googleapi.Expand(req.URL, map[string]string{ 4018 "parent": c.parent, 4019 }) 4020 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4021} 4022 4023// Do executes the "jobs.projects.clientEvents.create" call. 4024// Exactly one of *ClientEvent or error will be non-nil. Any non-2xx 4025// status code is an error. Response headers are in either 4026// *ClientEvent.ServerResponse.Header or (if a response was returned at 4027// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 4028// to check whether the returned error was because 4029// http.StatusNotModified was returned. 4030func (c *ProjectsClientEventsCreateCall) Do(opts ...googleapi.CallOption) (*ClientEvent, error) { 4031 gensupport.SetOptions(c.urlParams_, opts...) 4032 res, err := c.doRequest("json") 4033 if res != nil && res.StatusCode == http.StatusNotModified { 4034 if res.Body != nil { 4035 res.Body.Close() 4036 } 4037 return nil, &googleapi.Error{ 4038 Code: res.StatusCode, 4039 Header: res.Header, 4040 } 4041 } 4042 if err != nil { 4043 return nil, err 4044 } 4045 defer googleapi.CloseBody(res) 4046 if err := googleapi.CheckResponse(res); err != nil { 4047 return nil, err 4048 } 4049 ret := &ClientEvent{ 4050 ServerResponse: googleapi.ServerResponse{ 4051 Header: res.Header, 4052 HTTPStatusCode: res.StatusCode, 4053 }, 4054 } 4055 target := &ret 4056 if err := gensupport.DecodeResponse(target, res); err != nil { 4057 return nil, err 4058 } 4059 return ret, nil 4060 // { 4061 // "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.", 4062 // "flatPath": "v3/projects/{projectsId}/clientEvents", 4063 // "httpMethod": "POST", 4064 // "id": "jobs.projects.clientEvents.create", 4065 // "parameterOrder": [ 4066 // "parent" 4067 // ], 4068 // "parameters": { 4069 // "parent": { 4070 // "description": "Parent project name.", 4071 // "location": "path", 4072 // "pattern": "^projects/[^/]+$", 4073 // "required": true, 4074 // "type": "string" 4075 // } 4076 // }, 4077 // "path": "v3/{+parent}/clientEvents", 4078 // "request": { 4079 // "$ref": "CreateClientEventRequest" 4080 // }, 4081 // "response": { 4082 // "$ref": "ClientEvent" 4083 // }, 4084 // "scopes": [ 4085 // "https://www.googleapis.com/auth/cloud-platform", 4086 // "https://www.googleapis.com/auth/jobs" 4087 // ] 4088 // } 4089 4090} 4091 4092// method id "jobs.projects.companies.create": 4093 4094type ProjectsCompaniesCreateCall struct { 4095 s *Service 4096 parent string 4097 createcompanyrequest *CreateCompanyRequest 4098 urlParams_ gensupport.URLParams 4099 ctx_ context.Context 4100 header_ http.Header 4101} 4102 4103// Create: Creates a new company entity. 4104// 4105// - parent: Resource name of the project under which the company is 4106// created. The format is "projects/{project_id}", for example, 4107// "projects/api-test-project". 4108func (r *ProjectsCompaniesService) Create(parent string, createcompanyrequest *CreateCompanyRequest) *ProjectsCompaniesCreateCall { 4109 c := &ProjectsCompaniesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4110 c.parent = parent 4111 c.createcompanyrequest = createcompanyrequest 4112 return c 4113} 4114 4115// Fields allows partial responses to be retrieved. See 4116// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4117// for more information. 4118func (c *ProjectsCompaniesCreateCall) Fields(s ...googleapi.Field) *ProjectsCompaniesCreateCall { 4119 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4120 return c 4121} 4122 4123// Context sets the context to be used in this call's Do method. Any 4124// pending HTTP request will be aborted if the provided context is 4125// canceled. 4126func (c *ProjectsCompaniesCreateCall) Context(ctx context.Context) *ProjectsCompaniesCreateCall { 4127 c.ctx_ = ctx 4128 return c 4129} 4130 4131// Header returns an http.Header that can be modified by the caller to 4132// add HTTP headers to the request. 4133func (c *ProjectsCompaniesCreateCall) Header() http.Header { 4134 if c.header_ == nil { 4135 c.header_ = make(http.Header) 4136 } 4137 return c.header_ 4138} 4139 4140func (c *ProjectsCompaniesCreateCall) doRequest(alt string) (*http.Response, error) { 4141 reqHeaders := make(http.Header) 4142 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4143 for k, v := range c.header_ { 4144 reqHeaders[k] = v 4145 } 4146 reqHeaders.Set("User-Agent", c.s.userAgent()) 4147 var body io.Reader = nil 4148 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcompanyrequest) 4149 if err != nil { 4150 return nil, err 4151 } 4152 reqHeaders.Set("Content-Type", "application/json") 4153 c.urlParams_.Set("alt", alt) 4154 c.urlParams_.Set("prettyPrint", "false") 4155 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/companies") 4156 urls += "?" + c.urlParams_.Encode() 4157 req, err := http.NewRequest("POST", urls, body) 4158 if err != nil { 4159 return nil, err 4160 } 4161 req.Header = reqHeaders 4162 googleapi.Expand(req.URL, map[string]string{ 4163 "parent": c.parent, 4164 }) 4165 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4166} 4167 4168// Do executes the "jobs.projects.companies.create" call. 4169// Exactly one of *Company or error will be non-nil. Any non-2xx status 4170// code is an error. Response headers are in either 4171// *Company.ServerResponse.Header or (if a response was returned at all) 4172// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4173// check whether the returned error was because http.StatusNotModified 4174// was returned. 4175func (c *ProjectsCompaniesCreateCall) Do(opts ...googleapi.CallOption) (*Company, error) { 4176 gensupport.SetOptions(c.urlParams_, opts...) 4177 res, err := c.doRequest("json") 4178 if res != nil && res.StatusCode == http.StatusNotModified { 4179 if res.Body != nil { 4180 res.Body.Close() 4181 } 4182 return nil, &googleapi.Error{ 4183 Code: res.StatusCode, 4184 Header: res.Header, 4185 } 4186 } 4187 if err != nil { 4188 return nil, err 4189 } 4190 defer googleapi.CloseBody(res) 4191 if err := googleapi.CheckResponse(res); err != nil { 4192 return nil, err 4193 } 4194 ret := &Company{ 4195 ServerResponse: googleapi.ServerResponse{ 4196 Header: res.Header, 4197 HTTPStatusCode: res.StatusCode, 4198 }, 4199 } 4200 target := &ret 4201 if err := gensupport.DecodeResponse(target, res); err != nil { 4202 return nil, err 4203 } 4204 return ret, nil 4205 // { 4206 // "description": "Creates a new company entity.", 4207 // "flatPath": "v3/projects/{projectsId}/companies", 4208 // "httpMethod": "POST", 4209 // "id": "jobs.projects.companies.create", 4210 // "parameterOrder": [ 4211 // "parent" 4212 // ], 4213 // "parameters": { 4214 // "parent": { 4215 // "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\".", 4216 // "location": "path", 4217 // "pattern": "^projects/[^/]+$", 4218 // "required": true, 4219 // "type": "string" 4220 // } 4221 // }, 4222 // "path": "v3/{+parent}/companies", 4223 // "request": { 4224 // "$ref": "CreateCompanyRequest" 4225 // }, 4226 // "response": { 4227 // "$ref": "Company" 4228 // }, 4229 // "scopes": [ 4230 // "https://www.googleapis.com/auth/cloud-platform", 4231 // "https://www.googleapis.com/auth/jobs" 4232 // ] 4233 // } 4234 4235} 4236 4237// method id "jobs.projects.companies.delete": 4238 4239type ProjectsCompaniesDeleteCall struct { 4240 s *Service 4241 name string 4242 urlParams_ gensupport.URLParams 4243 ctx_ context.Context 4244 header_ http.Header 4245} 4246 4247// Delete: Deletes specified company. Prerequisite: The company has no 4248// jobs associated with it. 4249// 4250// - name: The resource name of the company to be deleted. The format is 4251// "projects/{project_id}/companies/{company_id}", for example, 4252// "projects/api-test-project/companies/foo". 4253func (r *ProjectsCompaniesService) Delete(name string) *ProjectsCompaniesDeleteCall { 4254 c := &ProjectsCompaniesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4255 c.name = name 4256 return c 4257} 4258 4259// Fields allows partial responses to be retrieved. See 4260// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4261// for more information. 4262func (c *ProjectsCompaniesDeleteCall) Fields(s ...googleapi.Field) *ProjectsCompaniesDeleteCall { 4263 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4264 return c 4265} 4266 4267// Context sets the context to be used in this call's Do method. Any 4268// pending HTTP request will be aborted if the provided context is 4269// canceled. 4270func (c *ProjectsCompaniesDeleteCall) Context(ctx context.Context) *ProjectsCompaniesDeleteCall { 4271 c.ctx_ = ctx 4272 return c 4273} 4274 4275// Header returns an http.Header that can be modified by the caller to 4276// add HTTP headers to the request. 4277func (c *ProjectsCompaniesDeleteCall) Header() http.Header { 4278 if c.header_ == nil { 4279 c.header_ = make(http.Header) 4280 } 4281 return c.header_ 4282} 4283 4284func (c *ProjectsCompaniesDeleteCall) doRequest(alt string) (*http.Response, error) { 4285 reqHeaders := make(http.Header) 4286 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4287 for k, v := range c.header_ { 4288 reqHeaders[k] = v 4289 } 4290 reqHeaders.Set("User-Agent", c.s.userAgent()) 4291 var body io.Reader = nil 4292 c.urlParams_.Set("alt", alt) 4293 c.urlParams_.Set("prettyPrint", "false") 4294 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 4295 urls += "?" + c.urlParams_.Encode() 4296 req, err := http.NewRequest("DELETE", urls, body) 4297 if err != nil { 4298 return nil, err 4299 } 4300 req.Header = reqHeaders 4301 googleapi.Expand(req.URL, map[string]string{ 4302 "name": c.name, 4303 }) 4304 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4305} 4306 4307// Do executes the "jobs.projects.companies.delete" call. 4308// Exactly one of *Empty or error will be non-nil. Any non-2xx status 4309// code is an error. Response headers are in either 4310// *Empty.ServerResponse.Header or (if a response was returned at all) 4311// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4312// check whether the returned error was because http.StatusNotModified 4313// was returned. 4314func (c *ProjectsCompaniesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 4315 gensupport.SetOptions(c.urlParams_, opts...) 4316 res, err := c.doRequest("json") 4317 if res != nil && res.StatusCode == http.StatusNotModified { 4318 if res.Body != nil { 4319 res.Body.Close() 4320 } 4321 return nil, &googleapi.Error{ 4322 Code: res.StatusCode, 4323 Header: res.Header, 4324 } 4325 } 4326 if err != nil { 4327 return nil, err 4328 } 4329 defer googleapi.CloseBody(res) 4330 if err := googleapi.CheckResponse(res); err != nil { 4331 return nil, err 4332 } 4333 ret := &Empty{ 4334 ServerResponse: googleapi.ServerResponse{ 4335 Header: res.Header, 4336 HTTPStatusCode: res.StatusCode, 4337 }, 4338 } 4339 target := &ret 4340 if err := gensupport.DecodeResponse(target, res); err != nil { 4341 return nil, err 4342 } 4343 return ret, nil 4344 // { 4345 // "description": "Deletes specified company. Prerequisite: The company has no jobs associated with it.", 4346 // "flatPath": "v3/projects/{projectsId}/companies/{companiesId}", 4347 // "httpMethod": "DELETE", 4348 // "id": "jobs.projects.companies.delete", 4349 // "parameterOrder": [ 4350 // "name" 4351 // ], 4352 // "parameters": { 4353 // "name": { 4354 // "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\".", 4355 // "location": "path", 4356 // "pattern": "^projects/[^/]+/companies/[^/]+$", 4357 // "required": true, 4358 // "type": "string" 4359 // } 4360 // }, 4361 // "path": "v3/{+name}", 4362 // "response": { 4363 // "$ref": "Empty" 4364 // }, 4365 // "scopes": [ 4366 // "https://www.googleapis.com/auth/cloud-platform", 4367 // "https://www.googleapis.com/auth/jobs" 4368 // ] 4369 // } 4370 4371} 4372 4373// method id "jobs.projects.companies.get": 4374 4375type ProjectsCompaniesGetCall struct { 4376 s *Service 4377 name string 4378 urlParams_ gensupport.URLParams 4379 ifNoneMatch_ string 4380 ctx_ context.Context 4381 header_ http.Header 4382} 4383 4384// Get: Retrieves specified company. 4385// 4386// - name: The resource name of the company to be retrieved. The format 4387// is "projects/{project_id}/companies/{company_id}", for example, 4388// "projects/api-test-project/companies/foo". 4389func (r *ProjectsCompaniesService) Get(name string) *ProjectsCompaniesGetCall { 4390 c := &ProjectsCompaniesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4391 c.name = name 4392 return c 4393} 4394 4395// Fields allows partial responses to be retrieved. See 4396// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4397// for more information. 4398func (c *ProjectsCompaniesGetCall) Fields(s ...googleapi.Field) *ProjectsCompaniesGetCall { 4399 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4400 return c 4401} 4402 4403// IfNoneMatch sets the optional parameter which makes the operation 4404// fail if the object's ETag matches the given value. This is useful for 4405// getting updates only after the object has changed since the last 4406// request. Use googleapi.IsNotModified to check whether the response 4407// error from Do is the result of In-None-Match. 4408func (c *ProjectsCompaniesGetCall) IfNoneMatch(entityTag string) *ProjectsCompaniesGetCall { 4409 c.ifNoneMatch_ = entityTag 4410 return c 4411} 4412 4413// Context sets the context to be used in this call's Do method. Any 4414// pending HTTP request will be aborted if the provided context is 4415// canceled. 4416func (c *ProjectsCompaniesGetCall) Context(ctx context.Context) *ProjectsCompaniesGetCall { 4417 c.ctx_ = ctx 4418 return c 4419} 4420 4421// Header returns an http.Header that can be modified by the caller to 4422// add HTTP headers to the request. 4423func (c *ProjectsCompaniesGetCall) Header() http.Header { 4424 if c.header_ == nil { 4425 c.header_ = make(http.Header) 4426 } 4427 return c.header_ 4428} 4429 4430func (c *ProjectsCompaniesGetCall) doRequest(alt string) (*http.Response, error) { 4431 reqHeaders := make(http.Header) 4432 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4433 for k, v := range c.header_ { 4434 reqHeaders[k] = v 4435 } 4436 reqHeaders.Set("User-Agent", c.s.userAgent()) 4437 if c.ifNoneMatch_ != "" { 4438 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4439 } 4440 var body io.Reader = nil 4441 c.urlParams_.Set("alt", alt) 4442 c.urlParams_.Set("prettyPrint", "false") 4443 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 4444 urls += "?" + c.urlParams_.Encode() 4445 req, err := http.NewRequest("GET", urls, body) 4446 if err != nil { 4447 return nil, err 4448 } 4449 req.Header = reqHeaders 4450 googleapi.Expand(req.URL, map[string]string{ 4451 "name": c.name, 4452 }) 4453 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4454} 4455 4456// Do executes the "jobs.projects.companies.get" call. 4457// Exactly one of *Company or error will be non-nil. Any non-2xx status 4458// code is an error. Response headers are in either 4459// *Company.ServerResponse.Header or (if a response was returned at all) 4460// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4461// check whether the returned error was because http.StatusNotModified 4462// was returned. 4463func (c *ProjectsCompaniesGetCall) Do(opts ...googleapi.CallOption) (*Company, error) { 4464 gensupport.SetOptions(c.urlParams_, opts...) 4465 res, err := c.doRequest("json") 4466 if res != nil && res.StatusCode == http.StatusNotModified { 4467 if res.Body != nil { 4468 res.Body.Close() 4469 } 4470 return nil, &googleapi.Error{ 4471 Code: res.StatusCode, 4472 Header: res.Header, 4473 } 4474 } 4475 if err != nil { 4476 return nil, err 4477 } 4478 defer googleapi.CloseBody(res) 4479 if err := googleapi.CheckResponse(res); err != nil { 4480 return nil, err 4481 } 4482 ret := &Company{ 4483 ServerResponse: googleapi.ServerResponse{ 4484 Header: res.Header, 4485 HTTPStatusCode: res.StatusCode, 4486 }, 4487 } 4488 target := &ret 4489 if err := gensupport.DecodeResponse(target, res); err != nil { 4490 return nil, err 4491 } 4492 return ret, nil 4493 // { 4494 // "description": "Retrieves specified company.", 4495 // "flatPath": "v3/projects/{projectsId}/companies/{companiesId}", 4496 // "httpMethod": "GET", 4497 // "id": "jobs.projects.companies.get", 4498 // "parameterOrder": [ 4499 // "name" 4500 // ], 4501 // "parameters": { 4502 // "name": { 4503 // "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\".", 4504 // "location": "path", 4505 // "pattern": "^projects/[^/]+/companies/[^/]+$", 4506 // "required": true, 4507 // "type": "string" 4508 // } 4509 // }, 4510 // "path": "v3/{+name}", 4511 // "response": { 4512 // "$ref": "Company" 4513 // }, 4514 // "scopes": [ 4515 // "https://www.googleapis.com/auth/cloud-platform", 4516 // "https://www.googleapis.com/auth/jobs" 4517 // ] 4518 // } 4519 4520} 4521 4522// method id "jobs.projects.companies.list": 4523 4524type ProjectsCompaniesListCall struct { 4525 s *Service 4526 parent string 4527 urlParams_ gensupport.URLParams 4528 ifNoneMatch_ string 4529 ctx_ context.Context 4530 header_ http.Header 4531} 4532 4533// List: Lists all companies associated with the service account. 4534// 4535// - parent: Resource name of the project under which the company is 4536// created. The format is "projects/{project_id}", for example, 4537// "projects/api-test-project". 4538func (r *ProjectsCompaniesService) List(parent string) *ProjectsCompaniesListCall { 4539 c := &ProjectsCompaniesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4540 c.parent = parent 4541 return c 4542} 4543 4544// PageSize sets the optional parameter "pageSize": The maximum number 4545// of companies to be returned, at most 100. Default is 100 if a 4546// non-positive number is provided. 4547func (c *ProjectsCompaniesListCall) PageSize(pageSize int64) *ProjectsCompaniesListCall { 4548 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 4549 return c 4550} 4551 4552// PageToken sets the optional parameter "pageToken": The starting 4553// indicator from which to return results. 4554func (c *ProjectsCompaniesListCall) PageToken(pageToken string) *ProjectsCompaniesListCall { 4555 c.urlParams_.Set("pageToken", pageToken) 4556 return c 4557} 4558 4559// RequireOpenJobs sets the optional parameter "requireOpenJobs": Set to 4560// true if the companies requested must have open jobs. Defaults to 4561// false. If true, at most page_size of companies are fetched, among 4562// which only those with open jobs are returned. 4563func (c *ProjectsCompaniesListCall) RequireOpenJobs(requireOpenJobs bool) *ProjectsCompaniesListCall { 4564 c.urlParams_.Set("requireOpenJobs", fmt.Sprint(requireOpenJobs)) 4565 return c 4566} 4567 4568// Fields allows partial responses to be retrieved. See 4569// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4570// for more information. 4571func (c *ProjectsCompaniesListCall) Fields(s ...googleapi.Field) *ProjectsCompaniesListCall { 4572 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4573 return c 4574} 4575 4576// IfNoneMatch sets the optional parameter which makes the operation 4577// fail if the object's ETag matches the given value. This is useful for 4578// getting updates only after the object has changed since the last 4579// request. Use googleapi.IsNotModified to check whether the response 4580// error from Do is the result of In-None-Match. 4581func (c *ProjectsCompaniesListCall) IfNoneMatch(entityTag string) *ProjectsCompaniesListCall { 4582 c.ifNoneMatch_ = entityTag 4583 return c 4584} 4585 4586// Context sets the context to be used in this call's Do method. Any 4587// pending HTTP request will be aborted if the provided context is 4588// canceled. 4589func (c *ProjectsCompaniesListCall) Context(ctx context.Context) *ProjectsCompaniesListCall { 4590 c.ctx_ = ctx 4591 return c 4592} 4593 4594// Header returns an http.Header that can be modified by the caller to 4595// add HTTP headers to the request. 4596func (c *ProjectsCompaniesListCall) Header() http.Header { 4597 if c.header_ == nil { 4598 c.header_ = make(http.Header) 4599 } 4600 return c.header_ 4601} 4602 4603func (c *ProjectsCompaniesListCall) doRequest(alt string) (*http.Response, error) { 4604 reqHeaders := make(http.Header) 4605 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4606 for k, v := range c.header_ { 4607 reqHeaders[k] = v 4608 } 4609 reqHeaders.Set("User-Agent", c.s.userAgent()) 4610 if c.ifNoneMatch_ != "" { 4611 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4612 } 4613 var body io.Reader = nil 4614 c.urlParams_.Set("alt", alt) 4615 c.urlParams_.Set("prettyPrint", "false") 4616 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/companies") 4617 urls += "?" + c.urlParams_.Encode() 4618 req, err := http.NewRequest("GET", urls, body) 4619 if err != nil { 4620 return nil, err 4621 } 4622 req.Header = reqHeaders 4623 googleapi.Expand(req.URL, map[string]string{ 4624 "parent": c.parent, 4625 }) 4626 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4627} 4628 4629// Do executes the "jobs.projects.companies.list" call. 4630// Exactly one of *ListCompaniesResponse or error will be non-nil. Any 4631// non-2xx status code is an error. Response headers are in either 4632// *ListCompaniesResponse.ServerResponse.Header or (if a response was 4633// returned at all) in error.(*googleapi.Error).Header. Use 4634// googleapi.IsNotModified to check whether the returned error was 4635// because http.StatusNotModified was returned. 4636func (c *ProjectsCompaniesListCall) Do(opts ...googleapi.CallOption) (*ListCompaniesResponse, error) { 4637 gensupport.SetOptions(c.urlParams_, opts...) 4638 res, err := c.doRequest("json") 4639 if res != nil && res.StatusCode == http.StatusNotModified { 4640 if res.Body != nil { 4641 res.Body.Close() 4642 } 4643 return nil, &googleapi.Error{ 4644 Code: res.StatusCode, 4645 Header: res.Header, 4646 } 4647 } 4648 if err != nil { 4649 return nil, err 4650 } 4651 defer googleapi.CloseBody(res) 4652 if err := googleapi.CheckResponse(res); err != nil { 4653 return nil, err 4654 } 4655 ret := &ListCompaniesResponse{ 4656 ServerResponse: googleapi.ServerResponse{ 4657 Header: res.Header, 4658 HTTPStatusCode: res.StatusCode, 4659 }, 4660 } 4661 target := &ret 4662 if err := gensupport.DecodeResponse(target, res); err != nil { 4663 return nil, err 4664 } 4665 return ret, nil 4666 // { 4667 // "description": "Lists all companies associated with the service account.", 4668 // "flatPath": "v3/projects/{projectsId}/companies", 4669 // "httpMethod": "GET", 4670 // "id": "jobs.projects.companies.list", 4671 // "parameterOrder": [ 4672 // "parent" 4673 // ], 4674 // "parameters": { 4675 // "pageSize": { 4676 // "description": "Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided.", 4677 // "format": "int32", 4678 // "location": "query", 4679 // "type": "integer" 4680 // }, 4681 // "pageToken": { 4682 // "description": "Optional. The starting indicator from which to return results.", 4683 // "location": "query", 4684 // "type": "string" 4685 // }, 4686 // "parent": { 4687 // "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\".", 4688 // "location": "path", 4689 // "pattern": "^projects/[^/]+$", 4690 // "required": true, 4691 // "type": "string" 4692 // }, 4693 // "requireOpenJobs": { 4694 // "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.", 4695 // "location": "query", 4696 // "type": "boolean" 4697 // } 4698 // }, 4699 // "path": "v3/{+parent}/companies", 4700 // "response": { 4701 // "$ref": "ListCompaniesResponse" 4702 // }, 4703 // "scopes": [ 4704 // "https://www.googleapis.com/auth/cloud-platform", 4705 // "https://www.googleapis.com/auth/jobs" 4706 // ] 4707 // } 4708 4709} 4710 4711// Pages invokes f for each page of results. 4712// A non-nil error returned from f will halt the iteration. 4713// The provided context supersedes any context provided to the Context method. 4714func (c *ProjectsCompaniesListCall) Pages(ctx context.Context, f func(*ListCompaniesResponse) error) error { 4715 c.ctx_ = ctx 4716 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 4717 for { 4718 x, err := c.Do() 4719 if err != nil { 4720 return err 4721 } 4722 if err := f(x); err != nil { 4723 return err 4724 } 4725 if x.NextPageToken == "" { 4726 return nil 4727 } 4728 c.PageToken(x.NextPageToken) 4729 } 4730} 4731 4732// method id "jobs.projects.companies.patch": 4733 4734type ProjectsCompaniesPatchCall struct { 4735 s *Service 4736 name string 4737 updatecompanyrequest *UpdateCompanyRequest 4738 urlParams_ gensupport.URLParams 4739 ctx_ context.Context 4740 header_ http.Header 4741} 4742 4743// Patch: Updates specified company. Company names can't be updated. To 4744// update a company name, delete the company and all jobs associated 4745// with it, and only then re-create them. 4746// 4747// - name: Required during company update. The resource name for a 4748// company. This is generated by the service when a company is 4749// created. The format is 4750// "projects/{project_id}/companies/{company_id}", for example, 4751// "projects/api-test-project/companies/foo". 4752func (r *ProjectsCompaniesService) Patch(name string, updatecompanyrequest *UpdateCompanyRequest) *ProjectsCompaniesPatchCall { 4753 c := &ProjectsCompaniesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4754 c.name = name 4755 c.updatecompanyrequest = updatecompanyrequest 4756 return c 4757} 4758 4759// Fields allows partial responses to be retrieved. See 4760// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4761// for more information. 4762func (c *ProjectsCompaniesPatchCall) Fields(s ...googleapi.Field) *ProjectsCompaniesPatchCall { 4763 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4764 return c 4765} 4766 4767// Context sets the context to be used in this call's Do method. Any 4768// pending HTTP request will be aborted if the provided context is 4769// canceled. 4770func (c *ProjectsCompaniesPatchCall) Context(ctx context.Context) *ProjectsCompaniesPatchCall { 4771 c.ctx_ = ctx 4772 return c 4773} 4774 4775// Header returns an http.Header that can be modified by the caller to 4776// add HTTP headers to the request. 4777func (c *ProjectsCompaniesPatchCall) Header() http.Header { 4778 if c.header_ == nil { 4779 c.header_ = make(http.Header) 4780 } 4781 return c.header_ 4782} 4783 4784func (c *ProjectsCompaniesPatchCall) doRequest(alt string) (*http.Response, error) { 4785 reqHeaders := make(http.Header) 4786 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4787 for k, v := range c.header_ { 4788 reqHeaders[k] = v 4789 } 4790 reqHeaders.Set("User-Agent", c.s.userAgent()) 4791 var body io.Reader = nil 4792 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatecompanyrequest) 4793 if err != nil { 4794 return nil, err 4795 } 4796 reqHeaders.Set("Content-Type", "application/json") 4797 c.urlParams_.Set("alt", alt) 4798 c.urlParams_.Set("prettyPrint", "false") 4799 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 4800 urls += "?" + c.urlParams_.Encode() 4801 req, err := http.NewRequest("PATCH", urls, body) 4802 if err != nil { 4803 return nil, err 4804 } 4805 req.Header = reqHeaders 4806 googleapi.Expand(req.URL, map[string]string{ 4807 "name": c.name, 4808 }) 4809 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4810} 4811 4812// Do executes the "jobs.projects.companies.patch" call. 4813// Exactly one of *Company or error will be non-nil. Any non-2xx status 4814// code is an error. Response headers are in either 4815// *Company.ServerResponse.Header or (if a response was returned at all) 4816// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4817// check whether the returned error was because http.StatusNotModified 4818// was returned. 4819func (c *ProjectsCompaniesPatchCall) Do(opts ...googleapi.CallOption) (*Company, error) { 4820 gensupport.SetOptions(c.urlParams_, opts...) 4821 res, err := c.doRequest("json") 4822 if res != nil && res.StatusCode == http.StatusNotModified { 4823 if res.Body != nil { 4824 res.Body.Close() 4825 } 4826 return nil, &googleapi.Error{ 4827 Code: res.StatusCode, 4828 Header: res.Header, 4829 } 4830 } 4831 if err != nil { 4832 return nil, err 4833 } 4834 defer googleapi.CloseBody(res) 4835 if err := googleapi.CheckResponse(res); err != nil { 4836 return nil, err 4837 } 4838 ret := &Company{ 4839 ServerResponse: googleapi.ServerResponse{ 4840 Header: res.Header, 4841 HTTPStatusCode: res.StatusCode, 4842 }, 4843 } 4844 target := &ret 4845 if err := gensupport.DecodeResponse(target, res); err != nil { 4846 return nil, err 4847 } 4848 return ret, nil 4849 // { 4850 // "description": "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.", 4851 // "flatPath": "v3/projects/{projectsId}/companies/{companiesId}", 4852 // "httpMethod": "PATCH", 4853 // "id": "jobs.projects.companies.patch", 4854 // "parameterOrder": [ 4855 // "name" 4856 // ], 4857 // "parameters": { 4858 // "name": { 4859 // "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\".", 4860 // "location": "path", 4861 // "pattern": "^projects/[^/]+/companies/[^/]+$", 4862 // "required": true, 4863 // "type": "string" 4864 // } 4865 // }, 4866 // "path": "v3/{+name}", 4867 // "request": { 4868 // "$ref": "UpdateCompanyRequest" 4869 // }, 4870 // "response": { 4871 // "$ref": "Company" 4872 // }, 4873 // "scopes": [ 4874 // "https://www.googleapis.com/auth/cloud-platform", 4875 // "https://www.googleapis.com/auth/jobs" 4876 // ] 4877 // } 4878 4879} 4880 4881// method id "jobs.projects.jobs.batchDelete": 4882 4883type ProjectsJobsBatchDeleteCall struct { 4884 s *Service 4885 parent string 4886 batchdeletejobsrequest *BatchDeleteJobsRequest 4887 urlParams_ gensupport.URLParams 4888 ctx_ context.Context 4889 header_ http.Header 4890} 4891 4892// BatchDelete: Deletes a list of Jobs by filter. 4893// 4894// - parent: The resource name of the project under which the job is 4895// created. The format is "projects/{project_id}", for example, 4896// "projects/api-test-project". 4897func (r *ProjectsJobsService) BatchDelete(parent string, batchdeletejobsrequest *BatchDeleteJobsRequest) *ProjectsJobsBatchDeleteCall { 4898 c := &ProjectsJobsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4899 c.parent = parent 4900 c.batchdeletejobsrequest = batchdeletejobsrequest 4901 return c 4902} 4903 4904// Fields allows partial responses to be retrieved. See 4905// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 4906// for more information. 4907func (c *ProjectsJobsBatchDeleteCall) Fields(s ...googleapi.Field) *ProjectsJobsBatchDeleteCall { 4908 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4909 return c 4910} 4911 4912// Context sets the context to be used in this call's Do method. Any 4913// pending HTTP request will be aborted if the provided context is 4914// canceled. 4915func (c *ProjectsJobsBatchDeleteCall) Context(ctx context.Context) *ProjectsJobsBatchDeleteCall { 4916 c.ctx_ = ctx 4917 return c 4918} 4919 4920// Header returns an http.Header that can be modified by the caller to 4921// add HTTP headers to the request. 4922func (c *ProjectsJobsBatchDeleteCall) Header() http.Header { 4923 if c.header_ == nil { 4924 c.header_ = make(http.Header) 4925 } 4926 return c.header_ 4927} 4928 4929func (c *ProjectsJobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) { 4930 reqHeaders := make(http.Header) 4931 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 4932 for k, v := range c.header_ { 4933 reqHeaders[k] = v 4934 } 4935 reqHeaders.Set("User-Agent", c.s.userAgent()) 4936 var body io.Reader = nil 4937 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeletejobsrequest) 4938 if err != nil { 4939 return nil, err 4940 } 4941 reqHeaders.Set("Content-Type", "application/json") 4942 c.urlParams_.Set("alt", alt) 4943 c.urlParams_.Set("prettyPrint", "false") 4944 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/jobs:batchDelete") 4945 urls += "?" + c.urlParams_.Encode() 4946 req, err := http.NewRequest("POST", urls, body) 4947 if err != nil { 4948 return nil, err 4949 } 4950 req.Header = reqHeaders 4951 googleapi.Expand(req.URL, map[string]string{ 4952 "parent": c.parent, 4953 }) 4954 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4955} 4956 4957// Do executes the "jobs.projects.jobs.batchDelete" call. 4958// Exactly one of *Empty or error will be non-nil. Any non-2xx status 4959// code is an error. Response headers are in either 4960// *Empty.ServerResponse.Header or (if a response was returned at all) 4961// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4962// check whether the returned error was because http.StatusNotModified 4963// was returned. 4964func (c *ProjectsJobsBatchDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 4965 gensupport.SetOptions(c.urlParams_, opts...) 4966 res, err := c.doRequest("json") 4967 if res != nil && res.StatusCode == http.StatusNotModified { 4968 if res.Body != nil { 4969 res.Body.Close() 4970 } 4971 return nil, &googleapi.Error{ 4972 Code: res.StatusCode, 4973 Header: res.Header, 4974 } 4975 } 4976 if err != nil { 4977 return nil, err 4978 } 4979 defer googleapi.CloseBody(res) 4980 if err := googleapi.CheckResponse(res); err != nil { 4981 return nil, err 4982 } 4983 ret := &Empty{ 4984 ServerResponse: googleapi.ServerResponse{ 4985 Header: res.Header, 4986 HTTPStatusCode: res.StatusCode, 4987 }, 4988 } 4989 target := &ret 4990 if err := gensupport.DecodeResponse(target, res); err != nil { 4991 return nil, err 4992 } 4993 return ret, nil 4994 // { 4995 // "description": "Deletes a list of Jobs by filter.", 4996 // "flatPath": "v3/projects/{projectsId}/jobs:batchDelete", 4997 // "httpMethod": "POST", 4998 // "id": "jobs.projects.jobs.batchDelete", 4999 // "parameterOrder": [ 5000 // "parent" 5001 // ], 5002 // "parameters": { 5003 // "parent": { 5004 // "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\".", 5005 // "location": "path", 5006 // "pattern": "^projects/[^/]+$", 5007 // "required": true, 5008 // "type": "string" 5009 // } 5010 // }, 5011 // "path": "v3/{+parent}/jobs:batchDelete", 5012 // "request": { 5013 // "$ref": "BatchDeleteJobsRequest" 5014 // }, 5015 // "response": { 5016 // "$ref": "Empty" 5017 // }, 5018 // "scopes": [ 5019 // "https://www.googleapis.com/auth/cloud-platform", 5020 // "https://www.googleapis.com/auth/jobs" 5021 // ] 5022 // } 5023 5024} 5025 5026// method id "jobs.projects.jobs.create": 5027 5028type ProjectsJobsCreateCall struct { 5029 s *Service 5030 parent string 5031 createjobrequest *CreateJobRequest 5032 urlParams_ gensupport.URLParams 5033 ctx_ context.Context 5034 header_ http.Header 5035} 5036 5037// Create: Creates a new job. Typically, the job becomes searchable 5038// within 10 seconds, but it may take up to 5 minutes. 5039// 5040// - parent: The resource name of the project under which the job is 5041// created. The format is "projects/{project_id}", for example, 5042// "projects/api-test-project". 5043func (r *ProjectsJobsService) Create(parent string, createjobrequest *CreateJobRequest) *ProjectsJobsCreateCall { 5044 c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5045 c.parent = parent 5046 c.createjobrequest = createjobrequest 5047 return c 5048} 5049 5050// Fields allows partial responses to be retrieved. See 5051// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5052// for more information. 5053func (c *ProjectsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsJobsCreateCall { 5054 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5055 return c 5056} 5057 5058// Context sets the context to be used in this call's Do method. Any 5059// pending HTTP request will be aborted if the provided context is 5060// canceled. 5061func (c *ProjectsJobsCreateCall) Context(ctx context.Context) *ProjectsJobsCreateCall { 5062 c.ctx_ = ctx 5063 return c 5064} 5065 5066// Header returns an http.Header that can be modified by the caller to 5067// add HTTP headers to the request. 5068func (c *ProjectsJobsCreateCall) Header() http.Header { 5069 if c.header_ == nil { 5070 c.header_ = make(http.Header) 5071 } 5072 return c.header_ 5073} 5074 5075func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) { 5076 reqHeaders := make(http.Header) 5077 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5078 for k, v := range c.header_ { 5079 reqHeaders[k] = v 5080 } 5081 reqHeaders.Set("User-Agent", c.s.userAgent()) 5082 var body io.Reader = nil 5083 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createjobrequest) 5084 if err != nil { 5085 return nil, err 5086 } 5087 reqHeaders.Set("Content-Type", "application/json") 5088 c.urlParams_.Set("alt", alt) 5089 c.urlParams_.Set("prettyPrint", "false") 5090 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/jobs") 5091 urls += "?" + c.urlParams_.Encode() 5092 req, err := http.NewRequest("POST", urls, body) 5093 if err != nil { 5094 return nil, err 5095 } 5096 req.Header = reqHeaders 5097 googleapi.Expand(req.URL, map[string]string{ 5098 "parent": c.parent, 5099 }) 5100 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5101} 5102 5103// Do executes the "jobs.projects.jobs.create" call. 5104// Exactly one of *Job or error will be non-nil. Any non-2xx status code 5105// is an error. Response headers are in either 5106// *Job.ServerResponse.Header or (if a response was returned at all) in 5107// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5108// whether the returned error was because http.StatusNotModified was 5109// returned. 5110func (c *ProjectsJobsCreateCall) Do(opts ...googleapi.CallOption) (*Job, error) { 5111 gensupport.SetOptions(c.urlParams_, opts...) 5112 res, err := c.doRequest("json") 5113 if res != nil && res.StatusCode == http.StatusNotModified { 5114 if res.Body != nil { 5115 res.Body.Close() 5116 } 5117 return nil, &googleapi.Error{ 5118 Code: res.StatusCode, 5119 Header: res.Header, 5120 } 5121 } 5122 if err != nil { 5123 return nil, err 5124 } 5125 defer googleapi.CloseBody(res) 5126 if err := googleapi.CheckResponse(res); err != nil { 5127 return nil, err 5128 } 5129 ret := &Job{ 5130 ServerResponse: googleapi.ServerResponse{ 5131 Header: res.Header, 5132 HTTPStatusCode: res.StatusCode, 5133 }, 5134 } 5135 target := &ret 5136 if err := gensupport.DecodeResponse(target, res); err != nil { 5137 return nil, err 5138 } 5139 return ret, nil 5140 // { 5141 // "description": "Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.", 5142 // "flatPath": "v3/projects/{projectsId}/jobs", 5143 // "httpMethod": "POST", 5144 // "id": "jobs.projects.jobs.create", 5145 // "parameterOrder": [ 5146 // "parent" 5147 // ], 5148 // "parameters": { 5149 // "parent": { 5150 // "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\".", 5151 // "location": "path", 5152 // "pattern": "^projects/[^/]+$", 5153 // "required": true, 5154 // "type": "string" 5155 // } 5156 // }, 5157 // "path": "v3/{+parent}/jobs", 5158 // "request": { 5159 // "$ref": "CreateJobRequest" 5160 // }, 5161 // "response": { 5162 // "$ref": "Job" 5163 // }, 5164 // "scopes": [ 5165 // "https://www.googleapis.com/auth/cloud-platform", 5166 // "https://www.googleapis.com/auth/jobs" 5167 // ] 5168 // } 5169 5170} 5171 5172// method id "jobs.projects.jobs.delete": 5173 5174type ProjectsJobsDeleteCall struct { 5175 s *Service 5176 name string 5177 urlParams_ gensupport.URLParams 5178 ctx_ context.Context 5179 header_ http.Header 5180} 5181 5182// Delete: Deletes the specified job. Typically, the job becomes 5183// unsearchable within 10 seconds, but it may take up to 5 minutes. 5184// 5185// - name: The resource name of the job to be deleted. The format is 5186// "projects/{project_id}/jobs/{job_id}", for example, 5187// "projects/api-test-project/jobs/1234". 5188func (r *ProjectsJobsService) Delete(name string) *ProjectsJobsDeleteCall { 5189 c := &ProjectsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5190 c.name = name 5191 return c 5192} 5193 5194// Fields allows partial responses to be retrieved. See 5195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5196// for more information. 5197func (c *ProjectsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsJobsDeleteCall { 5198 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5199 return c 5200} 5201 5202// Context sets the context to be used in this call's Do method. Any 5203// pending HTTP request will be aborted if the provided context is 5204// canceled. 5205func (c *ProjectsJobsDeleteCall) Context(ctx context.Context) *ProjectsJobsDeleteCall { 5206 c.ctx_ = ctx 5207 return c 5208} 5209 5210// Header returns an http.Header that can be modified by the caller to 5211// add HTTP headers to the request. 5212func (c *ProjectsJobsDeleteCall) Header() http.Header { 5213 if c.header_ == nil { 5214 c.header_ = make(http.Header) 5215 } 5216 return c.header_ 5217} 5218 5219func (c *ProjectsJobsDeleteCall) doRequest(alt string) (*http.Response, error) { 5220 reqHeaders := make(http.Header) 5221 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5222 for k, v := range c.header_ { 5223 reqHeaders[k] = v 5224 } 5225 reqHeaders.Set("User-Agent", c.s.userAgent()) 5226 var body io.Reader = nil 5227 c.urlParams_.Set("alt", alt) 5228 c.urlParams_.Set("prettyPrint", "false") 5229 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 5230 urls += "?" + c.urlParams_.Encode() 5231 req, err := http.NewRequest("DELETE", urls, body) 5232 if err != nil { 5233 return nil, err 5234 } 5235 req.Header = reqHeaders 5236 googleapi.Expand(req.URL, map[string]string{ 5237 "name": c.name, 5238 }) 5239 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5240} 5241 5242// Do executes the "jobs.projects.jobs.delete" call. 5243// Exactly one of *Empty or error will be non-nil. Any non-2xx status 5244// code is an error. Response headers are in either 5245// *Empty.ServerResponse.Header or (if a response was returned at all) 5246// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5247// check whether the returned error was because http.StatusNotModified 5248// was returned. 5249func (c *ProjectsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 5250 gensupport.SetOptions(c.urlParams_, opts...) 5251 res, err := c.doRequest("json") 5252 if res != nil && res.StatusCode == http.StatusNotModified { 5253 if res.Body != nil { 5254 res.Body.Close() 5255 } 5256 return nil, &googleapi.Error{ 5257 Code: res.StatusCode, 5258 Header: res.Header, 5259 } 5260 } 5261 if err != nil { 5262 return nil, err 5263 } 5264 defer googleapi.CloseBody(res) 5265 if err := googleapi.CheckResponse(res); err != nil { 5266 return nil, err 5267 } 5268 ret := &Empty{ 5269 ServerResponse: googleapi.ServerResponse{ 5270 Header: res.Header, 5271 HTTPStatusCode: res.StatusCode, 5272 }, 5273 } 5274 target := &ret 5275 if err := gensupport.DecodeResponse(target, res); err != nil { 5276 return nil, err 5277 } 5278 return ret, nil 5279 // { 5280 // "description": "Deletes the specified job. Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes.", 5281 // "flatPath": "v3/projects/{projectsId}/jobs/{jobsId}", 5282 // "httpMethod": "DELETE", 5283 // "id": "jobs.projects.jobs.delete", 5284 // "parameterOrder": [ 5285 // "name" 5286 // ], 5287 // "parameters": { 5288 // "name": { 5289 // "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\".", 5290 // "location": "path", 5291 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 5292 // "required": true, 5293 // "type": "string" 5294 // } 5295 // }, 5296 // "path": "v3/{+name}", 5297 // "response": { 5298 // "$ref": "Empty" 5299 // }, 5300 // "scopes": [ 5301 // "https://www.googleapis.com/auth/cloud-platform", 5302 // "https://www.googleapis.com/auth/jobs" 5303 // ] 5304 // } 5305 5306} 5307 5308// method id "jobs.projects.jobs.get": 5309 5310type ProjectsJobsGetCall struct { 5311 s *Service 5312 name string 5313 urlParams_ gensupport.URLParams 5314 ifNoneMatch_ string 5315 ctx_ context.Context 5316 header_ http.Header 5317} 5318 5319// Get: Retrieves the specified job, whose status is OPEN or recently 5320// EXPIRED within the last 90 days. 5321// 5322// - name: The resource name of the job to retrieve. The format is 5323// "projects/{project_id}/jobs/{job_id}", for example, 5324// "projects/api-test-project/jobs/1234". 5325func (r *ProjectsJobsService) Get(name string) *ProjectsJobsGetCall { 5326 c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5327 c.name = name 5328 return c 5329} 5330 5331// Fields allows partial responses to be retrieved. See 5332// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5333// for more information. 5334func (c *ProjectsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsJobsGetCall { 5335 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5336 return c 5337} 5338 5339// IfNoneMatch sets the optional parameter which makes the operation 5340// fail if the object's ETag matches the given value. This is useful for 5341// getting updates only after the object has changed since the last 5342// request. Use googleapi.IsNotModified to check whether the response 5343// error from Do is the result of In-None-Match. 5344func (c *ProjectsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsJobsGetCall { 5345 c.ifNoneMatch_ = entityTag 5346 return c 5347} 5348 5349// Context sets the context to be used in this call's Do method. Any 5350// pending HTTP request will be aborted if the provided context is 5351// canceled. 5352func (c *ProjectsJobsGetCall) Context(ctx context.Context) *ProjectsJobsGetCall { 5353 c.ctx_ = ctx 5354 return c 5355} 5356 5357// Header returns an http.Header that can be modified by the caller to 5358// add HTTP headers to the request. 5359func (c *ProjectsJobsGetCall) Header() http.Header { 5360 if c.header_ == nil { 5361 c.header_ = make(http.Header) 5362 } 5363 return c.header_ 5364} 5365 5366func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) { 5367 reqHeaders := make(http.Header) 5368 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5369 for k, v := range c.header_ { 5370 reqHeaders[k] = v 5371 } 5372 reqHeaders.Set("User-Agent", c.s.userAgent()) 5373 if c.ifNoneMatch_ != "" { 5374 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5375 } 5376 var body io.Reader = nil 5377 c.urlParams_.Set("alt", alt) 5378 c.urlParams_.Set("prettyPrint", "false") 5379 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 5380 urls += "?" + c.urlParams_.Encode() 5381 req, err := http.NewRequest("GET", urls, body) 5382 if err != nil { 5383 return nil, err 5384 } 5385 req.Header = reqHeaders 5386 googleapi.Expand(req.URL, map[string]string{ 5387 "name": c.name, 5388 }) 5389 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5390} 5391 5392// Do executes the "jobs.projects.jobs.get" call. 5393// Exactly one of *Job or error will be non-nil. Any non-2xx status code 5394// is an error. Response headers are in either 5395// *Job.ServerResponse.Header or (if a response was returned at all) in 5396// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5397// whether the returned error was because http.StatusNotModified was 5398// returned. 5399func (c *ProjectsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) { 5400 gensupport.SetOptions(c.urlParams_, opts...) 5401 res, err := c.doRequest("json") 5402 if res != nil && res.StatusCode == http.StatusNotModified { 5403 if res.Body != nil { 5404 res.Body.Close() 5405 } 5406 return nil, &googleapi.Error{ 5407 Code: res.StatusCode, 5408 Header: res.Header, 5409 } 5410 } 5411 if err != nil { 5412 return nil, err 5413 } 5414 defer googleapi.CloseBody(res) 5415 if err := googleapi.CheckResponse(res); err != nil { 5416 return nil, err 5417 } 5418 ret := &Job{ 5419 ServerResponse: googleapi.ServerResponse{ 5420 Header: res.Header, 5421 HTTPStatusCode: res.StatusCode, 5422 }, 5423 } 5424 target := &ret 5425 if err := gensupport.DecodeResponse(target, res); err != nil { 5426 return nil, err 5427 } 5428 return ret, nil 5429 // { 5430 // "description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED within the last 90 days.", 5431 // "flatPath": "v3/projects/{projectsId}/jobs/{jobsId}", 5432 // "httpMethod": "GET", 5433 // "id": "jobs.projects.jobs.get", 5434 // "parameterOrder": [ 5435 // "name" 5436 // ], 5437 // "parameters": { 5438 // "name": { 5439 // "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\".", 5440 // "location": "path", 5441 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 5442 // "required": true, 5443 // "type": "string" 5444 // } 5445 // }, 5446 // "path": "v3/{+name}", 5447 // "response": { 5448 // "$ref": "Job" 5449 // }, 5450 // "scopes": [ 5451 // "https://www.googleapis.com/auth/cloud-platform", 5452 // "https://www.googleapis.com/auth/jobs" 5453 // ] 5454 // } 5455 5456} 5457 5458// method id "jobs.projects.jobs.list": 5459 5460type ProjectsJobsListCall struct { 5461 s *Service 5462 parent string 5463 urlParams_ gensupport.URLParams 5464 ifNoneMatch_ string 5465 ctx_ context.Context 5466 header_ http.Header 5467} 5468 5469// List: Lists jobs by filter. 5470// 5471// - parent: The resource name of the project under which the job is 5472// created. The format is "projects/{project_id}", for example, 5473// "projects/api-test-project". 5474func (r *ProjectsJobsService) List(parent string) *ProjectsJobsListCall { 5475 c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5476 c.parent = parent 5477 return c 5478} 5479 5480// Filter sets the optional parameter "filter": Required. The filter 5481// string specifies the jobs to be enumerated. Supported operator: =, 5482// AND The fields eligible for filtering are: * `companyName` (Required) 5483// * `requisitionId` (Optional) Sample Query: * companyName = 5484// "projects/api-test-project/companies/123" * companyName = 5485// "projects/api-test-project/companies/123" AND requisitionId = "req-1" 5486func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall { 5487 c.urlParams_.Set("filter", filter) 5488 return c 5489} 5490 5491// JobView sets the optional parameter "jobView": The desired job 5492// attributes returned for jobs in the search response. Defaults to 5493// JobView.JOB_VIEW_FULL if no value is specified. 5494// 5495// Possible values: 5496// "JOB_VIEW_UNSPECIFIED" - Default value. 5497// "JOB_VIEW_ID_ONLY" - A ID only view of job, with following 5498// attributes: Job.name, Job.requisition_id, Job.language_code. 5499// "JOB_VIEW_MINIMAL" - A minimal view of the job, with the following 5500// attributes: Job.name, Job.requisition_id, Job.title, 5501// Job.company_name, Job.DerivedInfo.locations, Job.language_code. 5502// "JOB_VIEW_SMALL" - A small view of the job, with the following 5503// attributes in the search results: Job.name, Job.requisition_id, 5504// Job.title, Job.company_name, Job.DerivedInfo.locations, 5505// Job.visibility, Job.language_code, Job.description. 5506// "JOB_VIEW_FULL" - All available attributes are included in the 5507// search results. 5508func (c *ProjectsJobsListCall) JobView(jobView string) *ProjectsJobsListCall { 5509 c.urlParams_.Set("jobView", jobView) 5510 return c 5511} 5512 5513// PageSize sets the optional parameter "pageSize": The maximum number 5514// of jobs to be returned per page of results. If job_view is set to 5515// JobView.JOB_VIEW_ID_ONLY, the maximum allowed page size is 1000. 5516// Otherwise, the maximum allowed page size is 100. Default is 100 if 5517// empty or a number < 1 is specified. 5518func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall { 5519 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 5520 return c 5521} 5522 5523// PageToken sets the optional parameter "pageToken": The starting point 5524// of a query result. 5525func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall { 5526 c.urlParams_.Set("pageToken", pageToken) 5527 return c 5528} 5529 5530// Fields allows partial responses to be retrieved. See 5531// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5532// for more information. 5533func (c *ProjectsJobsListCall) Fields(s ...googleapi.Field) *ProjectsJobsListCall { 5534 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5535 return c 5536} 5537 5538// IfNoneMatch sets the optional parameter which makes the operation 5539// fail if the object's ETag matches the given value. This is useful for 5540// getting updates only after the object has changed since the last 5541// request. Use googleapi.IsNotModified to check whether the response 5542// error from Do is the result of In-None-Match. 5543func (c *ProjectsJobsListCall) IfNoneMatch(entityTag string) *ProjectsJobsListCall { 5544 c.ifNoneMatch_ = entityTag 5545 return c 5546} 5547 5548// Context sets the context to be used in this call's Do method. Any 5549// pending HTTP request will be aborted if the provided context is 5550// canceled. 5551func (c *ProjectsJobsListCall) Context(ctx context.Context) *ProjectsJobsListCall { 5552 c.ctx_ = ctx 5553 return c 5554} 5555 5556// Header returns an http.Header that can be modified by the caller to 5557// add HTTP headers to the request. 5558func (c *ProjectsJobsListCall) Header() http.Header { 5559 if c.header_ == nil { 5560 c.header_ = make(http.Header) 5561 } 5562 return c.header_ 5563} 5564 5565func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) { 5566 reqHeaders := make(http.Header) 5567 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5568 for k, v := range c.header_ { 5569 reqHeaders[k] = v 5570 } 5571 reqHeaders.Set("User-Agent", c.s.userAgent()) 5572 if c.ifNoneMatch_ != "" { 5573 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5574 } 5575 var body io.Reader = nil 5576 c.urlParams_.Set("alt", alt) 5577 c.urlParams_.Set("prettyPrint", "false") 5578 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/jobs") 5579 urls += "?" + c.urlParams_.Encode() 5580 req, err := http.NewRequest("GET", urls, body) 5581 if err != nil { 5582 return nil, err 5583 } 5584 req.Header = reqHeaders 5585 googleapi.Expand(req.URL, map[string]string{ 5586 "parent": c.parent, 5587 }) 5588 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5589} 5590 5591// Do executes the "jobs.projects.jobs.list" call. 5592// Exactly one of *ListJobsResponse or error will be non-nil. Any 5593// non-2xx status code is an error. Response headers are in either 5594// *ListJobsResponse.ServerResponse.Header or (if a response was 5595// returned at all) in error.(*googleapi.Error).Header. Use 5596// googleapi.IsNotModified to check whether the returned error was 5597// because http.StatusNotModified was returned. 5598func (c *ProjectsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) { 5599 gensupport.SetOptions(c.urlParams_, opts...) 5600 res, err := c.doRequest("json") 5601 if res != nil && res.StatusCode == http.StatusNotModified { 5602 if res.Body != nil { 5603 res.Body.Close() 5604 } 5605 return nil, &googleapi.Error{ 5606 Code: res.StatusCode, 5607 Header: res.Header, 5608 } 5609 } 5610 if err != nil { 5611 return nil, err 5612 } 5613 defer googleapi.CloseBody(res) 5614 if err := googleapi.CheckResponse(res); err != nil { 5615 return nil, err 5616 } 5617 ret := &ListJobsResponse{ 5618 ServerResponse: googleapi.ServerResponse{ 5619 Header: res.Header, 5620 HTTPStatusCode: res.StatusCode, 5621 }, 5622 } 5623 target := &ret 5624 if err := gensupport.DecodeResponse(target, res); err != nil { 5625 return nil, err 5626 } 5627 return ret, nil 5628 // { 5629 // "description": "Lists jobs by filter.", 5630 // "flatPath": "v3/projects/{projectsId}/jobs", 5631 // "httpMethod": "GET", 5632 // "id": "jobs.projects.jobs.list", 5633 // "parameterOrder": [ 5634 // "parent" 5635 // ], 5636 // "parameters": { 5637 // "filter": { 5638 // "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` (Optional) Sample Query: * companyName = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\"", 5639 // "location": "query", 5640 // "type": "string" 5641 // }, 5642 // "jobView": { 5643 // "description": "Optional. The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified.", 5644 // "enum": [ 5645 // "JOB_VIEW_UNSPECIFIED", 5646 // "JOB_VIEW_ID_ONLY", 5647 // "JOB_VIEW_MINIMAL", 5648 // "JOB_VIEW_SMALL", 5649 // "JOB_VIEW_FULL" 5650 // ], 5651 // "enumDescriptions": [ 5652 // "Default value.", 5653 // "A ID only view of job, with following attributes: Job.name, Job.requisition_id, Job.language_code.", 5654 // "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.", 5655 // "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.", 5656 // "All available attributes are included in the search results." 5657 // ], 5658 // "location": "query", 5659 // "type": "string" 5660 // }, 5661 // "pageSize": { 5662 // "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.", 5663 // "format": "int32", 5664 // "location": "query", 5665 // "type": "integer" 5666 // }, 5667 // "pageToken": { 5668 // "description": "Optional. The starting point of a query result.", 5669 // "location": "query", 5670 // "type": "string" 5671 // }, 5672 // "parent": { 5673 // "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\".", 5674 // "location": "path", 5675 // "pattern": "^projects/[^/]+$", 5676 // "required": true, 5677 // "type": "string" 5678 // } 5679 // }, 5680 // "path": "v3/{+parent}/jobs", 5681 // "response": { 5682 // "$ref": "ListJobsResponse" 5683 // }, 5684 // "scopes": [ 5685 // "https://www.googleapis.com/auth/cloud-platform", 5686 // "https://www.googleapis.com/auth/jobs" 5687 // ] 5688 // } 5689 5690} 5691 5692// Pages invokes f for each page of results. 5693// A non-nil error returned from f will halt the iteration. 5694// The provided context supersedes any context provided to the Context method. 5695func (c *ProjectsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { 5696 c.ctx_ = ctx 5697 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 5698 for { 5699 x, err := c.Do() 5700 if err != nil { 5701 return err 5702 } 5703 if err := f(x); err != nil { 5704 return err 5705 } 5706 if x.NextPageToken == "" { 5707 return nil 5708 } 5709 c.PageToken(x.NextPageToken) 5710 } 5711} 5712 5713// method id "jobs.projects.jobs.patch": 5714 5715type ProjectsJobsPatchCall struct { 5716 s *Service 5717 name string 5718 updatejobrequest *UpdateJobRequest 5719 urlParams_ gensupport.URLParams 5720 ctx_ context.Context 5721 header_ http.Header 5722} 5723 5724// Patch: Updates specified job. Typically, updated contents become 5725// visible in search results within 10 seconds, but it may take up to 5 5726// minutes. 5727// 5728// - name: Required during job update. The resource name for the job. 5729// This is generated by the service when a job is created. The format 5730// is "projects/{project_id}/jobs/{job_id}", for example, 5731// "projects/api-test-project/jobs/1234". Use of this field in job 5732// queries and API calls is preferred over the use of requisition_id 5733// since this value is unique. 5734func (r *ProjectsJobsService) Patch(name string, updatejobrequest *UpdateJobRequest) *ProjectsJobsPatchCall { 5735 c := &ProjectsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5736 c.name = name 5737 c.updatejobrequest = updatejobrequest 5738 return c 5739} 5740 5741// Fields allows partial responses to be retrieved. See 5742// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5743// for more information. 5744func (c *ProjectsJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsJobsPatchCall { 5745 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5746 return c 5747} 5748 5749// Context sets the context to be used in this call's Do method. Any 5750// pending HTTP request will be aborted if the provided context is 5751// canceled. 5752func (c *ProjectsJobsPatchCall) Context(ctx context.Context) *ProjectsJobsPatchCall { 5753 c.ctx_ = ctx 5754 return c 5755} 5756 5757// Header returns an http.Header that can be modified by the caller to 5758// add HTTP headers to the request. 5759func (c *ProjectsJobsPatchCall) Header() http.Header { 5760 if c.header_ == nil { 5761 c.header_ = make(http.Header) 5762 } 5763 return c.header_ 5764} 5765 5766func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) { 5767 reqHeaders := make(http.Header) 5768 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5769 for k, v := range c.header_ { 5770 reqHeaders[k] = v 5771 } 5772 reqHeaders.Set("User-Agent", c.s.userAgent()) 5773 var body io.Reader = nil 5774 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatejobrequest) 5775 if err != nil { 5776 return nil, err 5777 } 5778 reqHeaders.Set("Content-Type", "application/json") 5779 c.urlParams_.Set("alt", alt) 5780 c.urlParams_.Set("prettyPrint", "false") 5781 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") 5782 urls += "?" + c.urlParams_.Encode() 5783 req, err := http.NewRequest("PATCH", urls, body) 5784 if err != nil { 5785 return nil, err 5786 } 5787 req.Header = reqHeaders 5788 googleapi.Expand(req.URL, map[string]string{ 5789 "name": c.name, 5790 }) 5791 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5792} 5793 5794// Do executes the "jobs.projects.jobs.patch" call. 5795// Exactly one of *Job or error will be non-nil. Any non-2xx status code 5796// is an error. Response headers are in either 5797// *Job.ServerResponse.Header or (if a response was returned at all) in 5798// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 5799// whether the returned error was because http.StatusNotModified was 5800// returned. 5801func (c *ProjectsJobsPatchCall) Do(opts ...googleapi.CallOption) (*Job, error) { 5802 gensupport.SetOptions(c.urlParams_, opts...) 5803 res, err := c.doRequest("json") 5804 if res != nil && res.StatusCode == http.StatusNotModified { 5805 if res.Body != nil { 5806 res.Body.Close() 5807 } 5808 return nil, &googleapi.Error{ 5809 Code: res.StatusCode, 5810 Header: res.Header, 5811 } 5812 } 5813 if err != nil { 5814 return nil, err 5815 } 5816 defer googleapi.CloseBody(res) 5817 if err := googleapi.CheckResponse(res); err != nil { 5818 return nil, err 5819 } 5820 ret := &Job{ 5821 ServerResponse: googleapi.ServerResponse{ 5822 Header: res.Header, 5823 HTTPStatusCode: res.StatusCode, 5824 }, 5825 } 5826 target := &ret 5827 if err := gensupport.DecodeResponse(target, res); err != nil { 5828 return nil, err 5829 } 5830 return ret, nil 5831 // { 5832 // "description": "Updates specified job. Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes.", 5833 // "flatPath": "v3/projects/{projectsId}/jobs/{jobsId}", 5834 // "httpMethod": "PATCH", 5835 // "id": "jobs.projects.jobs.patch", 5836 // "parameterOrder": [ 5837 // "name" 5838 // ], 5839 // "parameters": { 5840 // "name": { 5841 // "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.", 5842 // "location": "path", 5843 // "pattern": "^projects/[^/]+/jobs/[^/]+$", 5844 // "required": true, 5845 // "type": "string" 5846 // } 5847 // }, 5848 // "path": "v3/{+name}", 5849 // "request": { 5850 // "$ref": "UpdateJobRequest" 5851 // }, 5852 // "response": { 5853 // "$ref": "Job" 5854 // }, 5855 // "scopes": [ 5856 // "https://www.googleapis.com/auth/cloud-platform", 5857 // "https://www.googleapis.com/auth/jobs" 5858 // ] 5859 // } 5860 5861} 5862 5863// method id "jobs.projects.jobs.search": 5864 5865type ProjectsJobsSearchCall struct { 5866 s *Service 5867 parent string 5868 searchjobsrequest *SearchJobsRequest 5869 urlParams_ gensupport.URLParams 5870 ctx_ context.Context 5871 header_ http.Header 5872} 5873 5874// Search: Searches for jobs using the provided SearchJobsRequest. This 5875// call constrains the visibility of jobs present in the database, and 5876// only returns jobs that the caller has permission to search against. 5877// 5878// - parent: The resource name of the project to search within. The 5879// format is "projects/{project_id}", for example, 5880// "projects/api-test-project". 5881func (r *ProjectsJobsService) Search(parent string, searchjobsrequest *SearchJobsRequest) *ProjectsJobsSearchCall { 5882 c := &ProjectsJobsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5883 c.parent = parent 5884 c.searchjobsrequest = searchjobsrequest 5885 return c 5886} 5887 5888// Fields allows partial responses to be retrieved. See 5889// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5890// for more information. 5891func (c *ProjectsJobsSearchCall) Fields(s ...googleapi.Field) *ProjectsJobsSearchCall { 5892 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5893 return c 5894} 5895 5896// Context sets the context to be used in this call's Do method. Any 5897// pending HTTP request will be aborted if the provided context is 5898// canceled. 5899func (c *ProjectsJobsSearchCall) Context(ctx context.Context) *ProjectsJobsSearchCall { 5900 c.ctx_ = ctx 5901 return c 5902} 5903 5904// Header returns an http.Header that can be modified by the caller to 5905// add HTTP headers to the request. 5906func (c *ProjectsJobsSearchCall) Header() http.Header { 5907 if c.header_ == nil { 5908 c.header_ = make(http.Header) 5909 } 5910 return c.header_ 5911} 5912 5913func (c *ProjectsJobsSearchCall) doRequest(alt string) (*http.Response, error) { 5914 reqHeaders := make(http.Header) 5915 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 5916 for k, v := range c.header_ { 5917 reqHeaders[k] = v 5918 } 5919 reqHeaders.Set("User-Agent", c.s.userAgent()) 5920 var body io.Reader = nil 5921 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 5922 if err != nil { 5923 return nil, err 5924 } 5925 reqHeaders.Set("Content-Type", "application/json") 5926 c.urlParams_.Set("alt", alt) 5927 c.urlParams_.Set("prettyPrint", "false") 5928 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/jobs:search") 5929 urls += "?" + c.urlParams_.Encode() 5930 req, err := http.NewRequest("POST", urls, body) 5931 if err != nil { 5932 return nil, err 5933 } 5934 req.Header = reqHeaders 5935 googleapi.Expand(req.URL, map[string]string{ 5936 "parent": c.parent, 5937 }) 5938 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5939} 5940 5941// Do executes the "jobs.projects.jobs.search" call. 5942// Exactly one of *SearchJobsResponse or error will be non-nil. Any 5943// non-2xx status code is an error. Response headers are in either 5944// *SearchJobsResponse.ServerResponse.Header or (if a response was 5945// returned at all) in error.(*googleapi.Error).Header. Use 5946// googleapi.IsNotModified to check whether the returned error was 5947// because http.StatusNotModified was returned. 5948func (c *ProjectsJobsSearchCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 5949 gensupport.SetOptions(c.urlParams_, opts...) 5950 res, err := c.doRequest("json") 5951 if res != nil && res.StatusCode == http.StatusNotModified { 5952 if res.Body != nil { 5953 res.Body.Close() 5954 } 5955 return nil, &googleapi.Error{ 5956 Code: res.StatusCode, 5957 Header: res.Header, 5958 } 5959 } 5960 if err != nil { 5961 return nil, err 5962 } 5963 defer googleapi.CloseBody(res) 5964 if err := googleapi.CheckResponse(res); err != nil { 5965 return nil, err 5966 } 5967 ret := &SearchJobsResponse{ 5968 ServerResponse: googleapi.ServerResponse{ 5969 Header: res.Header, 5970 HTTPStatusCode: res.StatusCode, 5971 }, 5972 } 5973 target := &ret 5974 if err := gensupport.DecodeResponse(target, res); err != nil { 5975 return nil, err 5976 } 5977 return ret, nil 5978 // { 5979 // "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.", 5980 // "flatPath": "v3/projects/{projectsId}/jobs:search", 5981 // "httpMethod": "POST", 5982 // "id": "jobs.projects.jobs.search", 5983 // "parameterOrder": [ 5984 // "parent" 5985 // ], 5986 // "parameters": { 5987 // "parent": { 5988 // "description": "Required. The resource name of the project to search within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".", 5989 // "location": "path", 5990 // "pattern": "^projects/[^/]+$", 5991 // "required": true, 5992 // "type": "string" 5993 // } 5994 // }, 5995 // "path": "v3/{+parent}/jobs:search", 5996 // "request": { 5997 // "$ref": "SearchJobsRequest" 5998 // }, 5999 // "response": { 6000 // "$ref": "SearchJobsResponse" 6001 // }, 6002 // "scopes": [ 6003 // "https://www.googleapis.com/auth/cloud-platform", 6004 // "https://www.googleapis.com/auth/jobs" 6005 // ] 6006 // } 6007 6008} 6009 6010// Pages invokes f for each page of results. 6011// A non-nil error returned from f will halt the iteration. 6012// The provided context supersedes any context provided to the Context method. 6013func (c *ProjectsJobsSearchCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 6014 c.ctx_ = ctx 6015 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 6016 for { 6017 x, err := c.Do() 6018 if err != nil { 6019 return err 6020 } 6021 if err := f(x); err != nil { 6022 return err 6023 } 6024 if x.NextPageToken == "" { 6025 return nil 6026 } 6027 c.searchjobsrequest.PageToken = x.NextPageToken 6028 } 6029} 6030 6031// method id "jobs.projects.jobs.searchForAlert": 6032 6033type ProjectsJobsSearchForAlertCall struct { 6034 s *Service 6035 parent string 6036 searchjobsrequest *SearchJobsRequest 6037 urlParams_ gensupport.URLParams 6038 ctx_ context.Context 6039 header_ http.Header 6040} 6041 6042// SearchForAlert: Searches for jobs using the provided 6043// SearchJobsRequest. This API call is intended for the use case of 6044// targeting passive job seekers (for example, job seekers who have 6045// signed up to receive email alerts about potential job opportunities), 6046// and has different algorithmic adjustments that are targeted to 6047// passive job seekers. This call constrains the visibility of jobs 6048// present in the database, and only returns jobs the caller has 6049// permission to search against. 6050// 6051// - parent: The resource name of the project to search within. The 6052// format is "projects/{project_id}", for example, 6053// "projects/api-test-project". 6054func (r *ProjectsJobsService) SearchForAlert(parent string, searchjobsrequest *SearchJobsRequest) *ProjectsJobsSearchForAlertCall { 6055 c := &ProjectsJobsSearchForAlertCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6056 c.parent = parent 6057 c.searchjobsrequest = searchjobsrequest 6058 return c 6059} 6060 6061// Fields allows partial responses to be retrieved. See 6062// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6063// for more information. 6064func (c *ProjectsJobsSearchForAlertCall) Fields(s ...googleapi.Field) *ProjectsJobsSearchForAlertCall { 6065 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6066 return c 6067} 6068 6069// Context sets the context to be used in this call's Do method. Any 6070// pending HTTP request will be aborted if the provided context is 6071// canceled. 6072func (c *ProjectsJobsSearchForAlertCall) Context(ctx context.Context) *ProjectsJobsSearchForAlertCall { 6073 c.ctx_ = ctx 6074 return c 6075} 6076 6077// Header returns an http.Header that can be modified by the caller to 6078// add HTTP headers to the request. 6079func (c *ProjectsJobsSearchForAlertCall) Header() http.Header { 6080 if c.header_ == nil { 6081 c.header_ = make(http.Header) 6082 } 6083 return c.header_ 6084} 6085 6086func (c *ProjectsJobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) { 6087 reqHeaders := make(http.Header) 6088 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410") 6089 for k, v := range c.header_ { 6090 reqHeaders[k] = v 6091 } 6092 reqHeaders.Set("User-Agent", c.s.userAgent()) 6093 var body io.Reader = nil 6094 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 6095 if err != nil { 6096 return nil, err 6097 } 6098 reqHeaders.Set("Content-Type", "application/json") 6099 c.urlParams_.Set("alt", alt) 6100 c.urlParams_.Set("prettyPrint", "false") 6101 urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/jobs:searchForAlert") 6102 urls += "?" + c.urlParams_.Encode() 6103 req, err := http.NewRequest("POST", urls, body) 6104 if err != nil { 6105 return nil, err 6106 } 6107 req.Header = reqHeaders 6108 googleapi.Expand(req.URL, map[string]string{ 6109 "parent": c.parent, 6110 }) 6111 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6112} 6113 6114// Do executes the "jobs.projects.jobs.searchForAlert" call. 6115// Exactly one of *SearchJobsResponse or error will be non-nil. Any 6116// non-2xx status code is an error. Response headers are in either 6117// *SearchJobsResponse.ServerResponse.Header or (if a response was 6118// returned at all) in error.(*googleapi.Error).Header. Use 6119// googleapi.IsNotModified to check whether the returned error was 6120// because http.StatusNotModified was returned. 6121func (c *ProjectsJobsSearchForAlertCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 6122 gensupport.SetOptions(c.urlParams_, opts...) 6123 res, err := c.doRequest("json") 6124 if res != nil && res.StatusCode == http.StatusNotModified { 6125 if res.Body != nil { 6126 res.Body.Close() 6127 } 6128 return nil, &googleapi.Error{ 6129 Code: res.StatusCode, 6130 Header: res.Header, 6131 } 6132 } 6133 if err != nil { 6134 return nil, err 6135 } 6136 defer googleapi.CloseBody(res) 6137 if err := googleapi.CheckResponse(res); err != nil { 6138 return nil, err 6139 } 6140 ret := &SearchJobsResponse{ 6141 ServerResponse: googleapi.ServerResponse{ 6142 Header: res.Header, 6143 HTTPStatusCode: res.StatusCode, 6144 }, 6145 } 6146 target := &ret 6147 if err := gensupport.DecodeResponse(target, res); err != nil { 6148 return nil, err 6149 } 6150 return ret, nil 6151 // { 6152 // "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.", 6153 // "flatPath": "v3/projects/{projectsId}/jobs:searchForAlert", 6154 // "httpMethod": "POST", 6155 // "id": "jobs.projects.jobs.searchForAlert", 6156 // "parameterOrder": [ 6157 // "parent" 6158 // ], 6159 // "parameters": { 6160 // "parent": { 6161 // "description": "Required. The resource name of the project to search within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".", 6162 // "location": "path", 6163 // "pattern": "^projects/[^/]+$", 6164 // "required": true, 6165 // "type": "string" 6166 // } 6167 // }, 6168 // "path": "v3/{+parent}/jobs:searchForAlert", 6169 // "request": { 6170 // "$ref": "SearchJobsRequest" 6171 // }, 6172 // "response": { 6173 // "$ref": "SearchJobsResponse" 6174 // }, 6175 // "scopes": [ 6176 // "https://www.googleapis.com/auth/cloud-platform", 6177 // "https://www.googleapis.com/auth/jobs" 6178 // ] 6179 // } 6180 6181} 6182 6183// Pages invokes f for each page of results. 6184// A non-nil error returned from f will halt the iteration. 6185// The provided context supersedes any context provided to the Context method. 6186func (c *ProjectsJobsSearchForAlertCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 6187 c.ctx_ = ctx 6188 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 6189 for { 6190 x, err := c.Do() 6191 if err != nil { 6192 return err 6193 } 6194 if err := f(x); err != nil { 6195 return err 6196 } 6197 if x.NextPageToken == "" { 6198 return nil 6199 } 6200 c.searchjobsrequest.PageToken = x.NextPageToken 6201 } 6202} 6203