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