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