1// Copyright 2020 Google LLC. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated file. DO NOT EDIT. 6 7// Package jobs provides access to the Cloud Talent Solution API. 8// 9// For product documentation, see: https://cloud.google.com/talent-solution/job-search/docs/ 10// 11// Creating a client 12// 13// Usage example: 14// 15// import "google.golang.org/api/jobs/v2" 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/v2" 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:v2" 79const apiName = "jobs" 80const apiVersion = "v2" 81const basePath = "https://jobs.googleapis.com/" 82 83// OAuth2 scopes used by this API. 84const ( 85 // View and manage your data across Google Cloud Platform services 86 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 87 88 // Manage job postings 89 JobsScope = "https://www.googleapis.com/auth/jobs" 90) 91 92// NewService creates a new Service. 93func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 94 scopesOption := option.WithScopes( 95 "https://www.googleapis.com/auth/cloud-platform", 96 "https://www.googleapis.com/auth/jobs", 97 ) 98 // NOTE: prepend, so we don't override user-specified scopes. 99 opts = append([]option.ClientOption{scopesOption}, opts...) 100 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 101 client, endpoint, err := htransport.NewClient(ctx, opts...) 102 if err != nil { 103 return nil, err 104 } 105 s, err := New(client) 106 if err != nil { 107 return nil, err 108 } 109 if endpoint != "" { 110 s.BasePath = endpoint 111 } 112 return s, nil 113} 114 115// New creates a new Service. It uses the provided http.Client for requests. 116// 117// Deprecated: please use NewService instead. 118// To provide a custom HTTP client, use option.WithHTTPClient. 119// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 120func New(client *http.Client) (*Service, error) { 121 if client == nil { 122 return nil, errors.New("client is nil") 123 } 124 s := &Service{client: client, BasePath: basePath} 125 s.Companies = NewCompaniesService(s) 126 s.Jobs = NewJobsService(s) 127 s.V2 = NewV2Service(s) 128 return s, nil 129} 130 131type Service struct { 132 client *http.Client 133 BasePath string // API endpoint base URL 134 UserAgent string // optional additional User-Agent fragment 135 136 Companies *CompaniesService 137 138 Jobs *JobsService 139 140 V2 *V2Service 141} 142 143func (s *Service) userAgent() string { 144 if s.UserAgent == "" { 145 return googleapi.UserAgent 146 } 147 return googleapi.UserAgent + " " + s.UserAgent 148} 149 150func NewCompaniesService(s *Service) *CompaniesService { 151 rs := &CompaniesService{s: s} 152 rs.Jobs = NewCompaniesJobsService(s) 153 return rs 154} 155 156type CompaniesService struct { 157 s *Service 158 159 Jobs *CompaniesJobsService 160} 161 162func NewCompaniesJobsService(s *Service) *CompaniesJobsService { 163 rs := &CompaniesJobsService{s: s} 164 return rs 165} 166 167type CompaniesJobsService struct { 168 s *Service 169} 170 171func NewJobsService(s *Service) *JobsService { 172 rs := &JobsService{s: s} 173 return rs 174} 175 176type JobsService struct { 177 s *Service 178} 179 180func NewV2Service(s *Service) *V2Service { 181 rs := &V2Service{s: s} 182 return rs 183} 184 185type V2Service struct { 186 s *Service 187} 188 189// BatchDeleteJobsRequest: Input only. 190// 191// Batch delete jobs request. 192type BatchDeleteJobsRequest struct { 193 // Filter: Required. The filter string specifies the jobs to be 194 // deleted. 195 // 196 // Supported operator: =, AND 197 // 198 // The fields eligible for filtering are: 199 // 200 // * `companyName` (Required) 201 // * `requisitionId` (Required) 202 // 203 // Sample Query: companyName = "companies/123" AND requisitionId = 204 // "req-1" 205 Filter string `json:"filter,omitempty"` 206 207 // ForceSendFields is a list of field names (e.g. "Filter") to 208 // unconditionally include in API requests. By default, fields with 209 // empty values are omitted from API requests. However, any non-pointer, 210 // non-interface field appearing in ForceSendFields will be sent to the 211 // server regardless of whether the field is empty or not. This may be 212 // used to include empty fields in Patch requests. 213 ForceSendFields []string `json:"-"` 214 215 // NullFields is a list of field names (e.g. "Filter") to include in API 216 // requests with the JSON null value. By default, fields with empty 217 // values are omitted from API requests. However, any field with an 218 // empty value appearing in NullFields will be sent to the server as 219 // null. It is an error if a field in this list has a non-empty value. 220 // This may be used to include null fields in Patch requests. 221 NullFields []string `json:"-"` 222} 223 224func (s *BatchDeleteJobsRequest) MarshalJSON() ([]byte, error) { 225 type NoMethod BatchDeleteJobsRequest 226 raw := NoMethod(*s) 227 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 228} 229 230// BucketRange: Represents starting and ending value of a range in 231// double. 232type BucketRange struct { 233 // From: Starting value of the bucket range. 234 From float64 `json:"from,omitempty"` 235 236 // To: Ending value of the bucket range. 237 To float64 `json:"to,omitempty"` 238 239 // ForceSendFields is a list of field names (e.g. "From") to 240 // unconditionally include in API requests. By default, fields with 241 // empty values are omitted from API requests. However, any non-pointer, 242 // non-interface field appearing in ForceSendFields will be sent to the 243 // server regardless of whether the field is empty or not. This may be 244 // used to include empty fields in Patch requests. 245 ForceSendFields []string `json:"-"` 246 247 // NullFields is a list of field names (e.g. "From") to include in API 248 // requests with the JSON null value. By default, fields with empty 249 // values are omitted from API requests. However, any field with an 250 // empty value appearing in NullFields will be sent to the server as 251 // null. It is an error if a field in this list has a non-empty value. 252 // This may be used to include null fields in Patch requests. 253 NullFields []string `json:"-"` 254} 255 256func (s *BucketRange) MarshalJSON() ([]byte, error) { 257 type NoMethod BucketRange 258 raw := NoMethod(*s) 259 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 260} 261 262func (s *BucketRange) UnmarshalJSON(data []byte) error { 263 type NoMethod BucketRange 264 var s1 struct { 265 From gensupport.JSONFloat64 `json:"from"` 266 To gensupport.JSONFloat64 `json:"to"` 267 *NoMethod 268 } 269 s1.NoMethod = (*NoMethod)(s) 270 if err := json.Unmarshal(data, &s1); err != nil { 271 return err 272 } 273 s.From = float64(s1.From) 274 s.To = float64(s1.To) 275 return nil 276} 277 278// BucketizedCount: Represents count of jobs within one bucket. 279type BucketizedCount struct { 280 // Count: Number of jobs whose numeric field value fall into `range`. 281 Count int64 `json:"count,omitempty"` 282 283 // Range: Bucket range on which histogram was performed for the numeric 284 // field, 285 // that is, the count represents number of jobs in this range. 286 Range *BucketRange `json:"range,omitempty"` 287 288 // ForceSendFields is a list of field names (e.g. "Count") to 289 // unconditionally include in API requests. By default, fields with 290 // empty values are omitted from API requests. However, any non-pointer, 291 // non-interface field appearing in ForceSendFields will be sent to the 292 // server regardless of whether the field is empty or not. This may be 293 // used to include empty fields in Patch requests. 294 ForceSendFields []string `json:"-"` 295 296 // NullFields is a list of field names (e.g. "Count") to include in API 297 // requests with the JSON null value. By default, fields with empty 298 // values are omitted from API requests. However, any field with an 299 // empty value appearing in NullFields will be sent to the server as 300 // null. It is an error if a field in this list has a non-empty value. 301 // This may be used to include null fields in Patch requests. 302 NullFields []string `json:"-"` 303} 304 305func (s *BucketizedCount) MarshalJSON() ([]byte, error) { 306 type NoMethod BucketizedCount 307 raw := NoMethod(*s) 308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 309} 310 311// CommuteInfo: Output only. 312// 313// Commute details related to this job. 314type CommuteInfo struct { 315 // JobLocation: Location used as the destination in the commute 316 // calculation. 317 JobLocation *JobLocation `json:"jobLocation,omitempty"` 318 319 // TravelDuration: The number of seconds required to travel to the job 320 // location from the query 321 // location. A duration of 0 seconds indicates that the job is 322 // not 323 // reachable within the requested duration, but was returned as part of 324 // an 325 // expanded query. 326 TravelDuration string `json:"travelDuration,omitempty"` 327 328 // ForceSendFields is a list of field names (e.g. "JobLocation") to 329 // unconditionally include in API requests. By default, fields with 330 // empty values are omitted from API requests. However, any non-pointer, 331 // non-interface field appearing in ForceSendFields will be sent to the 332 // server regardless of whether the field is empty or not. This may be 333 // used to include empty fields in Patch requests. 334 ForceSendFields []string `json:"-"` 335 336 // NullFields is a list of field names (e.g. "JobLocation") to include 337 // in API requests with the JSON null value. By default, fields with 338 // empty values are omitted from API requests. However, any field with 339 // an empty value appearing in NullFields will be sent to the server as 340 // null. It is an error if a field in this list has a non-empty value. 341 // This may be used to include null fields in Patch requests. 342 NullFields []string `json:"-"` 343} 344 345func (s *CommuteInfo) MarshalJSON() ([]byte, error) { 346 type NoMethod CommuteInfo 347 raw := NoMethod(*s) 348 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 349} 350 351// CommutePreference: Input only. 352// 353// Parameters needed for commute search. 354type CommutePreference struct { 355 // AllowNonStreetLevelAddress: Optional. If `true`, jobs without street 356 // level addresses may also be returned. 357 // For city level addresses, the city center is used. For state and 358 // coarser 359 // level addresses, text matching is used. 360 // If this field is set to `false` or is not specified, only jobs that 361 // include 362 // street level addresses will be returned by commute search. 363 AllowNonStreetLevelAddress bool `json:"allowNonStreetLevelAddress,omitempty"` 364 365 // DepartureHourLocal: Optional. The departure hour to use to calculate 366 // traffic impact. Accepts an 367 // integer between 0 and 23, representing the hour in the time zone of 368 // the 369 // start_location. Must not be present if road_traffic is specified. 370 DepartureHourLocal int64 `json:"departureHourLocal,omitempty"` 371 372 // Method: Required. The method of transportation for which to calculate 373 // the commute time. 374 // 375 // Possible values: 376 // "COMMUTE_METHOD_UNSPECIFIED" - Commute method is not specified. 377 // "DRIVING" - Commute time is calculated based on driving time. 378 // "TRANSIT" - Commute time is calculated based on public transit 379 // including bus, metro, 380 // subway, etc. 381 Method string `json:"method,omitempty"` 382 383 // RoadTraffic: Optional. Specifies the traffic density to use when 384 // calculating commute time. 385 // Must not be present if departure_hour_local is specified. 386 // 387 // Possible values: 388 // "ROAD_TRAFFIC_UNSPECIFIED" - Road traffic situation is not 389 // specified. 390 // "TRAFFIC_FREE" - Optimal commute time without considering any 391 // traffic impact. 392 // "BUSY_HOUR" - Commute time calculation takes in account the peak 393 // traffic impact. 394 RoadTraffic string `json:"roadTraffic,omitempty"` 395 396 // StartLocation: Required. The latitude and longitude of the location 397 // from which to calculate the 398 // commute time. 399 StartLocation *LatLng `json:"startLocation,omitempty"` 400 401 // TravelTime: Required. The maximum travel time in seconds. The maximum 402 // allowed value is `3600s` 403 // (one hour). Format is `123s`. 404 TravelTime string `json:"travelTime,omitempty"` 405 406 // ForceSendFields is a list of field names (e.g. 407 // "AllowNonStreetLevelAddress") to unconditionally include in API 408 // requests. By default, fields with empty values are omitted from API 409 // requests. However, any non-pointer, non-interface field appearing in 410 // ForceSendFields will be sent to the server regardless of whether the 411 // field is empty or not. This may be used to include empty fields in 412 // Patch requests. 413 ForceSendFields []string `json:"-"` 414 415 // NullFields is a list of field names (e.g. 416 // "AllowNonStreetLevelAddress") to include in API requests with the 417 // JSON null value. By default, fields with empty values are omitted 418 // from API requests. However, any field with an empty value appearing 419 // in NullFields will be sent to the server as null. It is an error if a 420 // field in this list has a non-empty value. This may be used to include 421 // null fields in Patch requests. 422 NullFields []string `json:"-"` 423} 424 425func (s *CommutePreference) MarshalJSON() ([]byte, error) { 426 type NoMethod CommutePreference 427 raw := NoMethod(*s) 428 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 429} 430 431// Company: A Company resource represents a company in the service. A 432// company is the 433// entity that owns job listings, that is, the hiring entity responsible 434// for 435// employing applicants for the job position. 436type Company struct { 437 // CareerPageLink: Optional. The URL to employer's career site or 438 // careers page on the employer's web 439 // site. 440 CareerPageLink string `json:"careerPageLink,omitempty"` 441 442 // CompanyInfoSources: Optional. Identifiers external to the application 443 // that help to further identify 444 // the employer. 445 CompanyInfoSources []*CompanyInfoSource `json:"companyInfoSources,omitempty"` 446 447 // CompanySize: Optional. The employer's company size. 448 // 449 // Possible values: 450 // "COMPANY_SIZE_UNSPECIFIED" - Default value if the size is not 451 // specified. 452 // "MINI" - The company has less than 50 employees. 453 // "SMALL" - The company has between 50 and 99 employees. 454 // "SMEDIUM" - The company has between 100 and 499 employees. 455 // "MEDIUM" - The company has between 500 and 999 employees. 456 // "BIG" - The company has between 1,000 and 4,999 employees. 457 // "BIGGER" - The company has between 5,000 and 9,999 employees. 458 // "GIANT" - The company has 10,000 or more employees. 459 CompanySize string `json:"companySize,omitempty"` 460 461 // DisableLocationOptimization: Deprecated. Do not use this 462 // field. 463 // 464 // Optional. 465 // 466 // This field is no longer used. Any value set to it is ignored. 467 DisableLocationOptimization bool `json:"disableLocationOptimization,omitempty"` 468 469 // DisplayName: Required. The name of the employer to be displayed with 470 // the job, 471 // for example, "Google, LLC.". 472 DisplayName string `json:"displayName,omitempty"` 473 474 // DistributorBillingCompanyId: Optional. The unique company identifier 475 // provided by the client to identify an 476 // employer for billing purposes. Recommended practice is to use 477 // the distributor_company_id. 478 // 479 // Defaults to same value as distributor_company_id when a value 480 // is not provided. 481 DistributorBillingCompanyId string `json:"distributorBillingCompanyId,omitempty"` 482 483 // DistributorCompanyId: Required. A client's company identifier, used 484 // to uniquely identify the 485 // company. If an employer has a subsidiary or sub-brand, such as 486 // "Alphabet" 487 // and "Google", which the client wishes to use as the company displayed 488 // on 489 // the job. Best practice is to create a distinct company identifier for 490 // each 491 // distinct brand displayed. 492 // 493 // The maximum number of allowed characters is 255. 494 DistributorCompanyId string `json:"distributorCompanyId,omitempty"` 495 496 // EeoText: Optional. Equal Employment Opportunity legal disclaimer text 497 // to be 498 // associated with all jobs, and typically to be displayed in 499 // all 500 // roles. 501 // 502 // The maximum number of allowed characters is 500. 503 EeoText string `json:"eeoText,omitempty"` 504 505 // HiringAgency: Optional. Set to true if it is the hiring agency that 506 // post jobs for other 507 // employers. 508 // 509 // Defaults to false if not provided. 510 HiringAgency bool `json:"hiringAgency,omitempty"` 511 512 // HqLocation: Optional. The street address of the company's main 513 // headquarters, which may be 514 // different from the job location. The service attempts 515 // to geolocate the provided address, and populates a more 516 // specific 517 // location wherever possible in structured_company_hq_location. 518 HqLocation string `json:"hqLocation,omitempty"` 519 520 // ImageUrl: Optional. A URL that hosts the employer's company logo. If 521 // provided, 522 // the logo image should be squared at 80x80 pixels. 523 // 524 // The url must be a Google Photos or Google Album url. 525 // Only images in these Google sub-domains are accepted. 526 ImageUrl string `json:"imageUrl,omitempty"` 527 528 // KeywordSearchableCustomAttributes: Optional. A list of keys of 529 // filterable Job.custom_attributes, whose 530 // corresponding `string_values` are used in keyword search. Jobs 531 // with 532 // `string_values` under these specified field keys are returned if 533 // any 534 // of the values matches the search keyword. Custom field values 535 // with 536 // parenthesis, brackets and special symbols might not be properly 537 // searchable, 538 // and those keyword queries need to be surrounded by quotes. 539 KeywordSearchableCustomAttributes []string `json:"keywordSearchableCustomAttributes,omitempty"` 540 541 // KeywordSearchableCustomFields: Deprecated. Use 542 // keyword_searchable_custom_attributes instead. 543 // 544 // Optional. 545 // 546 // A list of filterable custom fields that should be used in 547 // keyword 548 // search. The jobs of this company are returned if any of these 549 // custom 550 // fields matches the search keyword. Custom field values with 551 // parenthesis, 552 // brackets and special symbols might not be properly searchable, and 553 // those 554 // keyword queries need to be surrounded by quotes. 555 KeywordSearchableCustomFields []int64 `json:"keywordSearchableCustomFields,omitempty"` 556 557 // Name: Required during company update. 558 // 559 // The resource name for a company. This is generated by the service 560 // when a 561 // company is created, for 562 // example, 563 // "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". 564 Name string `json:"name,omitempty"` 565 566 // StructuredCompanyHqLocation: Output only. A structured headquarters 567 // location of the company, 568 // resolved from hq_location if possible. 569 StructuredCompanyHqLocation *JobLocation `json:"structuredCompanyHqLocation,omitempty"` 570 571 // Suspended: Output only. Indicates whether a company is flagged to be 572 // suspended from public 573 // availability by the service when job content appears 574 // suspicious, 575 // abusive, or spammy. 576 Suspended bool `json:"suspended,omitempty"` 577 578 // Title: Deprecated. Use display_name instead. 579 // 580 // Required. 581 // 582 // The name of the employer to be displayed with the job, 583 // for example, "Google, LLC.". 584 Title string `json:"title,omitempty"` 585 586 // Website: Optional. The URL representing the company's primary web 587 // site or home page, 588 // such as, "www.google.com". 589 Website string `json:"website,omitempty"` 590 591 // ServerResponse contains the HTTP response code and headers from the 592 // server. 593 googleapi.ServerResponse `json:"-"` 594 595 // ForceSendFields is a list of field names (e.g. "CareerPageLink") to 596 // unconditionally include in API requests. By default, fields with 597 // empty values are omitted from API requests. However, any non-pointer, 598 // non-interface field appearing in ForceSendFields will be sent to the 599 // server regardless of whether the field is empty or not. This may be 600 // used to include empty fields in Patch requests. 601 ForceSendFields []string `json:"-"` 602 603 // NullFields is a list of field names (e.g. "CareerPageLink") to 604 // include in API requests with the JSON null value. By default, fields 605 // with empty values are omitted from API requests. However, any field 606 // with an empty value appearing in NullFields will be sent to the 607 // server as null. It is an error if a field in this list has a 608 // non-empty value. This may be used to include null fields in Patch 609 // requests. 610 NullFields []string `json:"-"` 611} 612 613func (s *Company) MarshalJSON() ([]byte, error) { 614 type NoMethod Company 615 raw := NoMethod(*s) 616 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 617} 618 619// CompanyInfoSource: A resource that represents an external Google 620// identifier for a company, 621// for example, a Google+ business page or a Google Maps business 622// page. 623// For unsupported types, use `unknown_type_id`. 624type CompanyInfoSource struct { 625 // FreebaseMid: Optional. The Google's Knowledge Graph value for the 626 // employer's company. 627 FreebaseMid string `json:"freebaseMid,omitempty"` 628 629 // GplusId: Optional. The numeric identifier for the employer's Google+ 630 // business page. 631 GplusId string `json:"gplusId,omitempty"` 632 633 // MapsCid: Optional. The numeric identifier for the employer's 634 // headquarters on Google Maps, 635 // namely, the Google Maps CID (cell id). 636 MapsCid string `json:"mapsCid,omitempty"` 637 638 // UnknownTypeId: Optional. A Google identifier that does not match any 639 // of the other types. 640 UnknownTypeId string `json:"unknownTypeId,omitempty"` 641 642 // ForceSendFields is a list of field names (e.g. "FreebaseMid") to 643 // unconditionally include in API requests. By default, fields with 644 // empty values are omitted from API requests. However, any non-pointer, 645 // non-interface field appearing in ForceSendFields will be sent to the 646 // server regardless of whether the field is empty or not. This may be 647 // used to include empty fields in Patch requests. 648 ForceSendFields []string `json:"-"` 649 650 // NullFields is a list of field names (e.g. "FreebaseMid") to include 651 // in API requests with the JSON null value. By default, fields with 652 // empty values are omitted from API requests. However, any field with 653 // an empty value appearing in NullFields will be sent to the server as 654 // null. It is an error if a field in this list has a non-empty value. 655 // This may be used to include null fields in Patch requests. 656 NullFields []string `json:"-"` 657} 658 659func (s *CompanyInfoSource) MarshalJSON() ([]byte, error) { 660 type NoMethod CompanyInfoSource 661 raw := NoMethod(*s) 662 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 663} 664 665// CompensationEntry: A compensation entry that represents one component 666// of compensation, such 667// as base pay, bonus, or other compensation type. 668// 669// Annualization: One compensation entry can be annualized if 670// - it contains valid amount or range. 671// - and its expected_units_per_year is set or can be derived. 672// Its annualized range is determined as (amount or range) 673// times 674// expected_units_per_year. 675type CompensationEntry struct { 676 // Amount: Optional. Compensation amount. 677 Amount *Money `json:"amount,omitempty"` 678 679 // Description: Optional. Compensation description. For example, 680 // could 681 // indicate equity terms or provide additional context to an 682 // estimated 683 // bonus. 684 Description string `json:"description,omitempty"` 685 686 // ExpectedUnitsPerYear: Optional. Expected number of units paid each 687 // year. If not specified, when 688 // Job.employment_types is FULLTIME, a default value is inferred 689 // based on unit. Default values: 690 // - HOURLY: 2080 691 // - DAILY: 260 692 // - WEEKLY: 52 693 // - MONTHLY: 12 694 // - ANNUAL: 1 695 ExpectedUnitsPerYear float64 `json:"expectedUnitsPerYear,omitempty"` 696 697 // Range: Optional. Compensation range. 698 Range *CompensationRange `json:"range,omitempty"` 699 700 // Type: Required. Compensation type. 701 // 702 // Possible values: 703 // "COMPENSATION_TYPE_UNSPECIFIED" - Default value. Equivalent to 704 // OTHER_COMPENSATION_TYPE. 705 // "BASE" - Base compensation: Refers to the fixed amount of money 706 // paid to an 707 // employee by an employer in return for work performed. Base 708 // compensation 709 // does not include benefits, bonuses or any other potential 710 // compensation 711 // from an employer. 712 // "BONUS" - Bonus. 713 // "SIGNING_BONUS" - Signing bonus. 714 // "EQUITY" - Equity. 715 // "PROFIT_SHARING" - Profit sharing. 716 // "COMMISSIONS" - Commission. 717 // "TIPS" - Tips. 718 // "OTHER_COMPENSATION_TYPE" - Other compensation type. 719 Type string `json:"type,omitempty"` 720 721 // Unit: Optional. Frequency of the specified amount. 722 // 723 // Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED. 724 // 725 // Possible values: 726 // "COMPENSATION_UNIT_UNSPECIFIED" - Default value. Equivalent to 727 // OTHER_COMPENSATION_UNIT. 728 // "HOURLY" - Hourly. 729 // "DAILY" - Daily. 730 // "WEEKLY" - Weekly 731 // "MONTHLY" - Monthly. 732 // "YEARLY" - Yearly. 733 // "ONE_TIME" - One time. 734 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 735 Unit string `json:"unit,omitempty"` 736 737 // ForceSendFields is a list of field names (e.g. "Amount") to 738 // unconditionally include in API requests. By default, fields with 739 // empty values are omitted from API requests. However, any non-pointer, 740 // non-interface field appearing in ForceSendFields will be sent to the 741 // server regardless of whether the field is empty or not. This may be 742 // used to include empty fields in Patch requests. 743 ForceSendFields []string `json:"-"` 744 745 // NullFields is a list of field names (e.g. "Amount") to include in API 746 // requests with the JSON null value. By default, fields with empty 747 // values are omitted from API requests. However, any field with an 748 // empty value appearing in NullFields will be sent to the server as 749 // null. It is an error if a field in this list has a non-empty value. 750 // This may be used to include null fields in Patch requests. 751 NullFields []string `json:"-"` 752} 753 754func (s *CompensationEntry) MarshalJSON() ([]byte, error) { 755 type NoMethod CompensationEntry 756 raw := NoMethod(*s) 757 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 758} 759 760func (s *CompensationEntry) UnmarshalJSON(data []byte) error { 761 type NoMethod CompensationEntry 762 var s1 struct { 763 ExpectedUnitsPerYear gensupport.JSONFloat64 `json:"expectedUnitsPerYear"` 764 *NoMethod 765 } 766 s1.NoMethod = (*NoMethod)(s) 767 if err := json.Unmarshal(data, &s1); err != nil { 768 return err 769 } 770 s.ExpectedUnitsPerYear = float64(s1.ExpectedUnitsPerYear) 771 return nil 772} 773 774// CompensationFilter: Input only. 775// 776// Filter on job compensation type and amount. 777type CompensationFilter struct { 778 // IncludeJobsWithUnspecifiedCompensationRange: Optional. Whether to 779 // include jobs whose compensation range is unspecified. 780 IncludeJobsWithUnspecifiedCompensationRange bool `json:"includeJobsWithUnspecifiedCompensationRange,omitempty"` 781 782 // Range: Optional. Compensation range. 783 Range *CompensationRange `json:"range,omitempty"` 784 785 // Type: Required. Type of filter. 786 // 787 // Possible values: 788 // "FILTER_TYPE_UNSPECIFIED" - Filter type unspecified. Position 789 // holder, INVALID, should never be used. 790 // "UNIT_ONLY" - Filter by `base compensation entry's` unit. A job is 791 // a match if and 792 // only if the job contains a base CompensationEntry and the 793 // base 794 // CompensationEntry's unit matches provided units. 795 // Populate one or more units. 796 // 797 // See CompensationInfo.CompensationEntry for definition of 798 // base compensation entry. 799 // "UNIT_AND_AMOUNT" - Filter by `base compensation entry's` unit and 800 // amount / range. A job 801 // is a match if and only if the job contains a base CompensationEntry, 802 // and 803 // the base entry's unit matches provided compensation_units and 804 // amount 805 // or range overlaps with provided compensation_range. 806 // 807 // See CompensationInfo.CompensationEntry for definition of 808 // base compensation entry. 809 // 810 // Set exactly one units and populate range. 811 // "ANNUALIZED_BASE_AMOUNT" - Filter by annualized base compensation 812 // amount and `base compensation 813 // entry's` unit. Populate range and zero or more units. 814 // "ANNUALIZED_TOTAL_AMOUNT" - Filter by annualized total compensation 815 // amount and `base compensation 816 // entry's` unit . Populate range and zero or more units. 817 Type string `json:"type,omitempty"` 818 819 // Units: Required. Specify desired `base compensation 820 // entry's` 821 // CompensationInfo.CompensationUnit. 822 // 823 // Possible values: 824 // "COMPENSATION_UNIT_UNSPECIFIED" - Default value. Equivalent to 825 // OTHER_COMPENSATION_UNIT. 826 // "HOURLY" - Hourly. 827 // "DAILY" - Daily. 828 // "WEEKLY" - Weekly 829 // "MONTHLY" - Monthly. 830 // "YEARLY" - Yearly. 831 // "ONE_TIME" - One time. 832 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 833 Units []string `json:"units,omitempty"` 834 835 // ForceSendFields is a list of field names (e.g. 836 // "IncludeJobsWithUnspecifiedCompensationRange") to unconditionally 837 // include in API requests. By default, fields with empty values are 838 // omitted from API requests. However, any non-pointer, non-interface 839 // field appearing in ForceSendFields will be sent to the server 840 // regardless of whether the field is empty or not. This may be used to 841 // include empty fields in Patch requests. 842 ForceSendFields []string `json:"-"` 843 844 // NullFields is a list of field names (e.g. 845 // "IncludeJobsWithUnspecifiedCompensationRange") to include in API 846 // requests with the JSON null value. By default, fields with empty 847 // values are omitted from API requests. However, any field with an 848 // empty value appearing in NullFields will be sent to the server as 849 // null. It is an error if a field in this list has a non-empty value. 850 // This may be used to include null fields in Patch requests. 851 NullFields []string `json:"-"` 852} 853 854func (s *CompensationFilter) MarshalJSON() ([]byte, error) { 855 type NoMethod CompensationFilter 856 raw := NoMethod(*s) 857 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 858} 859 860// CompensationHistogramRequest: Input only. 861// 862// Compensation based histogram request. 863type CompensationHistogramRequest struct { 864 // BucketingOption: Required. Numeric histogram options, like buckets, 865 // whether include min or max value. 866 BucketingOption *NumericBucketingOption `json:"bucketingOption,omitempty"` 867 868 // Type: Required. Type of the request, representing which field the 869 // histogramming should be 870 // performed over. A single request can only specify one histogram of 871 // each 872 // `CompensationHistogramRequestType`. 873 // 874 // Possible values: 875 // "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value. 876 // Invalid. 877 // "BASE" - Histogram by job's base compensation. See 878 // CompensationEntry for 879 // definition of base compensation. 880 // "ANNUALIZED_BASE" - Histogram by job's annualized base 881 // compensation. See CompensationEntry 882 // for definition of annualized base compensation. 883 // "ANNUALIZED_TOTAL" - Histogram by job's annualized total 884 // compensation. See CompensationEntry 885 // for definition of annualized total compensation. 886 Type string `json:"type,omitempty"` 887 888 // ForceSendFields is a list of field names (e.g. "BucketingOption") to 889 // unconditionally include in API requests. By default, fields with 890 // empty values are omitted from API requests. However, any non-pointer, 891 // non-interface field appearing in ForceSendFields will be sent to the 892 // server regardless of whether the field is empty or not. This may be 893 // used to include empty fields in Patch requests. 894 ForceSendFields []string `json:"-"` 895 896 // NullFields is a list of field names (e.g. "BucketingOption") to 897 // include in API requests with the JSON null value. By default, fields 898 // with empty values are omitted from API requests. However, any field 899 // with an empty value appearing in NullFields will be sent to the 900 // server as null. It is an error if a field in this list has a 901 // non-empty value. This may be used to include null fields in Patch 902 // requests. 903 NullFields []string `json:"-"` 904} 905 906func (s *CompensationHistogramRequest) MarshalJSON() ([]byte, error) { 907 type NoMethod CompensationHistogramRequest 908 raw := NoMethod(*s) 909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 910} 911 912// CompensationHistogramResult: Output only. 913// 914// Compensation based histogram result. 915type CompensationHistogramResult struct { 916 // Result: Histogram result. 917 Result *NumericBucketingResult `json:"result,omitempty"` 918 919 // Type: Type of the request, corresponding 920 // to 921 // CompensationHistogramRequest.type. 922 // 923 // Possible values: 924 // "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value. 925 // Invalid. 926 // "BASE" - Histogram by job's base compensation. See 927 // CompensationEntry for 928 // definition of base compensation. 929 // "ANNUALIZED_BASE" - Histogram by job's annualized base 930 // compensation. See CompensationEntry 931 // for definition of annualized base compensation. 932 // "ANNUALIZED_TOTAL" - Histogram by job's annualized total 933 // compensation. See CompensationEntry 934 // for definition of annualized total compensation. 935 Type string `json:"type,omitempty"` 936 937 // ForceSendFields is a list of field names (e.g. "Result") to 938 // unconditionally include in API requests. By default, fields with 939 // empty values are omitted from API requests. However, any non-pointer, 940 // non-interface field appearing in ForceSendFields will be sent to the 941 // server regardless of whether the field is empty or not. This may be 942 // used to include empty fields in Patch requests. 943 ForceSendFields []string `json:"-"` 944 945 // NullFields is a list of field names (e.g. "Result") to include in API 946 // requests with the JSON null value. By default, fields with empty 947 // values are omitted from API requests. However, any field with an 948 // empty value appearing in NullFields will be sent to the server as 949 // null. It is an error if a field in this list has a non-empty value. 950 // This may be used to include null fields in Patch requests. 951 NullFields []string `json:"-"` 952} 953 954func (s *CompensationHistogramResult) MarshalJSON() ([]byte, error) { 955 type NoMethod CompensationHistogramResult 956 raw := NoMethod(*s) 957 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 958} 959 960// CompensationInfo: Job compensation details. 961type CompensationInfo struct { 962 // Amount: Deprecated. Use entries instead. 963 // 964 // Optional. 965 // 966 // The amount of compensation or pay for the job. 967 // As an alternative, compensation_amount_min 968 // and 969 // compensation_amount_max may be used to define a range 970 // of 971 // compensation. 972 Amount *Money `json:"amount,omitempty"` 973 974 // AnnualizedBaseCompensationRange: Output only. Annualized base 975 // compensation range. Computed as 976 // base compensation entry's CompensationEntry.compensation 977 // times 978 // CompensationEntry.expected_units_per_year. 979 // 980 // See CompensationEntry for explanation on compensation annualization. 981 AnnualizedBaseCompensationRange *CompensationRange `json:"annualizedBaseCompensationRange,omitempty"` 982 983 // AnnualizedTotalCompensationRange: Output only. Annualized total 984 // compensation range. Computed as 985 // all compensation entries' CompensationEntry.compensation 986 // times 987 // CompensationEntry.expected_units_per_year. 988 // 989 // See CompensationEntry for explanation on compensation annualization. 990 AnnualizedTotalCompensationRange *CompensationRange `json:"annualizedTotalCompensationRange,omitempty"` 991 992 // Entries: Optional. Job compensation information. 993 // 994 // At most one entry can be of 995 // type 996 // CompensationInfo.CompensationType.BASE, which is 997 // referred as ** base compensation entry ** for the job. 998 Entries []*CompensationEntry `json:"entries,omitempty"` 999 1000 // Max: Deprecated. Use entries instead. 1001 // 1002 // Optional. 1003 // 1004 // An upper bound on a range for compensation or pay for the job. 1005 // The currency type is specified in compensation_amount. 1006 Max *Money `json:"max,omitempty"` 1007 1008 // Min: Deprecated. Use entries instead. 1009 // 1010 // Optional. 1011 // 1012 // A lower bound on a range for compensation or pay for the job. 1013 // The currency type is specified in compensation_amount. 1014 Min *Money `json:"min,omitempty"` 1015 1016 // Type: Deprecated. Use entries instead. 1017 // 1018 // Optional. 1019 // 1020 // Type of job compensation. 1021 // 1022 // Possible values: 1023 // "JOB_COMPENSATION_TYPE_UNSPECIFIED" - The default value if the type 1024 // is not specified. 1025 // "HOURLY" - The job compensation is quoted by the number of hours 1026 // worked. 1027 // "SALARY" - The job compensation is quoted on an annual basis. 1028 // "PER_PROJECT" - The job compensation is quoted by project 1029 // completion. 1030 // "COMMISSION" - The job compensation is quoted based solely on 1031 // commission. 1032 // "OTHER_TYPE" - The job compensation is not quoted according to the 1033 // listed compensation 1034 // options. 1035 Type string `json:"type,omitempty"` 1036 1037 // ForceSendFields is a list of field names (e.g. "Amount") to 1038 // unconditionally include in API requests. By default, fields with 1039 // empty values are omitted from API requests. However, any non-pointer, 1040 // non-interface field appearing in ForceSendFields will be sent to the 1041 // server regardless of whether the field is empty or not. This may be 1042 // used to include empty fields in Patch requests. 1043 ForceSendFields []string `json:"-"` 1044 1045 // NullFields is a list of field names (e.g. "Amount") to include in API 1046 // requests with the JSON null value. By default, fields with empty 1047 // values are omitted from API requests. However, any field with an 1048 // empty value appearing in NullFields will be sent to the server as 1049 // null. It is an error if a field in this list has a non-empty value. 1050 // This may be used to include null fields in Patch requests. 1051 NullFields []string `json:"-"` 1052} 1053 1054func (s *CompensationInfo) MarshalJSON() ([]byte, error) { 1055 type NoMethod CompensationInfo 1056 raw := NoMethod(*s) 1057 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1058} 1059 1060// CompensationRange: Compensation range. 1061type CompensationRange struct { 1062 // Max: Optional. The maximum amount of compensation. If left empty, the 1063 // value is set 1064 // to a maximal compensation value and the currency code is set to 1065 // match the currency code of 1066 // min_compensation. 1067 Max *Money `json:"max,omitempty"` 1068 1069 // Min: Optional. The minimum amount of compensation. If left empty, the 1070 // value is set 1071 // to zero and the currency code is set to match the 1072 // currency code of max_compensation. 1073 Min *Money `json:"min,omitempty"` 1074 1075 // ForceSendFields is a list of field names (e.g. "Max") to 1076 // unconditionally include in API requests. By default, fields with 1077 // empty values are omitted from API requests. However, any non-pointer, 1078 // non-interface field appearing in ForceSendFields will be sent to the 1079 // server regardless of whether the field is empty or not. This may be 1080 // used to include empty fields in Patch requests. 1081 ForceSendFields []string `json:"-"` 1082 1083 // NullFields is a list of field names (e.g. "Max") to include in API 1084 // requests with the JSON null value. By default, fields with empty 1085 // values are omitted from API requests. However, any field with an 1086 // empty value appearing in NullFields will be sent to the server as 1087 // null. It is an error if a field in this list has a non-empty value. 1088 // This may be used to include null fields in Patch requests. 1089 NullFields []string `json:"-"` 1090} 1091 1092func (s *CompensationRange) MarshalJSON() ([]byte, error) { 1093 type NoMethod CompensationRange 1094 raw := NoMethod(*s) 1095 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1096} 1097 1098// CompleteQueryResponse: Output only. 1099// 1100// Response of auto-complete query. 1101type CompleteQueryResponse struct { 1102 // CompletionResults: Results of the matching job/company candidates. 1103 CompletionResults []*CompletionResult `json:"completionResults,omitempty"` 1104 1105 // Metadata: Additional information for the API invocation, such as the 1106 // request 1107 // tracking id. 1108 Metadata *ResponseMetadata `json:"metadata,omitempty"` 1109 1110 // ServerResponse contains the HTTP response code and headers from the 1111 // server. 1112 googleapi.ServerResponse `json:"-"` 1113 1114 // ForceSendFields is a list of field names (e.g. "CompletionResults") 1115 // to unconditionally include in API requests. By default, fields with 1116 // empty values are omitted from API requests. However, any non-pointer, 1117 // non-interface field appearing in ForceSendFields will be sent to the 1118 // server regardless of whether the field is empty or not. This may be 1119 // used to include empty fields in Patch requests. 1120 ForceSendFields []string `json:"-"` 1121 1122 // NullFields is a list of field names (e.g. "CompletionResults") to 1123 // include in API requests with the JSON null value. By default, fields 1124 // with empty values are omitted from API requests. However, any field 1125 // with an empty value appearing in NullFields will be sent to the 1126 // server as null. It is an error if a field in this list has a 1127 // non-empty value. This may be used to include null fields in Patch 1128 // requests. 1129 NullFields []string `json:"-"` 1130} 1131 1132func (s *CompleteQueryResponse) MarshalJSON() ([]byte, error) { 1133 type NoMethod CompleteQueryResponse 1134 raw := NoMethod(*s) 1135 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1136} 1137 1138// CompletionResult: Output only. 1139// 1140// Resource that represents completion results. 1141type CompletionResult struct { 1142 // ImageUrl: The URL for the company logo if `type=COMPANY_NAME`. 1143 ImageUrl string `json:"imageUrl,omitempty"` 1144 1145 // Suggestion: The suggestion for the query. 1146 Suggestion string `json:"suggestion,omitempty"` 1147 1148 // Type: The completion topic. 1149 // 1150 // Possible values: 1151 // "COMPLETION_TYPE_UNSPECIFIED" - Default value. 1152 // "JOB_TITLE" - Only suggest job titles. 1153 // "COMPANY_NAME" - Only suggest company names. 1154 // "COMBINED" - Suggest both job titles and company names. 1155 Type string `json:"type,omitempty"` 1156 1157 // ForceSendFields is a list of field names (e.g. "ImageUrl") to 1158 // unconditionally include in API requests. By default, fields with 1159 // empty values are omitted from API requests. However, any non-pointer, 1160 // non-interface field appearing in ForceSendFields will be sent to the 1161 // server regardless of whether the field is empty or not. This may be 1162 // used to include empty fields in Patch requests. 1163 ForceSendFields []string `json:"-"` 1164 1165 // NullFields is a list of field names (e.g. "ImageUrl") to include in 1166 // API requests with the JSON null value. By default, fields with empty 1167 // values are omitted from API requests. However, any field with an 1168 // empty value appearing in NullFields will be sent to the server as 1169 // null. It is an error if a field in this list has a non-empty value. 1170 // This may be used to include null fields in Patch requests. 1171 NullFields []string `json:"-"` 1172} 1173 1174func (s *CompletionResult) MarshalJSON() ([]byte, error) { 1175 type NoMethod CompletionResult 1176 raw := NoMethod(*s) 1177 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1178} 1179 1180// CreateJobRequest: Input only. 1181// 1182// Create job request. 1183type CreateJobRequest struct { 1184 // DisableStreetAddressResolution: Deprecated. Please use 1185 // processing_options. This flag is ignored if 1186 // processing_options is set. 1187 // 1188 // Optional. 1189 // 1190 // If set to `true`, the service does not attempt to resolve a 1191 // more precise address for the job. 1192 DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"` 1193 1194 // Job: Required. The Job to be created. 1195 Job *Job `json:"job,omitempty"` 1196 1197 // ProcessingOptions: Optional. Options for job processing. 1198 ProcessingOptions *JobProcessingOptions `json:"processingOptions,omitempty"` 1199 1200 // ForceSendFields is a list of field names (e.g. 1201 // "DisableStreetAddressResolution") to unconditionally include in API 1202 // requests. By default, fields with empty values are omitted from API 1203 // requests. However, any non-pointer, non-interface field appearing in 1204 // ForceSendFields will be sent to the server regardless of whether the 1205 // field is empty or not. This may be used to include empty fields in 1206 // Patch requests. 1207 ForceSendFields []string `json:"-"` 1208 1209 // NullFields is a list of field names (e.g. 1210 // "DisableStreetAddressResolution") to include in API requests with the 1211 // JSON null value. By default, fields with empty values are omitted 1212 // from API requests. However, any field with an empty value appearing 1213 // in NullFields will be sent to the server as null. It is an error if a 1214 // field in this list has a non-empty value. This may be used to include 1215 // null fields in Patch requests. 1216 NullFields []string `json:"-"` 1217} 1218 1219func (s *CreateJobRequest) MarshalJSON() ([]byte, error) { 1220 type NoMethod CreateJobRequest 1221 raw := NoMethod(*s) 1222 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1223} 1224 1225// CustomAttribute: Custom attribute values that are either filterable 1226// or non-filterable. 1227type CustomAttribute struct { 1228 // Filterable: Optional. If the `filterable` flag is true, custom field 1229 // values are searchable. 1230 // If false, values are not searchable. 1231 // 1232 // Default is false. 1233 Filterable bool `json:"filterable,omitempty"` 1234 1235 // LongValue: Optional but at least one of string_values or long_value 1236 // must 1237 // be specified. 1238 // 1239 // This field is used to perform number range search. 1240 // (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. 1241 // For 1242 // `long_value`, a value between Long.MIN and Long.MAX is allowed. 1243 LongValue int64 `json:"longValue,omitempty,string"` 1244 1245 // StringValues: Optional but at least one of string_values or 1246 // long_value must 1247 // be specified. 1248 // 1249 // This field is used to perform a string match (`CASE_SENSITIVE_MATCH` 1250 // or 1251 // `CASE_INSENSITIVE_MATCH`) search. 1252 // For filterable `string_values`, a maximum total number of 200 1253 // values 1254 // is allowed, with each `string_value` has a byte size of no more 1255 // than 1256 // 255B. For unfilterable `string_values`, the maximum total byte size 1257 // of 1258 // unfilterable `string_values` is 50KB. 1259 // 1260 // Empty strings are not allowed. 1261 StringValues *StringValues `json:"stringValues,omitempty"` 1262 1263 // ForceSendFields is a list of field names (e.g. "Filterable") to 1264 // unconditionally include in API requests. By default, fields with 1265 // empty values are omitted from API requests. However, any non-pointer, 1266 // non-interface field appearing in ForceSendFields will be sent to the 1267 // server regardless of whether the field is empty or not. This may be 1268 // used to include empty fields in Patch requests. 1269 ForceSendFields []string `json:"-"` 1270 1271 // NullFields is a list of field names (e.g. "Filterable") to include in 1272 // API requests with the JSON null value. By default, fields with empty 1273 // values are omitted from API requests. However, any field with an 1274 // empty value appearing in NullFields will be sent to the server as 1275 // null. It is an error if a field in this list has a non-empty value. 1276 // This may be used to include null fields in Patch requests. 1277 NullFields []string `json:"-"` 1278} 1279 1280func (s *CustomAttribute) MarshalJSON() ([]byte, error) { 1281 type NoMethod CustomAttribute 1282 raw := NoMethod(*s) 1283 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1284} 1285 1286// CustomAttributeHistogramRequest: Custom attributes histogram request. 1287// An error will be thrown if neither 1288// string_value_histogram or long_value_histogram_bucketing_option 1289// has 1290// been defined. 1291type CustomAttributeHistogramRequest struct { 1292 // Key: Required. Specifies the custom field key to perform a histogram 1293 // on. If specified 1294 // without `long_value_histogram_bucketing_option`, histogram on string 1295 // values 1296 // of the given `key` is triggered, otherwise histogram is performed on 1297 // long 1298 // values. 1299 Key string `json:"key,omitempty"` 1300 1301 // LongValueHistogramBucketingOption: Optional. Specifies buckets used 1302 // to perform a range histogram on Job's 1303 // filterable long custom field values, or min/max value requirements. 1304 LongValueHistogramBucketingOption *NumericBucketingOption `json:"longValueHistogramBucketingOption,omitempty"` 1305 1306 // StringValueHistogram: Optional. If set to true, the response will 1307 // include the histogram value for 1308 // each key as a string. 1309 StringValueHistogram bool `json:"stringValueHistogram,omitempty"` 1310 1311 // ForceSendFields is a list of field names (e.g. "Key") to 1312 // unconditionally include in API requests. By default, fields with 1313 // empty values are omitted from API requests. However, any non-pointer, 1314 // non-interface field appearing in ForceSendFields will be sent to the 1315 // server regardless of whether the field is empty or not. This may be 1316 // used to include empty fields in Patch requests. 1317 ForceSendFields []string `json:"-"` 1318 1319 // NullFields is a list of field names (e.g. "Key") to include in API 1320 // requests with the JSON null value. By default, fields with empty 1321 // values are omitted from API requests. However, any field with an 1322 // empty value appearing in NullFields will be sent to the server as 1323 // null. It is an error if a field in this list has a non-empty value. 1324 // This may be used to include null fields in Patch requests. 1325 NullFields []string `json:"-"` 1326} 1327 1328func (s *CustomAttributeHistogramRequest) MarshalJSON() ([]byte, error) { 1329 type NoMethod CustomAttributeHistogramRequest 1330 raw := NoMethod(*s) 1331 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1332} 1333 1334// CustomAttributeHistogramResult: Output only. 1335// 1336// Custom attribute histogram result. 1337type CustomAttributeHistogramResult struct { 1338 // Key: Stores the key of custom attribute the histogram is performed 1339 // on. 1340 Key string `json:"key,omitempty"` 1341 1342 // LongValueHistogramResult: Stores bucketed histogram counting result 1343 // or min/max values for 1344 // custom attribute long values associated with `key`. 1345 LongValueHistogramResult *NumericBucketingResult `json:"longValueHistogramResult,omitempty"` 1346 1347 // StringValueHistogramResult: Stores a map from the values of string 1348 // custom field associated 1349 // with `key` to the number of jobs with that value in this histogram 1350 // result. 1351 StringValueHistogramResult map[string]int64 `json:"stringValueHistogramResult,omitempty"` 1352 1353 // ForceSendFields is a list of field names (e.g. "Key") to 1354 // unconditionally include in API requests. By default, fields with 1355 // empty values are omitted from API requests. However, any non-pointer, 1356 // non-interface field appearing in ForceSendFields will be sent to the 1357 // server regardless of whether the field is empty or not. This may be 1358 // used to include empty fields in Patch requests. 1359 ForceSendFields []string `json:"-"` 1360 1361 // NullFields is a list of field names (e.g. "Key") to include in API 1362 // requests with the JSON null value. By default, fields with empty 1363 // values are omitted from API requests. However, any field with an 1364 // empty value appearing in NullFields will be sent to the server as 1365 // null. It is an error if a field in this list has a non-empty value. 1366 // This may be used to include null fields in Patch requests. 1367 NullFields []string `json:"-"` 1368} 1369 1370func (s *CustomAttributeHistogramResult) MarshalJSON() ([]byte, error) { 1371 type NoMethod CustomAttributeHistogramResult 1372 raw := NoMethod(*s) 1373 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1374} 1375 1376// CustomField: Resource that represents the custom data not captured by 1377// the standard fields. 1378type CustomField struct { 1379 // Values: Optional. The values of the custom data. 1380 Values []string `json:"values,omitempty"` 1381 1382 // ForceSendFields is a list of field names (e.g. "Values") to 1383 // unconditionally include in API requests. By default, fields with 1384 // empty values are omitted from API requests. However, any non-pointer, 1385 // non-interface field appearing in ForceSendFields will be sent to the 1386 // server regardless of whether the field is empty or not. This may be 1387 // used to include empty fields in Patch requests. 1388 ForceSendFields []string `json:"-"` 1389 1390 // NullFields is a list of field names (e.g. "Values") to include in API 1391 // requests with the JSON null value. By default, fields with empty 1392 // values are omitted from API requests. However, any field with an 1393 // empty value appearing in NullFields will be sent to the server as 1394 // null. It is an error if a field in this list has a non-empty value. 1395 // This may be used to include null fields in Patch requests. 1396 NullFields []string `json:"-"` 1397} 1398 1399func (s *CustomField) MarshalJSON() ([]byte, error) { 1400 type NoMethod CustomField 1401 raw := NoMethod(*s) 1402 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1403} 1404 1405// CustomFieldFilter: Input only. 1406// 1407// Custom field filter of the search. 1408type CustomFieldFilter struct { 1409 // Queries: Required. The query strings for the filter. 1410 Queries []string `json:"queries,omitempty"` 1411 1412 // Type: Optional. The type of filter. 1413 // Defaults to FilterType.OR. 1414 // 1415 // Possible values: 1416 // "FILTER_TYPE_UNSPECIFIED" - Default value. 1417 // "OR" - Search for a match with any query. 1418 // "AND" - Search for a match with all queries. 1419 // "NOT" - Negate the set of filter values for the search. 1420 Type string `json:"type,omitempty"` 1421 1422 // ForceSendFields is a list of field names (e.g. "Queries") to 1423 // unconditionally include in API requests. By default, fields with 1424 // empty values are omitted from API requests. However, any non-pointer, 1425 // non-interface field appearing in ForceSendFields will be sent to the 1426 // server regardless of whether the field is empty or not. This may be 1427 // used to include empty fields in Patch requests. 1428 ForceSendFields []string `json:"-"` 1429 1430 // NullFields is a list of field names (e.g. "Queries") to include in 1431 // API requests with the JSON null value. By default, fields with empty 1432 // values are omitted from API requests. However, any field with an 1433 // empty value appearing in NullFields will be sent to the server as 1434 // null. It is an error if a field in this list has a non-empty value. 1435 // This may be used to include null fields in Patch requests. 1436 NullFields []string `json:"-"` 1437} 1438 1439func (s *CustomFieldFilter) MarshalJSON() ([]byte, error) { 1440 type NoMethod CustomFieldFilter 1441 raw := NoMethod(*s) 1442 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1443} 1444 1445// Date: Represents a whole or partial calendar date, e.g. a birthday. 1446// The time of day 1447// and time zone are either specified elsewhere or are not significant. 1448// The date 1449// is relative to the Proleptic Gregorian Calendar. This can 1450// represent: 1451// 1452// * A full date, with non-zero year, month and day values 1453// * A month and day value, with a zero year, e.g. an anniversary 1454// * A year on its own, with zero month and day values 1455// * A year and month value, with a zero day, e.g. a credit card 1456// expiration date 1457// 1458// Related types are google.type.TimeOfDay and 1459// `google.protobuf.Timestamp`. 1460type Date struct { 1461 // Day: Day of month. Must be from 1 to 31 and valid for the year and 1462 // month, or 0 1463 // if specifying a year by itself or a year and month where the day is 1464 // not 1465 // significant. 1466 Day int64 `json:"day,omitempty"` 1467 1468 // Month: Month of year. Must be from 1 to 12, or 0 if specifying a year 1469 // without a 1470 // month and day. 1471 Month int64 `json:"month,omitempty"` 1472 1473 // Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date 1474 // without 1475 // a year. 1476 Year int64 `json:"year,omitempty"` 1477 1478 // ForceSendFields is a list of field names (e.g. "Day") to 1479 // unconditionally include in API requests. By default, fields with 1480 // empty values are omitted from API requests. However, any non-pointer, 1481 // non-interface field appearing in ForceSendFields will be sent to the 1482 // server regardless of whether the field is empty or not. This may be 1483 // used to include empty fields in Patch requests. 1484 ForceSendFields []string `json:"-"` 1485 1486 // NullFields is a list of field names (e.g. "Day") to include in API 1487 // requests with the JSON null value. By default, fields with empty 1488 // values are omitted from API requests. However, any field with an 1489 // empty value appearing in NullFields will be sent to the server as 1490 // null. It is an error if a field in this list has a non-empty value. 1491 // This may be used to include null fields in Patch requests. 1492 NullFields []string `json:"-"` 1493} 1494 1495func (s *Date) MarshalJSON() ([]byte, error) { 1496 type NoMethod Date 1497 raw := NoMethod(*s) 1498 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1499} 1500 1501// DeleteJobsByFilterRequest: Deprecated. Use BatchDeleteJobsRequest 1502// instead. 1503// 1504// Input only. 1505// 1506// Delete job by filter request. 1507// 1508// The job typically becomes unsearchable within 10 seconds, but it may 1509// take 1510// up to 5 minutes. 1511type DeleteJobsByFilterRequest struct { 1512 // DisableFastProcess: Optional. If set to true, this call waits for all 1513 // processing steps to complete 1514 // before the job is cleaned up. Otherwise, the call returns while 1515 // some 1516 // steps are still taking place asynchronously, hence faster. 1517 DisableFastProcess bool `json:"disableFastProcess,omitempty"` 1518 1519 // Filter: Required. Restrictions on the scope of the delete request. 1520 Filter *Filter `json:"filter,omitempty"` 1521 1522 // ForceSendFields is a list of field names (e.g. "DisableFastProcess") 1523 // to unconditionally include in API requests. By default, fields with 1524 // empty values are omitted from API requests. However, any non-pointer, 1525 // non-interface field appearing in ForceSendFields will be sent to the 1526 // server regardless of whether the field is empty or not. This may be 1527 // used to include empty fields in Patch requests. 1528 ForceSendFields []string `json:"-"` 1529 1530 // NullFields is a list of field names (e.g. "DisableFastProcess") to 1531 // include in API requests with the JSON null value. By default, fields 1532 // with empty values are omitted from API requests. However, any field 1533 // with an empty value appearing in NullFields will be sent to the 1534 // server as null. It is an error if a field in this list has a 1535 // non-empty value. This may be used to include null fields in Patch 1536 // requests. 1537 NullFields []string `json:"-"` 1538} 1539 1540func (s *DeleteJobsByFilterRequest) MarshalJSON() ([]byte, error) { 1541 type NoMethod DeleteJobsByFilterRequest 1542 raw := NoMethod(*s) 1543 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1544} 1545 1546// DeviceInfo: Input only. 1547// 1548// Device information collected from the job seeker, candidate, or 1549// other entity conducting the job search. Providing this information 1550// improves 1551// the quality of the search results across devices. 1552type DeviceInfo struct { 1553 // DeviceType: Optional. Type of the device. 1554 // 1555 // Possible values: 1556 // "DEVICE_TYPE_UNSPECIFIED" - The device type isn't specified. 1557 // "WEB" - A desktop web browser, such as, Chrome, Firefox, Safari, or 1558 // Internet 1559 // Explorer) 1560 // "MOBILE_WEB" - A mobile device web browser, such as a phone or 1561 // tablet with a Chrome 1562 // browser. 1563 // "ANDROID" - An Android device native application. 1564 // "IOS" - An iOS device native application. 1565 // "BOT" - A bot, as opposed to a device operated by human beings, 1566 // such as a web 1567 // crawler. 1568 // "OTHER" - Other devices types. 1569 DeviceType string `json:"deviceType,omitempty"` 1570 1571 // Id: Optional. A device-specific ID. The ID must be a unique 1572 // identifier that distinguishes 1573 // the device from other devices. 1574 Id string `json:"id,omitempty"` 1575 1576 // ForceSendFields is a list of field names (e.g. "DeviceType") to 1577 // unconditionally include in API requests. By default, fields with 1578 // empty values are omitted from API requests. However, any non-pointer, 1579 // non-interface field appearing in ForceSendFields will be sent to the 1580 // server regardless of whether the field is empty or not. This may be 1581 // used to include empty fields in Patch requests. 1582 ForceSendFields []string `json:"-"` 1583 1584 // NullFields is a list of field names (e.g. "DeviceType") to include in 1585 // API requests with the JSON null value. By default, fields with empty 1586 // values are omitted from API requests. However, any field with an 1587 // empty value appearing in NullFields will be sent to the server as 1588 // null. It is an error if a field in this list has a non-empty value. 1589 // This may be used to include null fields in Patch requests. 1590 NullFields []string `json:"-"` 1591} 1592 1593func (s *DeviceInfo) MarshalJSON() ([]byte, error) { 1594 type NoMethod DeviceInfo 1595 raw := NoMethod(*s) 1596 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1597} 1598 1599// Empty: A generic empty message that you can re-use to avoid defining 1600// duplicated 1601// empty messages in your APIs. A typical example is to use it as the 1602// request 1603// or the response type of an API method. For instance: 1604// 1605// service Foo { 1606// rpc Bar(google.protobuf.Empty) returns 1607// (google.protobuf.Empty); 1608// } 1609// 1610// The JSON representation for `Empty` is empty JSON object `{}`. 1611type Empty struct { 1612 // ServerResponse contains the HTTP response code and headers from the 1613 // server. 1614 googleapi.ServerResponse `json:"-"` 1615} 1616 1617// ExtendedCompensationFilter: Deprecated. Always use 1618// CompensationFilter. 1619// 1620// Input only. 1621// 1622// Filter on job compensation type and amount. 1623type ExtendedCompensationFilter struct { 1624 // CompensationRange: Optional. Compensation range. 1625 CompensationRange *ExtendedCompensationInfoCompensationRange `json:"compensationRange,omitempty"` 1626 1627 // CompensationUnits: Required. Specify desired `base compensation 1628 // entry's` 1629 // ExtendedCompensationInfo.CompensationUnit. 1630 // 1631 // Possible values: 1632 // "EXTENDED_COMPENSATION_UNIT_UNSPECIFIED" - Default value. 1633 // Equivalent to OTHER_COMPENSATION_UNIT. 1634 // "HOURLY" - Hourly. 1635 // "DAILY" - Daily. 1636 // "WEEKLY" - Weekly 1637 // "MONTHLY" - Monthly. 1638 // "YEARLY" - Yearly. 1639 // "ONE_TIME" - One time. 1640 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 1641 CompensationUnits []string `json:"compensationUnits,omitempty"` 1642 1643 // Currency: Optional. Specify currency in 3-letter 1644 // [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. 1645 // If 1646 // unspecified, jobs are returned regardless of currency. 1647 Currency string `json:"currency,omitempty"` 1648 1649 // IncludeJobWithUnspecifiedCompensationRange: Optional. Whether to 1650 // include jobs whose compensation range is unspecified. 1651 IncludeJobWithUnspecifiedCompensationRange bool `json:"includeJobWithUnspecifiedCompensationRange,omitempty"` 1652 1653 // Type: Required. Type of filter. 1654 // 1655 // Possible values: 1656 // "FILTER_TYPE_UNSPECIFIED" - Filter type unspecified. Position 1657 // holder, INVALID, should never be used. 1658 // "UNIT_ONLY" - Filter by `base compensation entry's` unit. A job is 1659 // a match if and 1660 // only if the job contains a base CompensationEntry and the 1661 // base 1662 // CompensationEntry's unit matches provided 1663 // compensation_units. 1664 // Populate one or more compensation_units. 1665 // 1666 // See ExtendedCompensationInfo.CompensationEntry for definition of 1667 // base compensation entry. 1668 // "UNIT_AND_AMOUNT" - Filter by `base compensation entry's` unit and 1669 // amount / range. A job 1670 // is a match if and only if the job contains a base CompensationEntry, 1671 // and 1672 // the base entry's unit matches provided compensation_units and 1673 // amount 1674 // or range overlaps with provided compensation_range. 1675 // 1676 // See ExtendedCompensationInfo.CompensationEntry for definition of 1677 // base compensation entry. 1678 // 1679 // Set exactly one 1680 // compensation_units and populate 1681 // compensation_range. 1682 // "ANNUALIZED_BASE_AMOUNT" - Filter by annualized base compensation 1683 // amount and `base compensation 1684 // entry's` unit. Populate compensation_range and zero or 1685 // more 1686 // compensation_units. 1687 // "ANNUALIZED_TOTAL_AMOUNT" - Filter by annualized total compensation 1688 // amount and `base compensation 1689 // entry's` unit . Populate compensation_range and zero or 1690 // more 1691 // compensation_units. 1692 Type string `json:"type,omitempty"` 1693 1694 // ForceSendFields is a list of field names (e.g. "CompensationRange") 1695 // to unconditionally include in API requests. By default, fields with 1696 // empty values are omitted from API requests. However, any non-pointer, 1697 // non-interface field appearing in ForceSendFields will be sent to the 1698 // server regardless of whether the field is empty or not. This may be 1699 // used to include empty fields in Patch requests. 1700 ForceSendFields []string `json:"-"` 1701 1702 // NullFields is a list of field names (e.g. "CompensationRange") to 1703 // include in API requests with the JSON null value. By default, fields 1704 // with empty values are omitted from API requests. However, any field 1705 // with an empty value appearing in NullFields will be sent to the 1706 // server as null. It is an error if a field in this list has a 1707 // non-empty value. This may be used to include null fields in Patch 1708 // requests. 1709 NullFields []string `json:"-"` 1710} 1711 1712func (s *ExtendedCompensationFilter) MarshalJSON() ([]byte, error) { 1713 type NoMethod ExtendedCompensationFilter 1714 raw := NoMethod(*s) 1715 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1716} 1717 1718// ExtendedCompensationInfo: Deprecated. Use 1719// CompensationInfo. 1720// 1721// Describes job compensation. 1722type ExtendedCompensationInfo struct { 1723 // AnnualizedBaseCompensationRange: Output only. Annualized base 1724 // compensation range. 1725 AnnualizedBaseCompensationRange *ExtendedCompensationInfoCompensationRange `json:"annualizedBaseCompensationRange,omitempty"` 1726 1727 // AnnualizedBaseCompensationUnspecified: Output only. Indicates 1728 // annualized base compensation range cannot be derived, due to 1729 // the job's base compensation entry cannot be annualized. 1730 // See CompensationEntry for explanation on annualization and 1731 // base 1732 // compensation entry. 1733 AnnualizedBaseCompensationUnspecified bool `json:"annualizedBaseCompensationUnspecified,omitempty"` 1734 1735 // AnnualizedTotalCompensationRange: Output only. Annualized total 1736 // compensation range. 1737 AnnualizedTotalCompensationRange *ExtendedCompensationInfoCompensationRange `json:"annualizedTotalCompensationRange,omitempty"` 1738 1739 // AnnualizedTotalCompensationUnspecified: Output only. Indicates 1740 // annualized total compensation range cannot be derived, due to 1741 // the job's all CompensationEntry cannot be annualized. 1742 // See CompensationEntry for explanation on annualization and 1743 // base 1744 // compensation entry. 1745 AnnualizedTotalCompensationUnspecified bool `json:"annualizedTotalCompensationUnspecified,omitempty"` 1746 1747 // Currency: Optional. A 3-letter [ISO 1748 // 4217](https://www.iso.org/iso-4217-currency-codes.html) 1749 // currency code. 1750 Currency string `json:"currency,omitempty"` 1751 1752 // Entries: Optional. Job compensation information. 1753 // 1754 // At most one entry can be of 1755 // type 1756 // ExtendedCompensationInfo.CompensationType.BASE, which is 1757 // referred as ** base compensation entry ** for the job. 1758 Entries []*ExtendedCompensationInfoCompensationEntry `json:"entries,omitempty"` 1759 1760 // ForceSendFields is a list of field names (e.g. 1761 // "AnnualizedBaseCompensationRange") to unconditionally include in API 1762 // requests. By default, fields with empty values are omitted from API 1763 // requests. However, any non-pointer, non-interface field appearing in 1764 // ForceSendFields will be sent to the server regardless of whether the 1765 // field is empty or not. This may be used to include empty fields in 1766 // Patch requests. 1767 ForceSendFields []string `json:"-"` 1768 1769 // NullFields is a list of field names (e.g. 1770 // "AnnualizedBaseCompensationRange") to include in API requests with 1771 // the JSON null value. By default, fields with empty values are omitted 1772 // from API requests. However, any field with an empty value appearing 1773 // in NullFields will be sent to the server as null. It is an error if a 1774 // field in this list has a non-empty value. This may be used to include 1775 // null fields in Patch requests. 1776 NullFields []string `json:"-"` 1777} 1778 1779func (s *ExtendedCompensationInfo) MarshalJSON() ([]byte, error) { 1780 type NoMethod ExtendedCompensationInfo 1781 raw := NoMethod(*s) 1782 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1783} 1784 1785// ExtendedCompensationInfoCompensationEntry: Deprecated. See 1786// CompensationInfo. 1787// 1788// A compensation entry that represents one component of compensation, 1789// such 1790// as base pay, bonus, or other compensation type. 1791// 1792// Annualization: One compensation entry can be annualized if 1793// - it contains valid amount or range. 1794// - and its expected_units_per_year is set or can be derived. 1795// Its annualized range is determined as (amount or range) 1796// times 1797// expected_units_per_year. 1798type ExtendedCompensationInfoCompensationEntry struct { 1799 // Amount: Optional. Monetary amount. 1800 Amount *ExtendedCompensationInfoDecimal `json:"amount,omitempty"` 1801 1802 // Description: Optional. Compensation description. 1803 Description string `json:"description,omitempty"` 1804 1805 // ExpectedUnitsPerYear: Optional. Expected number of units paid each 1806 // year. If not specified, when 1807 // Job.employment_types is FULLTIME, a default value is inferred 1808 // based on unit. Default values: 1809 // - HOURLY: 2080 1810 // - DAILY: 260 1811 // - WEEKLY: 52 1812 // - MONTHLY: 12 1813 // - ANNUAL: 1 1814 ExpectedUnitsPerYear *ExtendedCompensationInfoDecimal `json:"expectedUnitsPerYear,omitempty"` 1815 1816 // Range: Optional. Compensation range. 1817 Range *ExtendedCompensationInfoCompensationRange `json:"range,omitempty"` 1818 1819 // Type: Required. Compensation type. 1820 // 1821 // Possible values: 1822 // "EXTENDED_COMPENSATION_TYPE_UNSPECIFIED" - Default value. 1823 // Equivalent to OTHER_COMPENSATION_TYPE. 1824 // "BASE" - Base compensation: Refers to the fixed amount of money 1825 // paid to an 1826 // employee by an employer in return for work performed. Base 1827 // compensation 1828 // does not include benefits, bonuses or any other potential 1829 // compensation 1830 // from an employer. 1831 // "BONUS" - Bonus. 1832 // "SIGNING_BONUS" - Signing bonus. 1833 // "EQUITY" - Equity. 1834 // "PROFIT_SHARING" - Profit sharing. 1835 // "COMMISSIONS" - Commission. 1836 // "TIPS" - Tips. 1837 // "OTHER_COMPENSATION_TYPE" - Other compensation type. 1838 Type string `json:"type,omitempty"` 1839 1840 // Unit: Optional. Frequency of the specified amount. 1841 // 1842 // Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED. 1843 // 1844 // Possible values: 1845 // "EXTENDED_COMPENSATION_UNIT_UNSPECIFIED" - Default value. 1846 // Equivalent to OTHER_COMPENSATION_UNIT. 1847 // "HOURLY" - Hourly. 1848 // "DAILY" - Daily. 1849 // "WEEKLY" - Weekly 1850 // "MONTHLY" - Monthly. 1851 // "YEARLY" - Yearly. 1852 // "ONE_TIME" - One time. 1853 // "OTHER_COMPENSATION_UNIT" - Other compensation units. 1854 Unit string `json:"unit,omitempty"` 1855 1856 // Unspecified: Optional. Indicates compensation amount and range are 1857 // unset. 1858 Unspecified bool `json:"unspecified,omitempty"` 1859 1860 // ForceSendFields is a list of field names (e.g. "Amount") to 1861 // unconditionally include in API requests. By default, fields with 1862 // empty values are omitted from API requests. However, any non-pointer, 1863 // non-interface field appearing in ForceSendFields will be sent to the 1864 // server regardless of whether the field is empty or not. This may be 1865 // used to include empty fields in Patch requests. 1866 ForceSendFields []string `json:"-"` 1867 1868 // NullFields is a list of field names (e.g. "Amount") to include in API 1869 // requests with the JSON null value. By default, fields with empty 1870 // values are omitted from API requests. However, any field with an 1871 // empty value appearing in NullFields will be sent to the server as 1872 // null. It is an error if a field in this list has a non-empty value. 1873 // This may be used to include null fields in Patch requests. 1874 NullFields []string `json:"-"` 1875} 1876 1877func (s *ExtendedCompensationInfoCompensationEntry) MarshalJSON() ([]byte, error) { 1878 type NoMethod ExtendedCompensationInfoCompensationEntry 1879 raw := NoMethod(*s) 1880 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1881} 1882 1883// ExtendedCompensationInfoCompensationRange: Deprecated. See 1884// CompensationInfo. 1885// 1886// Compensation range. 1887type ExtendedCompensationInfoCompensationRange struct { 1888 // Max: Required. Maximum value. 1889 Max *ExtendedCompensationInfoDecimal `json:"max,omitempty"` 1890 1891 // Min: Required. Minimum value. 1892 Min *ExtendedCompensationInfoDecimal `json:"min,omitempty"` 1893 1894 // ForceSendFields is a list of field names (e.g. "Max") to 1895 // unconditionally include in API requests. By default, fields with 1896 // empty values are omitted from API requests. However, any non-pointer, 1897 // non-interface field appearing in ForceSendFields will be sent to the 1898 // server regardless of whether the field is empty or not. This may be 1899 // used to include empty fields in Patch requests. 1900 ForceSendFields []string `json:"-"` 1901 1902 // NullFields is a list of field names (e.g. "Max") to include in API 1903 // requests with the JSON null value. By default, fields with empty 1904 // values are omitted from API requests. However, any field with an 1905 // empty value appearing in NullFields will be sent to the server as 1906 // null. It is an error if a field in this list has a non-empty value. 1907 // This may be used to include null fields in Patch requests. 1908 NullFields []string `json:"-"` 1909} 1910 1911func (s *ExtendedCompensationInfoCompensationRange) MarshalJSON() ([]byte, error) { 1912 type NoMethod ExtendedCompensationInfoCompensationRange 1913 raw := NoMethod(*s) 1914 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1915} 1916 1917// ExtendedCompensationInfoDecimal: Deprecated. See 1918// CompensationInfo. 1919// 1920// Decimal number. 1921type ExtendedCompensationInfoDecimal struct { 1922 // Micros: Micro (10^-6) units. 1923 // The value must be between -999,999 and +999,999 inclusive. 1924 // If `units` is positive, `micros` must be positive or zero. 1925 // If `units` is zero, `micros` can be positive, zero, or negative. 1926 // If `units` is negative, `micros` must be negative or zero. 1927 // For example -1.75 is represented as `units`=-1 and `micros`=-750,000. 1928 Micros int64 `json:"micros,omitempty"` 1929 1930 // Units: Whole units. 1931 Units int64 `json:"units,omitempty,string"` 1932 1933 // ForceSendFields is a list of field names (e.g. "Micros") to 1934 // unconditionally include in API requests. By default, fields with 1935 // empty values are omitted from API requests. However, any non-pointer, 1936 // non-interface field appearing in ForceSendFields will be sent to the 1937 // server regardless of whether the field is empty or not. This may be 1938 // used to include empty fields in Patch requests. 1939 ForceSendFields []string `json:"-"` 1940 1941 // NullFields is a list of field names (e.g. "Micros") to include in API 1942 // requests with the JSON null value. By default, fields with empty 1943 // values are omitted from API requests. However, any field with an 1944 // empty value appearing in NullFields will be sent to the server as 1945 // null. It is an error if a field in this list has a non-empty value. 1946 // This may be used to include null fields in Patch requests. 1947 NullFields []string `json:"-"` 1948} 1949 1950func (s *ExtendedCompensationInfoDecimal) MarshalJSON() ([]byte, error) { 1951 type NoMethod ExtendedCompensationInfoDecimal 1952 raw := NoMethod(*s) 1953 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1954} 1955 1956// Filter: Deprecated. Use BatchDeleteJobsRequest instead. 1957// 1958// Input only. 1959// 1960// Filter for jobs to be deleted. 1961type Filter struct { 1962 // RequisitionId: Required. The requisition ID (or posting ID) assigned 1963 // by the client to identify a 1964 // job. This is intended for client identification and tracking 1965 // of 1966 // listings. 1967 // name takes precedence over this field 1968 // The maximum number of allowed characters is 225. 1969 RequisitionId string `json:"requisitionId,omitempty"` 1970 1971 // ForceSendFields is a list of field names (e.g. "RequisitionId") to 1972 // unconditionally include in API requests. By default, fields with 1973 // empty values are omitted from API requests. However, any non-pointer, 1974 // non-interface field appearing in ForceSendFields will be sent to the 1975 // server regardless of whether the field is empty or not. This may be 1976 // used to include empty fields in Patch requests. 1977 ForceSendFields []string `json:"-"` 1978 1979 // NullFields is a list of field names (e.g. "RequisitionId") to include 1980 // in API requests with the JSON null value. By default, fields with 1981 // empty values are omitted from API requests. However, any field with 1982 // an empty value appearing in NullFields will be sent to the server as 1983 // null. It is an error if a field in this list has a non-empty value. 1984 // This may be used to include null fields in Patch requests. 1985 NullFields []string `json:"-"` 1986} 1987 1988func (s *Filter) MarshalJSON() ([]byte, error) { 1989 type NoMethod Filter 1990 raw := NoMethod(*s) 1991 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1992} 1993 1994// GetHistogramRequest: Deprecated. Use 1995// SearchJobsRequest.histogram_facets instead to make 1996// a single call with both search and histogram. 1997// 1998// Input only. 1999// 2000// A request for the `GetHistogram` method. 2001type GetHistogramRequest struct { 2002 // AllowBroadening: Optional. Controls whether to broaden the search to 2003 // avoid too few results for a 2004 // given query in instances where a search has sparse results. Results 2005 // from a 2006 // broadened query is a superset of the results from the original 2007 // query. 2008 // 2009 // Defaults to false. 2010 AllowBroadening bool `json:"allowBroadening,omitempty"` 2011 2012 // Filters: Deprecated. Use query instead. 2013 // 2014 // Optional. 2015 // 2016 // Restrictions on the scope of the histogram. 2017 Filters *JobFilters `json:"filters,omitempty"` 2018 2019 // Query: Optional. Query used to search against jobs, such as keyword, 2020 // location filters, etc. 2021 Query *JobQuery `json:"query,omitempty"` 2022 2023 // RequestMetadata: Meta information, such as `user_id`, collected from 2024 // the job searcher or 2025 // other entity conducting a job search, is used to improve the 2026 // service's 2027 // search quality. Users determine identifier values, which must 2028 // be 2029 // unique and consist. 2030 RequestMetadata *RequestMetadata `json:"requestMetadata,omitempty"` 2031 2032 // SearchTypes: Required. A list of facets that specify the histogram 2033 // data to be calculated 2034 // against and returned. 2035 // 2036 // Histogram response times can be slow, and counts 2037 // can be approximations. This call may be temporarily or permanently 2038 // removed 2039 // prior to the production release of Cloud Talent Solution. 2040 // 2041 // Possible values: 2042 // "JOB_FIELD_UNSPECIFIED" - The default value if search type is not 2043 // specified. 2044 // "COMPANY_ID" - Filter by the company id field. 2045 // "EMPLOYMENT_TYPE" - Filter by the employment type field, such as 2046 // `FULL_TIME` or `PART_TIME`. 2047 // "COMPANY_SIZE" - Filter by the company size type field, such as 2048 // `BIG`, `SMALL` or `BIGGER`. 2049 // "DATE_PUBLISHED" - Filter by the date published field. Values are 2050 // stringified 2051 // with TimeRange, for example, TimeRange.PAST_MONTH. 2052 // "CUSTOM_FIELD_1" - Filter by custom field 1. 2053 // "CUSTOM_FIELD_2" - Filter by custom field 2. 2054 // "CUSTOM_FIELD_3" - Filter by custom field 3. 2055 // "CUSTOM_FIELD_4" - Filter by custom field 4. 2056 // "CUSTOM_FIELD_5" - Filter by custom field 5. 2057 // "CUSTOM_FIELD_6" - Filter by custom field 6. 2058 // "CUSTOM_FIELD_7" - Filter by custom field 7. 2059 // "CUSTOM_FIELD_8" - Filter by custom field 8. 2060 // "CUSTOM_FIELD_9" - Filter by custom field 9. 2061 // "CUSTOM_FIELD_10" - Filter by custom field 10. 2062 // "CUSTOM_FIELD_11" - Filter by custom field 11. 2063 // "CUSTOM_FIELD_12" - Filter by custom field 12. 2064 // "CUSTOM_FIELD_13" - Filter by custom field 13. 2065 // "CUSTOM_FIELD_14" - Filter by custom field 14. 2066 // "CUSTOM_FIELD_15" - Filter by custom field 15. 2067 // "CUSTOM_FIELD_16" - Filter by custom field 16. 2068 // "CUSTOM_FIELD_17" - Filter by custom field 17. 2069 // "CUSTOM_FIELD_18" - Filter by custom field 18. 2070 // "CUSTOM_FIELD_19" - Filter by custom field 19. 2071 // "CUSTOM_FIELD_20" - Filter by custom field 20. 2072 // "EDUCATION_LEVEL" - Filter by the required education level of the 2073 // job. 2074 // "EXPERIENCE_LEVEL" - Filter by the required experience level of the 2075 // job. 2076 // "ADMIN1" - Filter by Admin1, which is a global placeholder 2077 // for 2078 // referring to state, province, or the particular term a country uses 2079 // to 2080 // define the geographic structure below the country level. 2081 // Examples include states codes such as "CA", "IL", "NY", 2082 // and 2083 // provinces, such as "BC". 2084 // "COUNTRY" - Filter by the country code of job, such as US, JP, FR. 2085 // "CITY" - Filter by the "city name", "Admin1 code", for 2086 // example, 2087 // "Mountain View, CA" or "New York, NY". 2088 // "LOCALE" - Filter by the locale field of a job, such as "en-US", 2089 // "fr-FR". 2090 // 2091 // This is the BCP-47 language code, such as "en-US" or "sr-Latn". 2092 // For more information, see 2093 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 2094 // "LANGUAGE" - Filter by the language code portion of the locale 2095 // field, such as "en" or 2096 // "fr". 2097 // "CATEGORY" - Filter by the Category. 2098 // "CITY_COORDINATE" - Filter by the city center GPS coordinate 2099 // (latitude and longitude), for 2100 // example, 37.4038522,-122.0987765. Since the coordinates of a city 2101 // center 2102 // can change, clients may need to refresh them periodically. 2103 // "ADMIN1_COUNTRY" - A combination of state or province code with a 2104 // country code. This field 2105 // differs from `JOB_ADMIN1`, which can be used in multiple countries. 2106 // "COMPANY_TITLE" - Deprecated. Use COMPANY_DISPLAY_NAME 2107 // instead. 2108 // 2109 // Company display name. 2110 // "COMPANY_DISPLAY_NAME" - Company display name. 2111 // "BASE_COMPENSATION_UNIT" - Base compensation unit. 2112 SearchTypes []string `json:"searchTypes,omitempty"` 2113 2114 // ForceSendFields is a list of field names (e.g. "AllowBroadening") to 2115 // unconditionally include in API requests. By default, fields with 2116 // empty values are omitted from API requests. However, any non-pointer, 2117 // non-interface field appearing in ForceSendFields will be sent to the 2118 // server regardless of whether the field is empty or not. This may be 2119 // used to include empty fields in Patch requests. 2120 ForceSendFields []string `json:"-"` 2121 2122 // NullFields is a list of field names (e.g. "AllowBroadening") to 2123 // include in API requests with the JSON null value. By default, fields 2124 // with empty values are omitted from API requests. However, any field 2125 // with an empty value appearing in NullFields will be sent to the 2126 // server as null. It is an error if a field in this list has a 2127 // non-empty value. This may be used to include null fields in Patch 2128 // requests. 2129 NullFields []string `json:"-"` 2130} 2131 2132func (s *GetHistogramRequest) MarshalJSON() ([]byte, error) { 2133 type NoMethod GetHistogramRequest 2134 raw := NoMethod(*s) 2135 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2136} 2137 2138// GetHistogramResponse: Deprecated. Use 2139// SearchJobsRequest.histogram_facets instead to make 2140// a single call with both search and histogram. 2141// 2142// Output only. 2143// 2144// The response of the GetHistogram method. 2145type GetHistogramResponse struct { 2146 // Metadata: Additional information for the API invocation, such as the 2147 // request 2148 // tracking id. 2149 Metadata *ResponseMetadata `json:"metadata,omitempty"` 2150 2151 // Results: The Histogram results. 2152 Results []*HistogramResult `json:"results,omitempty"` 2153 2154 // ServerResponse contains the HTTP response code and headers from the 2155 // server. 2156 googleapi.ServerResponse `json:"-"` 2157 2158 // ForceSendFields is a list of field names (e.g. "Metadata") to 2159 // unconditionally include in API requests. By default, fields with 2160 // empty values are omitted from API requests. However, any non-pointer, 2161 // non-interface field appearing in ForceSendFields will be sent to the 2162 // server regardless of whether the field is empty or not. This may be 2163 // used to include empty fields in Patch requests. 2164 ForceSendFields []string `json:"-"` 2165 2166 // NullFields is a list of field names (e.g. "Metadata") to include in 2167 // API requests with the JSON null value. By default, fields with empty 2168 // values are omitted from API requests. However, any field with an 2169 // empty value appearing in NullFields will be sent to the server as 2170 // null. It is an error if a field in this list has a non-empty value. 2171 // This may be used to include null fields in Patch requests. 2172 NullFields []string `json:"-"` 2173} 2174 2175func (s *GetHistogramResponse) MarshalJSON() ([]byte, error) { 2176 type NoMethod GetHistogramResponse 2177 raw := NoMethod(*s) 2178 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2179} 2180 2181// HistogramFacets: Input only. 2182// 2183// Histogram facets to be specified in SearchJobsRequest. 2184type HistogramFacets struct { 2185 // CompensationHistogramFacets: Optional. Specifies compensation 2186 // field-based histogram requests. 2187 // Duplicate values of CompensationHistogramRequest.type are not 2188 // allowed. 2189 CompensationHistogramFacets []*CompensationHistogramRequest `json:"compensationHistogramFacets,omitempty"` 2190 2191 // CustomAttributeHistogramFacets: Optional. Specifies the custom 2192 // attributes histogram requests. 2193 // Duplicate values of CustomAttributeHistogramRequest.key are 2194 // not 2195 // allowed. 2196 CustomAttributeHistogramFacets []*CustomAttributeHistogramRequest `json:"customAttributeHistogramFacets,omitempty"` 2197 2198 // SimpleHistogramFacets: Optional. Specifies the simple type of 2199 // histogram facets, for example, 2200 // `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent 2201 // to 2202 // GetHistogramRequest. 2203 // 2204 // Possible values: 2205 // "JOB_FIELD_UNSPECIFIED" - The default value if search type is not 2206 // specified. 2207 // "COMPANY_ID" - Filter by the company id field. 2208 // "EMPLOYMENT_TYPE" - Filter by the employment type field, such as 2209 // `FULL_TIME` or `PART_TIME`. 2210 // "COMPANY_SIZE" - Filter by the company size type field, such as 2211 // `BIG`, `SMALL` or `BIGGER`. 2212 // "DATE_PUBLISHED" - Filter by the date published field. Values are 2213 // stringified 2214 // with TimeRange, for example, TimeRange.PAST_MONTH. 2215 // "CUSTOM_FIELD_1" - Filter by custom field 1. 2216 // "CUSTOM_FIELD_2" - Filter by custom field 2. 2217 // "CUSTOM_FIELD_3" - Filter by custom field 3. 2218 // "CUSTOM_FIELD_4" - Filter by custom field 4. 2219 // "CUSTOM_FIELD_5" - Filter by custom field 5. 2220 // "CUSTOM_FIELD_6" - Filter by custom field 6. 2221 // "CUSTOM_FIELD_7" - Filter by custom field 7. 2222 // "CUSTOM_FIELD_8" - Filter by custom field 8. 2223 // "CUSTOM_FIELD_9" - Filter by custom field 9. 2224 // "CUSTOM_FIELD_10" - Filter by custom field 10. 2225 // "CUSTOM_FIELD_11" - Filter by custom field 11. 2226 // "CUSTOM_FIELD_12" - Filter by custom field 12. 2227 // "CUSTOM_FIELD_13" - Filter by custom field 13. 2228 // "CUSTOM_FIELD_14" - Filter by custom field 14. 2229 // "CUSTOM_FIELD_15" - Filter by custom field 15. 2230 // "CUSTOM_FIELD_16" - Filter by custom field 16. 2231 // "CUSTOM_FIELD_17" - Filter by custom field 17. 2232 // "CUSTOM_FIELD_18" - Filter by custom field 18. 2233 // "CUSTOM_FIELD_19" - Filter by custom field 19. 2234 // "CUSTOM_FIELD_20" - Filter by custom field 20. 2235 // "EDUCATION_LEVEL" - Filter by the required education level of the 2236 // job. 2237 // "EXPERIENCE_LEVEL" - Filter by the required experience level of the 2238 // job. 2239 // "ADMIN1" - Filter by Admin1, which is a global placeholder 2240 // for 2241 // referring to state, province, or the particular term a country uses 2242 // to 2243 // define the geographic structure below the country level. 2244 // Examples include states codes such as "CA", "IL", "NY", 2245 // and 2246 // provinces, such as "BC". 2247 // "COUNTRY" - Filter by the country code of job, such as US, JP, FR. 2248 // "CITY" - Filter by the "city name", "Admin1 code", for 2249 // example, 2250 // "Mountain View, CA" or "New York, NY". 2251 // "LOCALE" - Filter by the locale field of a job, such as "en-US", 2252 // "fr-FR". 2253 // 2254 // This is the BCP-47 language code, such as "en-US" or "sr-Latn". 2255 // For more information, see 2256 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 2257 // "LANGUAGE" - Filter by the language code portion of the locale 2258 // field, such as "en" or 2259 // "fr". 2260 // "CATEGORY" - Filter by the Category. 2261 // "CITY_COORDINATE" - Filter by the city center GPS coordinate 2262 // (latitude and longitude), for 2263 // example, 37.4038522,-122.0987765. Since the coordinates of a city 2264 // center 2265 // can change, clients may need to refresh them periodically. 2266 // "ADMIN1_COUNTRY" - A combination of state or province code with a 2267 // country code. This field 2268 // differs from `JOB_ADMIN1`, which can be used in multiple countries. 2269 // "COMPANY_TITLE" - Deprecated. Use COMPANY_DISPLAY_NAME 2270 // instead. 2271 // 2272 // Company display name. 2273 // "COMPANY_DISPLAY_NAME" - Company display name. 2274 // "BASE_COMPENSATION_UNIT" - Base compensation unit. 2275 SimpleHistogramFacets []string `json:"simpleHistogramFacets,omitempty"` 2276 2277 // ForceSendFields is a list of field names (e.g. 2278 // "CompensationHistogramFacets") to unconditionally include in API 2279 // requests. By default, fields with empty values are omitted from API 2280 // requests. However, any non-pointer, non-interface field appearing in 2281 // ForceSendFields will be sent to the server regardless of whether the 2282 // field is empty or not. This may be used to include empty fields in 2283 // Patch requests. 2284 ForceSendFields []string `json:"-"` 2285 2286 // NullFields is a list of field names (e.g. 2287 // "CompensationHistogramFacets") to include in API requests with the 2288 // JSON null value. By default, fields with empty values are omitted 2289 // from API requests. However, any field with an empty value appearing 2290 // in NullFields will be sent to the server as null. It is an error if a 2291 // field in this list has a non-empty value. This may be used to include 2292 // null fields in Patch requests. 2293 NullFields []string `json:"-"` 2294} 2295 2296func (s *HistogramFacets) MarshalJSON() ([]byte, error) { 2297 type NoMethod HistogramFacets 2298 raw := NoMethod(*s) 2299 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2300} 2301 2302// HistogramResult: Output only. 2303// 2304// Result of a histogram call. The response contains the histogram map 2305// for the 2306// search type specified by HistogramResult.field. 2307// The response is a map of each filter value to the corresponding count 2308// of 2309// jobs for that filter. 2310type HistogramResult struct { 2311 // SearchType: The Histogram search filters. 2312 // 2313 // Possible values: 2314 // "JOB_FIELD_UNSPECIFIED" - The default value if search type is not 2315 // specified. 2316 // "COMPANY_ID" - Filter by the company id field. 2317 // "EMPLOYMENT_TYPE" - Filter by the employment type field, such as 2318 // `FULL_TIME` or `PART_TIME`. 2319 // "COMPANY_SIZE" - Filter by the company size type field, such as 2320 // `BIG`, `SMALL` or `BIGGER`. 2321 // "DATE_PUBLISHED" - Filter by the date published field. Values are 2322 // stringified 2323 // with TimeRange, for example, TimeRange.PAST_MONTH. 2324 // "CUSTOM_FIELD_1" - Filter by custom field 1. 2325 // "CUSTOM_FIELD_2" - Filter by custom field 2. 2326 // "CUSTOM_FIELD_3" - Filter by custom field 3. 2327 // "CUSTOM_FIELD_4" - Filter by custom field 4. 2328 // "CUSTOM_FIELD_5" - Filter by custom field 5. 2329 // "CUSTOM_FIELD_6" - Filter by custom field 6. 2330 // "CUSTOM_FIELD_7" - Filter by custom field 7. 2331 // "CUSTOM_FIELD_8" - Filter by custom field 8. 2332 // "CUSTOM_FIELD_9" - Filter by custom field 9. 2333 // "CUSTOM_FIELD_10" - Filter by custom field 10. 2334 // "CUSTOM_FIELD_11" - Filter by custom field 11. 2335 // "CUSTOM_FIELD_12" - Filter by custom field 12. 2336 // "CUSTOM_FIELD_13" - Filter by custom field 13. 2337 // "CUSTOM_FIELD_14" - Filter by custom field 14. 2338 // "CUSTOM_FIELD_15" - Filter by custom field 15. 2339 // "CUSTOM_FIELD_16" - Filter by custom field 16. 2340 // "CUSTOM_FIELD_17" - Filter by custom field 17. 2341 // "CUSTOM_FIELD_18" - Filter by custom field 18. 2342 // "CUSTOM_FIELD_19" - Filter by custom field 19. 2343 // "CUSTOM_FIELD_20" - Filter by custom field 20. 2344 // "EDUCATION_LEVEL" - Filter by the required education level of the 2345 // job. 2346 // "EXPERIENCE_LEVEL" - Filter by the required experience level of the 2347 // job. 2348 // "ADMIN1" - Filter by Admin1, which is a global placeholder 2349 // for 2350 // referring to state, province, or the particular term a country uses 2351 // to 2352 // define the geographic structure below the country level. 2353 // Examples include states codes such as "CA", "IL", "NY", 2354 // and 2355 // provinces, such as "BC". 2356 // "COUNTRY" - Filter by the country code of job, such as US, JP, FR. 2357 // "CITY" - Filter by the "city name", "Admin1 code", for 2358 // example, 2359 // "Mountain View, CA" or "New York, NY". 2360 // "LOCALE" - Filter by the locale field of a job, such as "en-US", 2361 // "fr-FR". 2362 // 2363 // This is the BCP-47 language code, such as "en-US" or "sr-Latn". 2364 // For more information, see 2365 // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). 2366 // "LANGUAGE" - Filter by the language code portion of the locale 2367 // field, such as "en" or 2368 // "fr". 2369 // "CATEGORY" - Filter by the Category. 2370 // "CITY_COORDINATE" - Filter by the city center GPS coordinate 2371 // (latitude and longitude), for 2372 // example, 37.4038522,-122.0987765. Since the coordinates of a city 2373 // center 2374 // can change, clients may need to refresh them periodically. 2375 // "ADMIN1_COUNTRY" - A combination of state or province code with a 2376 // country code. This field 2377 // differs from `JOB_ADMIN1`, which can be used in multiple countries. 2378 // "COMPANY_TITLE" - Deprecated. Use COMPANY_DISPLAY_NAME 2379 // instead. 2380 // 2381 // Company display name. 2382 // "COMPANY_DISPLAY_NAME" - Company display name. 2383 // "BASE_COMPENSATION_UNIT" - Base compensation unit. 2384 SearchType string `json:"searchType,omitempty"` 2385 2386 // Values: A map from the values of field to the number of jobs with 2387 // that value 2388 // in this search result. 2389 // 2390 // Key: search type (filter names, such as the companyName). 2391 // 2392 // Values: the count of jobs that match the filter for this search. 2393 Values map[string]int64 `json:"values,omitempty"` 2394 2395 // ForceSendFields is a list of field names (e.g. "SearchType") to 2396 // unconditionally include in API requests. By default, fields with 2397 // empty values are omitted from API requests. However, any non-pointer, 2398 // non-interface field appearing in ForceSendFields will be sent to the 2399 // server regardless of whether the field is empty or not. This may be 2400 // used to include empty fields in Patch requests. 2401 ForceSendFields []string `json:"-"` 2402 2403 // NullFields is a list of field names (e.g. "SearchType") to include in 2404 // API requests with the JSON null value. By default, fields with empty 2405 // values are omitted from API requests. However, any field with an 2406 // empty value appearing in NullFields will be sent to the server as 2407 // null. It is an error if a field in this list has a non-empty value. 2408 // This may be used to include null fields in Patch requests. 2409 NullFields []string `json:"-"` 2410} 2411 2412func (s *HistogramResult) MarshalJSON() ([]byte, error) { 2413 type NoMethod HistogramResult 2414 raw := NoMethod(*s) 2415 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2416} 2417 2418// HistogramResults: Output only. 2419// 2420// Histogram results that matches HistogramFacets specified 2421// in 2422// SearchJobsRequest. 2423type HistogramResults struct { 2424 // CompensationHistogramResults: Specifies compensation field-based 2425 // histogram results that 2426 // matches 2427 // HistogramFacets.compensation_histogram_requests. 2428 CompensationHistogramResults []*CompensationHistogramResult `json:"compensationHistogramResults,omitempty"` 2429 2430 // CustomAttributeHistogramResults: Specifies histogram results for 2431 // custom attributes that 2432 // matches HistogramFacets.custom_attribute_histogram_facets. 2433 CustomAttributeHistogramResults []*CustomAttributeHistogramResult `json:"customAttributeHistogramResults,omitempty"` 2434 2435 // SimpleHistogramResults: Specifies histogram results that 2436 // matches 2437 // HistogramFacets.simple_histogram_facets. 2438 SimpleHistogramResults []*HistogramResult `json:"simpleHistogramResults,omitempty"` 2439 2440 // ForceSendFields is a list of field names (e.g. 2441 // "CompensationHistogramResults") to unconditionally include in API 2442 // requests. By default, fields with empty values are omitted from API 2443 // requests. However, any non-pointer, non-interface field appearing in 2444 // ForceSendFields will be sent to the server regardless of whether the 2445 // field is empty or not. This may be used to include empty fields in 2446 // Patch requests. 2447 ForceSendFields []string `json:"-"` 2448 2449 // NullFields is a list of field names (e.g. 2450 // "CompensationHistogramResults") to include in API requests with the 2451 // JSON null value. By default, fields with empty values are omitted 2452 // from API requests. However, any field with an empty value appearing 2453 // in NullFields will be sent to the server as null. It is an error if a 2454 // field in this list has a non-empty value. This may be used to include 2455 // null fields in Patch requests. 2456 NullFields []string `json:"-"` 2457} 2458 2459func (s *HistogramResults) MarshalJSON() ([]byte, error) { 2460 type NoMethod HistogramResults 2461 raw := NoMethod(*s) 2462 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2463} 2464 2465// Job: A Job resource represents a job posting (also referred to as a 2466// "job listing" 2467// or "job requisition"). A job belongs to a Company, which is the 2468// hiring 2469// entity responsible for the job. 2470type Job struct { 2471 // ApplicationEmailList: Optional but at least one of 2472 // application_urls, 2473 // application_email_list or application_instruction must 2474 // be 2475 // specified. 2476 // 2477 // Use this field to specify email address(es) to which resumes 2478 // or 2479 // applications can be sent. 2480 // 2481 // The maximum number of allowed characters is 255. 2482 ApplicationEmailList []string `json:"applicationEmailList,omitempty"` 2483 2484 // ApplicationInstruction: Optional but at least one of 2485 // application_urls, 2486 // application_email_list or application_instruction must 2487 // be 2488 // specified. 2489 // 2490 // Use this field to provide instructions, such as "Mail your 2491 // application 2492 // to ...", that a candidate can follow to apply for the job. 2493 // 2494 // This field accepts and sanitizes HTML input, and also accepts 2495 // bold, italic, ordered list, and unordered list markup tags. 2496 // 2497 // The maximum number of allowed characters is 3,000. 2498 ApplicationInstruction string `json:"applicationInstruction,omitempty"` 2499 2500 // ApplicationUrls: Optional but at least one of 2501 // application_urls, 2502 // application_email_list or application_instruction must 2503 // be 2504 // specified. 2505 // 2506 // Use this URL field to direct an applicant to a website, for example 2507 // to 2508 // link to an online application form. 2509 // 2510 // The maximum number of allowed characters is 2,000. 2511 ApplicationUrls []string `json:"applicationUrls,omitempty"` 2512 2513 // Benefits: Optional. The benefits included with the job. 2514 // 2515 // Possible values: 2516 // "JOB_BENEFIT_TYPE_UNSPECIFIED" - Default value if the type is not 2517 // specified. 2518 // "CHILD_CARE" - The job includes access to programs that support 2519 // child care, such 2520 // as daycare. 2521 // "DENTAL" - The job includes dental services that are covered by a 2522 // dental 2523 // insurance plan. 2524 // "DOMESTIC_PARTNER" - The job offers specific benefits to domestic 2525 // partners. 2526 // "FLEXIBLE_HOURS" - The job allows for a flexible work schedule. 2527 // "MEDICAL" - The job includes health services that are covered by a 2528 // medical 2529 // insurance plan. 2530 // "LIFE_INSURANCE" - The job includes a life insurance plan provided 2531 // by the employer or 2532 // available for purchase by the employee. 2533 // "PARENTAL_LEAVE" - The job allows for a leave of absence to a 2534 // parent to care for a newborn 2535 // child. 2536 // "RETIREMENT_PLAN" - The job includes a workplace retirement plan 2537 // provided by the 2538 // employer or available for purchase by the employee. 2539 // "SICK_DAYS" - The job allows for paid time off due to illness. 2540 // "TELECOMMUTE" - Deprecated. Set Region.TELECOMMUTE instead. 2541 // 2542 // The job allows telecommuting (working remotely). 2543 // "VACATION" - The job includes paid time off for vacation. 2544 // "VISION" - The job includes vision services that are covered by a 2545 // vision 2546 // insurance plan. 2547 Benefits []string `json:"benefits,omitempty"` 2548 2549 // CompanyDisplayName: Output only. The name of the company listing the 2550 // job. 2551 CompanyDisplayName string `json:"companyDisplayName,omitempty"` 2552 2553 // CompanyName: Optional but one of company_name or 2554 // distributor_company_id must be 2555 // provided. 2556 // 2557 // The resource name of the company listing the job, such 2558 // as 2559 // /companies/foo. This field takes precedence over 2560 // the 2561 // distributor-assigned company identifier, distributor_company_id. 2562 CompanyName string `json:"companyName,omitempty"` 2563 2564 // CompanyTitle: Deprecated. Use company_display_name instead. 2565 // 2566 // Output only. 2567 // 2568 // The name of the company listing the job. 2569 CompanyTitle string `json:"companyTitle,omitempty"` 2570 2571 // CompensationInfo: Optional. Job compensation information. 2572 CompensationInfo *CompensationInfo `json:"compensationInfo,omitempty"` 2573 2574 // CreateTime: Output only. The timestamp when this job was created. 2575 CreateTime string `json:"createTime,omitempty"` 2576 2577 // CustomAttributes: Optional. A map of fields to hold both filterable 2578 // and non-filterable custom job 2579 // attributes that are not covered by the provided structured 2580 // fields. 2581 // 2582 // This field is a more general combination of the deprecated 2583 // id-based 2584 // filterable_custom_fields and 2585 // string-based 2586 // non_filterable_custom_fields. 2587 // 2588 // The keys of the map are strings up to 64 bytes and must match 2589 // the 2590 // pattern: a-zA-Z*. 2591 // 2592 // At most 100 filterable and at most 100 unfilterable keys are 2593 // supported. 2594 // For filterable `string_values`, across all keys at most 200 values 2595 // are 2596 // allowed, with each string no more than 255 characters. For 2597 // unfilterable 2598 // `string_values`, the maximum total size of `string_values` across all 2599 // keys 2600 // is 50KB. 2601 CustomAttributes map[string]CustomAttribute `json:"customAttributes,omitempty"` 2602 2603 // Department: Optional. The department or functional area within the 2604 // company with the open 2605 // position. 2606 // 2607 // The maximum number of allowed characters is 255. 2608 Department string `json:"department,omitempty"` 2609 2610 // Description: Required. The description of the job, which typically 2611 // includes a multi-paragraph 2612 // description of the company and related information. Separate fields 2613 // are 2614 // provided on the job object for responsibilities, 2615 // qualifications, and other job characteristics. Use of 2616 // these separate job fields is recommended. 2617 // 2618 // This field accepts and sanitizes HTML input, and also accepts 2619 // bold, italic, ordered list, and unordered list markup tags. 2620 // 2621 // The maximum number of allowed characters is 100,000. 2622 Description string `json:"description,omitempty"` 2623 2624 // DistributorCompanyId: Optional but one of company_name or 2625 // distributor_company_id must be 2626 // provided. 2627 // 2628 // A unique company identifier used by job distributors to identify 2629 // an 2630 // employer's company entity. company_name takes precedence over 2631 // this field, and is the recommended field to use to identify 2632 // companies. 2633 // 2634 // The maximum number of allowed characters is 255. 2635 DistributorCompanyId string `json:"distributorCompanyId,omitempty"` 2636 2637 // EducationLevels: Optional. The desired education level for the job, 2638 // such as 2639 // "Bachelors", "Masters", "Doctorate". 2640 // 2641 // Possible values: 2642 // "EDUCATION_LEVEL_UNSPECIFIED" - The default value if the level is 2643 // not specified. 2644 // "HIGH_SCHOOL" - A High School diploma is required for the position. 2645 // "ASSOCIATE" - An Associate degree is required for the position. 2646 // "BACHELORS" - A Bachelors degree is required for the position. 2647 // "MASTERS" - A Masters degree is required for the position. 2648 // "DOCTORATE" - A Doctorate degree is required for the position. 2649 // "NO_DEGREE_REQUIRED" - No formal education is required for the 2650 // position. 2651 EducationLevels []string `json:"educationLevels,omitempty"` 2652 2653 // EmploymentTypes: Optional. The employment type(s) of a job, for 2654 // example, 2655 // full time or 2656 // part time. 2657 // 2658 // Possible values: 2659 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 2660 // type is not specified. 2661 // "FULL_TIME" - The job requires working a number of hours that 2662 // constitute full 2663 // time employment, typically 40 or more hours per week. 2664 // "PART_TIME" - The job entails working fewer hours than a full time 2665 // job, 2666 // typically less than 40 hours a week. 2667 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 2668 // salaried employee, 2669 // position. 2670 // "TEMPORARY" - The job is offered as a temporary employment 2671 // opportunity, usually 2672 // a short-term engagement. 2673 // "INTERN" - The job is a fixed-term opportunity for students or 2674 // entry-level job seekers 2675 // to obtain on-the-job training, typically offered as a summer 2676 // position. 2677 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 2678 // where there is no 2679 // expectation of compensation for the provided services. 2680 // "PER_DIEM" - The job requires an employee to work on an as-needed 2681 // basis with a 2682 // flexible schedule. 2683 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 2684 // with the understanding 2685 // that it is converted into a full-time position at the end of 2686 // the 2687 // contract. Jobs of this type are also returned by a search 2688 // for 2689 // EmploymentType.CONTRACTOR jobs. 2690 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 2691 // areas and flying them 2692 // temporarily to the work site instead of relocating employees and 2693 // their 2694 // families permanently. 2695 // "OTHER" - The job does not fit any of the other listed types. 2696 EmploymentTypes []string `json:"employmentTypes,omitempty"` 2697 2698 // EndDate: Optional. The end date of the job in UTC time zone. 2699 // Typically this field 2700 // is used for contracting engagements. 2701 // Dates prior to 1970/1/1 and invalid date formats are ignored. 2702 EndDate *Date `json:"endDate,omitempty"` 2703 2704 // ExpireTime: Optional but strongly recommended for the best 2705 // service 2706 // experience. 2707 // 2708 // The expiration timestamp of the job. After this timestamp, the 2709 // job is marked as expired, and it no longer appears in search results. 2710 // The 2711 // expired job can't be deleted or listed by the DeleteJob and 2712 // ListJobs APIs, but it can be retrieved with the GetJob API or 2713 // updated with the UpdateJob API. An expired job can be updated 2714 // and 2715 // opened again by using a future expiration timestamp. Updating an 2716 // expired 2717 // job fails if there is another existing open job with 2718 // same 2719 // requisition_id, company_name and language_code. 2720 // 2721 // The expired jobs are retained in our system for 90 days. However, 2722 // the 2723 // overall expired job count cannot exceed 3 times the maximum of open 2724 // jobs 2725 // count over the past week, otherwise jobs with earlier expire time 2726 // are 2727 // cleaned first. Expired jobs are no longer accessible after they are 2728 // cleaned 2729 // out. 2730 // The format of this field is RFC 3339 date strings. 2731 // Example: 2732 // 2000-01-01T00:00:00.999999999Z 2733 // See 2734 // [https://www.ietf.org/rfc/ 2735 // rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). 2736 // 2737 // A valid date range is between 1970-01-01T00:00:00.0Z 2738 // and 2739 // 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as 2740 // expire 2741 // time not provided. 2742 // 2743 // If this value is not provided at the time of job creation or is 2744 // invalid, 2745 // the job posting expires after 30 days from the job's creation time. 2746 // For 2747 // example, if the job was created on 2017/01/01 13:00AM UTC with 2748 // an 2749 // unspecified expiration date, the job expires after 2017/01/31 13:00AM 2750 // UTC. 2751 // 2752 // If this value is not provided but expiry_date is, expiry_date 2753 // is 2754 // used. 2755 // 2756 // If this value is not provided on job update, it depends on the field 2757 // masks 2758 // set by UpdateJobRequest.update_job_fields. If the field masks 2759 // include 2760 // expiry_time, or the masks are empty meaning that every field 2761 // is 2762 // updated, the job posting expires after 30 days from the job's 2763 // last 2764 // update time. Otherwise the expiration date isn't updated. 2765 ExpireTime string `json:"expireTime,omitempty"` 2766 2767 // ExpiryDate: Deprecated. Use expire_time instead. 2768 // 2769 // Optional but strongly recommended to be provided for the best 2770 // service 2771 // experience. 2772 // 2773 // The expiration date of the job in UTC time. After 12 am on this date, 2774 // the 2775 // job is marked as expired, and it no longer appears in search 2776 // results. 2777 // The expired job can't be deleted or listed by the DeleteJob 2778 // and 2779 // ListJobs APIs, but it can be retrieved with the GetJob API or 2780 // updated with the UpdateJob API. An expired job can be updated 2781 // and 2782 // opened again by using a future expiration date. It can also remain 2783 // expired. 2784 // Updating an expired job to be open fails if there is another existing 2785 // open 2786 // job with same requisition_id, company_name and language_code. 2787 // 2788 // The expired jobs are retained in our system for 90 days. However, 2789 // the 2790 // overall expired job count cannot exceed 3 times the maximum of open 2791 // jobs 2792 // count over the past week, otherwise jobs with earlier expire time 2793 // are 2794 // removed first. Expired jobs are no longer accessible after they are 2795 // cleaned 2796 // out. 2797 // 2798 // A valid date range is between 1970/1/1 and 2100/12/31. Invalid dates 2799 // are 2800 // ignored and treated as expiry date not provided. 2801 // 2802 // If this value is not provided on job creation or is invalid, the 2803 // job 2804 // posting expires after 30 days from the job's creation time. For 2805 // example, if 2806 // the job was created on 2017/01/01 13:00AM UTC with an 2807 // unspecified 2808 // expiration date, the job expires after 2017/01/31 13:00AM UTC. 2809 // 2810 // If this value is not provided on job update, it depends on the field 2811 // masks 2812 // set by UpdateJobRequest.update_job_fields. If the field masks 2813 // include 2814 // expiry_date, or the masks are empty meaning that every field 2815 // is 2816 // updated, the job expires after 30 days from the job's last update 2817 // time. 2818 // Otherwise the expiration date isn't updated. 2819 ExpiryDate *Date `json:"expiryDate,omitempty"` 2820 2821 // ExtendedCompensationInfo: Deprecated. Always use 2822 // compensation_info. 2823 // 2824 // Optional. 2825 // 2826 // Job compensation information. 2827 // 2828 // This field replaces compensation_info. Only 2829 // CompensationInfo.entries or extended_compensation_info can be 2830 // set, 2831 // otherwise an exception is thrown. 2832 ExtendedCompensationInfo *ExtendedCompensationInfo `json:"extendedCompensationInfo,omitempty"` 2833 2834 // FilterableCustomFields: Deprecated. Use custom_attributes 2835 // instead. 2836 // 2837 // Optional. 2838 // 2839 // A map of fields to hold filterable custom job attributes not captured 2840 // by 2841 // the standard fields such as job_title, company_name, or 2842 // level. These custom fields store arbitrary 2843 // string values, and can be used for purposes not covered by 2844 // the structured fields. For the best search experience, use of 2845 // the 2846 // structured rather than custom fields is recommended. 2847 // 2848 // Data stored in these custom fields fields are indexed and 2849 // searched against by keyword searches 2850 // (see 2851 // SearchJobsRequest.custom_field_filters][]). 2852 // 2853 // The map key must be a number between 1-20. If an invalid key 2854 // is 2855 // provided on job create or update, an error is returned. 2856 FilterableCustomFields map[string]CustomField `json:"filterableCustomFields,omitempty"` 2857 2858 // Incentives: Optional. A description of bonus, commission, and other 2859 // compensation 2860 // incentives associated with the job not including salary or pay. 2861 // 2862 // The maximum number of allowed characters is 10,000. 2863 Incentives string `json:"incentives,omitempty"` 2864 2865 // JobLocations: Output only. Structured locations of the job, resolved 2866 // from locations. 2867 JobLocations []*JobLocation `json:"jobLocations,omitempty"` 2868 2869 // JobTitle: Required. The title of the job, such as "Software 2870 // Engineer" 2871 // 2872 // The maximum number of allowed characters is 500. 2873 JobTitle string `json:"jobTitle,omitempty"` 2874 2875 // LanguageCode: Optional. The language of the posting. This field is 2876 // distinct from 2877 // any requirements for fluency that are associated with the 2878 // job. 2879 // 2880 // Language codes must be in BCP-47 format, such as "en-US" or 2881 // "sr-Latn". 2882 // For more information, see 2883 // [Tags for Identifying 2884 // Languages](https://tools.ietf.org/html/bcp47){: 2885 // class="external" target="_blank" }. 2886 // 2887 // If this field is unspecified and Job.description is present, 2888 // detected 2889 // language code based on Job.description is assigned, 2890 // otherwise 2891 // defaults to 'en_US'. 2892 LanguageCode string `json:"languageCode,omitempty"` 2893 2894 // Level: Optional. The experience level associated with the job, such 2895 // as "Entry Level". 2896 // 2897 // Possible values: 2898 // "JOB_LEVEL_UNSPECIFIED" - The default value if the level is not 2899 // specified. 2900 // "ENTRY_LEVEL" - Entry-level individual contributors, typically with 2901 // less than 2 years of 2902 // experience in a similar role. Includes interns. 2903 // "EXPERIENCED" - Experienced individual contributors, typically with 2904 // 2+ years of 2905 // experience in a similar role. 2906 // "MANAGER" - Entry- to mid-level managers responsible for managing a 2907 // team of people. 2908 // "DIRECTOR" - Senior-level managers responsible for managing teams 2909 // of managers. 2910 // "EXECUTIVE" - Executive-level managers and above, including C-level 2911 // positions. 2912 Level string `json:"level,omitempty"` 2913 2914 // Locations: Optional but strongly recommended for the best service 2915 // experience. 2916 // 2917 // Location(s) where the emploeyer is looking to hire for this job 2918 // posting. 2919 // 2920 // Specifying the full street address(es) of the hiring location 2921 // enables 2922 // better API results, especially job searches by commute time. 2923 // 2924 // At most 50 locations are allowed for best search performance. If a 2925 // job has 2926 // more locations, it is suggested to split it into multiple jobs with 2927 // unique 2928 // requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) 2929 // as 2930 // multiple jobs with the same requisition_id, company_name 2931 // and 2932 // language_code are not allowed. If the original requisition_id must 2933 // be preserved, a custom field should be used for storage. It is 2934 // also 2935 // suggested to group the locations that close to each other in the same 2936 // job 2937 // for better search experience. 2938 // 2939 // The maximum number of allowed characters is 500. 2940 Locations []string `json:"locations,omitempty"` 2941 2942 // Name: Required during job update. 2943 // 2944 // Resource name assigned to a job by the API, for example, "/jobs/foo". 2945 // Use 2946 // of this field in job queries and API calls is preferred over the use 2947 // of 2948 // requisition_id since this value is unique. 2949 Name string `json:"name,omitempty"` 2950 2951 // PromotionValue: Optional. A promotion value of the job, as determined 2952 // by the client. 2953 // The value determines the sort order of the jobs returned when 2954 // searching for 2955 // jobs using the featured jobs search call, with higher promotional 2956 // values 2957 // being returned first and ties being resolved by relevance sort. Only 2958 // the 2959 // jobs with a promotionValue >0 are returned in a 2960 // FEATURED_JOB_SEARCH. 2961 // 2962 // Default value is 0, and negative values are treated as 0. 2963 PromotionValue int64 `json:"promotionValue,omitempty"` 2964 2965 // PublishDate: Optional. The date this job was most recently published 2966 // in UTC format. The default 2967 // value is the time the request arrives at the server. 2968 PublishDate *Date `json:"publishDate,omitempty"` 2969 2970 // Qualifications: Optional. A description of the qualifications 2971 // required to perform the 2972 // job. The use of this field is recommended 2973 // as an alternative to using the more general description field. 2974 // 2975 // This field accepts and sanitizes HTML input, and also accepts 2976 // bold, italic, ordered list, and unordered list markup tags. 2977 // 2978 // The maximum number of allowed characters is 10,000. 2979 Qualifications string `json:"qualifications,omitempty"` 2980 2981 // ReferenceUrl: Output only. The URL of a web page that displays job 2982 // details. 2983 ReferenceUrl string `json:"referenceUrl,omitempty"` 2984 2985 // Region: Optional. The job Region (for example, state, country) 2986 // throughout which the job 2987 // is available. If this field is set, a 2988 // LocationFilter in a search query within the job region 2989 // finds this job if an exact location match is not specified. 2990 // If this field is set, setting job locations 2991 // to the same location level as this field is strongly recommended. 2992 // 2993 // Possible values: 2994 // "REGION_UNSPECIFIED" - If the region is unspecified, the job is 2995 // only returned if it 2996 // matches the LocationFilter. 2997 // "STATE_WIDE" - In additiona to exact location matching, job is 2998 // returned when the 2999 // LocationFilter in search query is in the same state as this job. 3000 // For example, if a `STATE_WIDE` job is posted in "CA, USA", it 3001 // is 3002 // returned if LocationFilter has "Mountain View". 3003 // "NATION_WIDE" - In addition to exact location matching, job is 3004 // returned when 3005 // LocationFilter in search query is in the same country as this 3006 // job. 3007 // For example, if a `NATION_WIDE` job is posted in "USA", it 3008 // is 3009 // returned if LocationFilter has 'Mountain View'. 3010 // "TELECOMMUTE" - Job allows employees to work remotely 3011 // (telecommute). 3012 // If locations are provided with this value, the job is 3013 // considered as having a location, but telecommuting is allowed. 3014 Region string `json:"region,omitempty"` 3015 3016 // RequisitionId: Required. The requisition ID, also referred to as the 3017 // posting ID, assigned by the 3018 // client to identify a job. This field is intended to be used by 3019 // clients 3020 // for client identification and tracking of listings. A job is not 3021 // allowed 3022 // to be created if there is another job with the same 3023 // requisition_id, 3024 // company_name and language_code. 3025 // 3026 // The maximum number of allowed characters is 255. 3027 RequisitionId string `json:"requisitionId,omitempty"` 3028 3029 // Responsibilities: Optional. A description of job responsibilities. 3030 // The use of this field is 3031 // recommended as an alternative to using the more general 3032 // description 3033 // field. 3034 // 3035 // This field accepts and sanitizes HTML input, and also accepts 3036 // bold, italic, ordered list, and unordered list markup tags. 3037 // 3038 // The maximum number of allowed characters is 10,000. 3039 Responsibilities string `json:"responsibilities,omitempty"` 3040 3041 // StartDate: Optional. The start date of the job in UTC time zone. 3042 // Typically this field 3043 // is used for contracting engagements. 3044 // Dates prior to 1970/1/1 and invalid date formats are ignored. 3045 StartDate *Date `json:"startDate,omitempty"` 3046 3047 // UnindexedCustomFields: Deprecated. Use custom_attributes 3048 // instead. 3049 // 3050 // Optional. 3051 // 3052 // A map of fields to hold non-filterable custom job attributes, similar 3053 // to 3054 // filterable_custom_fields. These fields are distinct in that the 3055 // data 3056 // in these fields are not indexed. Therefore, the client cannot 3057 // search 3058 // against them, nor can the client use them to list jobs. 3059 // 3060 // The key of the map can be any valid string. 3061 UnindexedCustomFields map[string]CustomField `json:"unindexedCustomFields,omitempty"` 3062 3063 // UpdateTime: Output only. The timestamp when this job was last 3064 // updated. 3065 UpdateTime string `json:"updateTime,omitempty"` 3066 3067 // Visibility: Optional. The visibility of the job. 3068 // Defaults to JobVisibility.PRIVATE if not specified. 3069 // Currently only JobVisibility.PRIVATE is supported. 3070 // 3071 // Possible values: 3072 // "JOB_VISIBILITY_UNSPECIFIED" - Default value. 3073 // "PRIVATE" - The Job is only visible to the owner. 3074 // "GOOGLE" - The Job is visible to the owner and may be visible to 3075 // other applications 3076 // and processes at Google. 3077 // 3078 // Not yet supported. Use PRIVATE. 3079 // "PUBLIC" - The Job is visible to the owner and may be visible to 3080 // all other API 3081 // clients. 3082 // 3083 // Not yet supported. Use PRIVATE. 3084 Visibility string `json:"visibility,omitempty"` 3085 3086 // ServerResponse contains the HTTP response code and headers from the 3087 // server. 3088 googleapi.ServerResponse `json:"-"` 3089 3090 // ForceSendFields is a list of field names (e.g. 3091 // "ApplicationEmailList") to unconditionally include in API requests. 3092 // By default, fields with empty values are omitted from API requests. 3093 // However, any non-pointer, non-interface field appearing in 3094 // ForceSendFields will be sent to the server regardless of whether the 3095 // field is empty or not. This may be used to include empty fields in 3096 // Patch requests. 3097 ForceSendFields []string `json:"-"` 3098 3099 // NullFields is a list of field names (e.g. "ApplicationEmailList") to 3100 // include in API requests with the JSON null value. By default, fields 3101 // with empty values are omitted from API requests. However, any field 3102 // with an empty value appearing in NullFields will be sent to the 3103 // server as null. It is an error if a field in this list has a 3104 // non-empty value. This may be used to include null fields in Patch 3105 // requests. 3106 NullFields []string `json:"-"` 3107} 3108 3109func (s *Job) MarshalJSON() ([]byte, error) { 3110 type NoMethod Job 3111 raw := NoMethod(*s) 3112 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3113} 3114 3115// JobFilters: Input only. 3116// 3117// Deprecated. Use JobQuery instead. 3118// 3119// The filters required to perform a search query or histogram. 3120type JobFilters struct { 3121 // Categories: Optional. The category filter specifies the categories of 3122 // jobs to search against. 3123 // See Category for more information. 3124 // 3125 // If a value is not specified, jobs from any category are searched 3126 // against. 3127 // 3128 // If multiple values are specified, jobs from any of the 3129 // specified 3130 // categories are searched against. 3131 // 3132 // Possible values: 3133 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category is 3134 // not specified. 3135 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 3136 // an Accountant. 3137 // "ADMINISTRATIVE_AND_OFFICE" - And administrative and office job, 3138 // such as an Administrative Assistant. 3139 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 3140 // such as Marketing Manager. 3141 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 3142 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 3143 // Designer. 3144 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 3145 // Operations Manager. 3146 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 3147 // Custodial Staff. 3148 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 3149 // Administrator. 3150 // "CONSTRUCTION" - A construction job, such as General Laborer. 3151 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 3152 // "EDUCATION" - An education job, such as School Teacher. 3153 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 3154 // as Flight Attendant. 3155 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 3156 // Ranger. 3157 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 3158 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 3159 // Director. 3160 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 3161 // maintenance, or repair job, such as Electrician. 3162 // "LEGAL" - A legal job, such as Law Clerk. 3163 // "MANAGEMENT" - A management job, often used in conjunction with 3164 // another category, 3165 // such as Store Manager. 3166 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 3167 // such as Assembly Technician. 3168 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 3169 // writing job, such as Media Relations. 3170 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 3171 // Driller. 3172 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 3173 // such as Hair Stylist. 3174 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 3175 // Guard. 3176 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 3177 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 3178 // such as Restaurant Server. 3179 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 3180 // Associate. 3181 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 3182 // Lab Technician. 3183 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 3184 // job, such as Case Worker. 3185 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 3186 // job, such as Personal Trainer. 3187 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 3188 // such as Truck Driver. 3189 Categories []string `json:"categories,omitempty"` 3190 3191 // CommuteFilter: Optional. Allows filtering jobs by commute time with 3192 // different travel methods (e.g. 3193 // driving or public transit). Note: this only works with COMMUTE 3194 // MODE. When specified, [JobFilters.location_filters] will be 3195 // ignored. 3196 // 3197 // Currently we do not support sorting by commute time. 3198 CommuteFilter *CommutePreference `json:"commuteFilter,omitempty"` 3199 3200 // CompanyNames: Optional. The company names filter specifies the 3201 // company entities to search 3202 // against. 3203 // 3204 // If a value is not specified, jobs are searched for against all 3205 // companies. 3206 // 3207 // If multiple values are specified, jobs are searched against 3208 // the 3209 // specified companies. 3210 // 3211 // At most 20 company filters are allowed. 3212 CompanyNames []string `json:"companyNames,omitempty"` 3213 3214 // CompanyTitles: Optional. This filter specifies the exact company 3215 // titles 3216 // of jobs to search against. 3217 // 3218 // If a value is not specified, jobs within the search results can 3219 // be 3220 // associated with any company. 3221 // 3222 // If multiple values are specified, jobs within the search results may 3223 // be 3224 // associated with any of the specified companies. 3225 // 3226 // At most 20 company title filters are allowed. 3227 CompanyTitles []string `json:"companyTitles,omitempty"` 3228 3229 // CompensationFilter: Optional. This search filter is applied only 3230 // to 3231 // Job.compensation_info. For example, if the filter is specified 3232 // as "Hourly job with per-hour compensation > $15", only jobs that 3233 // meet 3234 // this criteria are searched. If a filter is not defined, all open 3235 // jobs 3236 // are searched. 3237 CompensationFilter *CompensationFilter `json:"compensationFilter,omitempty"` 3238 3239 // CustomAttributeFilter: Optional. This filter specifies a structured 3240 // syntax to match against the 3241 // Job.custom_attributes that are marked as `filterable`. 3242 // 3243 // The syntax for this expression is a subset of Google SQL 3244 // syntax. 3245 // 3246 // Supported operators are: =, !=, <, <=, >, >= where the left of the 3247 // operator 3248 // is a custom field key and the right of the operator is a number or 3249 // string 3250 // (surrounded by quotes) value. 3251 // 3252 // Supported functions are LOWER(<field_name>) to 3253 // perform case insensitive match and EMPTY(<field_name>) to filter on 3254 // the 3255 // existence of a key. 3256 // 3257 // Boolean expressions (AND/OR/NOT) are supported up to 3 levels 3258 // of 3259 // nesting (For example, "((A AND B AND C) OR NOT D) AND E"), and there 3260 // can 3261 // be a maximum of 100 comparisons/functions in the expression. The 3262 // expression 3263 // must be < 3000 bytes in length. 3264 // 3265 // Sample Query: 3266 // (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 3267 // 100 3268 CustomAttributeFilter string `json:"customAttributeFilter,omitempty"` 3269 3270 // CustomFieldFilters: Deprecated. Use custom_attribute_filter 3271 // instead. 3272 // 3273 // Optional. 3274 // 3275 // This filter specifies searching against 3276 // custom field values. See Job.filterable_custom_fields for 3277 // information. 3278 // The key value specifies a number between 1-20 (the service 3279 // supports 20 custom fields) corresponding to the desired custom field 3280 // map 3281 // value. If an invalid key is provided or specified together 3282 // with 3283 // custom_attribute_filter, an error is thrown. 3284 CustomFieldFilters map[string]CustomFieldFilter `json:"customFieldFilters,omitempty"` 3285 3286 // DisableSpellCheck: Optional. This flag controls the spell-check 3287 // feature. If false, the 3288 // service attempts to correct a misspelled query, 3289 // for example, "enginee" is corrected to "engineer". 3290 // 3291 // Defaults to false: a spell check is performed. 3292 DisableSpellCheck bool `json:"disableSpellCheck,omitempty"` 3293 3294 // EmploymentTypes: Optional. The employment type filter specifies the 3295 // employment type of jobs to 3296 // search against, such as EmploymentType.FULL_TIME. 3297 // 3298 // If a value is not specified, jobs in the search results include 3299 // any 3300 // employment type. 3301 // 3302 // If multiple values are specified, jobs in the search results include 3303 // any 3304 // of the specified employment types. 3305 // 3306 // Possible values: 3307 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 3308 // type is not specified. 3309 // "FULL_TIME" - The job requires working a number of hours that 3310 // constitute full 3311 // time employment, typically 40 or more hours per week. 3312 // "PART_TIME" - The job entails working fewer hours than a full time 3313 // job, 3314 // typically less than 40 hours a week. 3315 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 3316 // salaried employee, 3317 // position. 3318 // "TEMPORARY" - The job is offered as a temporary employment 3319 // opportunity, usually 3320 // a short-term engagement. 3321 // "INTERN" - The job is a fixed-term opportunity for students or 3322 // entry-level job seekers 3323 // to obtain on-the-job training, typically offered as a summer 3324 // position. 3325 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 3326 // where there is no 3327 // expectation of compensation for the provided services. 3328 // "PER_DIEM" - The job requires an employee to work on an as-needed 3329 // basis with a 3330 // flexible schedule. 3331 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 3332 // with the understanding 3333 // that it is converted into a full-time position at the end of 3334 // the 3335 // contract. Jobs of this type are also returned by a search 3336 // for 3337 // EmploymentType.CONTRACTOR jobs. 3338 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 3339 // areas and flying them 3340 // temporarily to the work site instead of relocating employees and 3341 // their 3342 // families permanently. 3343 // "OTHER" - The job does not fit any of the other listed types. 3344 EmploymentTypes []string `json:"employmentTypes,omitempty"` 3345 3346 // ExtendedCompensationFilter: Deprecated. Always use 3347 // compensation_filter. 3348 // 3349 // Optional. 3350 // 3351 // This search filter is applied only to 3352 // Job.extended_compensation_info. For example, if the filter is 3353 // specified 3354 // as "Hourly job with per-hour compensation > $15", only jobs that 3355 // meet 3356 // these criteria are searched. If a filter is not defined, all open 3357 // jobs 3358 // are searched. 3359 ExtendedCompensationFilter *ExtendedCompensationFilter `json:"extendedCompensationFilter,omitempty"` 3360 3361 // LanguageCodes: Optional. This filter specifies the locale of jobs to 3362 // search against, 3363 // for example, "en-US". 3364 // 3365 // If a value is not specified, the search results may contain jobs in 3366 // any 3367 // locale. 3368 // 3369 // 3370 // Language codes should be in BCP-47 format, for example, "en-US" 3371 // or 3372 // "sr-Latn". For more information, see [Tags for 3373 // Identifying 3374 // Languages](https://tools.ietf.org/html/bcp47). 3375 // 3376 // At most 10 language code filters are allowed. 3377 LanguageCodes []string `json:"languageCodes,omitempty"` 3378 3379 // LocationFilters: Optional. The location filter specifies geo-regions 3380 // containing the jobs to 3381 // search against. See LocationFilter for more information. 3382 // 3383 // If a location value is not specified, jobs are retrieved 3384 // from all locations. 3385 // 3386 // If multiple values are specified, jobs are retrieved from any of 3387 // the 3388 // specified locations. If different values are specified for 3389 // the 3390 // LocationFilter.distance_in_miles parameter, the maximum 3391 // provided 3392 // distance is used for all locations. 3393 // 3394 // At most 5 location filters are allowed. 3395 LocationFilters []*LocationFilter `json:"locationFilters,omitempty"` 3396 3397 // PublishDateRange: Optional. Jobs published within a range specified 3398 // by this filter are searched 3399 // against, for example, DateRange.PAST_MONTH. If a value is 3400 // not 3401 // specified, all open jobs are searched against regardless of the 3402 // date they were published. 3403 // 3404 // Possible values: 3405 // "DATE_RANGE_UNSPECIFIED" - Default value: Filtering on time is not 3406 // performed. 3407 // "PAST_24_HOURS" - The past 24 hours 3408 // "PAST_WEEK" - The past week (7 days) 3409 // "PAST_MONTH" - The past month (30 days) 3410 // "PAST_YEAR" - The past year (365 days) 3411 // "PAST_3_DAYS" - The past 3 days 3412 PublishDateRange string `json:"publishDateRange,omitempty"` 3413 3414 // Query: Optional. The query filter contains the keywords that match 3415 // against the job 3416 // title, description, and location fields. 3417 // 3418 // The maximum query size is 255 bytes/characters. 3419 Query string `json:"query,omitempty"` 3420 3421 // TenantJobOnly: Deprecated. Do not use this field. 3422 // 3423 // This flag controls whether the job search should be restricted to 3424 // jobs 3425 // owned by the current user. 3426 // 3427 // Defaults to false where all jobs accessible to the 3428 // user are searched against. 3429 TenantJobOnly bool `json:"tenantJobOnly,omitempty"` 3430 3431 // ForceSendFields is a list of field names (e.g. "Categories") to 3432 // unconditionally include in API requests. By default, fields with 3433 // empty values are omitted from API requests. However, any non-pointer, 3434 // non-interface field appearing in ForceSendFields will be sent to the 3435 // server regardless of whether the field is empty or not. This may be 3436 // used to include empty fields in Patch requests. 3437 ForceSendFields []string `json:"-"` 3438 3439 // NullFields is a list of field names (e.g. "Categories") to include in 3440 // API requests with the JSON null value. By default, fields with empty 3441 // values are omitted from API requests. However, any field with an 3442 // empty value appearing in NullFields will be sent to the server as 3443 // null. It is an error if a field in this list has a non-empty value. 3444 // This may be used to include null fields in Patch requests. 3445 NullFields []string `json:"-"` 3446} 3447 3448func (s *JobFilters) MarshalJSON() ([]byte, error) { 3449 type NoMethod JobFilters 3450 raw := NoMethod(*s) 3451 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3452} 3453 3454// JobLocation: Output only. 3455// 3456// A resource that represents a location with full 3457// geographic 3458// information. 3459type JobLocation struct { 3460 // LatLng: An object representing a latitude/longitude pair. 3461 LatLng *LatLng `json:"latLng,omitempty"` 3462 3463 // LocationType: The type of a location, which corresponds to the 3464 // address lines field of 3465 // PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type 3466 // of 3467 // LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type 3468 // of 3469 // LocationType#LOCALITY. 3470 // 3471 // Possible values: 3472 // "LOCATION_TYPE_UNSPECIFIED" - Default value if the type is not 3473 // specified. 3474 // "COUNTRY" - A country level location. 3475 // "ADMINISTRATIVE_AREA" - A state or equivalent level location. 3476 // "SUB_ADMINISTRATIVE_AREA" - A county or equivalent level location. 3477 // "LOCALITY" - A city or equivalent level location. 3478 // "POSTAL_CODE" - A postal code level location. 3479 // "SUB_LOCALITY" - A sublocality is a subdivision of a locality, for 3480 // example a city borough, 3481 // ward, or arrondissement. Sublocalities are usually recognized by a 3482 // local 3483 // political authority. For example, Manhattan and Brooklyn are 3484 // recognized 3485 // as boroughs by the City of New York, and are therefore modeled 3486 // as 3487 // sublocalities. 3488 // "SUB_LOCALITY_1" - A district or equivalent level location. 3489 // "SUB_LOCALITY_2" - A smaller district or equivalent level display. 3490 // "NEIGHBORHOOD" - A neighborhood level location. 3491 // "STREET_ADDRESS" - A street address level location. 3492 LocationType string `json:"locationType,omitempty"` 3493 3494 // PostalAddress: Postal address of the location that includes human 3495 // readable information, 3496 // such as postal delivery and payments addresses. Given a postal 3497 // address, 3498 // a postal service can deliver items to a premises, P.O. Box, or 3499 // other 3500 // delivery location. 3501 PostalAddress *PostalAddress `json:"postalAddress,omitempty"` 3502 3503 // RadiusMeters: Radius in meters of the job location. This value is 3504 // derived from the 3505 // location bounding box in which a circle with the specified 3506 // radius 3507 // centered from LatLng coves the area associated with the job 3508 // location. 3509 // For example, currently, "Mountain View, CA, USA" has a radius 3510 // of 3511 // 7885.79 meters. 3512 RadiusMeters float64 `json:"radiusMeters,omitempty"` 3513 3514 // ForceSendFields is a list of field names (e.g. "LatLng") to 3515 // unconditionally include in API requests. By default, fields with 3516 // empty values are omitted from API requests. However, any non-pointer, 3517 // non-interface field appearing in ForceSendFields will be sent to the 3518 // server regardless of whether the field is empty or not. This may be 3519 // used to include empty fields in Patch requests. 3520 ForceSendFields []string `json:"-"` 3521 3522 // NullFields is a list of field names (e.g. "LatLng") to include in API 3523 // requests with the JSON null value. By default, fields with empty 3524 // values are omitted from API requests. However, any field with an 3525 // empty value appearing in NullFields will be sent to the server as 3526 // null. It is an error if a field in this list has a non-empty value. 3527 // This may be used to include null fields in Patch requests. 3528 NullFields []string `json:"-"` 3529} 3530 3531func (s *JobLocation) MarshalJSON() ([]byte, error) { 3532 type NoMethod JobLocation 3533 raw := NoMethod(*s) 3534 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3535} 3536 3537func (s *JobLocation) UnmarshalJSON(data []byte) error { 3538 type NoMethod JobLocation 3539 var s1 struct { 3540 RadiusMeters gensupport.JSONFloat64 `json:"radiusMeters"` 3541 *NoMethod 3542 } 3543 s1.NoMethod = (*NoMethod)(s) 3544 if err := json.Unmarshal(data, &s1); err != nil { 3545 return err 3546 } 3547 s.RadiusMeters = float64(s1.RadiusMeters) 3548 return nil 3549} 3550 3551// JobProcessingOptions: Input only. 3552// 3553// Options for job processing. 3554type JobProcessingOptions struct { 3555 // DisableStreetAddressResolution: Optional. If set to `true`, the 3556 // service does not attempt to resolve a 3557 // more precise address for the job. 3558 DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"` 3559 3560 // HtmlSanitization: Optional. Option for job HTML content sanitization. 3561 // Applied fields are: 3562 // 3563 // * description 3564 // * applicationInstruction 3565 // * incentives 3566 // * qualifications 3567 // * responsibilities 3568 // 3569 // HTML tags in these fields may be stripped if sanitiazation is not 3570 // disabled. 3571 // 3572 // Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY. 3573 // 3574 // Possible values: 3575 // "HTML_SANITIZATION_UNSPECIFIED" - Default value. 3576 // "HTML_SANITIZATION_DISABLED" - Disables sanitization on HTML input. 3577 // "SIMPLE_FORMATTING_ONLY" - Sanitizes HTML input, only accepts bold, 3578 // italic, ordered list, and 3579 // unordered list markup tags. 3580 HtmlSanitization string `json:"htmlSanitization,omitempty"` 3581 3582 // ForceSendFields is a list of field names (e.g. 3583 // "DisableStreetAddressResolution") to unconditionally include in API 3584 // requests. By default, fields with empty values are omitted from API 3585 // requests. However, any non-pointer, non-interface field appearing in 3586 // ForceSendFields will be sent to the server regardless of whether the 3587 // field is empty or not. This may be used to include empty fields in 3588 // Patch requests. 3589 ForceSendFields []string `json:"-"` 3590 3591 // NullFields is a list of field names (e.g. 3592 // "DisableStreetAddressResolution") to include in API requests with the 3593 // JSON null value. By default, fields with empty values are omitted 3594 // from API requests. However, any field with an empty value appearing 3595 // in NullFields will be sent to the server as null. It is an error if a 3596 // field in this list has a non-empty value. This may be used to include 3597 // null fields in Patch requests. 3598 NullFields []string `json:"-"` 3599} 3600 3601func (s *JobProcessingOptions) MarshalJSON() ([]byte, error) { 3602 type NoMethod JobProcessingOptions 3603 raw := NoMethod(*s) 3604 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3605} 3606 3607// JobQuery: Input only. 3608// 3609// The query required to perform a search query or histogram. 3610type JobQuery struct { 3611 // Categories: Optional. The category filter specifies the categories of 3612 // jobs to search against. 3613 // See Category for more information. 3614 // 3615 // If a value is not specified, jobs from any category are searched 3616 // against. 3617 // 3618 // If multiple values are specified, jobs from any of the 3619 // specified 3620 // categories are searched against. 3621 // 3622 // Possible values: 3623 // "JOB_CATEGORY_UNSPECIFIED" - The default value if the category is 3624 // not specified. 3625 // "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as 3626 // an Accountant. 3627 // "ADMINISTRATIVE_AND_OFFICE" - And administrative and office job, 3628 // such as an Administrative Assistant. 3629 // "ADVERTISING_AND_MARKETING" - An advertising and marketing job, 3630 // such as Marketing Manager. 3631 // "ANIMAL_CARE" - An animal care job, such as Veterinarian. 3632 // "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as 3633 // Designer. 3634 // "BUSINESS_OPERATIONS" - A business operations job, such as Business 3635 // Operations Manager. 3636 // "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as 3637 // Custodial Staff. 3638 // "COMPUTER_AND_IT" - A computer and IT job, such as Systems 3639 // Administrator. 3640 // "CONSTRUCTION" - A construction job, such as General Laborer. 3641 // "CUSTOMER_SERVICE" - A customer service job, such s Cashier. 3642 // "EDUCATION" - An education job, such as School Teacher. 3643 // "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such 3644 // as Flight Attendant. 3645 // "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park 3646 // Ranger. 3647 // "HEALTHCARE" - A healthcare job, such as Registered Nurse. 3648 // "HUMAN_RESOURCES" - A human resources job, such as Human Resources 3649 // Director. 3650 // "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation, 3651 // maintenance, or repair job, such as Electrician. 3652 // "LEGAL" - A legal job, such as Law Clerk. 3653 // "MANAGEMENT" - A management job, often used in conjunction with 3654 // another category, 3655 // such as Store Manager. 3656 // "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job, 3657 // such as Assembly Technician. 3658 // "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or 3659 // writing job, such as Media Relations. 3660 // "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore 3661 // Driller. 3662 // "PERSONAL_CARE_AND_SERVICES" - A personal care and services job, 3663 // such as Hair Stylist. 3664 // "PROTECTIVE_SERVICES" - A protective services job, such as Security 3665 // Guard. 3666 // "REAL_ESTATE" - A real estate job, such as Buyer's Agent. 3667 // "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job, 3668 // such as Restaurant Server. 3669 // "SALES_AND_RETAIL" - A sales and/or retail job, such Sales 3670 // Associate. 3671 // "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as 3672 // Lab Technician. 3673 // "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit 3674 // job, such as Case Worker. 3675 // "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation 3676 // job, such as Personal Trainer. 3677 // "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job, 3678 // such as Truck Driver. 3679 Categories []string `json:"categories,omitempty"` 3680 3681 // CommuteFilter: Optional. Allows filtering jobs by commute time with 3682 // different travel methods (for 3683 // example, driving or public transit). Note: This only works with 3684 // COMMUTE 3685 // MODE. When specified, [JobQuery.location_filters] is 3686 // ignored. 3687 // 3688 // Currently we don't support sorting by commute time. 3689 CommuteFilter *CommutePreference `json:"commuteFilter,omitempty"` 3690 3691 // CompanyDisplayNames: Optional. This filter specifies the exact 3692 // company display 3693 // name of the jobs to search against. 3694 // 3695 // If a value isn't specified, jobs within the search results 3696 // are 3697 // associated with any company. 3698 // 3699 // If multiple values are specified, jobs within the search results may 3700 // be 3701 // associated with any of the specified companies. 3702 // 3703 // At most 20 company display name filters are allowed. 3704 CompanyDisplayNames []string `json:"companyDisplayNames,omitempty"` 3705 3706 // CompanyNames: Optional. This filter specifies the company entities to 3707 // search against. 3708 // 3709 // If a value isn't specified, jobs are searched for against 3710 // all 3711 // companies. 3712 // 3713 // If multiple values are specified, jobs are searched against 3714 // the 3715 // companies specified. 3716 // 3717 // At most 20 company filters are allowed. 3718 CompanyNames []string `json:"companyNames,omitempty"` 3719 3720 // CompensationFilter: Optional. This search filter is applied only 3721 // to 3722 // Job.compensation_info. For example, if the filter is specified 3723 // as "Hourly job with per-hour compensation > $15", only jobs 3724 // meeting 3725 // these criteria are searched. If a filter isn't defined, all open 3726 // jobs 3727 // are searched. 3728 CompensationFilter *CompensationFilter `json:"compensationFilter,omitempty"` 3729 3730 // CustomAttributeFilter: Optional. This filter specifies a structured 3731 // syntax to match against the 3732 // Job.custom_attributes marked as `filterable`. 3733 // 3734 // The syntax for this expression is a subset of Google SQL 3735 // syntax. 3736 // 3737 // Supported operators are: =, !=, <, <=, >, >= where the left of the 3738 // operator 3739 // is a custom field key and the right of the operator is a number or 3740 // string 3741 // (surrounded by quotes) value. 3742 // 3743 // Supported functions are LOWER(<field_name>) to 3744 // perform case insensitive match and EMPTY(<field_name>) to filter on 3745 // the 3746 // existence of a key. 3747 // 3748 // Boolean expressions (AND/OR/NOT) are supported up to 3 levels 3749 // of 3750 // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum 3751 // of 50 3752 // comparisons/functions are allowed in the expression. The 3753 // expression 3754 // must be < 2000 characters in length. 3755 // 3756 // Sample Query: 3757 // (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 3758 // 100 3759 CustomAttributeFilter string `json:"customAttributeFilter,omitempty"` 3760 3761 // DisableSpellCheck: Optional. This flag controls the spell-check 3762 // feature. If false, the 3763 // service attempts to correct a misspelled query, 3764 // for example, "enginee" is corrected to "engineer". 3765 // 3766 // Defaults to false: a spell check is performed. 3767 DisableSpellCheck bool `json:"disableSpellCheck,omitempty"` 3768 3769 // EmploymentTypes: Optional. The employment type filter specifies the 3770 // employment type of jobs to 3771 // search against, such as EmploymentType.FULL_TIME. 3772 // 3773 // If a value is not specified, jobs in the search results include 3774 // any 3775 // employment type. 3776 // 3777 // If multiple values are specified, jobs in the search results 3778 // include 3779 // any of the specified employment types. 3780 // 3781 // Possible values: 3782 // "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment 3783 // type is not specified. 3784 // "FULL_TIME" - The job requires working a number of hours that 3785 // constitute full 3786 // time employment, typically 40 or more hours per week. 3787 // "PART_TIME" - The job entails working fewer hours than a full time 3788 // job, 3789 // typically less than 40 hours a week. 3790 // "CONTRACTOR" - The job is offered as a contracted, as opposed to a 3791 // salaried employee, 3792 // position. 3793 // "TEMPORARY" - The job is offered as a temporary employment 3794 // opportunity, usually 3795 // a short-term engagement. 3796 // "INTERN" - The job is a fixed-term opportunity for students or 3797 // entry-level job seekers 3798 // to obtain on-the-job training, typically offered as a summer 3799 // position. 3800 // "VOLUNTEER" - The is an opportunity for an individual to volunteer, 3801 // where there is no 3802 // expectation of compensation for the provided services. 3803 // "PER_DIEM" - The job requires an employee to work on an as-needed 3804 // basis with a 3805 // flexible schedule. 3806 // "CONTRACT_TO_HIRE" - The job is offered as a contracted position 3807 // with the understanding 3808 // that it is converted into a full-time position at the end of 3809 // the 3810 // contract. Jobs of this type are also returned by a search 3811 // for 3812 // EmploymentType.CONTRACTOR jobs. 3813 // "FLY_IN_FLY_OUT" - The job involves employing people in remote 3814 // areas and flying them 3815 // temporarily to the work site instead of relocating employees and 3816 // their 3817 // families permanently. 3818 // "OTHER" - The job does not fit any of the other listed types. 3819 EmploymentTypes []string `json:"employmentTypes,omitempty"` 3820 3821 // LanguageCodes: Optional. This filter specifies the locale of jobs to 3822 // search against, 3823 // for example, "en-US". 3824 // 3825 // If a value isn't specified, the search results can contain jobs in 3826 // any 3827 // locale. 3828 // 3829 // 3830 // Language codes should be in BCP-47 format, such as "en-US" or 3831 // "sr-Latn". 3832 // For more information, see 3833 // [Tags for Identifying 3834 // Languages](https://tools.ietf.org/html/bcp47). 3835 // 3836 // At most 10 language code filters are allowed. 3837 LanguageCodes []string `json:"languageCodes,omitempty"` 3838 3839 // LocationFilters: Optional. The location filter specifies geo-regions 3840 // containing the jobs to 3841 // search against. See LocationFilter for more information. 3842 // 3843 // If a location value isn't specified, jobs fitting the other 3844 // search 3845 // criteria are retrieved regardless of where they're located. 3846 // 3847 // If multiple values are specified, jobs are retrieved from any of 3848 // the 3849 // specified locations. If different values are specified for 3850 // the 3851 // LocationFilter.distance_in_miles parameter, the maximum 3852 // provided 3853 // distance is used for all locations. 3854 // 3855 // At most 5 location filters are allowed. 3856 LocationFilters []*LocationFilter `json:"locationFilters,omitempty"` 3857 3858 // PublishDateRange: Optional. Jobs published within a range specified 3859 // by this filter are searched 3860 // against, for example, DateRange.PAST_MONTH. If a value 3861 // isn't 3862 // specified, all open jobs are searched against regardless of 3863 // their 3864 // published date. 3865 // 3866 // Possible values: 3867 // "DATE_RANGE_UNSPECIFIED" - Default value: Filtering on time is not 3868 // performed. 3869 // "PAST_24_HOURS" - The past 24 hours 3870 // "PAST_WEEK" - The past week (7 days) 3871 // "PAST_MONTH" - The past month (30 days) 3872 // "PAST_YEAR" - The past year (365 days) 3873 // "PAST_3_DAYS" - The past 3 days 3874 PublishDateRange string `json:"publishDateRange,omitempty"` 3875 3876 // Query: Optional. The query string that matches against the job title, 3877 // description, and 3878 // location fields. 3879 // 3880 // The maximum query size is 255 bytes. 3881 Query string `json:"query,omitempty"` 3882 3883 // ForceSendFields is a list of field names (e.g. "Categories") to 3884 // unconditionally include in API requests. By default, fields with 3885 // empty values are omitted from API requests. However, any non-pointer, 3886 // non-interface field appearing in ForceSendFields will be sent to the 3887 // server regardless of whether the field is empty or not. This may be 3888 // used to include empty fields in Patch requests. 3889 ForceSendFields []string `json:"-"` 3890 3891 // NullFields is a list of field names (e.g. "Categories") to include in 3892 // API requests with the JSON null value. By default, fields with empty 3893 // values are omitted from API requests. However, any field with an 3894 // empty value appearing in NullFields will be sent to the server as 3895 // null. It is an error if a field in this list has a non-empty value. 3896 // This may be used to include null fields in Patch requests. 3897 NullFields []string `json:"-"` 3898} 3899 3900func (s *JobQuery) MarshalJSON() ([]byte, error) { 3901 type NoMethod JobQuery 3902 raw := NoMethod(*s) 3903 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3904} 3905 3906// LatLng: An object representing a latitude/longitude pair. This is 3907// expressed as a pair 3908// of doubles representing degrees latitude and degrees longitude. 3909// Unless 3910// specified otherwise, this must conform to the 3911// <a 3912// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 3913// st 3914// andard</a>. Values must be within normalized ranges. 3915type LatLng struct { 3916 // Latitude: The latitude in degrees. It must be in the range [-90.0, 3917 // +90.0]. 3918 Latitude float64 `json:"latitude,omitempty"` 3919 3920 // Longitude: The longitude in degrees. It must be in the range [-180.0, 3921 // +180.0]. 3922 Longitude float64 `json:"longitude,omitempty"` 3923 3924 // ForceSendFields is a list of field names (e.g. "Latitude") to 3925 // unconditionally include in API requests. By default, fields with 3926 // empty values are omitted from API requests. However, any non-pointer, 3927 // non-interface field appearing in ForceSendFields will be sent to the 3928 // server regardless of whether the field is empty or not. This may be 3929 // used to include empty fields in Patch requests. 3930 ForceSendFields []string `json:"-"` 3931 3932 // NullFields is a list of field names (e.g. "Latitude") to include in 3933 // API requests with the JSON null value. By default, fields with empty 3934 // values are omitted from API requests. However, any field with an 3935 // empty value appearing in NullFields will be sent to the server as 3936 // null. It is an error if a field in this list has a non-empty value. 3937 // This may be used to include null fields in Patch requests. 3938 NullFields []string `json:"-"` 3939} 3940 3941func (s *LatLng) MarshalJSON() ([]byte, error) { 3942 type NoMethod LatLng 3943 raw := NoMethod(*s) 3944 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3945} 3946 3947func (s *LatLng) UnmarshalJSON(data []byte) error { 3948 type NoMethod LatLng 3949 var s1 struct { 3950 Latitude gensupport.JSONFloat64 `json:"latitude"` 3951 Longitude gensupport.JSONFloat64 `json:"longitude"` 3952 *NoMethod 3953 } 3954 s1.NoMethod = (*NoMethod)(s) 3955 if err := json.Unmarshal(data, &s1); err != nil { 3956 return err 3957 } 3958 s.Latitude = float64(s1.Latitude) 3959 s.Longitude = float64(s1.Longitude) 3960 return nil 3961} 3962 3963// ListCompaniesResponse: Output only. 3964// 3965// The List companies response object. 3966type ListCompaniesResponse struct { 3967 // Companies: Companies for the current client. 3968 Companies []*Company `json:"companies,omitempty"` 3969 3970 // Metadata: Additional information for the API invocation, such as the 3971 // request 3972 // tracking id. 3973 Metadata *ResponseMetadata `json:"metadata,omitempty"` 3974 3975 // NextPageToken: A token to retrieve the next page of results. 3976 NextPageToken string `json:"nextPageToken,omitempty"` 3977 3978 // ServerResponse contains the HTTP response code and headers from the 3979 // server. 3980 googleapi.ServerResponse `json:"-"` 3981 3982 // ForceSendFields is a list of field names (e.g. "Companies") to 3983 // unconditionally include in API requests. By default, fields with 3984 // empty values are omitted from API requests. However, any non-pointer, 3985 // non-interface field appearing in ForceSendFields will be sent to the 3986 // server regardless of whether the field is empty or not. This may be 3987 // used to include empty fields in Patch requests. 3988 ForceSendFields []string `json:"-"` 3989 3990 // NullFields is a list of field names (e.g. "Companies") to include in 3991 // API requests with the JSON null value. By default, fields with empty 3992 // values are omitted from API requests. However, any field with an 3993 // empty value appearing in NullFields will be sent to the server as 3994 // null. It is an error if a field in this list has a non-empty value. 3995 // This may be used to include null fields in Patch requests. 3996 NullFields []string `json:"-"` 3997} 3998 3999func (s *ListCompaniesResponse) MarshalJSON() ([]byte, error) { 4000 type NoMethod ListCompaniesResponse 4001 raw := NoMethod(*s) 4002 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4003} 4004 4005// ListCompanyJobsResponse: Deprecated. Use ListJobsResponse 4006// instead. 4007// 4008// Output only. 4009// 4010// The List jobs response object. 4011type ListCompanyJobsResponse struct { 4012 // Jobs: The Jobs for a given company. 4013 // 4014 // The maximum number of items returned is based on the limit 4015 // field 4016 // provided in the request. 4017 Jobs []*Job `json:"jobs,omitempty"` 4018 4019 // Metadata: Additional information for the API invocation, such as the 4020 // request 4021 // tracking id. 4022 Metadata *ResponseMetadata `json:"metadata,omitempty"` 4023 4024 // NextPageToken: A token to retrieve the next page of results. 4025 NextPageToken string `json:"nextPageToken,omitempty"` 4026 4027 // TotalSize: The total number of open jobs. The result will be 4028 // empty if ListCompanyJobsRequest.include_jobs_count is not enabled 4029 // or if no open jobs are available. 4030 TotalSize int64 `json:"totalSize,omitempty,string"` 4031 4032 // ServerResponse contains the HTTP response code and headers from the 4033 // server. 4034 googleapi.ServerResponse `json:"-"` 4035 4036 // ForceSendFields is a list of field names (e.g. "Jobs") to 4037 // unconditionally include in API requests. By default, fields with 4038 // empty values are omitted from API requests. However, any non-pointer, 4039 // non-interface field appearing in ForceSendFields will be sent to the 4040 // server regardless of whether the field is empty or not. This may be 4041 // used to include empty fields in Patch requests. 4042 ForceSendFields []string `json:"-"` 4043 4044 // NullFields is a list of field names (e.g. "Jobs") to include in API 4045 // requests with the JSON null value. By default, fields with empty 4046 // values are omitted from API requests. However, any field with an 4047 // empty value appearing in NullFields will be sent to the server as 4048 // null. It is an error if a field in this list has a non-empty value. 4049 // This may be used to include null fields in Patch requests. 4050 NullFields []string `json:"-"` 4051} 4052 4053func (s *ListCompanyJobsResponse) MarshalJSON() ([]byte, error) { 4054 type NoMethod ListCompanyJobsResponse 4055 raw := NoMethod(*s) 4056 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4057} 4058 4059// ListJobsResponse: Output only. 4060// 4061// List jobs response. 4062type ListJobsResponse struct { 4063 // Jobs: The Jobs for a given company. 4064 // 4065 // The maximum number of items returned is based on the limit 4066 // field 4067 // provided in the request. 4068 Jobs []*Job `json:"jobs,omitempty"` 4069 4070 // Metadata: Additional information for the API invocation, such as the 4071 // request 4072 // tracking id. 4073 Metadata *ResponseMetadata `json:"metadata,omitempty"` 4074 4075 // NextPageToken: A token to retrieve the next page of results. 4076 NextPageToken string `json:"nextPageToken,omitempty"` 4077 4078 // ServerResponse contains the HTTP response code and headers from the 4079 // server. 4080 googleapi.ServerResponse `json:"-"` 4081 4082 // ForceSendFields is a list of field names (e.g. "Jobs") to 4083 // unconditionally include in API requests. By default, fields with 4084 // empty values are omitted from API requests. However, any non-pointer, 4085 // non-interface field appearing in ForceSendFields will be sent to the 4086 // server regardless of whether the field is empty or not. This may be 4087 // used to include empty fields in Patch requests. 4088 ForceSendFields []string `json:"-"` 4089 4090 // NullFields is a list of field names (e.g. "Jobs") to include in API 4091 // requests with the JSON null value. By default, fields with empty 4092 // values are omitted from API requests. However, any field with an 4093 // empty value appearing in NullFields will be sent to the server as 4094 // null. It is an error if a field in this list has a non-empty value. 4095 // This may be used to include null fields in Patch requests. 4096 NullFields []string `json:"-"` 4097} 4098 4099func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { 4100 type NoMethod ListJobsResponse 4101 raw := NoMethod(*s) 4102 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4103} 4104 4105// LocationFilter: Input only. 4106// 4107// Geographic region of the search. 4108type LocationFilter struct { 4109 // DistanceInMiles: Optional. The distance_in_miles is applied when the 4110 // location being searched for is 4111 // identified as a city or smaller. When the location being searched for 4112 // is a 4113 // state or larger, this field is ignored. 4114 DistanceInMiles float64 `json:"distanceInMiles,omitempty"` 4115 4116 // IsTelecommute: Optional. Allows the client to return jobs without 4117 // a 4118 // set location, specifically, telecommuting jobs (telecomuting is 4119 // considered 4120 // by the service as a special location. 4121 // Job.allow_telecommute indicates if a job permits telecommuting. 4122 // If this field is true, telecommuting jobs are searched, and 4123 // name and lat_lng are 4124 // ignored. 4125 // This filter can be used by itself to search exclusively for 4126 // telecommuting 4127 // jobs, or it can be combined with another location 4128 // filter to search for a combination of job locations, 4129 // such as "Mountain View" or "telecommuting" jobs. However, when used 4130 // in 4131 // combination with other location filters, telecommuting jobs can 4132 // be 4133 // treated as less relevant than other jobs in the search response. 4134 IsTelecommute bool `json:"isTelecommute,omitempty"` 4135 4136 // LatLng: Optional. The latitude and longitude of the geographic center 4137 // from which to 4138 // search. This field is ignored if `location_name` is provided. 4139 LatLng *LatLng `json:"latLng,omitempty"` 4140 4141 // Name: Optional. The address name, such as "Mountain View" or "Bay 4142 // Area". 4143 Name string `json:"name,omitempty"` 4144 4145 // RegionCode: Optional. CLDR region code of the country/region of the 4146 // address. This will be used 4147 // to address ambiguity of the user-input location, e.g. 4148 // "Liverpool" 4149 // against "Liverpool, NY, US" or "Liverpool, UK". 4150 // 4151 // Set this field if all the jobs to search against are from a same 4152 // region, 4153 // or jobs are world-wide but the job seeker is from a specific 4154 // region. 4155 // 4156 // See http://cldr.unicode.org/ 4157 // and 4158 // http://www.unicode.org/cldr/charts/30/supplemental/territory_infor 4159 // mation.html 4160 // for details. Example: "CH" for Switzerland. 4161 RegionCode string `json:"regionCode,omitempty"` 4162 4163 // ForceSendFields is a list of field names (e.g. "DistanceInMiles") to 4164 // unconditionally include in API requests. By default, fields with 4165 // empty values are omitted from API requests. However, any non-pointer, 4166 // non-interface field appearing in ForceSendFields will be sent to the 4167 // server regardless of whether the field is empty or not. This may be 4168 // used to include empty fields in Patch requests. 4169 ForceSendFields []string `json:"-"` 4170 4171 // NullFields is a list of field names (e.g. "DistanceInMiles") to 4172 // include in API requests with the JSON null value. By default, fields 4173 // with empty values are omitted from API requests. However, any field 4174 // with an empty value appearing in NullFields will be sent to the 4175 // server as null. It is an error if a field in this list has a 4176 // non-empty value. This may be used to include null fields in Patch 4177 // requests. 4178 NullFields []string `json:"-"` 4179} 4180 4181func (s *LocationFilter) MarshalJSON() ([]byte, error) { 4182 type NoMethod LocationFilter 4183 raw := NoMethod(*s) 4184 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4185} 4186 4187func (s *LocationFilter) UnmarshalJSON(data []byte) error { 4188 type NoMethod LocationFilter 4189 var s1 struct { 4190 DistanceInMiles gensupport.JSONFloat64 `json:"distanceInMiles"` 4191 *NoMethod 4192 } 4193 s1.NoMethod = (*NoMethod)(s) 4194 if err := json.Unmarshal(data, &s1); err != nil { 4195 return err 4196 } 4197 s.DistanceInMiles = float64(s1.DistanceInMiles) 4198 return nil 4199} 4200 4201// MatchingJob: Output only. 4202// 4203// Job entry with metadata inside SearchJobsResponse. 4204type MatchingJob struct { 4205 // CommuteInfo: Commute information which is generated based on 4206 // specified 4207 // CommutePreference. 4208 CommuteInfo *CommuteInfo `json:"commuteInfo,omitempty"` 4209 4210 // Job: Job resource that matches the specified SearchJobsRequest. 4211 Job *Job `json:"job,omitempty"` 4212 4213 // JobSummary: A summary of the job with core information that's 4214 // displayed on the search 4215 // results listing page. 4216 JobSummary string `json:"jobSummary,omitempty"` 4217 4218 // JobTitleSnippet: Contains snippets of text from the Job.job_title 4219 // field most 4220 // closely matching a search query's keywords, if available. The 4221 // matching 4222 // query keywords are enclosed in HTML bold tags. 4223 JobTitleSnippet string `json:"jobTitleSnippet,omitempty"` 4224 4225 // SearchTextSnippet: Contains snippets of text from the Job.description 4226 // and similar 4227 // fields that most closely match a search query's keywords, if 4228 // available. 4229 // All HTML tags in the original fields are stripped when returned in 4230 // this 4231 // field, and matching query keywords are enclosed in HTML bold tags. 4232 SearchTextSnippet string `json:"searchTextSnippet,omitempty"` 4233 4234 // ForceSendFields is a list of field names (e.g. "CommuteInfo") to 4235 // unconditionally include in API requests. By default, fields with 4236 // empty values are omitted from API requests. However, any non-pointer, 4237 // non-interface field appearing in ForceSendFields will be sent to the 4238 // server regardless of whether the field is empty or not. This may be 4239 // used to include empty fields in Patch requests. 4240 ForceSendFields []string `json:"-"` 4241 4242 // NullFields is a list of field names (e.g. "CommuteInfo") to include 4243 // in API requests with the JSON null value. By default, fields with 4244 // empty values are omitted from API requests. However, any field with 4245 // an empty value appearing in NullFields will be sent to the server as 4246 // null. It is an error if a field in this list has a non-empty value. 4247 // This may be used to include null fields in Patch requests. 4248 NullFields []string `json:"-"` 4249} 4250 4251func (s *MatchingJob) MarshalJSON() ([]byte, error) { 4252 type NoMethod MatchingJob 4253 raw := NoMethod(*s) 4254 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4255} 4256 4257// MendelDebugInput: Message representing input to a Mendel server for 4258// debug forcing. 4259// See go/mendel-debug-forcing for more details. 4260// Next ID: 2 4261type MendelDebugInput struct { 4262 // NamespacedDebugInput: When a request spans multiple servers, a 4263 // MendelDebugInput may travel with 4264 // the request and take effect in all the servers. This field is a map 4265 // of 4266 // namespaces to NamespacedMendelDebugInput protos. In a single server, 4267 // up to 4268 // two NamespacedMendelDebugInput protos are applied: 4269 // 1. NamespacedMendelDebugInput with the global namespace (key == 4270 // ""). 4271 // 2. NamespacedMendelDebugInput with the server's namespace. 4272 // When both NamespacedMendelDebugInput protos are present, they are 4273 // merged. 4274 // See go/mendel-debug-forcing for more details. 4275 NamespacedDebugInput map[string]NamespacedDebugInput `json:"namespacedDebugInput,omitempty"` 4276 4277 // ForceSendFields is a list of field names (e.g. 4278 // "NamespacedDebugInput") to unconditionally include in API requests. 4279 // By default, fields with empty values are omitted from API requests. 4280 // However, any non-pointer, non-interface field appearing in 4281 // ForceSendFields will be sent to the server regardless of whether the 4282 // field is empty or not. This may be used to include empty fields in 4283 // Patch requests. 4284 ForceSendFields []string `json:"-"` 4285 4286 // NullFields is a list of field names (e.g. "NamespacedDebugInput") to 4287 // include in API requests with the JSON null value. By default, fields 4288 // with empty values are omitted from API requests. However, any field 4289 // with an empty value appearing in NullFields will be sent to the 4290 // server as null. It is an error if a field in this list has a 4291 // non-empty value. This may be used to include null fields in Patch 4292 // requests. 4293 NullFields []string `json:"-"` 4294} 4295 4296func (s *MendelDebugInput) MarshalJSON() ([]byte, error) { 4297 type NoMethod MendelDebugInput 4298 raw := NoMethod(*s) 4299 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4300} 4301 4302// Money: Represents an amount of money with its currency type. 4303type Money struct { 4304 // CurrencyCode: The 3-letter currency code defined in ISO 4217. 4305 CurrencyCode string `json:"currencyCode,omitempty"` 4306 4307 // Nanos: Number of nano (10^-9) units of the amount. 4308 // The value must be between -999,999,999 and +999,999,999 inclusive. 4309 // If `units` is positive, `nanos` must be positive or zero. 4310 // If `units` is zero, `nanos` can be positive, zero, or negative. 4311 // If `units` is negative, `nanos` must be negative or zero. 4312 // For example $-1.75 is represented as `units`=-1 and 4313 // `nanos`=-750,000,000. 4314 Nanos int64 `json:"nanos,omitempty"` 4315 4316 // Units: The whole units of the amount. 4317 // For example if `currencyCode` is "USD", then 1 unit is one US 4318 // dollar. 4319 Units int64 `json:"units,omitempty,string"` 4320 4321 // ForceSendFields is a list of field names (e.g. "CurrencyCode") to 4322 // unconditionally include in API requests. By default, fields with 4323 // empty values are omitted from API requests. However, any non-pointer, 4324 // non-interface field appearing in ForceSendFields will be sent to the 4325 // server regardless of whether the field is empty or not. This may be 4326 // used to include empty fields in Patch requests. 4327 ForceSendFields []string `json:"-"` 4328 4329 // NullFields is a list of field names (e.g. "CurrencyCode") to include 4330 // in API requests with the JSON null value. By default, fields with 4331 // empty values are omitted from API requests. However, any field with 4332 // an empty value appearing in NullFields will be sent to the server as 4333 // null. It is an error if a field in this list has a non-empty value. 4334 // This may be used to include null fields in Patch requests. 4335 NullFields []string `json:"-"` 4336} 4337 4338func (s *Money) MarshalJSON() ([]byte, error) { 4339 type NoMethod Money 4340 raw := NoMethod(*s) 4341 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4342} 4343 4344// NamespacedDebugInput: Next ID: 15 4345type NamespacedDebugInput struct { 4346 // AbsolutelyForcedExpNames: Set of experiment names to be absolutely 4347 // forced. 4348 // These experiments will be forced without evaluating the conditions. 4349 AbsolutelyForcedExpNames []string `json:"absolutelyForcedExpNames,omitempty"` 4350 4351 // AbsolutelyForcedExpTags: Set of experiment tags to be absolutely 4352 // forced. 4353 // The experiments with these tags will be forced without evaluating 4354 // the 4355 // conditions. 4356 AbsolutelyForcedExpTags []string `json:"absolutelyForcedExpTags,omitempty"` 4357 4358 // AbsolutelyForcedExps: Set of experiment ids to be absolutely 4359 // forced. 4360 // These ids will be forced without evaluating the conditions. 4361 AbsolutelyForcedExps []int64 `json:"absolutelyForcedExps,omitempty"` 4362 4363 // ConditionallyForcedExpNames: Set of experiment names to be 4364 // conditionally forced. 4365 // These experiments will be forced only if their conditions and 4366 // their 4367 // parent domain's conditions are true. 4368 ConditionallyForcedExpNames []string `json:"conditionallyForcedExpNames,omitempty"` 4369 4370 // ConditionallyForcedExpTags: Set of experiment tags to be 4371 // conditionally forced. 4372 // The experiments with these tags will be forced only if their 4373 // conditions 4374 // and their parent domain's conditions are true. 4375 ConditionallyForcedExpTags []string `json:"conditionallyForcedExpTags,omitempty"` 4376 4377 // ConditionallyForcedExps: Set of experiment ids to be conditionally 4378 // forced. 4379 // These ids will be forced only if their conditions and their 4380 // parent 4381 // domain's conditions are true. 4382 ConditionallyForcedExps []int64 `json:"conditionallyForcedExps,omitempty"` 4383 4384 // DisableAutomaticEnrollmentSelection: If true, disable automatic 4385 // enrollment selection (at all diversion 4386 // points). Automatic enrollment selection means experiment 4387 // selection 4388 // process based on the experiment's automatic enrollment condition. 4389 // This 4390 // does not disable selection of forced experiments. 4391 DisableAutomaticEnrollmentSelection bool `json:"disableAutomaticEnrollmentSelection,omitempty"` 4392 4393 // DisableExpNames: Set of experiment names to be disabled. 4394 // If an experiment is disabled, it is never selected nor forced. 4395 // If an aggregate experiment is disabled, its partitions are 4396 // disabled 4397 // together. If an experiment with an enrollment is disabled, the 4398 // enrollment 4399 // is disabled together. If a name corresponds to a domain, the 4400 // domain 4401 // itself and all descendant experiments and domains are disabled 4402 // together. 4403 DisableExpNames []string `json:"disableExpNames,omitempty"` 4404 4405 // DisableExpTags: Set of experiment tags to be disabled. All 4406 // experiments that are tagged 4407 // with one or more of these tags are disabled. 4408 // If an experiment is disabled, it is never selected nor forced. 4409 // If an aggregate experiment is disabled, its partitions are 4410 // disabled 4411 // together. If an experiment with an enrollment is disabled, the 4412 // enrollment 4413 // is disabled together. 4414 DisableExpTags []string `json:"disableExpTags,omitempty"` 4415 4416 // DisableExps: Set of experiment ids to be disabled. 4417 // If an experiment is disabled, it is never selected nor forced. 4418 // If an aggregate experiment is disabled, its partitions are 4419 // disabled 4420 // together. If an experiment with an enrollment is disabled, the 4421 // enrollment 4422 // is disabled together. If an ID corresponds to a domain, the domain 4423 // itself 4424 // and all descendant experiments and domains are disabled together. 4425 DisableExps []int64 `json:"disableExps,omitempty"` 4426 4427 // DisableManualEnrollmentSelection: If true, disable manual enrollment 4428 // selection (at all diversion points). 4429 // Manual enrollment selection means experiment selection process based 4430 // on 4431 // the request's manual enrollment states (a.k.a. opt-in 4432 // experiments). 4433 // This does not disable selection of forced experiments. 4434 DisableManualEnrollmentSelection bool `json:"disableManualEnrollmentSelection,omitempty"` 4435 4436 // DisableOrganicSelection: If true, disable organic experiment 4437 // selection (at all diversion points). 4438 // Organic selection means experiment selection process based on 4439 // traffic 4440 // allocation and diversion condition evaluation. 4441 // This does not disable selection of forced experiments. 4442 // 4443 // This is useful in cases when it is not known whether experiment 4444 // selection 4445 // behavior is responsible for a error or breakage. Disabling 4446 // organic 4447 // selection may help to isolate the cause of a given problem. 4448 DisableOrganicSelection bool `json:"disableOrganicSelection,omitempty"` 4449 4450 // ForcedFlags: Flags to force in a particular experiment state. 4451 // Map from flag name to flag value. 4452 ForcedFlags map[string]string `json:"forcedFlags,omitempty"` 4453 4454 // ForcedRollouts: Rollouts to force in a particular experiment 4455 // state. 4456 // Map from rollout name to rollout value. 4457 ForcedRollouts map[string]bool `json:"forcedRollouts,omitempty"` 4458 4459 // ForceSendFields is a list of field names (e.g. 4460 // "AbsolutelyForcedExpNames") to unconditionally include in API 4461 // requests. By default, fields with empty values are omitted from API 4462 // requests. However, any non-pointer, non-interface field appearing in 4463 // ForceSendFields will be sent to the server regardless of whether the 4464 // field is empty or not. This may be used to include empty fields in 4465 // Patch requests. 4466 ForceSendFields []string `json:"-"` 4467 4468 // NullFields is a list of field names (e.g. "AbsolutelyForcedExpNames") 4469 // to include in API requests with the JSON null value. By default, 4470 // fields with empty values are omitted from API requests. However, any 4471 // field with an empty value appearing in NullFields will be sent to the 4472 // server as null. It is an error if a field in this list has a 4473 // non-empty value. This may be used to include null fields in Patch 4474 // requests. 4475 NullFields []string `json:"-"` 4476} 4477 4478func (s *NamespacedDebugInput) MarshalJSON() ([]byte, error) { 4479 type NoMethod NamespacedDebugInput 4480 raw := NoMethod(*s) 4481 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4482} 4483 4484// NumericBucketingOption: Input only. 4485// 4486// Use this field to specify bucketing option for the histogram search 4487// response. 4488type NumericBucketingOption struct { 4489 // BucketBounds: Required. Two adjacent values form a histogram bucket. 4490 // Values should be in 4491 // ascending order. For example, if [5, 10, 15] are provided, four 4492 // buckets are 4493 // created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 4494 // 20 4495 // [buckets_bound is supported. 4496 BucketBounds []float64 `json:"bucketBounds,omitempty"` 4497 4498 // RequiresMinMax: Optional. If set to true, the histogram result 4499 // includes minimum/maximum 4500 // value of the numeric field. 4501 RequiresMinMax bool `json:"requiresMinMax,omitempty"` 4502 4503 // ForceSendFields is a list of field names (e.g. "BucketBounds") to 4504 // unconditionally include in API requests. By default, fields with 4505 // empty values are omitted from API requests. However, any non-pointer, 4506 // non-interface field appearing in ForceSendFields will be sent to the 4507 // server regardless of whether the field is empty or not. This may be 4508 // used to include empty fields in Patch requests. 4509 ForceSendFields []string `json:"-"` 4510 4511 // NullFields is a list of field names (e.g. "BucketBounds") to include 4512 // in API requests with the JSON null value. By default, fields with 4513 // empty values are omitted from API requests. However, any field with 4514 // an empty value appearing in NullFields will be sent to the server as 4515 // null. It is an error if a field in this list has a non-empty value. 4516 // This may be used to include null fields in Patch requests. 4517 NullFields []string `json:"-"` 4518} 4519 4520func (s *NumericBucketingOption) MarshalJSON() ([]byte, error) { 4521 type NoMethod NumericBucketingOption 4522 raw := NoMethod(*s) 4523 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4524} 4525 4526// NumericBucketingResult: Output only. 4527// 4528// Custom numeric bucketing result. 4529type NumericBucketingResult struct { 4530 // Counts: Count within each bucket. Its size is the length 4531 // of 4532 // NumericBucketingOption.bucket_bounds plus 1. 4533 Counts []*BucketizedCount `json:"counts,omitempty"` 4534 4535 // MaxValue: Stores the maximum value of the numeric field. Will be 4536 // populated only if 4537 // [NumericBucketingOption.requires_min_max] is set to true. 4538 MaxValue float64 `json:"maxValue,omitempty"` 4539 4540 // MinValue: Stores the minimum value of the numeric field. Will be 4541 // populated only if 4542 // [NumericBucketingOption.requires_min_max] is set to true. 4543 MinValue float64 `json:"minValue,omitempty"` 4544 4545 // ForceSendFields is a list of field names (e.g. "Counts") to 4546 // unconditionally include in API requests. By default, fields with 4547 // empty values are omitted from API requests. However, any non-pointer, 4548 // non-interface field appearing in ForceSendFields will be sent to the 4549 // server regardless of whether the field is empty or not. This may be 4550 // used to include empty fields in Patch requests. 4551 ForceSendFields []string `json:"-"` 4552 4553 // NullFields is a list of field names (e.g. "Counts") to include in API 4554 // requests with the JSON null value. By default, fields with empty 4555 // values are omitted from API requests. However, any field with an 4556 // empty value appearing in NullFields will be sent to the server as 4557 // null. It is an error if a field in this list has a non-empty value. 4558 // This may be used to include null fields in Patch requests. 4559 NullFields []string `json:"-"` 4560} 4561 4562func (s *NumericBucketingResult) MarshalJSON() ([]byte, error) { 4563 type NoMethod NumericBucketingResult 4564 raw := NoMethod(*s) 4565 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4566} 4567 4568func (s *NumericBucketingResult) UnmarshalJSON(data []byte) error { 4569 type NoMethod NumericBucketingResult 4570 var s1 struct { 4571 MaxValue gensupport.JSONFloat64 `json:"maxValue"` 4572 MinValue gensupport.JSONFloat64 `json:"minValue"` 4573 *NoMethod 4574 } 4575 s1.NoMethod = (*NoMethod)(s) 4576 if err := json.Unmarshal(data, &s1); err != nil { 4577 return err 4578 } 4579 s.MaxValue = float64(s1.MaxValue) 4580 s.MinValue = float64(s1.MinValue) 4581 return nil 4582} 4583 4584// PostalAddress: Represents a postal address, e.g. for postal delivery 4585// or payments addresses. 4586// Given a postal address, a postal service can deliver items to a 4587// premise, P.O. 4588// Box or similar. 4589// It is not intended to model geographical locations (roads, 4590// towns, 4591// mountains). 4592// 4593// In typical usage an address would be created via user input or from 4594// importing 4595// existing data, depending on the type of process. 4596// 4597// Advice on address input / editing: 4598// - Use an i18n-ready address widget such as 4599// https://github.com/google/libaddressinput) 4600// - Users should not be presented with UI elements for input or editing 4601// of 4602// fields outside countries where that field is used. 4603// 4604// For more guidance on how to use this schema, please 4605// see: 4606// https://support.google.com/business/answer/6397478 4607type PostalAddress struct { 4608 // AddressLines: Unstructured address lines describing the lower levels 4609 // of an address. 4610 // 4611 // Because values in address_lines do not have type information and 4612 // may 4613 // sometimes contain multiple values in a single field (e.g. 4614 // "Austin, TX"), it is important that the line order is clear. The 4615 // order of 4616 // address lines should be "envelope order" for the country/region of 4617 // the 4618 // address. In places where this can vary (e.g. Japan), address_language 4619 // is 4620 // used to make it explicit (e.g. "ja" for large-to-small ordering 4621 // and 4622 // "ja-Latn" or "en" for small-to-large). This way, the most specific 4623 // line of 4624 // an address can be selected based on the language. 4625 // 4626 // The minimum permitted structural representation of an address 4627 // consists 4628 // of a region_code with all remaining information placed in 4629 // the 4630 // address_lines. It would be possible to format such an address 4631 // very 4632 // approximately without geocoding, but no semantic reasoning could 4633 // be 4634 // made about any of the address components until it was at 4635 // least 4636 // partially resolved. 4637 // 4638 // Creating an address only containing a region_code and address_lines, 4639 // and 4640 // then geocoding is the recommended way to handle completely 4641 // unstructured 4642 // addresses (as opposed to guessing which parts of the address should 4643 // be 4644 // localities or administrative areas). 4645 AddressLines []string `json:"addressLines,omitempty"` 4646 4647 // AdministrativeArea: Optional. Highest administrative subdivision 4648 // which is used for postal 4649 // addresses of a country or region. 4650 // For example, this can be a state, a province, an oblast, or a 4651 // prefecture. 4652 // Specifically, for Spain this is the province and not the 4653 // autonomous 4654 // community (e.g. "Barcelona" and not "Catalonia"). 4655 // Many countries don't use an administrative area in postal addresses. 4656 // E.g. 4657 // in Switzerland this should be left unpopulated. 4658 AdministrativeArea string `json:"administrativeArea,omitempty"` 4659 4660 // LanguageCode: Optional. BCP-47 language code of the contents of this 4661 // address (if 4662 // known). This is often the UI language of the input form or is 4663 // expected 4664 // to match one of the languages used in the address' country/region, or 4665 // their 4666 // transliterated equivalents. 4667 // This can affect formatting in certain countries, but is not 4668 // critical 4669 // to the correctness of the data and will never affect any validation 4670 // or 4671 // other non-formatting related operations. 4672 // 4673 // If this value is not known, it should be omitted (rather than 4674 // specifying a 4675 // possibly incorrect default). 4676 // 4677 // Examples: "zh-Hant", "ja", "ja-Latn", "en". 4678 LanguageCode string `json:"languageCode,omitempty"` 4679 4680 // Locality: Optional. Generally refers to the city/town portion of the 4681 // address. 4682 // Examples: US city, IT comune, UK post town. 4683 // In regions of the world where localities are not well defined or do 4684 // not fit 4685 // into this structure well, leave locality empty and use address_lines. 4686 Locality string `json:"locality,omitempty"` 4687 4688 // Organization: Optional. The name of the organization at the address. 4689 Organization string `json:"organization,omitempty"` 4690 4691 // PostalCode: Optional. Postal code of the address. Not all countries 4692 // use or require 4693 // postal codes to be present, but where they are used, they may 4694 // trigger 4695 // additional validation with other parts of the address (e.g. 4696 // state/zip 4697 // validation in the U.S.A.). 4698 PostalCode string `json:"postalCode,omitempty"` 4699 4700 // Recipients: Optional. The recipient at the address. 4701 // This field may, under certain circumstances, contain multiline 4702 // information. 4703 // For example, it might contain "care of" information. 4704 Recipients []string `json:"recipients,omitempty"` 4705 4706 // RegionCode: Required. CLDR region code of the country/region of the 4707 // address. This 4708 // is never inferred and it is up to the user to ensure the value 4709 // is 4710 // correct. See http://cldr.unicode.org/ 4711 // and 4712 // http://www.unicode.org/cldr/charts/30/supplemental/territory_infor 4713 // mation.html 4714 // for details. Example: "CH" for Switzerland. 4715 RegionCode string `json:"regionCode,omitempty"` 4716 4717 // Revision: The schema revision of the `PostalAddress`. This must be 4718 // set to 0, which is 4719 // the latest revision. 4720 // 4721 // All new revisions **must** be backward compatible with old revisions. 4722 Revision int64 `json:"revision,omitempty"` 4723 4724 // SortingCode: Optional. Additional, country-specific, sorting code. 4725 // This is not used 4726 // in most regions. Where it is used, the value is either a string 4727 // like 4728 // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a 4729 // number 4730 // alone, representing the "sector code" (Jamaica), "delivery area 4731 // indicator" 4732 // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). 4733 SortingCode string `json:"sortingCode,omitempty"` 4734 4735 // Sublocality: Optional. Sublocality of the address. 4736 // For example, this can be neighborhoods, boroughs, districts. 4737 Sublocality string `json:"sublocality,omitempty"` 4738 4739 // ForceSendFields is a list of field names (e.g. "AddressLines") to 4740 // unconditionally include in API requests. By default, fields with 4741 // empty values are omitted from API requests. However, any non-pointer, 4742 // non-interface field appearing in ForceSendFields will be sent to the 4743 // server regardless of whether the field is empty or not. This may be 4744 // used to include empty fields in Patch requests. 4745 ForceSendFields []string `json:"-"` 4746 4747 // NullFields is a list of field names (e.g. "AddressLines") to include 4748 // in API requests with the JSON null value. By default, fields with 4749 // empty values are omitted from API requests. However, any field with 4750 // an empty value appearing in NullFields will be sent to the server as 4751 // null. It is an error if a field in this list has a non-empty value. 4752 // This may be used to include null fields in Patch requests. 4753 NullFields []string `json:"-"` 4754} 4755 4756func (s *PostalAddress) MarshalJSON() ([]byte, error) { 4757 type NoMethod PostalAddress 4758 raw := NoMethod(*s) 4759 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4760} 4761 4762// RequestMetadata: Input only. 4763// 4764// Meta information related to the job searcher or entity 4765// conducting the job search. This information is used to improve 4766// the 4767// performance of the service. 4768type RequestMetadata struct { 4769 // DeviceInfo: Optional. The type of device used by the job seeker at 4770 // the time of the call to the 4771 // service. 4772 DeviceInfo *DeviceInfo `json:"deviceInfo,omitempty"` 4773 4774 // Domain: Required. The client-defined scope or source of the service 4775 // call, which typically 4776 // is the domain on 4777 // which the service has been implemented and is currently being 4778 // run. 4779 // 4780 // For example, if the service is being run by client <em>Foo, 4781 // Inc.</em>, on 4782 // job board www.foo.com and career site www.bar.com, then this field 4783 // is 4784 // set to "foo.com" for use on the job board, and "bar.com" for use on 4785 // the 4786 // career site. 4787 // 4788 // If this field is not available for some reason, send "UNKNOWN". Note 4789 // that 4790 // any improvements to the service model for a particular tenant site 4791 // rely on 4792 // this field being set correctly to some domain. 4793 Domain string `json:"domain,omitempty"` 4794 4795 // SessionId: Required. A unique session identification string. A 4796 // session is defined as the 4797 // duration of an end user's interaction with the service over a 4798 // period. 4799 // Obfuscate this field for privacy concerns before 4800 // providing it to the API. 4801 // 4802 // If this field is not available for some reason, please send 4803 // "UNKNOWN". Note 4804 // that any improvements to the service model for a particular tenant 4805 // site, 4806 // rely on this field being set correctly to some unique session_id. 4807 SessionId string `json:"sessionId,omitempty"` 4808 4809 // UserId: Required. A unique user identification string, as determined 4810 // by the client. The 4811 // client is responsible for ensuring client-level uniqueness of this 4812 // value 4813 // in order to have the strongest positive impact on search 4814 // quality. 4815 // Obfuscate this field for privacy concerns before 4816 // providing it to the service. 4817 // 4818 // If this field is not available for some reason, please send 4819 // "UNKNOWN". Note 4820 // that any improvements to the service model for a particular tenant 4821 // site, 4822 // rely on this field being set correctly to some unique user_id. 4823 UserId string `json:"userId,omitempty"` 4824 4825 // ForceSendFields is a list of field names (e.g. "DeviceInfo") to 4826 // unconditionally include in API requests. By default, fields with 4827 // empty values are omitted from API requests. However, any non-pointer, 4828 // non-interface field appearing in ForceSendFields will be sent to the 4829 // server regardless of whether the field is empty or not. This may be 4830 // used to include empty fields in Patch requests. 4831 ForceSendFields []string `json:"-"` 4832 4833 // NullFields is a list of field names (e.g. "DeviceInfo") to include in 4834 // API requests with the JSON null value. By default, fields with empty 4835 // values are omitted from API requests. However, any field with an 4836 // empty value appearing in NullFields will be sent to the server as 4837 // null. It is an error if a field in this list has a non-empty value. 4838 // This may be used to include null fields in Patch requests. 4839 NullFields []string `json:"-"` 4840} 4841 4842func (s *RequestMetadata) MarshalJSON() ([]byte, error) { 4843 type NoMethod RequestMetadata 4844 raw := NoMethod(*s) 4845 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4846} 4847 4848// ResponseMetadata: Output only. 4849// 4850// Additional information returned to client, such as 4851// debugging 4852// information. 4853type ResponseMetadata struct { 4854 // ExperimentIdList: Identifiers for the versions of the search 4855 // algorithm used during 4856 // this API invocation if multiple algorithms are used. 4857 // The default value is empty. 4858 // For search response only. 4859 ExperimentIdList []int64 `json:"experimentIdList,omitempty"` 4860 4861 // Mode: For search response only. Indicates the mode of a performed 4862 // search. 4863 // 4864 // Possible values: 4865 // "SEARCH_MODE_UNSPECIFIED" - The mode of the search method isn't 4866 // specified. 4867 // "JOB_SEARCH" - The job search doesn't include support for featured 4868 // jobs. 4869 // "FEATURED_JOB_SEARCH" - The job search matches only against 4870 // featured jobs (jobs with a 4871 // promotionValue > 0). This method doesn't return any jobs having 4872 // a 4873 // promotionValue <= 0. The search results order is determined by 4874 // the 4875 // promotionValue (jobs with a higher promotionValue are returned higher 4876 // up in 4877 // the search results), with relevance being used as a tiebreaker. 4878 // "EMAIL_ALERT_SEARCH" - Deprecated. Please use the 4879 // SearchJobsForAlert API. 4880 // 4881 // The job search matches against jobs suited to email notifications. 4882 Mode string `json:"mode,omitempty"` 4883 4884 // RequestId: A unique id associated with this call. 4885 // This id is logged for tracking purposes. 4886 RequestId string `json:"requestId,omitempty"` 4887 4888 // ForceSendFields is a list of field names (e.g. "ExperimentIdList") to 4889 // unconditionally include in API requests. By default, fields with 4890 // empty values are omitted from API requests. However, any non-pointer, 4891 // non-interface field appearing in ForceSendFields will be sent to the 4892 // server regardless of whether the field is empty or not. This may be 4893 // used to include empty fields in Patch requests. 4894 ForceSendFields []string `json:"-"` 4895 4896 // NullFields is a list of field names (e.g. "ExperimentIdList") to 4897 // include in API requests with the JSON null value. By default, fields 4898 // with empty values are omitted from API requests. However, any field 4899 // with an empty value appearing in NullFields will be sent to the 4900 // server as null. It is an error if a field in this list has a 4901 // non-empty value. This may be used to include null fields in Patch 4902 // requests. 4903 NullFields []string `json:"-"` 4904} 4905 4906func (s *ResponseMetadata) MarshalJSON() ([]byte, error) { 4907 type NoMethod ResponseMetadata 4908 raw := NoMethod(*s) 4909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4910} 4911 4912// SearchJobsRequest: Input only. 4913// 4914// The Request body of the `SearchJobs` call. 4915type SearchJobsRequest struct { 4916 // DisableRelevanceThresholding: Optional. Controls whether to disable 4917 // relevance thresholding. Relevance 4918 // thresholding removes jobs that have low relevance in search 4919 // results, 4920 // for example, removing "Assistant to the CEO" positions from the 4921 // search 4922 // results of a search for "CEO". 4923 // 4924 // Disabling relevance thresholding improves the accuracy of 4925 // subsequent 4926 // search requests. 4927 // 4928 // Defaults to false. 4929 DisableRelevanceThresholding bool `json:"disableRelevanceThresholding,omitempty"` 4930 4931 // EnableBroadening: Optional. Controls whether to broaden the search 4932 // when it produces sparse results. 4933 // Broadened queries append results to the end of the matching 4934 // results 4935 // list. 4936 // 4937 // Defaults to false. 4938 EnableBroadening bool `json:"enableBroadening,omitempty"` 4939 4940 // EnablePreciseResultSize: Optional. Controls if the search job request 4941 // requires the return of a precise 4942 // count of the first 300 results. Setting this to `true` 4943 // ensures 4944 // consistency in the number of results per page. Best practice is to 4945 // set this 4946 // value to true if a client allows users to jump directly to 4947 // a 4948 // non-sequential search results page. 4949 // 4950 // Enabling this flag may adversely impact performance. 4951 // 4952 // Defaults to false. 4953 EnablePreciseResultSize bool `json:"enablePreciseResultSize,omitempty"` 4954 4955 // Filters: Deprecated. Use query instead. 4956 // 4957 // Optional. 4958 // 4959 // Restrictions on the scope of the search request, such as filtering 4960 // by location. 4961 Filters *JobFilters `json:"filters,omitempty"` 4962 4963 // HistogramFacets: Optional. Restrictions on what fields to perform 4964 // histogram on, such as 4965 // `COMPANY_SIZE` etc. 4966 HistogramFacets *HistogramFacets `json:"histogramFacets,omitempty"` 4967 4968 // JobView: Optional. The number of job attributes returned for jobs in 4969 // the 4970 // search response. Defaults to JobView.SMALL if no value is specified. 4971 // 4972 // Possible values: 4973 // "JOB_VIEW_UNSPECIFIED" - Default value. 4974 // "SMALL" - A small view of the job, with the following attributes in 4975 // the search 4976 // results: Job.name, Job.requisition_id, 4977 // Job.job_title, 4978 // Job.company_name, Job.job_locations, 4979 // Job.description, 4980 // Job.visibility. 4981 // Note: Job.description is deprecated. It is scheduled to be 4982 // removed 4983 // from MatchingJob.Job objects in the SearchJobsResponse results 4984 // on 12/31/2018. 4985 // "MINIMAL" - A minimal view of the job, with the following 4986 // attributes in the search 4987 // results: Job.name, Job.requisition_id, 4988 // Job.job_title, 4989 // Job.company_name, Job.job_locations. 4990 // "FULL" - All available attributes are included in the search 4991 // results. 4992 // Note: [Job.description, Job.responsibilities, 4993 // Job.qualifications and Job.incentives are deprecated. 4994 // These fields are scheduled to be removed from MatchingJob.Job 4995 // objects 4996 // in the SearchJobsResponse results on 12/31/2018. 4997 // See the alternative MatchingJob.search_text_snippet 4998 // and 4999 // MatchingJob.job_summary fields. 5000 JobView string `json:"jobView,omitempty"` 5001 5002 // Mode: Required. Mode of a search. 5003 // 5004 // Possible values: 5005 // "SEARCH_MODE_UNSPECIFIED" - The mode of the search method isn't 5006 // specified. 5007 // "JOB_SEARCH" - The job search doesn't include support for featured 5008 // jobs. 5009 // "FEATURED_JOB_SEARCH" - The job search matches only against 5010 // featured jobs (jobs with a 5011 // promotionValue > 0). This method doesn't return any jobs having 5012 // a 5013 // promotionValue <= 0. The search results order is determined by 5014 // the 5015 // promotionValue (jobs with a higher promotionValue are returned higher 5016 // up in 5017 // the search results), with relevance being used as a tiebreaker. 5018 // "EMAIL_ALERT_SEARCH" - Deprecated. Please use the 5019 // SearchJobsForAlert API. 5020 // 5021 // The job search matches against jobs suited to email notifications. 5022 Mode string `json:"mode,omitempty"` 5023 5024 // Offset: Optional. An integer that specifies the current offset (that 5025 // is, starting result 5026 // location, amongst the jobs deemed by the API as relevant) in 5027 // search 5028 // results. This field is only considered if page_token is unset. 5029 // 5030 // For example, 0 means to return results starting from the first 5031 // matching 5032 // job, and 10 means to return from the 11th job. This can be used 5033 // for 5034 // pagination, (for example, pageSize = 10 and offset = 10 means to 5035 // return 5036 // from the second page). 5037 Offset int64 `json:"offset,omitempty"` 5038 5039 // OrderBy: Deprecated. Use sort_by instead. 5040 // 5041 // Optional. 5042 // 5043 // The criteria determining how search results are sorted. 5044 // Defaults to SortBy.RELEVANCE_DESC if no value is specified. 5045 // 5046 // Possible values: 5047 // "SORT_BY_UNSPECIFIED" - Default value. 5048 // "RELEVANCE_DESC" - By descending relevance, as determined by the 5049 // API algorithms. 5050 // 5051 // Relevance thresholding of query results is only available for queries 5052 // if 5053 // RELEVANCE_DESC sort ordering is specified. 5054 // "PUBLISHED_DATE_DESC" - Sort by published date descending. 5055 // "UPDATED_DATE_DESC" - Sort by updated date descending. 5056 // "TITLE" - Sort by job title ascending. 5057 // "TITLE_DESC" - Sort by job title descending. 5058 // "ANNUALIZED_BASE_COMPENSATION" - Sort by job annualized base 5059 // compensation in ascending order. 5060 // If job's annualized base compensation is unspecified, they are put 5061 // at 5062 // the end of search result. 5063 // "ANNUALIZED_TOTAL_COMPENSATION" - Sort by job annualized total 5064 // compensation in ascending order. 5065 // If job's annualized total compensation is unspecified, they are put 5066 // at 5067 // the end of search result. 5068 // "ANNUALIZED_BASE_COMPENSATION_DESC" - Sort by job annualized base 5069 // compensation in descending order. 5070 // If job's annualized base compensation is unspecified, they are put 5071 // at 5072 // the end of search result. 5073 // "ANNUALIZED_TOTAL_COMPENSATION_DESC" - Sort by job annualized total 5074 // compensation in descending order. 5075 // If job's annualized total compensation is unspecified, they are put 5076 // at 5077 // the end of search result. 5078 OrderBy string `json:"orderBy,omitempty"` 5079 5080 // PageSize: Optional. A limit on the number of jobs returned in the 5081 // search results. 5082 // Increasing this value above the default value of 10 can increase 5083 // search 5084 // response time. The value can be between 1 and 100. 5085 PageSize int64 `json:"pageSize,omitempty"` 5086 5087 // PageToken: Optional. The token specifying the current offset 5088 // within 5089 // search results. See SearchJobsResponse.next_page_token for 5090 // an explanation of how to obtain the next set of query results. 5091 PageToken string `json:"pageToken,omitempty"` 5092 5093 // Query: Optional. Query used to search against jobs, such as keyword, 5094 // location filters, etc. 5095 Query *JobQuery `json:"query,omitempty"` 5096 5097 // RequestMetadata: Required. The meta information collected about the 5098 // job searcher, used to improve the 5099 // search quality of the service. The identifiers, (such as `user_id`) 5100 // are 5101 // provided by users, and must be unique and consistent. 5102 RequestMetadata *RequestMetadata `json:"requestMetadata,omitempty"` 5103 5104 // SortBy: Optional. The criteria determining how search results are 5105 // sorted. 5106 // Defaults to SortBy.RELEVANCE_DESC if no value is specified. 5107 // 5108 // Possible values: 5109 // "SORT_BY_UNSPECIFIED" - Default value. 5110 // "RELEVANCE_DESC" - By descending relevance, as determined by the 5111 // API algorithms. 5112 // 5113 // Relevance thresholding of query results is only available for queries 5114 // if 5115 // RELEVANCE_DESC sort ordering is specified. 5116 // "PUBLISHED_DATE_DESC" - Sort by published date descending. 5117 // "UPDATED_DATE_DESC" - Sort by updated date descending. 5118 // "TITLE" - Sort by job title ascending. 5119 // "TITLE_DESC" - Sort by job title descending. 5120 // "ANNUALIZED_BASE_COMPENSATION" - Sort by job annualized base 5121 // compensation in ascending order. 5122 // If job's annualized base compensation is unspecified, they are put 5123 // at 5124 // the end of search result. 5125 // "ANNUALIZED_TOTAL_COMPENSATION" - Sort by job annualized total 5126 // compensation in ascending order. 5127 // If job's annualized total compensation is unspecified, they are put 5128 // at 5129 // the end of search result. 5130 // "ANNUALIZED_BASE_COMPENSATION_DESC" - Sort by job annualized base 5131 // compensation in descending order. 5132 // If job's annualized base compensation is unspecified, they are put 5133 // at 5134 // the end of search result. 5135 // "ANNUALIZED_TOTAL_COMPENSATION_DESC" - Sort by job annualized total 5136 // compensation in descending order. 5137 // If job's annualized total compensation is unspecified, they are put 5138 // at 5139 // the end of search result. 5140 SortBy string `json:"sortBy,omitempty"` 5141 5142 // ForceSendFields is a list of field names (e.g. 5143 // "DisableRelevanceThresholding") to unconditionally include in API 5144 // requests. By default, fields with empty values are omitted from API 5145 // requests. However, any non-pointer, non-interface field appearing in 5146 // ForceSendFields will be sent to the server regardless of whether the 5147 // field is empty or not. This may be used to include empty fields in 5148 // Patch requests. 5149 ForceSendFields []string `json:"-"` 5150 5151 // NullFields is a list of field names (e.g. 5152 // "DisableRelevanceThresholding") to include in API requests with the 5153 // JSON null value. By default, fields with empty values are omitted 5154 // from API requests. However, any field with an empty value appearing 5155 // in NullFields will be sent to the server as null. It is an error if a 5156 // field in this list has a non-empty value. This may be used to include 5157 // null fields in Patch requests. 5158 NullFields []string `json:"-"` 5159} 5160 5161func (s *SearchJobsRequest) MarshalJSON() ([]byte, error) { 5162 type NoMethod SearchJobsRequest 5163 raw := NoMethod(*s) 5164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5165} 5166 5167// SearchJobsResponse: Output only. 5168// 5169// Response for SearchJob method. 5170type SearchJobsResponse struct { 5171 // AppliedCommuteFilter: The commute filter the service applied to the 5172 // specified query. This 5173 // information is only available when query has a valid 5174 // CommutePreference. 5175 AppliedCommuteFilter *CommutePreference `json:"appliedCommuteFilter,omitempty"` 5176 5177 // AppliedJobLocationFilters: The location filters that the service 5178 // applied to the specified query. If 5179 // any filters are lat-lng based, the JobLocation.location_type 5180 // is 5181 // JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED. 5182 AppliedJobLocationFilters []*JobLocation `json:"appliedJobLocationFilters,omitempty"` 5183 5184 // EstimatedTotalSize: An estimation of the number of jobs that match 5185 // the specified query. 5186 // 5187 // This number is not guaranteed to be accurate. For accurate 5188 // results, 5189 // seenenable_precise_result_size. 5190 EstimatedTotalSize int64 `json:"estimatedTotalSize,omitempty,string"` 5191 5192 // HistogramResults: The histogram results that match 5193 // specified 5194 // SearchJobsRequest.HistogramFacets. 5195 HistogramResults *HistogramResults `json:"histogramResults,omitempty"` 5196 5197 // JobView: Corresponds to SearchJobsRequest.job_view. 5198 // 5199 // Possible values: 5200 // "JOB_VIEW_UNSPECIFIED" - Default value. 5201 // "SMALL" - A small view of the job, with the following attributes in 5202 // the search 5203 // results: Job.name, Job.requisition_id, 5204 // Job.job_title, 5205 // Job.company_name, Job.job_locations, 5206 // Job.description, 5207 // Job.visibility. 5208 // Note: Job.description is deprecated. It is scheduled to be 5209 // removed 5210 // from MatchingJob.Job objects in the SearchJobsResponse results 5211 // on 12/31/2018. 5212 // "MINIMAL" - A minimal view of the job, with the following 5213 // attributes in the search 5214 // results: Job.name, Job.requisition_id, 5215 // Job.job_title, 5216 // Job.company_name, Job.job_locations. 5217 // "FULL" - All available attributes are included in the search 5218 // results. 5219 // Note: [Job.description, Job.responsibilities, 5220 // Job.qualifications and Job.incentives are deprecated. 5221 // These fields are scheduled to be removed from MatchingJob.Job 5222 // objects 5223 // in the SearchJobsResponse results on 12/31/2018. 5224 // See the alternative MatchingJob.search_text_snippet 5225 // and 5226 // MatchingJob.job_summary fields. 5227 JobView string `json:"jobView,omitempty"` 5228 5229 // MatchingJobs: The Job entities that match the specified 5230 // SearchJobsRequest. 5231 MatchingJobs []*MatchingJob `json:"matchingJobs,omitempty"` 5232 5233 // Metadata: Additional information for the API invocation, such as the 5234 // request 5235 // tracking id. 5236 Metadata *ResponseMetadata `json:"metadata,omitempty"` 5237 5238 // NextPageToken: The token that specifies the starting position of the 5239 // next page of results. 5240 // This field is empty if there are no more results. 5241 NextPageToken string `json:"nextPageToken,omitempty"` 5242 5243 // NumJobsFromBroadenedQuery: If query broadening is enabled, we may 5244 // append additional results from the 5245 // broadened query. This number indicates how many of the jobs returned 5246 // in the 5247 // jobs field are from the broadened query. These results are always at 5248 // the 5249 // end of the jobs list. In particular, a value of 0 means all the jobs 5250 // in the 5251 // jobs list are from the original (without broadening) query. If 5252 // this 5253 // field is non-zero, subsequent requests with offset after this result 5254 // set 5255 // should contain all broadened results. 5256 NumJobsFromBroadenedQuery int64 `json:"numJobsFromBroadenedQuery,omitempty"` 5257 5258 // SpellResult: The spell checking result, and correction. 5259 SpellResult *SpellingCorrection `json:"spellResult,omitempty"` 5260 5261 // TotalSize: The precise result count, which is available only if the 5262 // client set 5263 // enable_precise_result_size to `true` or if the response 5264 // is the last page of results. Otherwise, the value will be `-1`. 5265 TotalSize int64 `json:"totalSize,omitempty,string"` 5266 5267 // ServerResponse contains the HTTP response code and headers from the 5268 // server. 5269 googleapi.ServerResponse `json:"-"` 5270 5271 // ForceSendFields is a list of field names (e.g. 5272 // "AppliedCommuteFilter") to unconditionally include in API requests. 5273 // By default, fields with empty values are omitted from API requests. 5274 // However, any non-pointer, non-interface field appearing in 5275 // ForceSendFields will be sent to the server regardless of whether the 5276 // field is empty or not. This may be used to include empty fields in 5277 // Patch requests. 5278 ForceSendFields []string `json:"-"` 5279 5280 // NullFields is a list of field names (e.g. "AppliedCommuteFilter") to 5281 // include in API requests with the JSON null value. By default, fields 5282 // with empty values are omitted from API requests. However, any field 5283 // with an empty value appearing in NullFields will be sent to the 5284 // server as null. It is an error if a field in this list has a 5285 // non-empty value. This may be used to include null fields in Patch 5286 // requests. 5287 NullFields []string `json:"-"` 5288} 5289 5290func (s *SearchJobsResponse) MarshalJSON() ([]byte, error) { 5291 type NoMethod SearchJobsResponse 5292 raw := NoMethod(*s) 5293 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5294} 5295 5296// SpellingCorrection: Output only. 5297// 5298// Spell check result. 5299type SpellingCorrection struct { 5300 // Corrected: Indicates if the query was corrected by the spell checker. 5301 Corrected bool `json:"corrected,omitempty"` 5302 5303 // CorrectedText: Correction output consisting of the corrected keyword 5304 // string. 5305 CorrectedText string `json:"correctedText,omitempty"` 5306 5307 // ForceSendFields is a list of field names (e.g. "Corrected") to 5308 // unconditionally include in API requests. By default, fields with 5309 // empty values are omitted from API requests. However, any non-pointer, 5310 // non-interface field appearing in ForceSendFields will be sent to the 5311 // server regardless of whether the field is empty or not. This may be 5312 // used to include empty fields in Patch requests. 5313 ForceSendFields []string `json:"-"` 5314 5315 // NullFields is a list of field names (e.g. "Corrected") to include in 5316 // API requests with the JSON null value. By default, fields with empty 5317 // values are omitted from API requests. However, any field with an 5318 // empty value appearing in NullFields will be sent to the server as 5319 // null. It is an error if a field in this list has a non-empty value. 5320 // This may be used to include null fields in Patch requests. 5321 NullFields []string `json:"-"` 5322} 5323 5324func (s *SpellingCorrection) MarshalJSON() ([]byte, error) { 5325 type NoMethod SpellingCorrection 5326 raw := NoMethod(*s) 5327 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5328} 5329 5330// StringValues: Represents array of string values. 5331type StringValues struct { 5332 // Values: Required. String values. 5333 Values []string `json:"values,omitempty"` 5334 5335 // ForceSendFields is a list of field names (e.g. "Values") to 5336 // unconditionally include in API requests. By default, fields with 5337 // empty values are omitted from API requests. However, any non-pointer, 5338 // non-interface field appearing in ForceSendFields will be sent to the 5339 // server regardless of whether the field is empty or not. This may be 5340 // used to include empty fields in Patch requests. 5341 ForceSendFields []string `json:"-"` 5342 5343 // NullFields is a list of field names (e.g. "Values") to include in API 5344 // requests with the JSON null value. By default, fields with empty 5345 // values are omitted from API requests. However, any field with an 5346 // empty value appearing in NullFields will be sent to the server as 5347 // null. It is an error if a field in this list has a non-empty value. 5348 // This may be used to include null fields in Patch requests. 5349 NullFields []string `json:"-"` 5350} 5351 5352func (s *StringValues) MarshalJSON() ([]byte, error) { 5353 type NoMethod StringValues 5354 raw := NoMethod(*s) 5355 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5356} 5357 5358// UpdateJobRequest: Input only. 5359// 5360// Update job request. 5361type UpdateJobRequest struct { 5362 // DisableStreetAddressResolution: Deprecated. Please use 5363 // processing_options. This flag is ignored if 5364 // processing_options is set. 5365 // 5366 // Optional. 5367 // 5368 // If set to `true`, the service does not attempt resolve a more 5369 // precise 5370 // address for the job. 5371 DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"` 5372 5373 // Job: Required. The Job to be updated. 5374 Job *Job `json:"job,omitempty"` 5375 5376 // ProcessingOptions: Optional. Options for job 5377 // processing. 5378 // 5379 // UpdateJobRequest.disable_street_address_resolution is ignored if 5380 // this 5381 // flag is set. 5382 ProcessingOptions *JobProcessingOptions `json:"processingOptions,omitempty"` 5383 5384 // UpdateJobFields: Optional but strongly recommended to be provided for 5385 // the best service 5386 // experience. 5387 // 5388 // If update_job_fields is provided, only the specified fields in 5389 // job are updated. Otherwise all the fields are updated. 5390 // 5391 // A field mask to restrict the fields that are updated. Valid values 5392 // are: 5393 // 5394 // * jobTitle 5395 // * employmentTypes 5396 // * description 5397 // * applicationUrls 5398 // * applicationEmailList 5399 // * applicationInstruction 5400 // * responsibilities 5401 // * qualifications 5402 // * educationLevels 5403 // * level 5404 // * department 5405 // * startDate 5406 // * endDate 5407 // * compensationInfo 5408 // * incentives 5409 // * languageCode 5410 // * benefits 5411 // * expireTime 5412 // * customAttributes 5413 // * visibility 5414 // * publishDate 5415 // * promotionValue 5416 // * locations 5417 // * region 5418 // * expiryDate (deprecated) 5419 // * filterableCustomFields (deprecated) 5420 // * unindexedCustomFields (deprecated) 5421 UpdateJobFields string `json:"updateJobFields,omitempty"` 5422 5423 // ForceSendFields is a list of field names (e.g. 5424 // "DisableStreetAddressResolution") to unconditionally include in API 5425 // requests. By default, fields with empty values are omitted from API 5426 // requests. However, any non-pointer, non-interface field appearing in 5427 // ForceSendFields will be sent to the server regardless of whether the 5428 // field is empty or not. This may be used to include empty fields in 5429 // Patch requests. 5430 ForceSendFields []string `json:"-"` 5431 5432 // NullFields is a list of field names (e.g. 5433 // "DisableStreetAddressResolution") to include in API requests with the 5434 // JSON null value. By default, fields with empty values are omitted 5435 // from API requests. However, any field with an empty value appearing 5436 // in NullFields will be sent to the server as null. It is an error if a 5437 // field in this list has a non-empty value. This may be used to include 5438 // null fields in Patch requests. 5439 NullFields []string `json:"-"` 5440} 5441 5442func (s *UpdateJobRequest) MarshalJSON() ([]byte, error) { 5443 type NoMethod UpdateJobRequest 5444 raw := NoMethod(*s) 5445 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5446} 5447 5448// method id "jobs.companies.create": 5449 5450type CompaniesCreateCall struct { 5451 s *Service 5452 company *Company 5453 urlParams_ gensupport.URLParams 5454 ctx_ context.Context 5455 header_ http.Header 5456} 5457 5458// Create: Creates a new company entity. 5459func (r *CompaniesService) Create(company *Company) *CompaniesCreateCall { 5460 c := &CompaniesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5461 c.company = company 5462 return c 5463} 5464 5465// Fields allows partial responses to be retrieved. See 5466// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5467// for more information. 5468func (c *CompaniesCreateCall) Fields(s ...googleapi.Field) *CompaniesCreateCall { 5469 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5470 return c 5471} 5472 5473// Context sets the context to be used in this call's Do method. Any 5474// pending HTTP request will be aborted if the provided context is 5475// canceled. 5476func (c *CompaniesCreateCall) Context(ctx context.Context) *CompaniesCreateCall { 5477 c.ctx_ = ctx 5478 return c 5479} 5480 5481// Header returns an http.Header that can be modified by the caller to 5482// add HTTP headers to the request. 5483func (c *CompaniesCreateCall) Header() http.Header { 5484 if c.header_ == nil { 5485 c.header_ = make(http.Header) 5486 } 5487 return c.header_ 5488} 5489 5490func (c *CompaniesCreateCall) doRequest(alt string) (*http.Response, error) { 5491 reqHeaders := make(http.Header) 5492 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 5493 for k, v := range c.header_ { 5494 reqHeaders[k] = v 5495 } 5496 reqHeaders.Set("User-Agent", c.s.userAgent()) 5497 var body io.Reader = nil 5498 body, err := googleapi.WithoutDataWrapper.JSONReader(c.company) 5499 if err != nil { 5500 return nil, err 5501 } 5502 reqHeaders.Set("Content-Type", "application/json") 5503 c.urlParams_.Set("alt", alt) 5504 c.urlParams_.Set("prettyPrint", "false") 5505 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/companies") 5506 urls += "?" + c.urlParams_.Encode() 5507 req, err := http.NewRequest("POST", urls, body) 5508 if err != nil { 5509 return nil, err 5510 } 5511 req.Header = reqHeaders 5512 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5513} 5514 5515// Do executes the "jobs.companies.create" call. 5516// Exactly one of *Company or error will be non-nil. Any non-2xx status 5517// code is an error. Response headers are in either 5518// *Company.ServerResponse.Header or (if a response was returned at all) 5519// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5520// check whether the returned error was because http.StatusNotModified 5521// was returned. 5522func (c *CompaniesCreateCall) Do(opts ...googleapi.CallOption) (*Company, error) { 5523 gensupport.SetOptions(c.urlParams_, opts...) 5524 res, err := c.doRequest("json") 5525 if res != nil && res.StatusCode == http.StatusNotModified { 5526 if res.Body != nil { 5527 res.Body.Close() 5528 } 5529 return nil, &googleapi.Error{ 5530 Code: res.StatusCode, 5531 Header: res.Header, 5532 } 5533 } 5534 if err != nil { 5535 return nil, err 5536 } 5537 defer googleapi.CloseBody(res) 5538 if err := googleapi.CheckResponse(res); err != nil { 5539 return nil, err 5540 } 5541 ret := &Company{ 5542 ServerResponse: googleapi.ServerResponse{ 5543 Header: res.Header, 5544 HTTPStatusCode: res.StatusCode, 5545 }, 5546 } 5547 target := &ret 5548 if err := gensupport.DecodeResponse(target, res); err != nil { 5549 return nil, err 5550 } 5551 return ret, nil 5552 // { 5553 // "description": "Creates a new company entity.", 5554 // "flatPath": "v2/companies", 5555 // "httpMethod": "POST", 5556 // "id": "jobs.companies.create", 5557 // "parameterOrder": [], 5558 // "parameters": {}, 5559 // "path": "v2/companies", 5560 // "request": { 5561 // "$ref": "Company" 5562 // }, 5563 // "response": { 5564 // "$ref": "Company" 5565 // }, 5566 // "scopes": [ 5567 // "https://www.googleapis.com/auth/cloud-platform", 5568 // "https://www.googleapis.com/auth/jobs" 5569 // ] 5570 // } 5571 5572} 5573 5574// method id "jobs.companies.delete": 5575 5576type CompaniesDeleteCall struct { 5577 s *Service 5578 name string 5579 urlParams_ gensupport.URLParams 5580 ctx_ context.Context 5581 header_ http.Header 5582} 5583 5584// Delete: Deletes the specified company. 5585func (r *CompaniesService) Delete(name string) *CompaniesDeleteCall { 5586 c := &CompaniesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5587 c.name = name 5588 return c 5589} 5590 5591// Fields allows partial responses to be retrieved. See 5592// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5593// for more information. 5594func (c *CompaniesDeleteCall) Fields(s ...googleapi.Field) *CompaniesDeleteCall { 5595 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5596 return c 5597} 5598 5599// Context sets the context to be used in this call's Do method. Any 5600// pending HTTP request will be aborted if the provided context is 5601// canceled. 5602func (c *CompaniesDeleteCall) Context(ctx context.Context) *CompaniesDeleteCall { 5603 c.ctx_ = ctx 5604 return c 5605} 5606 5607// Header returns an http.Header that can be modified by the caller to 5608// add HTTP headers to the request. 5609func (c *CompaniesDeleteCall) Header() http.Header { 5610 if c.header_ == nil { 5611 c.header_ = make(http.Header) 5612 } 5613 return c.header_ 5614} 5615 5616func (c *CompaniesDeleteCall) doRequest(alt string) (*http.Response, error) { 5617 reqHeaders := make(http.Header) 5618 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 5619 for k, v := range c.header_ { 5620 reqHeaders[k] = v 5621 } 5622 reqHeaders.Set("User-Agent", c.s.userAgent()) 5623 var body io.Reader = nil 5624 c.urlParams_.Set("alt", alt) 5625 c.urlParams_.Set("prettyPrint", "false") 5626 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 5627 urls += "?" + c.urlParams_.Encode() 5628 req, err := http.NewRequest("DELETE", urls, body) 5629 if err != nil { 5630 return nil, err 5631 } 5632 req.Header = reqHeaders 5633 googleapi.Expand(req.URL, map[string]string{ 5634 "name": c.name, 5635 }) 5636 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5637} 5638 5639// Do executes the "jobs.companies.delete" call. 5640// Exactly one of *Empty or error will be non-nil. Any non-2xx status 5641// code is an error. Response headers are in either 5642// *Empty.ServerResponse.Header or (if a response was returned at all) 5643// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5644// check whether the returned error was because http.StatusNotModified 5645// was returned. 5646func (c *CompaniesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 5647 gensupport.SetOptions(c.urlParams_, opts...) 5648 res, err := c.doRequest("json") 5649 if res != nil && res.StatusCode == http.StatusNotModified { 5650 if res.Body != nil { 5651 res.Body.Close() 5652 } 5653 return nil, &googleapi.Error{ 5654 Code: res.StatusCode, 5655 Header: res.Header, 5656 } 5657 } 5658 if err != nil { 5659 return nil, err 5660 } 5661 defer googleapi.CloseBody(res) 5662 if err := googleapi.CheckResponse(res); err != nil { 5663 return nil, err 5664 } 5665 ret := &Empty{ 5666 ServerResponse: googleapi.ServerResponse{ 5667 Header: res.Header, 5668 HTTPStatusCode: res.StatusCode, 5669 }, 5670 } 5671 target := &ret 5672 if err := gensupport.DecodeResponse(target, res); err != nil { 5673 return nil, err 5674 } 5675 return ret, nil 5676 // { 5677 // "description": "Deletes the specified company.", 5678 // "flatPath": "v2/companies/{companiesId}", 5679 // "httpMethod": "DELETE", 5680 // "id": "jobs.companies.delete", 5681 // "parameterOrder": [ 5682 // "name" 5683 // ], 5684 // "parameters": { 5685 // "name": { 5686 // "description": "Required. The resource name of the company to be deleted,\nsuch as, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", 5687 // "location": "path", 5688 // "pattern": "^companies/[^/]+$", 5689 // "required": true, 5690 // "type": "string" 5691 // } 5692 // }, 5693 // "path": "v2/{+name}", 5694 // "response": { 5695 // "$ref": "Empty" 5696 // }, 5697 // "scopes": [ 5698 // "https://www.googleapis.com/auth/cloud-platform", 5699 // "https://www.googleapis.com/auth/jobs" 5700 // ] 5701 // } 5702 5703} 5704 5705// method id "jobs.companies.get": 5706 5707type CompaniesGetCall struct { 5708 s *Service 5709 name string 5710 urlParams_ gensupport.URLParams 5711 ifNoneMatch_ string 5712 ctx_ context.Context 5713 header_ http.Header 5714} 5715 5716// Get: Retrieves the specified company. 5717func (r *CompaniesService) Get(name string) *CompaniesGetCall { 5718 c := &CompaniesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5719 c.name = name 5720 return c 5721} 5722 5723// Fields allows partial responses to be retrieved. See 5724// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5725// for more information. 5726func (c *CompaniesGetCall) Fields(s ...googleapi.Field) *CompaniesGetCall { 5727 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5728 return c 5729} 5730 5731// IfNoneMatch sets the optional parameter which makes the operation 5732// fail if the object's ETag matches the given value. This is useful for 5733// getting updates only after the object has changed since the last 5734// request. Use googleapi.IsNotModified to check whether the response 5735// error from Do is the result of In-None-Match. 5736func (c *CompaniesGetCall) IfNoneMatch(entityTag string) *CompaniesGetCall { 5737 c.ifNoneMatch_ = entityTag 5738 return c 5739} 5740 5741// Context sets the context to be used in this call's Do method. Any 5742// pending HTTP request will be aborted if the provided context is 5743// canceled. 5744func (c *CompaniesGetCall) Context(ctx context.Context) *CompaniesGetCall { 5745 c.ctx_ = ctx 5746 return c 5747} 5748 5749// Header returns an http.Header that can be modified by the caller to 5750// add HTTP headers to the request. 5751func (c *CompaniesGetCall) Header() http.Header { 5752 if c.header_ == nil { 5753 c.header_ = make(http.Header) 5754 } 5755 return c.header_ 5756} 5757 5758func (c *CompaniesGetCall) doRequest(alt string) (*http.Response, error) { 5759 reqHeaders := make(http.Header) 5760 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 5761 for k, v := range c.header_ { 5762 reqHeaders[k] = v 5763 } 5764 reqHeaders.Set("User-Agent", c.s.userAgent()) 5765 if c.ifNoneMatch_ != "" { 5766 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5767 } 5768 var body io.Reader = nil 5769 c.urlParams_.Set("alt", alt) 5770 c.urlParams_.Set("prettyPrint", "false") 5771 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 5772 urls += "?" + c.urlParams_.Encode() 5773 req, err := http.NewRequest("GET", urls, body) 5774 if err != nil { 5775 return nil, err 5776 } 5777 req.Header = reqHeaders 5778 googleapi.Expand(req.URL, map[string]string{ 5779 "name": c.name, 5780 }) 5781 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5782} 5783 5784// Do executes the "jobs.companies.get" call. 5785// Exactly one of *Company or error will be non-nil. Any non-2xx status 5786// code is an error. Response headers are in either 5787// *Company.ServerResponse.Header or (if a response was returned at all) 5788// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 5789// check whether the returned error was because http.StatusNotModified 5790// was returned. 5791func (c *CompaniesGetCall) Do(opts ...googleapi.CallOption) (*Company, error) { 5792 gensupport.SetOptions(c.urlParams_, opts...) 5793 res, err := c.doRequest("json") 5794 if res != nil && res.StatusCode == http.StatusNotModified { 5795 if res.Body != nil { 5796 res.Body.Close() 5797 } 5798 return nil, &googleapi.Error{ 5799 Code: res.StatusCode, 5800 Header: res.Header, 5801 } 5802 } 5803 if err != nil { 5804 return nil, err 5805 } 5806 defer googleapi.CloseBody(res) 5807 if err := googleapi.CheckResponse(res); err != nil { 5808 return nil, err 5809 } 5810 ret := &Company{ 5811 ServerResponse: googleapi.ServerResponse{ 5812 Header: res.Header, 5813 HTTPStatusCode: res.StatusCode, 5814 }, 5815 } 5816 target := &ret 5817 if err := gensupport.DecodeResponse(target, res); err != nil { 5818 return nil, err 5819 } 5820 return ret, nil 5821 // { 5822 // "description": "Retrieves the specified company.", 5823 // "flatPath": "v2/companies/{companiesId}", 5824 // "httpMethod": "GET", 5825 // "id": "jobs.companies.get", 5826 // "parameterOrder": [ 5827 // "name" 5828 // ], 5829 // "parameters": { 5830 // "name": { 5831 // "description": "Required. Resource name of the company to retrieve,\nsuch as \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", 5832 // "location": "path", 5833 // "pattern": "^companies/[^/]+$", 5834 // "required": true, 5835 // "type": "string" 5836 // } 5837 // }, 5838 // "path": "v2/{+name}", 5839 // "response": { 5840 // "$ref": "Company" 5841 // }, 5842 // "scopes": [ 5843 // "https://www.googleapis.com/auth/cloud-platform", 5844 // "https://www.googleapis.com/auth/jobs" 5845 // ] 5846 // } 5847 5848} 5849 5850// method id "jobs.companies.list": 5851 5852type CompaniesListCall struct { 5853 s *Service 5854 urlParams_ gensupport.URLParams 5855 ifNoneMatch_ string 5856 ctx_ context.Context 5857 header_ http.Header 5858} 5859 5860// List: Lists all companies associated with a Cloud Talent Solution 5861// account. 5862func (r *CompaniesService) List() *CompaniesListCall { 5863 c := &CompaniesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 5864 return c 5865} 5866 5867// MustHaveOpenJobs sets the optional parameter "mustHaveOpenJobs": Set 5868// to true if the companies request must have open jobs. 5869// 5870// Defaults to false. 5871// 5872// If true, at most page_size of companies are fetched, among which 5873// only those with open jobs are returned. 5874func (c *CompaniesListCall) MustHaveOpenJobs(mustHaveOpenJobs bool) *CompaniesListCall { 5875 c.urlParams_.Set("mustHaveOpenJobs", fmt.Sprint(mustHaveOpenJobs)) 5876 return c 5877} 5878 5879// PageSize sets the optional parameter "pageSize": The maximum number 5880// of companies to be returned, at most 100. 5881// Default is 100 if a non-positive number is provided. 5882func (c *CompaniesListCall) PageSize(pageSize int64) *CompaniesListCall { 5883 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 5884 return c 5885} 5886 5887// PageToken sets the optional parameter "pageToken": The starting 5888// indicator from which to return results. 5889func (c *CompaniesListCall) PageToken(pageToken string) *CompaniesListCall { 5890 c.urlParams_.Set("pageToken", pageToken) 5891 return c 5892} 5893 5894// Fields allows partial responses to be retrieved. See 5895// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 5896// for more information. 5897func (c *CompaniesListCall) Fields(s ...googleapi.Field) *CompaniesListCall { 5898 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 5899 return c 5900} 5901 5902// IfNoneMatch sets the optional parameter which makes the operation 5903// fail if the object's ETag matches the given value. This is useful for 5904// getting updates only after the object has changed since the last 5905// request. Use googleapi.IsNotModified to check whether the response 5906// error from Do is the result of In-None-Match. 5907func (c *CompaniesListCall) IfNoneMatch(entityTag string) *CompaniesListCall { 5908 c.ifNoneMatch_ = entityTag 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 *CompaniesListCall) Context(ctx context.Context) *CompaniesListCall { 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 *CompaniesListCall) Header() http.Header { 5923 if c.header_ == nil { 5924 c.header_ = make(http.Header) 5925 } 5926 return c.header_ 5927} 5928 5929func (c *CompaniesListCall) doRequest(alt string) (*http.Response, error) { 5930 reqHeaders := make(http.Header) 5931 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 5932 for k, v := range c.header_ { 5933 reqHeaders[k] = v 5934 } 5935 reqHeaders.Set("User-Agent", c.s.userAgent()) 5936 if c.ifNoneMatch_ != "" { 5937 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 5938 } 5939 var body io.Reader = nil 5940 c.urlParams_.Set("alt", alt) 5941 c.urlParams_.Set("prettyPrint", "false") 5942 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/companies") 5943 urls += "?" + c.urlParams_.Encode() 5944 req, err := http.NewRequest("GET", urls, body) 5945 if err != nil { 5946 return nil, err 5947 } 5948 req.Header = reqHeaders 5949 return gensupport.SendRequest(c.ctx_, c.s.client, req) 5950} 5951 5952// Do executes the "jobs.companies.list" call. 5953// Exactly one of *ListCompaniesResponse or error will be non-nil. Any 5954// non-2xx status code is an error. Response headers are in either 5955// *ListCompaniesResponse.ServerResponse.Header or (if a response was 5956// returned at all) in error.(*googleapi.Error).Header. Use 5957// googleapi.IsNotModified to check whether the returned error was 5958// because http.StatusNotModified was returned. 5959func (c *CompaniesListCall) Do(opts ...googleapi.CallOption) (*ListCompaniesResponse, error) { 5960 gensupport.SetOptions(c.urlParams_, opts...) 5961 res, err := c.doRequest("json") 5962 if res != nil && res.StatusCode == http.StatusNotModified { 5963 if res.Body != nil { 5964 res.Body.Close() 5965 } 5966 return nil, &googleapi.Error{ 5967 Code: res.StatusCode, 5968 Header: res.Header, 5969 } 5970 } 5971 if err != nil { 5972 return nil, err 5973 } 5974 defer googleapi.CloseBody(res) 5975 if err := googleapi.CheckResponse(res); err != nil { 5976 return nil, err 5977 } 5978 ret := &ListCompaniesResponse{ 5979 ServerResponse: googleapi.ServerResponse{ 5980 Header: res.Header, 5981 HTTPStatusCode: res.StatusCode, 5982 }, 5983 } 5984 target := &ret 5985 if err := gensupport.DecodeResponse(target, res); err != nil { 5986 return nil, err 5987 } 5988 return ret, nil 5989 // { 5990 // "description": "Lists all companies associated with a Cloud Talent Solution account.", 5991 // "flatPath": "v2/companies", 5992 // "httpMethod": "GET", 5993 // "id": "jobs.companies.list", 5994 // "parameterOrder": [], 5995 // "parameters": { 5996 // "mustHaveOpenJobs": { 5997 // "description": "Optional. Set to true if the companies request must have open jobs.\n\nDefaults to false.\n\nIf true, at most page_size of companies are fetched, among which\nonly those with open jobs are returned.", 5998 // "location": "query", 5999 // "type": "boolean" 6000 // }, 6001 // "pageSize": { 6002 // "description": "Optional. The maximum number of companies to be returned, at most 100.\nDefault is 100 if a non-positive number is provided.", 6003 // "format": "int32", 6004 // "location": "query", 6005 // "type": "integer" 6006 // }, 6007 // "pageToken": { 6008 // "description": "Optional. The starting indicator from which to return results.", 6009 // "location": "query", 6010 // "type": "string" 6011 // } 6012 // }, 6013 // "path": "v2/companies", 6014 // "response": { 6015 // "$ref": "ListCompaniesResponse" 6016 // }, 6017 // "scopes": [ 6018 // "https://www.googleapis.com/auth/cloud-platform", 6019 // "https://www.googleapis.com/auth/jobs" 6020 // ] 6021 // } 6022 6023} 6024 6025// Pages invokes f for each page of results. 6026// A non-nil error returned from f will halt the iteration. 6027// The provided context supersedes any context provided to the Context method. 6028func (c *CompaniesListCall) Pages(ctx context.Context, f func(*ListCompaniesResponse) error) error { 6029 c.ctx_ = ctx 6030 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 6031 for { 6032 x, err := c.Do() 6033 if err != nil { 6034 return err 6035 } 6036 if err := f(x); err != nil { 6037 return err 6038 } 6039 if x.NextPageToken == "" { 6040 return nil 6041 } 6042 c.PageToken(x.NextPageToken) 6043 } 6044} 6045 6046// method id "jobs.companies.patch": 6047 6048type CompaniesPatchCall struct { 6049 s *Service 6050 name string 6051 company *Company 6052 urlParams_ gensupport.URLParams 6053 ctx_ context.Context 6054 header_ http.Header 6055} 6056 6057// Patch: Updates the specified company. Company names can't be updated. 6058// To update a 6059// company name, delete the company and all jobs associated with it, and 6060// only 6061// then re-create them. 6062func (r *CompaniesService) Patch(name string, company *Company) *CompaniesPatchCall { 6063 c := &CompaniesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6064 c.name = name 6065 c.company = company 6066 return c 6067} 6068 6069// UpdateCompanyFields sets the optional parameter 6070// "updateCompanyFields": Optional but strongly recommended to be 6071// provided for the best service 6072// experience. 6073// 6074// If update_company_fields is provided, only the specified fields 6075// in 6076// company are updated. Otherwise all the fields are updated. 6077// 6078// A field mask to specify the company fields to update. Valid values 6079// are: 6080// 6081// * displayName 6082// * website 6083// * imageUrl 6084// * companySize 6085// * distributorBillingCompanyId 6086// * companyInfoSources 6087// * careerPageLink 6088// * hiringAgency 6089// * hqLocation 6090// * eeoText 6091// * keywordSearchableCustomAttributes 6092// * title (deprecated) 6093// * keywordSearchableCustomFields (deprecated) 6094func (c *CompaniesPatchCall) UpdateCompanyFields(updateCompanyFields string) *CompaniesPatchCall { 6095 c.urlParams_.Set("updateCompanyFields", updateCompanyFields) 6096 return c 6097} 6098 6099// Fields allows partial responses to be retrieved. See 6100// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6101// for more information. 6102func (c *CompaniesPatchCall) Fields(s ...googleapi.Field) *CompaniesPatchCall { 6103 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6104 return c 6105} 6106 6107// Context sets the context to be used in this call's Do method. Any 6108// pending HTTP request will be aborted if the provided context is 6109// canceled. 6110func (c *CompaniesPatchCall) Context(ctx context.Context) *CompaniesPatchCall { 6111 c.ctx_ = ctx 6112 return c 6113} 6114 6115// Header returns an http.Header that can be modified by the caller to 6116// add HTTP headers to the request. 6117func (c *CompaniesPatchCall) Header() http.Header { 6118 if c.header_ == nil { 6119 c.header_ = make(http.Header) 6120 } 6121 return c.header_ 6122} 6123 6124func (c *CompaniesPatchCall) doRequest(alt string) (*http.Response, error) { 6125 reqHeaders := make(http.Header) 6126 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6127 for k, v := range c.header_ { 6128 reqHeaders[k] = v 6129 } 6130 reqHeaders.Set("User-Agent", c.s.userAgent()) 6131 var body io.Reader = nil 6132 body, err := googleapi.WithoutDataWrapper.JSONReader(c.company) 6133 if err != nil { 6134 return nil, err 6135 } 6136 reqHeaders.Set("Content-Type", "application/json") 6137 c.urlParams_.Set("alt", alt) 6138 c.urlParams_.Set("prettyPrint", "false") 6139 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 6140 urls += "?" + c.urlParams_.Encode() 6141 req, err := http.NewRequest("PATCH", urls, body) 6142 if err != nil { 6143 return nil, err 6144 } 6145 req.Header = reqHeaders 6146 googleapi.Expand(req.URL, map[string]string{ 6147 "name": c.name, 6148 }) 6149 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6150} 6151 6152// Do executes the "jobs.companies.patch" call. 6153// Exactly one of *Company or error will be non-nil. Any non-2xx status 6154// code is an error. Response headers are in either 6155// *Company.ServerResponse.Header or (if a response was returned at all) 6156// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6157// check whether the returned error was because http.StatusNotModified 6158// was returned. 6159func (c *CompaniesPatchCall) Do(opts ...googleapi.CallOption) (*Company, error) { 6160 gensupport.SetOptions(c.urlParams_, opts...) 6161 res, err := c.doRequest("json") 6162 if res != nil && res.StatusCode == http.StatusNotModified { 6163 if res.Body != nil { 6164 res.Body.Close() 6165 } 6166 return nil, &googleapi.Error{ 6167 Code: res.StatusCode, 6168 Header: res.Header, 6169 } 6170 } 6171 if err != nil { 6172 return nil, err 6173 } 6174 defer googleapi.CloseBody(res) 6175 if err := googleapi.CheckResponse(res); err != nil { 6176 return nil, err 6177 } 6178 ret := &Company{ 6179 ServerResponse: googleapi.ServerResponse{ 6180 Header: res.Header, 6181 HTTPStatusCode: res.StatusCode, 6182 }, 6183 } 6184 target := &ret 6185 if err := gensupport.DecodeResponse(target, res); err != nil { 6186 return nil, err 6187 } 6188 return ret, nil 6189 // { 6190 // "description": "Updates the specified company. Company names can't be updated. To update a\ncompany name, delete the company and all jobs associated with it, and only\nthen re-create them.", 6191 // "flatPath": "v2/companies/{companiesId}", 6192 // "httpMethod": "PATCH", 6193 // "id": "jobs.companies.patch", 6194 // "parameterOrder": [ 6195 // "name" 6196 // ], 6197 // "parameters": { 6198 // "name": { 6199 // "description": "Required during company update.\n\nThe resource name for a company. This is generated by the service when a\ncompany is created, for example,\n\"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", 6200 // "location": "path", 6201 // "pattern": "^companies/[^/]+$", 6202 // "required": true, 6203 // "type": "string" 6204 // }, 6205 // "updateCompanyFields": { 6206 // "description": "Optional but strongly recommended to be provided for the best service\nexperience.\n\nIf update_company_fields is provided, only the specified fields in\ncompany are updated. Otherwise all the fields are updated.\n\nA field mask to specify the company fields to update. Valid values are:\n\n* displayName\n* website\n* imageUrl\n* companySize\n* distributorBillingCompanyId\n* companyInfoSources\n* careerPageLink\n* hiringAgency\n* hqLocation\n* eeoText\n* keywordSearchableCustomAttributes\n* title (deprecated)\n* keywordSearchableCustomFields (deprecated)", 6207 // "format": "google-fieldmask", 6208 // "location": "query", 6209 // "type": "string" 6210 // } 6211 // }, 6212 // "path": "v2/{+name}", 6213 // "request": { 6214 // "$ref": "Company" 6215 // }, 6216 // "response": { 6217 // "$ref": "Company" 6218 // }, 6219 // "scopes": [ 6220 // "https://www.googleapis.com/auth/cloud-platform", 6221 // "https://www.googleapis.com/auth/jobs" 6222 // ] 6223 // } 6224 6225} 6226 6227// method id "jobs.companies.jobs.list": 6228 6229type CompaniesJobsListCall struct { 6230 s *Service 6231 companyName string 6232 urlParams_ gensupport.URLParams 6233 ifNoneMatch_ string 6234 ctx_ context.Context 6235 header_ http.Header 6236} 6237 6238// List: Deprecated. Use ListJobs instead. 6239// 6240// Lists all jobs associated with a company. 6241func (r *CompaniesJobsService) List(companyName string) *CompaniesJobsListCall { 6242 c := &CompaniesJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6243 c.companyName = companyName 6244 return c 6245} 6246 6247// IdsOnly sets the optional parameter "idsOnly": If set to `true`, only 6248// job ID, job requisition ID and language code will be 6249// returned. 6250// 6251// A typical use is to synchronize job repositories. 6252// 6253// Defaults to false. 6254func (c *CompaniesJobsListCall) IdsOnly(idsOnly bool) *CompaniesJobsListCall { 6255 c.urlParams_.Set("idsOnly", fmt.Sprint(idsOnly)) 6256 return c 6257} 6258 6259// IncludeJobsCount sets the optional parameter "includeJobsCount": 6260// Deprecated. Please DO NOT use this field except for small 6261// companies. 6262// Suggest counting jobs page by page instead. 6263// 6264// 6265// 6266// Set to true if the total number of open jobs is to be 6267// returned. 6268// 6269// Defaults to false. 6270func (c *CompaniesJobsListCall) IncludeJobsCount(includeJobsCount bool) *CompaniesJobsListCall { 6271 c.urlParams_.Set("includeJobsCount", fmt.Sprint(includeJobsCount)) 6272 return c 6273} 6274 6275// JobRequisitionId sets the optional parameter "jobRequisitionId": The 6276// requisition ID, also known as posting ID, assigned by the company 6277// to the job. 6278// 6279// The maximum number of allowable characters is 225. 6280func (c *CompaniesJobsListCall) JobRequisitionId(jobRequisitionId string) *CompaniesJobsListCall { 6281 c.urlParams_.Set("jobRequisitionId", jobRequisitionId) 6282 return c 6283} 6284 6285// PageSize sets the optional parameter "pageSize": The maximum number 6286// of jobs to be returned per page of results. 6287// 6288// If ids_only is set to true, the maximum allowed page size 6289// is 1000. Otherwise, the maximum allowed page size is 100. 6290// 6291// Default is 100 if empty or a number < 1 is specified. 6292func (c *CompaniesJobsListCall) PageSize(pageSize int64) *CompaniesJobsListCall { 6293 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 6294 return c 6295} 6296 6297// PageToken sets the optional parameter "pageToken": The starting point 6298// of a query result. 6299func (c *CompaniesJobsListCall) PageToken(pageToken string) *CompaniesJobsListCall { 6300 c.urlParams_.Set("pageToken", pageToken) 6301 return c 6302} 6303 6304// Fields allows partial responses to be retrieved. See 6305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6306// for more information. 6307func (c *CompaniesJobsListCall) Fields(s ...googleapi.Field) *CompaniesJobsListCall { 6308 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6309 return c 6310} 6311 6312// IfNoneMatch sets the optional parameter which makes the operation 6313// fail if the object's ETag matches the given value. This is useful for 6314// getting updates only after the object has changed since the last 6315// request. Use googleapi.IsNotModified to check whether the response 6316// error from Do is the result of In-None-Match. 6317func (c *CompaniesJobsListCall) IfNoneMatch(entityTag string) *CompaniesJobsListCall { 6318 c.ifNoneMatch_ = entityTag 6319 return c 6320} 6321 6322// Context sets the context to be used in this call's Do method. Any 6323// pending HTTP request will be aborted if the provided context is 6324// canceled. 6325func (c *CompaniesJobsListCall) Context(ctx context.Context) *CompaniesJobsListCall { 6326 c.ctx_ = ctx 6327 return c 6328} 6329 6330// Header returns an http.Header that can be modified by the caller to 6331// add HTTP headers to the request. 6332func (c *CompaniesJobsListCall) Header() http.Header { 6333 if c.header_ == nil { 6334 c.header_ = make(http.Header) 6335 } 6336 return c.header_ 6337} 6338 6339func (c *CompaniesJobsListCall) doRequest(alt string) (*http.Response, error) { 6340 reqHeaders := make(http.Header) 6341 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6342 for k, v := range c.header_ { 6343 reqHeaders[k] = v 6344 } 6345 reqHeaders.Set("User-Agent", c.s.userAgent()) 6346 if c.ifNoneMatch_ != "" { 6347 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 6348 } 6349 var body io.Reader = nil 6350 c.urlParams_.Set("alt", alt) 6351 c.urlParams_.Set("prettyPrint", "false") 6352 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+companyName}/jobs") 6353 urls += "?" + c.urlParams_.Encode() 6354 req, err := http.NewRequest("GET", urls, body) 6355 if err != nil { 6356 return nil, err 6357 } 6358 req.Header = reqHeaders 6359 googleapi.Expand(req.URL, map[string]string{ 6360 "companyName": c.companyName, 6361 }) 6362 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6363} 6364 6365// Do executes the "jobs.companies.jobs.list" call. 6366// Exactly one of *ListCompanyJobsResponse or error will be non-nil. Any 6367// non-2xx status code is an error. Response headers are in either 6368// *ListCompanyJobsResponse.ServerResponse.Header or (if a response was 6369// returned at all) in error.(*googleapi.Error).Header. Use 6370// googleapi.IsNotModified to check whether the returned error was 6371// because http.StatusNotModified was returned. 6372func (c *CompaniesJobsListCall) Do(opts ...googleapi.CallOption) (*ListCompanyJobsResponse, error) { 6373 gensupport.SetOptions(c.urlParams_, opts...) 6374 res, err := c.doRequest("json") 6375 if res != nil && res.StatusCode == http.StatusNotModified { 6376 if res.Body != nil { 6377 res.Body.Close() 6378 } 6379 return nil, &googleapi.Error{ 6380 Code: res.StatusCode, 6381 Header: res.Header, 6382 } 6383 } 6384 if err != nil { 6385 return nil, err 6386 } 6387 defer googleapi.CloseBody(res) 6388 if err := googleapi.CheckResponse(res); err != nil { 6389 return nil, err 6390 } 6391 ret := &ListCompanyJobsResponse{ 6392 ServerResponse: googleapi.ServerResponse{ 6393 Header: res.Header, 6394 HTTPStatusCode: res.StatusCode, 6395 }, 6396 } 6397 target := &ret 6398 if err := gensupport.DecodeResponse(target, res); err != nil { 6399 return nil, err 6400 } 6401 return ret, nil 6402 // { 6403 // "description": "Deprecated. Use ListJobs instead.\n\nLists all jobs associated with a company.", 6404 // "flatPath": "v2/companies/{companiesId}/jobs", 6405 // "httpMethod": "GET", 6406 // "id": "jobs.companies.jobs.list", 6407 // "parameterOrder": [ 6408 // "companyName" 6409 // ], 6410 // "parameters": { 6411 // "companyName": { 6412 // "description": "Required. The resource name of the company that owns the jobs to be listed,\nsuch as, \"companies/0000aaaa-1111-bbbb-2222-cccc3333dddd\".", 6413 // "location": "path", 6414 // "pattern": "^companies/[^/]+$", 6415 // "required": true, 6416 // "type": "string" 6417 // }, 6418 // "idsOnly": { 6419 // "description": "Optional. If set to `true`, only job ID, job requisition ID and language code will be\nreturned.\n\nA typical use is to synchronize job repositories.\n\nDefaults to false.", 6420 // "location": "query", 6421 // "type": "boolean" 6422 // }, 6423 // "includeJobsCount": { 6424 // "description": "Deprecated. Please DO NOT use this field except for small companies.\nSuggest counting jobs page by page instead.\n\nOptional.\n\nSet to true if the total number of open jobs is to be returned.\n\nDefaults to false.", 6425 // "location": "query", 6426 // "type": "boolean" 6427 // }, 6428 // "jobRequisitionId": { 6429 // "description": "Optional. The requisition ID, also known as posting ID, assigned by the company\nto the job.\n\nThe maximum number of allowable characters is 225.", 6430 // "location": "query", 6431 // "type": "string" 6432 // }, 6433 // "pageSize": { 6434 // "description": "Optional. The maximum number of jobs to be returned per page of results.\n\nIf ids_only is set to true, the maximum allowed page size\nis 1000. Otherwise, the maximum allowed page size is 100.\n\nDefault is 100 if empty or a number \u003c 1 is specified.", 6435 // "format": "int32", 6436 // "location": "query", 6437 // "type": "integer" 6438 // }, 6439 // "pageToken": { 6440 // "description": "Optional. The starting point of a query result.", 6441 // "location": "query", 6442 // "type": "string" 6443 // } 6444 // }, 6445 // "path": "v2/{+companyName}/jobs", 6446 // "response": { 6447 // "$ref": "ListCompanyJobsResponse" 6448 // }, 6449 // "scopes": [ 6450 // "https://www.googleapis.com/auth/cloud-platform", 6451 // "https://www.googleapis.com/auth/jobs" 6452 // ] 6453 // } 6454 6455} 6456 6457// Pages invokes f for each page of results. 6458// A non-nil error returned from f will halt the iteration. 6459// The provided context supersedes any context provided to the Context method. 6460func (c *CompaniesJobsListCall) Pages(ctx context.Context, f func(*ListCompanyJobsResponse) error) error { 6461 c.ctx_ = ctx 6462 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 6463 for { 6464 x, err := c.Do() 6465 if err != nil { 6466 return err 6467 } 6468 if err := f(x); err != nil { 6469 return err 6470 } 6471 if x.NextPageToken == "" { 6472 return nil 6473 } 6474 c.PageToken(x.NextPageToken) 6475 } 6476} 6477 6478// method id "jobs.jobs.batchDelete": 6479 6480type JobsBatchDeleteCall struct { 6481 s *Service 6482 batchdeletejobsrequest *BatchDeleteJobsRequest 6483 urlParams_ gensupport.URLParams 6484 ctx_ context.Context 6485 header_ http.Header 6486} 6487 6488// BatchDelete: Deletes a list of Job postings by filter. 6489func (r *JobsService) BatchDelete(batchdeletejobsrequest *BatchDeleteJobsRequest) *JobsBatchDeleteCall { 6490 c := &JobsBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6491 c.batchdeletejobsrequest = batchdeletejobsrequest 6492 return c 6493} 6494 6495// Fields allows partial responses to be retrieved. See 6496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6497// for more information. 6498func (c *JobsBatchDeleteCall) Fields(s ...googleapi.Field) *JobsBatchDeleteCall { 6499 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6500 return c 6501} 6502 6503// Context sets the context to be used in this call's Do method. Any 6504// pending HTTP request will be aborted if the provided context is 6505// canceled. 6506func (c *JobsBatchDeleteCall) Context(ctx context.Context) *JobsBatchDeleteCall { 6507 c.ctx_ = ctx 6508 return c 6509} 6510 6511// Header returns an http.Header that can be modified by the caller to 6512// add HTTP headers to the request. 6513func (c *JobsBatchDeleteCall) Header() http.Header { 6514 if c.header_ == nil { 6515 c.header_ = make(http.Header) 6516 } 6517 return c.header_ 6518} 6519 6520func (c *JobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) { 6521 reqHeaders := make(http.Header) 6522 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6523 for k, v := range c.header_ { 6524 reqHeaders[k] = v 6525 } 6526 reqHeaders.Set("User-Agent", c.s.userAgent()) 6527 var body io.Reader = nil 6528 body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeletejobsrequest) 6529 if err != nil { 6530 return nil, err 6531 } 6532 reqHeaders.Set("Content-Type", "application/json") 6533 c.urlParams_.Set("alt", alt) 6534 c.urlParams_.Set("prettyPrint", "false") 6535 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs:batchDelete") 6536 urls += "?" + c.urlParams_.Encode() 6537 req, err := http.NewRequest("POST", urls, body) 6538 if err != nil { 6539 return nil, err 6540 } 6541 req.Header = reqHeaders 6542 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6543} 6544 6545// Do executes the "jobs.jobs.batchDelete" call. 6546// Exactly one of *Empty or error will be non-nil. Any non-2xx status 6547// code is an error. Response headers are in either 6548// *Empty.ServerResponse.Header or (if a response was returned at all) 6549// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6550// check whether the returned error was because http.StatusNotModified 6551// was returned. 6552func (c *JobsBatchDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 6553 gensupport.SetOptions(c.urlParams_, opts...) 6554 res, err := c.doRequest("json") 6555 if res != nil && res.StatusCode == http.StatusNotModified { 6556 if res.Body != nil { 6557 res.Body.Close() 6558 } 6559 return nil, &googleapi.Error{ 6560 Code: res.StatusCode, 6561 Header: res.Header, 6562 } 6563 } 6564 if err != nil { 6565 return nil, err 6566 } 6567 defer googleapi.CloseBody(res) 6568 if err := googleapi.CheckResponse(res); err != nil { 6569 return nil, err 6570 } 6571 ret := &Empty{ 6572 ServerResponse: googleapi.ServerResponse{ 6573 Header: res.Header, 6574 HTTPStatusCode: res.StatusCode, 6575 }, 6576 } 6577 target := &ret 6578 if err := gensupport.DecodeResponse(target, res); err != nil { 6579 return nil, err 6580 } 6581 return ret, nil 6582 // { 6583 // "description": "Deletes a list of Job postings by filter.", 6584 // "flatPath": "v2/jobs:batchDelete", 6585 // "httpMethod": "POST", 6586 // "id": "jobs.jobs.batchDelete", 6587 // "parameterOrder": [], 6588 // "parameters": {}, 6589 // "path": "v2/jobs:batchDelete", 6590 // "request": { 6591 // "$ref": "BatchDeleteJobsRequest" 6592 // }, 6593 // "response": { 6594 // "$ref": "Empty" 6595 // }, 6596 // "scopes": [ 6597 // "https://www.googleapis.com/auth/cloud-platform", 6598 // "https://www.googleapis.com/auth/jobs" 6599 // ] 6600 // } 6601 6602} 6603 6604// method id "jobs.jobs.create": 6605 6606type JobsCreateCall struct { 6607 s *Service 6608 createjobrequest *CreateJobRequest 6609 urlParams_ gensupport.URLParams 6610 ctx_ context.Context 6611 header_ http.Header 6612} 6613 6614// Create: Creates a new job. 6615// 6616// Typically, the job becomes searchable within 10 seconds, but it may 6617// take 6618// up to 5 minutes. 6619func (r *JobsService) Create(createjobrequest *CreateJobRequest) *JobsCreateCall { 6620 c := &JobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6621 c.createjobrequest = createjobrequest 6622 return c 6623} 6624 6625// Fields allows partial responses to be retrieved. See 6626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6627// for more information. 6628func (c *JobsCreateCall) Fields(s ...googleapi.Field) *JobsCreateCall { 6629 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6630 return c 6631} 6632 6633// Context sets the context to be used in this call's Do method. Any 6634// pending HTTP request will be aborted if the provided context is 6635// canceled. 6636func (c *JobsCreateCall) Context(ctx context.Context) *JobsCreateCall { 6637 c.ctx_ = ctx 6638 return c 6639} 6640 6641// Header returns an http.Header that can be modified by the caller to 6642// add HTTP headers to the request. 6643func (c *JobsCreateCall) Header() http.Header { 6644 if c.header_ == nil { 6645 c.header_ = make(http.Header) 6646 } 6647 return c.header_ 6648} 6649 6650func (c *JobsCreateCall) doRequest(alt string) (*http.Response, error) { 6651 reqHeaders := make(http.Header) 6652 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6653 for k, v := range c.header_ { 6654 reqHeaders[k] = v 6655 } 6656 reqHeaders.Set("User-Agent", c.s.userAgent()) 6657 var body io.Reader = nil 6658 body, err := googleapi.WithoutDataWrapper.JSONReader(c.createjobrequest) 6659 if err != nil { 6660 return nil, err 6661 } 6662 reqHeaders.Set("Content-Type", "application/json") 6663 c.urlParams_.Set("alt", alt) 6664 c.urlParams_.Set("prettyPrint", "false") 6665 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs") 6666 urls += "?" + c.urlParams_.Encode() 6667 req, err := http.NewRequest("POST", urls, body) 6668 if err != nil { 6669 return nil, err 6670 } 6671 req.Header = reqHeaders 6672 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6673} 6674 6675// Do executes the "jobs.jobs.create" call. 6676// Exactly one of *Job or error will be non-nil. Any non-2xx status code 6677// is an error. Response headers are in either 6678// *Job.ServerResponse.Header or (if a response was returned at all) in 6679// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 6680// whether the returned error was because http.StatusNotModified was 6681// returned. 6682func (c *JobsCreateCall) Do(opts ...googleapi.CallOption) (*Job, error) { 6683 gensupport.SetOptions(c.urlParams_, opts...) 6684 res, err := c.doRequest("json") 6685 if res != nil && res.StatusCode == http.StatusNotModified { 6686 if res.Body != nil { 6687 res.Body.Close() 6688 } 6689 return nil, &googleapi.Error{ 6690 Code: res.StatusCode, 6691 Header: res.Header, 6692 } 6693 } 6694 if err != nil { 6695 return nil, err 6696 } 6697 defer googleapi.CloseBody(res) 6698 if err := googleapi.CheckResponse(res); err != nil { 6699 return nil, err 6700 } 6701 ret := &Job{ 6702 ServerResponse: googleapi.ServerResponse{ 6703 Header: res.Header, 6704 HTTPStatusCode: res.StatusCode, 6705 }, 6706 } 6707 target := &ret 6708 if err := gensupport.DecodeResponse(target, res); err != nil { 6709 return nil, err 6710 } 6711 return ret, nil 6712 // { 6713 // "description": "Creates a new job.\n\nTypically, the job becomes searchable within 10 seconds, but it may take\nup to 5 minutes.", 6714 // "flatPath": "v2/jobs", 6715 // "httpMethod": "POST", 6716 // "id": "jobs.jobs.create", 6717 // "parameterOrder": [], 6718 // "parameters": {}, 6719 // "path": "v2/jobs", 6720 // "request": { 6721 // "$ref": "CreateJobRequest" 6722 // }, 6723 // "response": { 6724 // "$ref": "Job" 6725 // }, 6726 // "scopes": [ 6727 // "https://www.googleapis.com/auth/cloud-platform", 6728 // "https://www.googleapis.com/auth/jobs" 6729 // ] 6730 // } 6731 6732} 6733 6734// method id "jobs.jobs.delete": 6735 6736type JobsDeleteCall struct { 6737 s *Service 6738 name string 6739 urlParams_ gensupport.URLParams 6740 ctx_ context.Context 6741 header_ http.Header 6742} 6743 6744// Delete: Deletes the specified job. 6745// 6746// Typically, the job becomes unsearchable within 10 seconds, but it may 6747// take 6748// up to 5 minutes. 6749func (r *JobsService) Delete(name string) *JobsDeleteCall { 6750 c := &JobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6751 c.name = name 6752 return c 6753} 6754 6755// DisableFastProcess sets the optional parameter "disableFastProcess": 6756// Deprecated. This field is not working anymore. 6757// 6758// 6759// 6760// If set to true, this call waits for all processing steps to 6761// complete 6762// before the job is cleaned up. Otherwise, the call returns while 6763// some 6764// steps are still taking place asynchronously, hence faster. 6765func (c *JobsDeleteCall) DisableFastProcess(disableFastProcess bool) *JobsDeleteCall { 6766 c.urlParams_.Set("disableFastProcess", fmt.Sprint(disableFastProcess)) 6767 return c 6768} 6769 6770// Fields allows partial responses to be retrieved. See 6771// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6772// for more information. 6773func (c *JobsDeleteCall) Fields(s ...googleapi.Field) *JobsDeleteCall { 6774 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6775 return c 6776} 6777 6778// Context sets the context to be used in this call's Do method. Any 6779// pending HTTP request will be aborted if the provided context is 6780// canceled. 6781func (c *JobsDeleteCall) Context(ctx context.Context) *JobsDeleteCall { 6782 c.ctx_ = ctx 6783 return c 6784} 6785 6786// Header returns an http.Header that can be modified by the caller to 6787// add HTTP headers to the request. 6788func (c *JobsDeleteCall) Header() http.Header { 6789 if c.header_ == nil { 6790 c.header_ = make(http.Header) 6791 } 6792 return c.header_ 6793} 6794 6795func (c *JobsDeleteCall) doRequest(alt string) (*http.Response, error) { 6796 reqHeaders := make(http.Header) 6797 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6798 for k, v := range c.header_ { 6799 reqHeaders[k] = v 6800 } 6801 reqHeaders.Set("User-Agent", c.s.userAgent()) 6802 var body io.Reader = nil 6803 c.urlParams_.Set("alt", alt) 6804 c.urlParams_.Set("prettyPrint", "false") 6805 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 6806 urls += "?" + c.urlParams_.Encode() 6807 req, err := http.NewRequest("DELETE", urls, body) 6808 if err != nil { 6809 return nil, err 6810 } 6811 req.Header = reqHeaders 6812 googleapi.Expand(req.URL, map[string]string{ 6813 "name": c.name, 6814 }) 6815 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6816} 6817 6818// Do executes the "jobs.jobs.delete" call. 6819// Exactly one of *Empty or error will be non-nil. Any non-2xx status 6820// code is an error. Response headers are in either 6821// *Empty.ServerResponse.Header or (if a response was returned at all) 6822// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6823// check whether the returned error was because http.StatusNotModified 6824// was returned. 6825func (c *JobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 6826 gensupport.SetOptions(c.urlParams_, opts...) 6827 res, err := c.doRequest("json") 6828 if res != nil && res.StatusCode == http.StatusNotModified { 6829 if res.Body != nil { 6830 res.Body.Close() 6831 } 6832 return nil, &googleapi.Error{ 6833 Code: res.StatusCode, 6834 Header: res.Header, 6835 } 6836 } 6837 if err != nil { 6838 return nil, err 6839 } 6840 defer googleapi.CloseBody(res) 6841 if err := googleapi.CheckResponse(res); err != nil { 6842 return nil, err 6843 } 6844 ret := &Empty{ 6845 ServerResponse: googleapi.ServerResponse{ 6846 Header: res.Header, 6847 HTTPStatusCode: res.StatusCode, 6848 }, 6849 } 6850 target := &ret 6851 if err := gensupport.DecodeResponse(target, res); err != nil { 6852 return nil, err 6853 } 6854 return ret, nil 6855 // { 6856 // "description": "Deletes the specified job.\n\nTypically, the job becomes unsearchable within 10 seconds, but it may take\nup to 5 minutes.", 6857 // "flatPath": "v2/jobs/{jobsId}", 6858 // "httpMethod": "DELETE", 6859 // "id": "jobs.jobs.delete", 6860 // "parameterOrder": [ 6861 // "name" 6862 // ], 6863 // "parameters": { 6864 // "disableFastProcess": { 6865 // "description": "Deprecated. This field is not working anymore.\n\nOptional.\n\nIf set to true, this call waits for all processing steps to complete\nbefore the job is cleaned up. Otherwise, the call returns while some\nsteps are still taking place asynchronously, hence faster.", 6866 // "location": "query", 6867 // "type": "boolean" 6868 // }, 6869 // "name": { 6870 // "description": "Required. The resource name of the job to be deleted, such as \"jobs/11111111\".", 6871 // "location": "path", 6872 // "pattern": "^jobs/[^/]+$", 6873 // "required": true, 6874 // "type": "string" 6875 // } 6876 // }, 6877 // "path": "v2/{+name}", 6878 // "response": { 6879 // "$ref": "Empty" 6880 // }, 6881 // "scopes": [ 6882 // "https://www.googleapis.com/auth/cloud-platform", 6883 // "https://www.googleapis.com/auth/jobs" 6884 // ] 6885 // } 6886 6887} 6888 6889// method id "jobs.jobs.deleteByFilter": 6890 6891type JobsDeleteByFilterCall struct { 6892 s *Service 6893 deletejobsbyfilterrequest *DeleteJobsByFilterRequest 6894 urlParams_ gensupport.URLParams 6895 ctx_ context.Context 6896 header_ http.Header 6897} 6898 6899// DeleteByFilter: Deprecated. Use BatchDeleteJobs instead. 6900// 6901// Deletes the specified job by filter. You can specify whether 6902// to 6903// synchronously wait for validation, indexing, and general processing 6904// to be 6905// completed before the response is returned. 6906func (r *JobsService) DeleteByFilter(deletejobsbyfilterrequest *DeleteJobsByFilterRequest) *JobsDeleteByFilterCall { 6907 c := &JobsDeleteByFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)} 6908 c.deletejobsbyfilterrequest = deletejobsbyfilterrequest 6909 return c 6910} 6911 6912// Fields allows partial responses to be retrieved. See 6913// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 6914// for more information. 6915func (c *JobsDeleteByFilterCall) Fields(s ...googleapi.Field) *JobsDeleteByFilterCall { 6916 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 6917 return c 6918} 6919 6920// Context sets the context to be used in this call's Do method. Any 6921// pending HTTP request will be aborted if the provided context is 6922// canceled. 6923func (c *JobsDeleteByFilterCall) Context(ctx context.Context) *JobsDeleteByFilterCall { 6924 c.ctx_ = ctx 6925 return c 6926} 6927 6928// Header returns an http.Header that can be modified by the caller to 6929// add HTTP headers to the request. 6930func (c *JobsDeleteByFilterCall) Header() http.Header { 6931 if c.header_ == nil { 6932 c.header_ = make(http.Header) 6933 } 6934 return c.header_ 6935} 6936 6937func (c *JobsDeleteByFilterCall) doRequest(alt string) (*http.Response, error) { 6938 reqHeaders := make(http.Header) 6939 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 6940 for k, v := range c.header_ { 6941 reqHeaders[k] = v 6942 } 6943 reqHeaders.Set("User-Agent", c.s.userAgent()) 6944 var body io.Reader = nil 6945 body, err := googleapi.WithoutDataWrapper.JSONReader(c.deletejobsbyfilterrequest) 6946 if err != nil { 6947 return nil, err 6948 } 6949 reqHeaders.Set("Content-Type", "application/json") 6950 c.urlParams_.Set("alt", alt) 6951 c.urlParams_.Set("prettyPrint", "false") 6952 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs:deleteByFilter") 6953 urls += "?" + c.urlParams_.Encode() 6954 req, err := http.NewRequest("POST", urls, body) 6955 if err != nil { 6956 return nil, err 6957 } 6958 req.Header = reqHeaders 6959 return gensupport.SendRequest(c.ctx_, c.s.client, req) 6960} 6961 6962// Do executes the "jobs.jobs.deleteByFilter" call. 6963// Exactly one of *Empty or error will be non-nil. Any non-2xx status 6964// code is an error. Response headers are in either 6965// *Empty.ServerResponse.Header or (if a response was returned at all) 6966// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 6967// check whether the returned error was because http.StatusNotModified 6968// was returned. 6969func (c *JobsDeleteByFilterCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 6970 gensupport.SetOptions(c.urlParams_, opts...) 6971 res, err := c.doRequest("json") 6972 if res != nil && res.StatusCode == http.StatusNotModified { 6973 if res.Body != nil { 6974 res.Body.Close() 6975 } 6976 return nil, &googleapi.Error{ 6977 Code: res.StatusCode, 6978 Header: res.Header, 6979 } 6980 } 6981 if err != nil { 6982 return nil, err 6983 } 6984 defer googleapi.CloseBody(res) 6985 if err := googleapi.CheckResponse(res); err != nil { 6986 return nil, err 6987 } 6988 ret := &Empty{ 6989 ServerResponse: googleapi.ServerResponse{ 6990 Header: res.Header, 6991 HTTPStatusCode: res.StatusCode, 6992 }, 6993 } 6994 target := &ret 6995 if err := gensupport.DecodeResponse(target, res); err != nil { 6996 return nil, err 6997 } 6998 return ret, nil 6999 // { 7000 // "description": "Deprecated. Use BatchDeleteJobs instead.\n\nDeletes the specified job by filter. You can specify whether to\nsynchronously wait for validation, indexing, and general processing to be\ncompleted before the response is returned.", 7001 // "flatPath": "v2/jobs:deleteByFilter", 7002 // "httpMethod": "POST", 7003 // "id": "jobs.jobs.deleteByFilter", 7004 // "parameterOrder": [], 7005 // "parameters": {}, 7006 // "path": "v2/jobs:deleteByFilter", 7007 // "request": { 7008 // "$ref": "DeleteJobsByFilterRequest" 7009 // }, 7010 // "response": { 7011 // "$ref": "Empty" 7012 // }, 7013 // "scopes": [ 7014 // "https://www.googleapis.com/auth/cloud-platform", 7015 // "https://www.googleapis.com/auth/jobs" 7016 // ] 7017 // } 7018 7019} 7020 7021// method id "jobs.jobs.get": 7022 7023type JobsGetCall struct { 7024 s *Service 7025 name string 7026 urlParams_ gensupport.URLParams 7027 ifNoneMatch_ string 7028 ctx_ context.Context 7029 header_ http.Header 7030} 7031 7032// Get: Retrieves the specified job, whose status is OPEN or recently 7033// EXPIRED 7034// within the last 90 days. 7035func (r *JobsService) Get(name string) *JobsGetCall { 7036 c := &JobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7037 c.name = name 7038 return c 7039} 7040 7041// Fields allows partial responses to be retrieved. See 7042// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7043// for more information. 7044func (c *JobsGetCall) Fields(s ...googleapi.Field) *JobsGetCall { 7045 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7046 return c 7047} 7048 7049// IfNoneMatch sets the optional parameter which makes the operation 7050// fail if the object's ETag matches the given value. This is useful for 7051// getting updates only after the object has changed since the last 7052// request. Use googleapi.IsNotModified to check whether the response 7053// error from Do is the result of In-None-Match. 7054func (c *JobsGetCall) IfNoneMatch(entityTag string) *JobsGetCall { 7055 c.ifNoneMatch_ = entityTag 7056 return c 7057} 7058 7059// Context sets the context to be used in this call's Do method. Any 7060// pending HTTP request will be aborted if the provided context is 7061// canceled. 7062func (c *JobsGetCall) Context(ctx context.Context) *JobsGetCall { 7063 c.ctx_ = ctx 7064 return c 7065} 7066 7067// Header returns an http.Header that can be modified by the caller to 7068// add HTTP headers to the request. 7069func (c *JobsGetCall) Header() http.Header { 7070 if c.header_ == nil { 7071 c.header_ = make(http.Header) 7072 } 7073 return c.header_ 7074} 7075 7076func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) { 7077 reqHeaders := make(http.Header) 7078 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7079 for k, v := range c.header_ { 7080 reqHeaders[k] = v 7081 } 7082 reqHeaders.Set("User-Agent", c.s.userAgent()) 7083 if c.ifNoneMatch_ != "" { 7084 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 7085 } 7086 var body io.Reader = nil 7087 c.urlParams_.Set("alt", alt) 7088 c.urlParams_.Set("prettyPrint", "false") 7089 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 7090 urls += "?" + c.urlParams_.Encode() 7091 req, err := http.NewRequest("GET", urls, body) 7092 if err != nil { 7093 return nil, err 7094 } 7095 req.Header = reqHeaders 7096 googleapi.Expand(req.URL, map[string]string{ 7097 "name": c.name, 7098 }) 7099 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7100} 7101 7102// Do executes the "jobs.jobs.get" call. 7103// Exactly one of *Job or error will be non-nil. Any non-2xx status code 7104// is an error. Response headers are in either 7105// *Job.ServerResponse.Header or (if a response was returned at all) in 7106// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 7107// whether the returned error was because http.StatusNotModified was 7108// returned. 7109func (c *JobsGetCall) Do(opts ...googleapi.CallOption) (*Job, error) { 7110 gensupport.SetOptions(c.urlParams_, opts...) 7111 res, err := c.doRequest("json") 7112 if res != nil && res.StatusCode == http.StatusNotModified { 7113 if res.Body != nil { 7114 res.Body.Close() 7115 } 7116 return nil, &googleapi.Error{ 7117 Code: res.StatusCode, 7118 Header: res.Header, 7119 } 7120 } 7121 if err != nil { 7122 return nil, err 7123 } 7124 defer googleapi.CloseBody(res) 7125 if err := googleapi.CheckResponse(res); err != nil { 7126 return nil, err 7127 } 7128 ret := &Job{ 7129 ServerResponse: googleapi.ServerResponse{ 7130 Header: res.Header, 7131 HTTPStatusCode: res.StatusCode, 7132 }, 7133 } 7134 target := &ret 7135 if err := gensupport.DecodeResponse(target, res); err != nil { 7136 return nil, err 7137 } 7138 return ret, nil 7139 // { 7140 // "description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED\nwithin the last 90 days.", 7141 // "flatPath": "v2/jobs/{jobsId}", 7142 // "httpMethod": "GET", 7143 // "id": "jobs.jobs.get", 7144 // "parameterOrder": [ 7145 // "name" 7146 // ], 7147 // "parameters": { 7148 // "name": { 7149 // "description": "Required. The resource name of the job to retrieve, such as \"jobs/11111111\".", 7150 // "location": "path", 7151 // "pattern": "^jobs/[^/]+$", 7152 // "required": true, 7153 // "type": "string" 7154 // } 7155 // }, 7156 // "path": "v2/{+name}", 7157 // "response": { 7158 // "$ref": "Job" 7159 // }, 7160 // "scopes": [ 7161 // "https://www.googleapis.com/auth/cloud-platform", 7162 // "https://www.googleapis.com/auth/jobs" 7163 // ] 7164 // } 7165 7166} 7167 7168// method id "jobs.jobs.histogram": 7169 7170type JobsHistogramCall struct { 7171 s *Service 7172 gethistogramrequest *GetHistogramRequest 7173 urlParams_ gensupport.URLParams 7174 ctx_ context.Context 7175 header_ http.Header 7176} 7177 7178// Histogram: Deprecated. Use SearchJobsRequest.histogram_facets instead 7179// to make 7180// a single call with both search and histogram. 7181// 7182// Retrieves a histogram for the given 7183// GetHistogramRequest. This call provides a structured 7184// count of jobs that match against the search query, grouped by 7185// specified 7186// facets. 7187// 7188// This call constrains the visibility of jobs 7189// present in the database, and only counts jobs the caller 7190// has 7191// permission to search against. 7192// 7193// For example, use this call to generate the 7194// number of jobs in the U.S. by state. 7195func (r *JobsService) Histogram(gethistogramrequest *GetHistogramRequest) *JobsHistogramCall { 7196 c := &JobsHistogramCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7197 c.gethistogramrequest = gethistogramrequest 7198 return c 7199} 7200 7201// Fields allows partial responses to be retrieved. See 7202// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7203// for more information. 7204func (c *JobsHistogramCall) Fields(s ...googleapi.Field) *JobsHistogramCall { 7205 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7206 return c 7207} 7208 7209// Context sets the context to be used in this call's Do method. Any 7210// pending HTTP request will be aborted if the provided context is 7211// canceled. 7212func (c *JobsHistogramCall) Context(ctx context.Context) *JobsHistogramCall { 7213 c.ctx_ = ctx 7214 return c 7215} 7216 7217// Header returns an http.Header that can be modified by the caller to 7218// add HTTP headers to the request. 7219func (c *JobsHistogramCall) Header() http.Header { 7220 if c.header_ == nil { 7221 c.header_ = make(http.Header) 7222 } 7223 return c.header_ 7224} 7225 7226func (c *JobsHistogramCall) doRequest(alt string) (*http.Response, error) { 7227 reqHeaders := make(http.Header) 7228 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7229 for k, v := range c.header_ { 7230 reqHeaders[k] = v 7231 } 7232 reqHeaders.Set("User-Agent", c.s.userAgent()) 7233 var body io.Reader = nil 7234 body, err := googleapi.WithoutDataWrapper.JSONReader(c.gethistogramrequest) 7235 if err != nil { 7236 return nil, err 7237 } 7238 reqHeaders.Set("Content-Type", "application/json") 7239 c.urlParams_.Set("alt", alt) 7240 c.urlParams_.Set("prettyPrint", "false") 7241 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs:histogram") 7242 urls += "?" + c.urlParams_.Encode() 7243 req, err := http.NewRequest("POST", urls, body) 7244 if err != nil { 7245 return nil, err 7246 } 7247 req.Header = reqHeaders 7248 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7249} 7250 7251// Do executes the "jobs.jobs.histogram" call. 7252// Exactly one of *GetHistogramResponse or error will be non-nil. Any 7253// non-2xx status code is an error. Response headers are in either 7254// *GetHistogramResponse.ServerResponse.Header or (if a response was 7255// returned at all) in error.(*googleapi.Error).Header. Use 7256// googleapi.IsNotModified to check whether the returned error was 7257// because http.StatusNotModified was returned. 7258func (c *JobsHistogramCall) Do(opts ...googleapi.CallOption) (*GetHistogramResponse, error) { 7259 gensupport.SetOptions(c.urlParams_, opts...) 7260 res, err := c.doRequest("json") 7261 if res != nil && res.StatusCode == http.StatusNotModified { 7262 if res.Body != nil { 7263 res.Body.Close() 7264 } 7265 return nil, &googleapi.Error{ 7266 Code: res.StatusCode, 7267 Header: res.Header, 7268 } 7269 } 7270 if err != nil { 7271 return nil, err 7272 } 7273 defer googleapi.CloseBody(res) 7274 if err := googleapi.CheckResponse(res); err != nil { 7275 return nil, err 7276 } 7277 ret := &GetHistogramResponse{ 7278 ServerResponse: googleapi.ServerResponse{ 7279 Header: res.Header, 7280 HTTPStatusCode: res.StatusCode, 7281 }, 7282 } 7283 target := &ret 7284 if err := gensupport.DecodeResponse(target, res); err != nil { 7285 return nil, err 7286 } 7287 return ret, nil 7288 // { 7289 // "description": "Deprecated. Use SearchJobsRequest.histogram_facets instead to make\na single call with both search and histogram.\n\nRetrieves a histogram for the given\nGetHistogramRequest. This call provides a structured\ncount of jobs that match against the search query, grouped by specified\nfacets.\n\nThis call constrains the visibility of jobs\npresent in the database, and only counts jobs the caller has\npermission to search against.\n\nFor example, use this call to generate the\nnumber of jobs in the U.S. by state.", 7290 // "flatPath": "v2/jobs:histogram", 7291 // "httpMethod": "POST", 7292 // "id": "jobs.jobs.histogram", 7293 // "parameterOrder": [], 7294 // "parameters": {}, 7295 // "path": "v2/jobs:histogram", 7296 // "request": { 7297 // "$ref": "GetHistogramRequest" 7298 // }, 7299 // "response": { 7300 // "$ref": "GetHistogramResponse" 7301 // }, 7302 // "scopes": [ 7303 // "https://www.googleapis.com/auth/cloud-platform", 7304 // "https://www.googleapis.com/auth/jobs" 7305 // ] 7306 // } 7307 7308} 7309 7310// method id "jobs.jobs.list": 7311 7312type JobsListCall struct { 7313 s *Service 7314 urlParams_ gensupport.URLParams 7315 ifNoneMatch_ string 7316 ctx_ context.Context 7317 header_ http.Header 7318} 7319 7320// List: Lists jobs by filter. 7321func (r *JobsService) List() *JobsListCall { 7322 c := &JobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7323 return c 7324} 7325 7326// Filter sets the optional parameter "filter": Required. The filter 7327// string specifies the jobs to be enumerated. 7328// 7329// Supported operator: =, AND 7330// 7331// The fields eligible for filtering are: 7332// 7333// * `companyName` (Required) 7334// * `requisitionId` (Optional) 7335// 7336// Sample Query: 7337// 7338// * companyName = "companies/123" 7339// * companyName = "companies/123" AND requisitionId = "req-1" 7340func (c *JobsListCall) Filter(filter string) *JobsListCall { 7341 c.urlParams_.Set("filter", filter) 7342 return c 7343} 7344 7345// IdsOnly sets the optional parameter "idsOnly": If set to `true`, only 7346// Job.name, Job.requisition_id and 7347// Job.language_code will be returned. 7348// 7349// A typical use case is to synchronize job repositories. 7350// 7351// Defaults to false. 7352func (c *JobsListCall) IdsOnly(idsOnly bool) *JobsListCall { 7353 c.urlParams_.Set("idsOnly", fmt.Sprint(idsOnly)) 7354 return c 7355} 7356 7357// PageSize sets the optional parameter "pageSize": The maximum number 7358// of jobs to be returned per page of results. 7359// 7360// If ids_only is set to true, the maximum allowed page size 7361// is 1000. Otherwise, the maximum allowed page size is 100. 7362// 7363// Default is 100 if empty or a number < 1 is specified. 7364func (c *JobsListCall) PageSize(pageSize int64) *JobsListCall { 7365 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 7366 return c 7367} 7368 7369// PageToken sets the optional parameter "pageToken": The starting point 7370// of a query result. 7371func (c *JobsListCall) PageToken(pageToken string) *JobsListCall { 7372 c.urlParams_.Set("pageToken", pageToken) 7373 return c 7374} 7375 7376// Fields allows partial responses to be retrieved. See 7377// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7378// for more information. 7379func (c *JobsListCall) Fields(s ...googleapi.Field) *JobsListCall { 7380 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7381 return c 7382} 7383 7384// IfNoneMatch sets the optional parameter which makes the operation 7385// fail if the object's ETag matches the given value. This is useful for 7386// getting updates only after the object has changed since the last 7387// request. Use googleapi.IsNotModified to check whether the response 7388// error from Do is the result of In-None-Match. 7389func (c *JobsListCall) IfNoneMatch(entityTag string) *JobsListCall { 7390 c.ifNoneMatch_ = entityTag 7391 return c 7392} 7393 7394// Context sets the context to be used in this call's Do method. Any 7395// pending HTTP request will be aborted if the provided context is 7396// canceled. 7397func (c *JobsListCall) Context(ctx context.Context) *JobsListCall { 7398 c.ctx_ = ctx 7399 return c 7400} 7401 7402// Header returns an http.Header that can be modified by the caller to 7403// add HTTP headers to the request. 7404func (c *JobsListCall) Header() http.Header { 7405 if c.header_ == nil { 7406 c.header_ = make(http.Header) 7407 } 7408 return c.header_ 7409} 7410 7411func (c *JobsListCall) doRequest(alt string) (*http.Response, error) { 7412 reqHeaders := make(http.Header) 7413 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7414 for k, v := range c.header_ { 7415 reqHeaders[k] = v 7416 } 7417 reqHeaders.Set("User-Agent", c.s.userAgent()) 7418 if c.ifNoneMatch_ != "" { 7419 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 7420 } 7421 var body io.Reader = nil 7422 c.urlParams_.Set("alt", alt) 7423 c.urlParams_.Set("prettyPrint", "false") 7424 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs") 7425 urls += "?" + c.urlParams_.Encode() 7426 req, err := http.NewRequest("GET", urls, body) 7427 if err != nil { 7428 return nil, err 7429 } 7430 req.Header = reqHeaders 7431 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7432} 7433 7434// Do executes the "jobs.jobs.list" call. 7435// Exactly one of *ListJobsResponse or error will be non-nil. Any 7436// non-2xx status code is an error. Response headers are in either 7437// *ListJobsResponse.ServerResponse.Header or (if a response was 7438// returned at all) in error.(*googleapi.Error).Header. Use 7439// googleapi.IsNotModified to check whether the returned error was 7440// because http.StatusNotModified was returned. 7441func (c *JobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, error) { 7442 gensupport.SetOptions(c.urlParams_, opts...) 7443 res, err := c.doRequest("json") 7444 if res != nil && res.StatusCode == http.StatusNotModified { 7445 if res.Body != nil { 7446 res.Body.Close() 7447 } 7448 return nil, &googleapi.Error{ 7449 Code: res.StatusCode, 7450 Header: res.Header, 7451 } 7452 } 7453 if err != nil { 7454 return nil, err 7455 } 7456 defer googleapi.CloseBody(res) 7457 if err := googleapi.CheckResponse(res); err != nil { 7458 return nil, err 7459 } 7460 ret := &ListJobsResponse{ 7461 ServerResponse: googleapi.ServerResponse{ 7462 Header: res.Header, 7463 HTTPStatusCode: res.StatusCode, 7464 }, 7465 } 7466 target := &ret 7467 if err := gensupport.DecodeResponse(target, res); err != nil { 7468 return nil, err 7469 } 7470 return ret, nil 7471 // { 7472 // "description": "Lists jobs by filter.", 7473 // "flatPath": "v2/jobs", 7474 // "httpMethod": "GET", 7475 // "id": "jobs.jobs.list", 7476 // "parameterOrder": [], 7477 // "parameters": { 7478 // "filter": { 7479 // "description": "Required. The filter string specifies the jobs to be enumerated.\n\nSupported operator: =, AND\n\nThe fields eligible for filtering are:\n\n* `companyName` (Required)\n* `requisitionId` (Optional)\n\nSample Query:\n\n* companyName = \"companies/123\"\n* companyName = \"companies/123\" AND requisitionId = \"req-1\"", 7480 // "location": "query", 7481 // "type": "string" 7482 // }, 7483 // "idsOnly": { 7484 // "description": "Optional. If set to `true`, only Job.name, Job.requisition_id and\nJob.language_code will be returned.\n\nA typical use case is to synchronize job repositories.\n\nDefaults to false.", 7485 // "location": "query", 7486 // "type": "boolean" 7487 // }, 7488 // "pageSize": { 7489 // "description": "Optional. The maximum number of jobs to be returned per page of results.\n\nIf ids_only is set to true, the maximum allowed page size\nis 1000. Otherwise, the maximum allowed page size is 100.\n\nDefault is 100 if empty or a number \u003c 1 is specified.", 7490 // "format": "int32", 7491 // "location": "query", 7492 // "type": "integer" 7493 // }, 7494 // "pageToken": { 7495 // "description": "Optional. The starting point of a query result.", 7496 // "location": "query", 7497 // "type": "string" 7498 // } 7499 // }, 7500 // "path": "v2/jobs", 7501 // "response": { 7502 // "$ref": "ListJobsResponse" 7503 // }, 7504 // "scopes": [ 7505 // "https://www.googleapis.com/auth/cloud-platform", 7506 // "https://www.googleapis.com/auth/jobs" 7507 // ] 7508 // } 7509 7510} 7511 7512// Pages invokes f for each page of results. 7513// A non-nil error returned from f will halt the iteration. 7514// The provided context supersedes any context provided to the Context method. 7515func (c *JobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { 7516 c.ctx_ = ctx 7517 defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point 7518 for { 7519 x, err := c.Do() 7520 if err != nil { 7521 return err 7522 } 7523 if err := f(x); err != nil { 7524 return err 7525 } 7526 if x.NextPageToken == "" { 7527 return nil 7528 } 7529 c.PageToken(x.NextPageToken) 7530 } 7531} 7532 7533// method id "jobs.jobs.patch": 7534 7535type JobsPatchCall struct { 7536 s *Service 7537 name string 7538 updatejobrequest *UpdateJobRequest 7539 urlParams_ gensupport.URLParams 7540 ctx_ context.Context 7541 header_ http.Header 7542} 7543 7544// Patch: Updates specified job. 7545// 7546// Typically, updated contents become visible in search results within 7547// 10 7548// seconds, but it may take up to 5 minutes. 7549func (r *JobsService) Patch(name string, updatejobrequest *UpdateJobRequest) *JobsPatchCall { 7550 c := &JobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7551 c.name = name 7552 c.updatejobrequest = updatejobrequest 7553 return c 7554} 7555 7556// Fields allows partial responses to be retrieved. See 7557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7558// for more information. 7559func (c *JobsPatchCall) Fields(s ...googleapi.Field) *JobsPatchCall { 7560 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7561 return c 7562} 7563 7564// Context sets the context to be used in this call's Do method. Any 7565// pending HTTP request will be aborted if the provided context is 7566// canceled. 7567func (c *JobsPatchCall) Context(ctx context.Context) *JobsPatchCall { 7568 c.ctx_ = ctx 7569 return c 7570} 7571 7572// Header returns an http.Header that can be modified by the caller to 7573// add HTTP headers to the request. 7574func (c *JobsPatchCall) Header() http.Header { 7575 if c.header_ == nil { 7576 c.header_ = make(http.Header) 7577 } 7578 return c.header_ 7579} 7580 7581func (c *JobsPatchCall) doRequest(alt string) (*http.Response, error) { 7582 reqHeaders := make(http.Header) 7583 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7584 for k, v := range c.header_ { 7585 reqHeaders[k] = v 7586 } 7587 reqHeaders.Set("User-Agent", c.s.userAgent()) 7588 var body io.Reader = nil 7589 body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatejobrequest) 7590 if err != nil { 7591 return nil, err 7592 } 7593 reqHeaders.Set("Content-Type", "application/json") 7594 c.urlParams_.Set("alt", alt) 7595 c.urlParams_.Set("prettyPrint", "false") 7596 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") 7597 urls += "?" + c.urlParams_.Encode() 7598 req, err := http.NewRequest("PATCH", urls, body) 7599 if err != nil { 7600 return nil, err 7601 } 7602 req.Header = reqHeaders 7603 googleapi.Expand(req.URL, map[string]string{ 7604 "name": c.name, 7605 }) 7606 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7607} 7608 7609// Do executes the "jobs.jobs.patch" call. 7610// Exactly one of *Job or error will be non-nil. Any non-2xx status code 7611// is an error. Response headers are in either 7612// *Job.ServerResponse.Header or (if a response was returned at all) in 7613// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 7614// whether the returned error was because http.StatusNotModified was 7615// returned. 7616func (c *JobsPatchCall) Do(opts ...googleapi.CallOption) (*Job, error) { 7617 gensupport.SetOptions(c.urlParams_, opts...) 7618 res, err := c.doRequest("json") 7619 if res != nil && res.StatusCode == http.StatusNotModified { 7620 if res.Body != nil { 7621 res.Body.Close() 7622 } 7623 return nil, &googleapi.Error{ 7624 Code: res.StatusCode, 7625 Header: res.Header, 7626 } 7627 } 7628 if err != nil { 7629 return nil, err 7630 } 7631 defer googleapi.CloseBody(res) 7632 if err := googleapi.CheckResponse(res); err != nil { 7633 return nil, err 7634 } 7635 ret := &Job{ 7636 ServerResponse: googleapi.ServerResponse{ 7637 Header: res.Header, 7638 HTTPStatusCode: res.StatusCode, 7639 }, 7640 } 7641 target := &ret 7642 if err := gensupport.DecodeResponse(target, res); err != nil { 7643 return nil, err 7644 } 7645 return ret, nil 7646 // { 7647 // "description": "Updates specified job.\n\nTypically, updated contents become visible in search results within 10\nseconds, but it may take up to 5 minutes.", 7648 // "flatPath": "v2/jobs/{jobsId}", 7649 // "httpMethod": "PATCH", 7650 // "id": "jobs.jobs.patch", 7651 // "parameterOrder": [ 7652 // "name" 7653 // ], 7654 // "parameters": { 7655 // "name": { 7656 // "description": "Required during job update.\n\nResource name assigned to a job by the API, for example, \"/jobs/foo\". Use\nof this field in job queries and API calls is preferred over the use of\nrequisition_id since this value is unique.", 7657 // "location": "path", 7658 // "pattern": "^jobs/[^/]+$", 7659 // "required": true, 7660 // "type": "string" 7661 // } 7662 // }, 7663 // "path": "v2/{+name}", 7664 // "request": { 7665 // "$ref": "UpdateJobRequest" 7666 // }, 7667 // "response": { 7668 // "$ref": "Job" 7669 // }, 7670 // "scopes": [ 7671 // "https://www.googleapis.com/auth/cloud-platform", 7672 // "https://www.googleapis.com/auth/jobs" 7673 // ] 7674 // } 7675 7676} 7677 7678// method id "jobs.jobs.search": 7679 7680type JobsSearchCall struct { 7681 s *Service 7682 searchjobsrequest *SearchJobsRequest 7683 urlParams_ gensupport.URLParams 7684 ctx_ context.Context 7685 header_ http.Header 7686} 7687 7688// Search: Searches for jobs using the provided SearchJobsRequest. 7689// 7690// This call constrains the visibility of jobs 7691// present in the database, and only returns jobs that the caller 7692// has 7693// permission to search against. 7694func (r *JobsService) Search(searchjobsrequest *SearchJobsRequest) *JobsSearchCall { 7695 c := &JobsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7696 c.searchjobsrequest = searchjobsrequest 7697 return c 7698} 7699 7700// Fields allows partial responses to be retrieved. See 7701// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7702// for more information. 7703func (c *JobsSearchCall) Fields(s ...googleapi.Field) *JobsSearchCall { 7704 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7705 return c 7706} 7707 7708// Context sets the context to be used in this call's Do method. Any 7709// pending HTTP request will be aborted if the provided context is 7710// canceled. 7711func (c *JobsSearchCall) Context(ctx context.Context) *JobsSearchCall { 7712 c.ctx_ = ctx 7713 return c 7714} 7715 7716// Header returns an http.Header that can be modified by the caller to 7717// add HTTP headers to the request. 7718func (c *JobsSearchCall) Header() http.Header { 7719 if c.header_ == nil { 7720 c.header_ = make(http.Header) 7721 } 7722 return c.header_ 7723} 7724 7725func (c *JobsSearchCall) doRequest(alt string) (*http.Response, error) { 7726 reqHeaders := make(http.Header) 7727 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7728 for k, v := range c.header_ { 7729 reqHeaders[k] = v 7730 } 7731 reqHeaders.Set("User-Agent", c.s.userAgent()) 7732 var body io.Reader = nil 7733 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 7734 if err != nil { 7735 return nil, err 7736 } 7737 reqHeaders.Set("Content-Type", "application/json") 7738 c.urlParams_.Set("alt", alt) 7739 c.urlParams_.Set("prettyPrint", "false") 7740 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs:search") 7741 urls += "?" + c.urlParams_.Encode() 7742 req, err := http.NewRequest("POST", urls, body) 7743 if err != nil { 7744 return nil, err 7745 } 7746 req.Header = reqHeaders 7747 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7748} 7749 7750// Do executes the "jobs.jobs.search" call. 7751// Exactly one of *SearchJobsResponse or error will be non-nil. Any 7752// non-2xx status code is an error. Response headers are in either 7753// *SearchJobsResponse.ServerResponse.Header or (if a response was 7754// returned at all) in error.(*googleapi.Error).Header. Use 7755// googleapi.IsNotModified to check whether the returned error was 7756// because http.StatusNotModified was returned. 7757func (c *JobsSearchCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 7758 gensupport.SetOptions(c.urlParams_, opts...) 7759 res, err := c.doRequest("json") 7760 if res != nil && res.StatusCode == http.StatusNotModified { 7761 if res.Body != nil { 7762 res.Body.Close() 7763 } 7764 return nil, &googleapi.Error{ 7765 Code: res.StatusCode, 7766 Header: res.Header, 7767 } 7768 } 7769 if err != nil { 7770 return nil, err 7771 } 7772 defer googleapi.CloseBody(res) 7773 if err := googleapi.CheckResponse(res); err != nil { 7774 return nil, err 7775 } 7776 ret := &SearchJobsResponse{ 7777 ServerResponse: googleapi.ServerResponse{ 7778 Header: res.Header, 7779 HTTPStatusCode: res.StatusCode, 7780 }, 7781 } 7782 target := &ret 7783 if err := gensupport.DecodeResponse(target, res); err != nil { 7784 return nil, err 7785 } 7786 return ret, nil 7787 // { 7788 // "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs that the caller has\npermission to search against.", 7789 // "flatPath": "v2/jobs:search", 7790 // "httpMethod": "POST", 7791 // "id": "jobs.jobs.search", 7792 // "parameterOrder": [], 7793 // "parameters": {}, 7794 // "path": "v2/jobs:search", 7795 // "request": { 7796 // "$ref": "SearchJobsRequest" 7797 // }, 7798 // "response": { 7799 // "$ref": "SearchJobsResponse" 7800 // }, 7801 // "scopes": [ 7802 // "https://www.googleapis.com/auth/cloud-platform", 7803 // "https://www.googleapis.com/auth/jobs" 7804 // ] 7805 // } 7806 7807} 7808 7809// Pages invokes f for each page of results. 7810// A non-nil error returned from f will halt the iteration. 7811// The provided context supersedes any context provided to the Context method. 7812func (c *JobsSearchCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 7813 c.ctx_ = ctx 7814 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 7815 for { 7816 x, err := c.Do() 7817 if err != nil { 7818 return err 7819 } 7820 if err := f(x); err != nil { 7821 return err 7822 } 7823 if x.NextPageToken == "" { 7824 return nil 7825 } 7826 c.searchjobsrequest.PageToken = x.NextPageToken 7827 } 7828} 7829 7830// method id "jobs.jobs.searchForAlert": 7831 7832type JobsSearchForAlertCall struct { 7833 s *Service 7834 searchjobsrequest *SearchJobsRequest 7835 urlParams_ gensupport.URLParams 7836 ctx_ context.Context 7837 header_ http.Header 7838} 7839 7840// SearchForAlert: Searches for jobs using the provided 7841// SearchJobsRequest. 7842// 7843// This API call is intended for the use case of targeting passive 7844// job 7845// seekers (for example, job seekers who have signed up to receive 7846// email 7847// alerts about potential job opportunities), and has different 7848// algorithmic 7849// adjustments that are targeted to passive job seekers. 7850// 7851// This call constrains the visibility of jobs 7852// present in the database, and only returns jobs the caller 7853// has 7854// permission to search against. 7855func (r *JobsService) SearchForAlert(searchjobsrequest *SearchJobsRequest) *JobsSearchForAlertCall { 7856 c := &JobsSearchForAlertCall{s: r.s, urlParams_: make(gensupport.URLParams)} 7857 c.searchjobsrequest = searchjobsrequest 7858 return c 7859} 7860 7861// Fields allows partial responses to be retrieved. See 7862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 7863// for more information. 7864func (c *JobsSearchForAlertCall) Fields(s ...googleapi.Field) *JobsSearchForAlertCall { 7865 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 7866 return c 7867} 7868 7869// Context sets the context to be used in this call's Do method. Any 7870// pending HTTP request will be aborted if the provided context is 7871// canceled. 7872func (c *JobsSearchForAlertCall) Context(ctx context.Context) *JobsSearchForAlertCall { 7873 c.ctx_ = ctx 7874 return c 7875} 7876 7877// Header returns an http.Header that can be modified by the caller to 7878// add HTTP headers to the request. 7879func (c *JobsSearchForAlertCall) Header() http.Header { 7880 if c.header_ == nil { 7881 c.header_ = make(http.Header) 7882 } 7883 return c.header_ 7884} 7885 7886func (c *JobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) { 7887 reqHeaders := make(http.Header) 7888 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 7889 for k, v := range c.header_ { 7890 reqHeaders[k] = v 7891 } 7892 reqHeaders.Set("User-Agent", c.s.userAgent()) 7893 var body io.Reader = nil 7894 body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchjobsrequest) 7895 if err != nil { 7896 return nil, err 7897 } 7898 reqHeaders.Set("Content-Type", "application/json") 7899 c.urlParams_.Set("alt", alt) 7900 c.urlParams_.Set("prettyPrint", "false") 7901 urls := googleapi.ResolveRelative(c.s.BasePath, "v2/jobs:searchForAlert") 7902 urls += "?" + c.urlParams_.Encode() 7903 req, err := http.NewRequest("POST", urls, body) 7904 if err != nil { 7905 return nil, err 7906 } 7907 req.Header = reqHeaders 7908 return gensupport.SendRequest(c.ctx_, c.s.client, req) 7909} 7910 7911// Do executes the "jobs.jobs.searchForAlert" call. 7912// Exactly one of *SearchJobsResponse or error will be non-nil. Any 7913// non-2xx status code is an error. Response headers are in either 7914// *SearchJobsResponse.ServerResponse.Header or (if a response was 7915// returned at all) in error.(*googleapi.Error).Header. Use 7916// googleapi.IsNotModified to check whether the returned error was 7917// because http.StatusNotModified was returned. 7918func (c *JobsSearchForAlertCall) Do(opts ...googleapi.CallOption) (*SearchJobsResponse, error) { 7919 gensupport.SetOptions(c.urlParams_, opts...) 7920 res, err := c.doRequest("json") 7921 if res != nil && res.StatusCode == http.StatusNotModified { 7922 if res.Body != nil { 7923 res.Body.Close() 7924 } 7925 return nil, &googleapi.Error{ 7926 Code: res.StatusCode, 7927 Header: res.Header, 7928 } 7929 } 7930 if err != nil { 7931 return nil, err 7932 } 7933 defer googleapi.CloseBody(res) 7934 if err := googleapi.CheckResponse(res); err != nil { 7935 return nil, err 7936 } 7937 ret := &SearchJobsResponse{ 7938 ServerResponse: googleapi.ServerResponse{ 7939 Header: res.Header, 7940 HTTPStatusCode: res.StatusCode, 7941 }, 7942 } 7943 target := &ret 7944 if err := gensupport.DecodeResponse(target, res); err != nil { 7945 return nil, err 7946 } 7947 return ret, nil 7948 // { 7949 // "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis API call is intended for the use case of targeting passive job\nseekers (for example, job seekers who have signed up to receive email\nalerts about potential job opportunities), and has different algorithmic\nadjustments that are targeted to passive job seekers.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs the caller has\npermission to search against.", 7950 // "flatPath": "v2/jobs:searchForAlert", 7951 // "httpMethod": "POST", 7952 // "id": "jobs.jobs.searchForAlert", 7953 // "parameterOrder": [], 7954 // "parameters": {}, 7955 // "path": "v2/jobs:searchForAlert", 7956 // "request": { 7957 // "$ref": "SearchJobsRequest" 7958 // }, 7959 // "response": { 7960 // "$ref": "SearchJobsResponse" 7961 // }, 7962 // "scopes": [ 7963 // "https://www.googleapis.com/auth/cloud-platform", 7964 // "https://www.googleapis.com/auth/jobs" 7965 // ] 7966 // } 7967 7968} 7969 7970// Pages invokes f for each page of results. 7971// A non-nil error returned from f will halt the iteration. 7972// The provided context supersedes any context provided to the Context method. 7973func (c *JobsSearchForAlertCall) Pages(ctx context.Context, f func(*SearchJobsResponse) error) error { 7974 c.ctx_ = ctx 7975 defer func(pt string) { c.searchjobsrequest.PageToken = pt }(c.searchjobsrequest.PageToken) // reset paging to original point 7976 for { 7977 x, err := c.Do() 7978 if err != nil { 7979 return err 7980 } 7981 if err := f(x); err != nil { 7982 return err 7983 } 7984 if x.NextPageToken == "" { 7985 return nil 7986 } 7987 c.searchjobsrequest.PageToken = x.NextPageToken 7988 } 7989} 7990 7991// method id "jobs.complete": 7992 7993type V2CompleteCall struct { 7994 s *Service 7995 urlParams_ gensupport.URLParams 7996 ifNoneMatch_ string 7997 ctx_ context.Context 7998 header_ http.Header 7999} 8000 8001// Complete: Completes the specified prefix with job keyword 8002// suggestions. 8003// Intended for use by a job search auto-complete search box. 8004func (r *V2Service) Complete() *V2CompleteCall { 8005 c := &V2CompleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 8006 return c 8007} 8008 8009// CompanyName sets the optional parameter "companyName": If provided, 8010// restricts completion to the specified company. 8011func (c *V2CompleteCall) CompanyName(companyName string) *V2CompleteCall { 8012 c.urlParams_.Set("companyName", companyName) 8013 return c 8014} 8015 8016// LanguageCode sets the optional parameter "languageCode": Required. 8017// The language of the query. This is 8018// the BCP-47 language code, such as "en-US" or "sr-Latn". 8019// For more information, see 8020// [Tags for Identifying 8021// Languages](https://tools.ietf.org/html/bcp47). 8022// 8023// For CompletionType.JOB_TITLE type, only open jobs with 8024// same 8025// language_code are returned. 8026// 8027// For CompletionType.COMPANY_NAME type, 8028// only companies having open jobs with same language_code 8029// are 8030// returned. 8031// 8032// For CompletionType.COMBINED type, only open jobs with 8033// same 8034// language_code or companies having open jobs with same 8035// language_code are returned. 8036func (c *V2CompleteCall) LanguageCode(languageCode string) *V2CompleteCall { 8037 c.urlParams_.Set("languageCode", languageCode) 8038 return c 8039} 8040 8041// PageSize sets the optional parameter "pageSize": Required. Completion 8042// result count. 8043// The maximum allowed page size is 10. 8044func (c *V2CompleteCall) PageSize(pageSize int64) *V2CompleteCall { 8045 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 8046 return c 8047} 8048 8049// Query sets the optional parameter "query": Required. The query used 8050// to generate suggestions. 8051func (c *V2CompleteCall) Query(query string) *V2CompleteCall { 8052 c.urlParams_.Set("query", query) 8053 return c 8054} 8055 8056// Scope sets the optional parameter "scope": The scope of the 8057// completion. The defaults is CompletionScope.PUBLIC. 8058// 8059// Possible values: 8060// "COMPLETION_SCOPE_UNSPECIFIED" 8061// "TENANT" 8062// "PUBLIC" 8063func (c *V2CompleteCall) Scope(scope string) *V2CompleteCall { 8064 c.urlParams_.Set("scope", scope) 8065 return c 8066} 8067 8068// Type sets the optional parameter "type": The completion topic. The 8069// default is CompletionType.COMBINED. 8070// 8071// Possible values: 8072// "COMPLETION_TYPE_UNSPECIFIED" 8073// "JOB_TITLE" 8074// "COMPANY_NAME" 8075// "COMBINED" 8076func (c *V2CompleteCall) Type(type_ string) *V2CompleteCall { 8077 c.urlParams_.Set("type", type_) 8078 return c 8079} 8080 8081// Fields allows partial responses to be retrieved. See 8082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 8083// for more information. 8084func (c *V2CompleteCall) Fields(s ...googleapi.Field) *V2CompleteCall { 8085 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 8086 return c 8087} 8088 8089// IfNoneMatch sets the optional parameter which makes the operation 8090// fail if the object's ETag matches the given value. This is useful for 8091// getting updates only after the object has changed since the last 8092// request. Use googleapi.IsNotModified to check whether the response 8093// error from Do is the result of In-None-Match. 8094func (c *V2CompleteCall) IfNoneMatch(entityTag string) *V2CompleteCall { 8095 c.ifNoneMatch_ = entityTag 8096 return c 8097} 8098 8099// Context sets the context to be used in this call's Do method. Any 8100// pending HTTP request will be aborted if the provided context is 8101// canceled. 8102func (c *V2CompleteCall) Context(ctx context.Context) *V2CompleteCall { 8103 c.ctx_ = ctx 8104 return c 8105} 8106 8107// Header returns an http.Header that can be modified by the caller to 8108// add HTTP headers to the request. 8109func (c *V2CompleteCall) Header() http.Header { 8110 if c.header_ == nil { 8111 c.header_ = make(http.Header) 8112 } 8113 return c.header_ 8114} 8115 8116func (c *V2CompleteCall) doRequest(alt string) (*http.Response, error) { 8117 reqHeaders := make(http.Header) 8118 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 8119 for k, v := range c.header_ { 8120 reqHeaders[k] = v 8121 } 8122 reqHeaders.Set("User-Agent", c.s.userAgent()) 8123 if c.ifNoneMatch_ != "" { 8124 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 8125 } 8126 var body io.Reader = nil 8127 c.urlParams_.Set("alt", alt) 8128 c.urlParams_.Set("prettyPrint", "false") 8129 urls := googleapi.ResolveRelative(c.s.BasePath, "v2:complete") 8130 urls += "?" + c.urlParams_.Encode() 8131 req, err := http.NewRequest("GET", urls, body) 8132 if err != nil { 8133 return nil, err 8134 } 8135 req.Header = reqHeaders 8136 return gensupport.SendRequest(c.ctx_, c.s.client, req) 8137} 8138 8139// Do executes the "jobs.complete" call. 8140// Exactly one of *CompleteQueryResponse or error will be non-nil. Any 8141// non-2xx status code is an error. Response headers are in either 8142// *CompleteQueryResponse.ServerResponse.Header or (if a response was 8143// returned at all) in error.(*googleapi.Error).Header. Use 8144// googleapi.IsNotModified to check whether the returned error was 8145// because http.StatusNotModified was returned. 8146func (c *V2CompleteCall) Do(opts ...googleapi.CallOption) (*CompleteQueryResponse, error) { 8147 gensupport.SetOptions(c.urlParams_, opts...) 8148 res, err := c.doRequest("json") 8149 if res != nil && res.StatusCode == http.StatusNotModified { 8150 if res.Body != nil { 8151 res.Body.Close() 8152 } 8153 return nil, &googleapi.Error{ 8154 Code: res.StatusCode, 8155 Header: res.Header, 8156 } 8157 } 8158 if err != nil { 8159 return nil, err 8160 } 8161 defer googleapi.CloseBody(res) 8162 if err := googleapi.CheckResponse(res); err != nil { 8163 return nil, err 8164 } 8165 ret := &CompleteQueryResponse{ 8166 ServerResponse: googleapi.ServerResponse{ 8167 Header: res.Header, 8168 HTTPStatusCode: res.StatusCode, 8169 }, 8170 } 8171 target := &ret 8172 if err := gensupport.DecodeResponse(target, res); err != nil { 8173 return nil, err 8174 } 8175 return ret, nil 8176 // { 8177 // "description": "Completes the specified prefix with job keyword suggestions.\nIntended for use by a job search auto-complete search box.", 8178 // "flatPath": "v2:complete", 8179 // "httpMethod": "GET", 8180 // "id": "jobs.complete", 8181 // "parameterOrder": [], 8182 // "parameters": { 8183 // "companyName": { 8184 // "description": "Optional. If provided, restricts completion to the specified company.", 8185 // "location": "query", 8186 // "type": "string" 8187 // }, 8188 // "languageCode": { 8189 // "description": "Required. The language of the query. This is\nthe BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nFor CompletionType.JOB_TITLE type, only open jobs with same\nlanguage_code are returned.\n\nFor CompletionType.COMPANY_NAME type,\nonly companies having open jobs with same language_code are\nreturned.\n\nFor CompletionType.COMBINED type, only open jobs with same\nlanguage_code or companies having open jobs with same\nlanguage_code are returned.", 8190 // "location": "query", 8191 // "type": "string" 8192 // }, 8193 // "pageSize": { 8194 // "description": "Required. Completion result count.\nThe maximum allowed page size is 10.", 8195 // "format": "int32", 8196 // "location": "query", 8197 // "type": "integer" 8198 // }, 8199 // "query": { 8200 // "description": "Required. The query used to generate suggestions.", 8201 // "location": "query", 8202 // "type": "string" 8203 // }, 8204 // "scope": { 8205 // "description": "Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC.", 8206 // "enum": [ 8207 // "COMPLETION_SCOPE_UNSPECIFIED", 8208 // "TENANT", 8209 // "PUBLIC" 8210 // ], 8211 // "location": "query", 8212 // "type": "string" 8213 // }, 8214 // "type": { 8215 // "description": "Optional. The completion topic. The default is CompletionType.COMBINED.", 8216 // "enum": [ 8217 // "COMPLETION_TYPE_UNSPECIFIED", 8218 // "JOB_TITLE", 8219 // "COMPANY_NAME", 8220 // "COMBINED" 8221 // ], 8222 // "location": "query", 8223 // "type": "string" 8224 // } 8225 // }, 8226 // "path": "v2:complete", 8227 // "response": { 8228 // "$ref": "CompleteQueryResponse" 8229 // }, 8230 // "scopes": [ 8231 // "https://www.googleapis.com/auth/cloud-platform", 8232 // "https://www.googleapis.com/auth/jobs" 8233 // ] 8234 // } 8235 8236} 8237