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