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