blob: 6d08473ac16fbbea37e1cfcca02a80b49daea388 [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package jobs provides access to the Cloud Talent Solution API.
//
// For product documentation, see: https://cloud.google.com/talent-solution/job-search/docs/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/jobs/v3p1beta1"
// ...
// ctx := context.Background()
// jobsService, err := jobs.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// jobsService, err := jobs.NewService(ctx, option.WithScopes(jobs.JobsScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// jobsService, err := jobs.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// jobsService, err := jobs.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package jobs // import "google.golang.org/api/jobs/v3p1beta1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "jobs:v3p1beta1"
const apiName = "jobs"
const apiVersion = "v3p1beta1"
const basePath = "https://jobs.googleapis.com/"
const mtlsBasePath = "https://jobs.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// Manage job postings
JobsScope = "https://www.googleapis.com/auth/jobs"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/jobs",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.ClientEvents = NewProjectsClientEventsService(s)
rs.Companies = NewProjectsCompaniesService(s)
rs.Jobs = NewProjectsJobsService(s)
rs.Operations = NewProjectsOperationsService(s)
return rs
}
type ProjectsService struct {
s *Service
ClientEvents *ProjectsClientEventsService
Companies *ProjectsCompaniesService
Jobs *ProjectsJobsService
Operations *ProjectsOperationsService
}
func NewProjectsClientEventsService(s *Service) *ProjectsClientEventsService {
rs := &ProjectsClientEventsService{s: s}
return rs
}
type ProjectsClientEventsService struct {
s *Service
}
func NewProjectsCompaniesService(s *Service) *ProjectsCompaniesService {
rs := &ProjectsCompaniesService{s: s}
return rs
}
type ProjectsCompaniesService struct {
s *Service
}
func NewProjectsJobsService(s *Service) *ProjectsJobsService {
rs := &ProjectsJobsService{s: s}
return rs
}
type ProjectsJobsService struct {
s *Service
}
func NewProjectsOperationsService(s *Service) *ProjectsOperationsService {
rs := &ProjectsOperationsService{s: s}
return rs
}
type ProjectsOperationsService struct {
s *Service
}
// ApplicationInfo: Application related details of a job posting.
type ApplicationInfo struct {
// Emails: Optional but at least one of uris, emails or instruction must
// be specified. Use this field to specify email address(es) to which
// resumes or applications can be sent. The maximum number of allowed
// characters for each entry is 255.
Emails []string `json:"emails,omitempty"`
// Instruction: Optional but at least one of uris, emails or instruction
// must be specified. Use this field to provide instructions, such as
// "Mail your application to ...", that a candidate can follow to apply
// for the job. This field accepts and sanitizes HTML input, and also
// accepts bold, italic, ordered list, and unordered list markup tags.
// The maximum number of allowed characters is 3,000.
Instruction string `json:"instruction,omitempty"`
// Uris: Optional but at least one of uris, emails or instruction must
// be specified. Use this URI field to direct an applicant to a website,
// for example to link to an online application form. The maximum number
// of allowed characters for each entry is 2,000.
Uris []string `json:"uris,omitempty"`
// ForceSendFields is a list of field names (e.g. "Emails") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Emails") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ApplicationInfo) MarshalJSON() ([]byte, error) {
type NoMethod ApplicationInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchDeleteJobsRequest: Input only. Batch delete jobs request.
type BatchDeleteJobsRequest struct {
// Filter: Required. The filter string specifies the jobs to be deleted.
// Supported operator: =, AND The fields eligible for filtering are: *
// `companyName` (Required) * `requisitionId` (Required) Sample Query:
// companyName = "projects/api-test-project/companies/123" AND
// requisitionId = "req-1"
Filter string `json:"filter,omitempty"`
// ForceSendFields is a list of field names (e.g. "Filter") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Filter") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchDeleteJobsRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchDeleteJobsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BucketRange: Represents starting and ending value of a range in
// double.
type BucketRange struct {
// From: Starting value of the bucket range.
From float64 `json:"from,omitempty"`
// To: Ending value of the bucket range.
To float64 `json:"to,omitempty"`
// ForceSendFields is a list of field names (e.g. "From") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "From") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BucketRange) MarshalJSON() ([]byte, error) {
type NoMethod BucketRange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *BucketRange) UnmarshalJSON(data []byte) error {
type NoMethod BucketRange
var s1 struct {
From gensupport.JSONFloat64 `json:"from"`
To gensupport.JSONFloat64 `json:"to"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.From = float64(s1.From)
s.To = float64(s1.To)
return nil
}
// BucketizedCount: Represents count of jobs within one bucket.
type BucketizedCount struct {
// Count: Number of jobs whose numeric field value fall into `range`.
Count int64 `json:"count,omitempty"`
// Range: Bucket range on which histogram was performed for the numeric
// field, that is, the count represents number of jobs in this range.
Range *BucketRange `json:"range,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Count") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BucketizedCount) MarshalJSON() ([]byte, error) {
type NoMethod BucketizedCount
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClientEvent: An event issued when an end user interacts with the
// application that implements Cloud Talent Solution. Providing this
// information improves the quality of search and recommendation for the
// API clients, enabling the service to perform optimally. The number of
// events sent must be consistent with other calls, such as job
// searches, issued to the service by the client.
type ClientEvent struct {
// CreateTime: Required. The timestamp of the event.
CreateTime string `json:"createTime,omitempty"`
// EventId: Required. A unique identifier, generated by the client
// application. This `event_id` is used to establish the relationship
// between different events (see parent_event_id).
EventId string `json:"eventId,omitempty"`
// ExtraInfo: Optional. Extra information about this event. Used for
// storing information with no matching field in event payload, for
// example, user application specific context or details. At most 20
// keys are supported. The maximum total size of all keys and values is
// 2 KB.
ExtraInfo map[string]string `json:"extraInfo,omitempty"`
// JobEvent: A event issued when a job seeker interacts with the
// application that implements Cloud Talent Solution.
JobEvent *JobEvent `json:"jobEvent,omitempty"`
// ParentEventId: Optional. The event_id of an event that resulted in
// the current event. For example, a Job view event usually follows a
// parent impression event: A job seeker first does a search where a
// list of jobs appears (impression). The job seeker then selects a
// result and views the description of a particular job (Job view).
ParentEventId string `json:"parentEventId,omitempty"`
// RequestId: Required. A unique ID generated in the API responses. It
// can be found in ResponseMetadata.request_id.
RequestId string `json:"requestId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClientEvent) MarshalJSON() ([]byte, error) {
type NoMethod ClientEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommuteFilter: Input only. Parameters needed for commute search.
type CommuteFilter struct {
// AllowImpreciseAddresses: Optional. If true, jobs without "precise"
// addresses (street level addresses or GPS coordinates) might also be
// returned. For city and coarser level addresses, text matching is
// used. If this field is set to false or is not specified, only jobs
// that include precise addresses are returned by Commute Search. Note:
// If `allow_imprecise_addresses` is set to true, Commute Search is not
// able to calculate accurate commute times to jobs with city level and
// coarser address information. Jobs with imprecise addresses will
// return a `travel_duration` time of 0 regardless of distance from the
// job seeker.
AllowImpreciseAddresses bool `json:"allowImpreciseAddresses,omitempty"`
// CommuteMethod: Required. The method of transportation for which to
// calculate the commute time.
//
// Possible values:
// "COMMUTE_METHOD_UNSPECIFIED" - Commute method is not specified.
// "DRIVING" - Commute time is calculated based on driving time.
// "TRANSIT" - Commute time is calculated based on public transit
// including bus, metro, subway, etc.
// "WALKING" - Commute time is calculated based on walking time.
// "CYCLING" - Commute time is calculated based on biking time.
CommuteMethod string `json:"commuteMethod,omitempty"`
// DepartureTime: Optional. The departure time used to calculate traffic
// impact, represented as google.type.TimeOfDay in local time zone.
// Currently traffic model is restricted to hour level resolution.
DepartureTime *TimeOfDay `json:"departureTime,omitempty"`
// RoadTraffic: Optional. Specifies the traffic density to use when
// calculating commute time.
//
// Possible values:
// "ROAD_TRAFFIC_UNSPECIFIED" - Road traffic situation is not
// specified.
// "TRAFFIC_FREE" - Optimal commute time without considering any
// traffic impact.
// "BUSY_HOUR" - Commute time calculation takes in account the peak
// traffic impact.
RoadTraffic string `json:"roadTraffic,omitempty"`
// StartCoordinates: Required. The latitude and longitude of the
// location from which to calculate the commute time.
StartCoordinates *LatLng `json:"startCoordinates,omitempty"`
// TravelDuration: Required. The maximum travel time in seconds. The
// maximum allowed value is `3600s` (one hour). Format is `123s`.
TravelDuration string `json:"travelDuration,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AllowImpreciseAddresses") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowImpreciseAddresses")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CommuteFilter) MarshalJSON() ([]byte, error) {
type NoMethod CommuteFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommuteInfo: Output only. Commute details related to this job.
type CommuteInfo struct {
// JobLocation: Location used as the destination in the commute
// calculation.
JobLocation *Location `json:"jobLocation,omitempty"`
// TravelDuration: The number of seconds required to travel to the job
// location from the query location. A duration of 0 seconds indicates
// that the job is not reachable within the requested duration, but was
// returned as part of an expanded query.
TravelDuration string `json:"travelDuration,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobLocation") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobLocation") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommuteInfo) MarshalJSON() ([]byte, error) {
type NoMethod CommuteInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Company: A Company resource represents a company in the service. A
// company is the entity that owns job postings, that is, the hiring
// entity responsible for employing applicants for the job position.
type Company struct {
// CareerSiteUri: Optional. The URI to employer's career site or careers
// page on the employer's web site, for example,
// "https://careers.google.com".
CareerSiteUri string `json:"careerSiteUri,omitempty"`
// DerivedInfo: Output only. Derived details about the company.
DerivedInfo *CompanyDerivedInfo `json:"derivedInfo,omitempty"`
// DisplayName: Required. The display name of the company, for example,
// "Google LLC".
DisplayName string `json:"displayName,omitempty"`
// EeoText: Optional. Equal Employment Opportunity legal disclaimer text
// to be associated with all jobs, and typically to be displayed in all
// roles. The maximum number of allowed characters is 500.
EeoText string `json:"eeoText,omitempty"`
// ExternalId: Required. Client side company identifier, used to
// uniquely identify the company. The maximum number of allowed
// characters is 255.
ExternalId string `json:"externalId,omitempty"`
// HeadquartersAddress: Optional. The street address of the company's
// main headquarters, which may be different from the job location. The
// service attempts to geolocate the provided address, and populates a
// more specific location wherever possible in
// DerivedInfo.headquarters_location.
HeadquartersAddress string `json:"headquartersAddress,omitempty"`
// HiringAgency: Optional. Set to true if it is the hiring agency that
// post jobs for other employers. Defaults to false if not provided.
HiringAgency bool `json:"hiringAgency,omitempty"`
// ImageUri: Optional. A URI that hosts the employer's company logo.
ImageUri string `json:"imageUri,omitempty"`
// KeywordSearchableJobCustomAttributes: Optional. A list of keys of
// filterable Job.custom_attributes, whose corresponding `string_values`
// are used in keyword search. Jobs with `string_values` under these
// specified field keys are returned if any of the values matches the
// search keyword. Custom field values with parenthesis, brackets and
// special symbols won't be properly searchable, and those keyword
// queries need to be surrounded by quotes.
KeywordSearchableJobCustomAttributes []string `json:"keywordSearchableJobCustomAttributes,omitempty"`
// Name: 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".
Name string `json:"name,omitempty"`
// Size: Optional. The employer's company size.
//
// Possible values:
// "COMPANY_SIZE_UNSPECIFIED" - Default value if the size is not
// specified.
// "MINI" - The company has less than 50 employees.
// "SMALL" - The company has between 50 and 99 employees.
// "SMEDIUM" - The company has between 100 and 499 employees.
// "MEDIUM" - The company has between 500 and 999 employees.
// "BIG" - The company has between 1,000 and 4,999 employees.
// "BIGGER" - The company has between 5,000 and 9,999 employees.
// "GIANT" - The company has 10,000 or more employees.
Size string `json:"size,omitempty"`
// Suspended: Output only. Indicates whether a company is flagged to be
// suspended from public availability by the service when job content
// appears suspicious, abusive, or spammy.
Suspended bool `json:"suspended,omitempty"`
// WebsiteUri: Optional. The URI representing the company's primary web
// site or home page, for example, "https://www.google.com". The maximum
// number of allowed characters is 255.
WebsiteUri string `json:"websiteUri,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CareerSiteUri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CareerSiteUri") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Company) MarshalJSON() ([]byte, error) {
type NoMethod Company
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompanyDerivedInfo: Derived details about the company.
type CompanyDerivedInfo struct {
// HeadquartersLocation: A structured headquarters location of the
// company, resolved from Company.hq_location if provided.
HeadquartersLocation *Location `json:"headquartersLocation,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "HeadquartersLocation") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HeadquartersLocation") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CompanyDerivedInfo) MarshalJSON() ([]byte, error) {
type NoMethod CompanyDerivedInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompensationEntry: A compensation entry that represents one component
// of compensation, such as base pay, bonus, or other compensation type.
// Annualization: One compensation entry can be annualized if - it
// contains valid amount or range. - and its expected_units_per_year is
// set or can be derived. Its annualized range is determined as (amount
// or range) times expected_units_per_year.
type CompensationEntry struct {
// Amount: Optional. Compensation amount.
Amount *Money `json:"amount,omitempty"`
// Description: Optional. Compensation description. For example, could
// indicate equity terms or provide additional context to an estimated
// bonus.
Description string `json:"description,omitempty"`
// ExpectedUnitsPerYear: Optional. Expected number of units paid each
// year. If not specified, when Job.employment_types is FULLTIME, a
// default value is inferred based on unit. Default values: - HOURLY:
// 2080 - DAILY: 260 - WEEKLY: 52 - MONTHLY: 12 - ANNUAL: 1
ExpectedUnitsPerYear float64 `json:"expectedUnitsPerYear,omitempty"`
// Range: Optional. Compensation range.
Range *CompensationRange `json:"range,omitempty"`
// Type: Optional. Compensation type. Default is
// CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
//
// Possible values:
// "COMPENSATION_TYPE_UNSPECIFIED" - Default value.
// "BASE" - Base compensation: Refers to the fixed amount of money
// paid to an employee by an employer in return for work performed. Base
// compensation does not include benefits, bonuses or any other
// potential compensation from an employer.
// "BONUS" - Bonus.
// "SIGNING_BONUS" - Signing bonus.
// "EQUITY" - Equity.
// "PROFIT_SHARING" - Profit sharing.
// "COMMISSIONS" - Commission.
// "TIPS" - Tips.
// "OTHER_COMPENSATION_TYPE" - Other compensation type.
Type string `json:"type,omitempty"`
// Unit: Optional. Frequency of the specified amount. Default is
// CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
//
// Possible values:
// "COMPENSATION_UNIT_UNSPECIFIED" - Default value.
// "HOURLY" - Hourly.
// "DAILY" - Daily.
// "WEEKLY" - Weekly
// "MONTHLY" - Monthly.
// "YEARLY" - Yearly.
// "ONE_TIME" - One time.
// "OTHER_COMPENSATION_UNIT" - Other compensation units.
Unit string `json:"unit,omitempty"`
// ForceSendFields is a list of field names (e.g. "Amount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Amount") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompensationEntry) MarshalJSON() ([]byte, error) {
type NoMethod CompensationEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *CompensationEntry) UnmarshalJSON(data []byte) error {
type NoMethod CompensationEntry
var s1 struct {
ExpectedUnitsPerYear gensupport.JSONFloat64 `json:"expectedUnitsPerYear"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ExpectedUnitsPerYear = float64(s1.ExpectedUnitsPerYear)
return nil
}
// CompensationFilter: Input only. Filter on job compensation type and
// amount.
type CompensationFilter struct {
// IncludeJobsWithUnspecifiedCompensationRange: Optional. If set to
// true, jobs with unspecified compensation range fields are included.
IncludeJobsWithUnspecifiedCompensationRange bool `json:"includeJobsWithUnspecifiedCompensationRange,omitempty"`
// Range: Optional. Compensation range.
Range *CompensationRange `json:"range,omitempty"`
// Type: Required. Type of filter.
//
// Possible values:
// "FILTER_TYPE_UNSPECIFIED" - Filter type unspecified. Position
// holder, INVALID, should never be used.
// "UNIT_ONLY" - Filter by `base compensation entry's` unit. A job is
// a match if and only if the job contains a base CompensationEntry and
// the base CompensationEntry's unit matches provided units. Populate
// one or more units. See CompensationInfo.CompensationEntry for
// definition of base compensation entry.
// "UNIT_AND_AMOUNT" - Filter by `base compensation entry's` unit and
// amount / range. A job is a match if and only if the job contains a
// base CompensationEntry, and the base entry's unit matches provided
// compensation_units and amount or range overlaps with provided
// compensation_range. See CompensationInfo.CompensationEntry for
// definition of base compensation entry. Set exactly one units and
// populate range.
// "ANNUALIZED_BASE_AMOUNT" - Filter by annualized base compensation
// amount and `base compensation entry's` unit. Populate range and zero
// or more units.
// "ANNUALIZED_TOTAL_AMOUNT" - Filter by annualized total compensation
// amount and `base compensation entry's` unit . Populate range and zero
// or more units.
Type string `json:"type,omitempty"`
// Units: Required. Specify desired `base compensation entry's`
// CompensationInfo.CompensationUnit.
//
// Possible values:
// "COMPENSATION_UNIT_UNSPECIFIED" - Default value.
// "HOURLY" - Hourly.
// "DAILY" - Daily.
// "WEEKLY" - Weekly
// "MONTHLY" - Monthly.
// "YEARLY" - Yearly.
// "ONE_TIME" - One time.
// "OTHER_COMPENSATION_UNIT" - Other compensation units.
Units []string `json:"units,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "IncludeJobsWithUnspecifiedCompensationRange") to unconditionally
// include in API requests. By default, fields with empty values are
// omitted from API requests. However, any non-pointer, non-interface
// field appearing in ForceSendFields will be sent to the server
// regardless of whether the field is empty or not. This may be used to
// include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "IncludeJobsWithUnspecifiedCompensationRange") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompensationFilter) MarshalJSON() ([]byte, error) {
type NoMethod CompensationFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompensationHistogramRequest: Input only. Compensation based
// histogram request.
type CompensationHistogramRequest struct {
// BucketingOption: Required. Numeric histogram options, like buckets,
// whether include min or max value.
BucketingOption *NumericBucketingOption `json:"bucketingOption,omitempty"`
// Type: Required. Type of the request, representing which field the
// histogramming should be performed over. A single request can only
// specify one histogram of each `CompensationHistogramRequestType`.
//
// Possible values:
// "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value.
// Invalid.
// "BASE" - Histogram by job's base compensation. See
// CompensationEntry for definition of base compensation.
// "ANNUALIZED_BASE" - Histogram by job's annualized base
// compensation. See CompensationEntry for definition of annualized base
// compensation.
// "ANNUALIZED_TOTAL" - Histogram by job's annualized total
// compensation. See CompensationEntry for definition of annualized
// total compensation.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "BucketingOption") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BucketingOption") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CompensationHistogramRequest) MarshalJSON() ([]byte, error) {
type NoMethod CompensationHistogramRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompensationHistogramResult: Output only. Compensation based
// histogram result.
type CompensationHistogramResult struct {
// Result: Histogram result.
Result *NumericBucketingResult `json:"result,omitempty"`
// Type: Type of the request, corresponding to
// CompensationHistogramRequest.type.
//
// Possible values:
// "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED" - Default value.
// Invalid.
// "BASE" - Histogram by job's base compensation. See
// CompensationEntry for definition of base compensation.
// "ANNUALIZED_BASE" - Histogram by job's annualized base
// compensation. See CompensationEntry for definition of annualized base
// compensation.
// "ANNUALIZED_TOTAL" - Histogram by job's annualized total
// compensation. See CompensationEntry for definition of annualized
// total compensation.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Result") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Result") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompensationHistogramResult) MarshalJSON() ([]byte, error) {
type NoMethod CompensationHistogramResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompensationInfo: Job compensation details.
type CompensationInfo struct {
// AnnualizedBaseCompensationRange: Output only. Annualized base
// compensation range. Computed as base compensation entry's
// CompensationEntry.compensation times
// CompensationEntry.expected_units_per_year. See CompensationEntry for
// explanation on compensation annualization.
AnnualizedBaseCompensationRange *CompensationRange `json:"annualizedBaseCompensationRange,omitempty"`
// AnnualizedTotalCompensationRange: Output only. Annualized total
// compensation range. Computed as all compensation entries'
// CompensationEntry.compensation times
// CompensationEntry.expected_units_per_year. See CompensationEntry for
// explanation on compensation annualization.
AnnualizedTotalCompensationRange *CompensationRange `json:"annualizedTotalCompensationRange,omitempty"`
// Entries: Optional. Job compensation information. At most one entry
// can be of type CompensationInfo.CompensationType.BASE, which is
// referred as ** base compensation entry ** for the job.
Entries []*CompensationEntry `json:"entries,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AnnualizedBaseCompensationRange") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "AnnualizedBaseCompensationRange") to include in API requests with
// the JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompensationInfo) MarshalJSON() ([]byte, error) {
type NoMethod CompensationInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompensationRange: Compensation range.
type CompensationRange struct {
// MaxCompensation: Optional. The maximum amount of compensation. If
// left empty, the value is set to a maximal compensation value and the
// currency code is set to match the currency code of min_compensation.
MaxCompensation *Money `json:"maxCompensation,omitempty"`
// MinCompensation: Optional. The minimum amount of compensation. If
// left empty, the value is set to zero and the currency code is set to
// match the currency code of max_compensation.
MinCompensation *Money `json:"minCompensation,omitempty"`
// ForceSendFields is a list of field names (e.g. "MaxCompensation") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MaxCompensation") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CompensationRange) MarshalJSON() ([]byte, error) {
type NoMethod CompensationRange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompleteQueryResponse: Output only. Response of auto-complete query.
type CompleteQueryResponse struct {
// CompletionResults: Results of the matching job/company candidates.
CompletionResults []*CompletionResult `json:"completionResults,omitempty"`
// Metadata: Additional information for the API invocation, such as the
// request tracking id.
Metadata *ResponseMetadata `json:"metadata,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompletionResults")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletionResults") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CompleteQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod CompleteQueryResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompletionResult: Output only. Resource that represents completion
// results.
type CompletionResult struct {
// ImageUri: The URI of the company image for
// CompletionType.COMPANY_NAME.
ImageUri string `json:"imageUri,omitempty"`
// Suggestion: The suggestion for the query.
Suggestion string `json:"suggestion,omitempty"`
// Type: The completion topic.
//
// Possible values:
// "COMPLETION_TYPE_UNSPECIFIED" - Default value.
// "JOB_TITLE" - Only suggest job titles.
// "COMPANY_NAME" - Only suggest company names.
// "COMBINED" - Suggest both job titles and company names.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImageUri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImageUri") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompletionResult) MarshalJSON() ([]byte, error) {
type NoMethod CompletionResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateClientEventRequest: The report event request.
type CreateClientEventRequest struct {
// ClientEvent: Required. Events issued when end user interacts with
// customer's application that uses Cloud Talent Solution.
ClientEvent *ClientEvent `json:"clientEvent,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClientEvent") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClientEvent") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateClientEventRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateClientEventRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateCompanyRequest: Input only. The Request of the CreateCompany
// method.
type CreateCompanyRequest struct {
// Company: Required. The company to be created.
Company *Company `json:"company,omitempty"`
// ForceSendFields is a list of field names (e.g. "Company") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Company") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateCompanyRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateCompanyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateJobRequest: Input only. Create job request.
type CreateJobRequest struct {
// Job: Required. The Job to be created.
Job *Job `json:"job,omitempty"`
// ForceSendFields is a list of field names (e.g. "Job") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Job") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateJobRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateJobRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CustomAttribute: Custom attribute values that are either filterable
// or non-filterable.
type CustomAttribute struct {
// Filterable: Optional. If the `filterable` flag is true, the custom
// field values may be used for custom attribute filters
// JobQuery.custom_attribute_filter. If false, these values may not be
// used for custom attribute filters. Default is false.
Filterable bool `json:"filterable,omitempty"`
// LongValues: Optional but exactly one of string_values or long_values
// must be specified. This field is used to perform number range search.
// (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
// Currently at most 1 long_values is supported.
LongValues googleapi.Int64s `json:"longValues,omitempty"`
// StringValues: Optional but exactly one of string_values or
// long_values must be specified. This field is used to perform a string
// match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search.
// For filterable `string_value`s, a maximum total number of 200 values
// is allowed, with each `string_value` has a byte size of no more than
// 500B. For unfilterable `string_values`, the maximum total byte size
// of unfilterable `string_values` is 50KB. Empty string is not allowed.
StringValues []string `json:"stringValues,omitempty"`
// ForceSendFields is a list of field names (e.g. "Filterable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Filterable") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CustomAttribute) MarshalJSON() ([]byte, error) {
type NoMethod CustomAttribute
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CustomAttributeHistogramRequest: Custom attributes histogram request.
// An error is thrown if neither string_value_histogram or
// long_value_histogram_bucketing_option has been defined.
type CustomAttributeHistogramRequest struct {
// Key: Required. Specifies the custom field key to perform a histogram
// on. If specified without `long_value_histogram_bucketing_option`,
// histogram on string values of the given `key` is triggered, otherwise
// histogram is performed on long values.
Key string `json:"key,omitempty"`
// LongValueHistogramBucketingOption: Optional. Specifies buckets used
// to perform a range histogram on Job's filterable long custom field
// values, or min/max value requirements.
LongValueHistogramBucketingOption *NumericBucketingOption `json:"longValueHistogramBucketingOption,omitempty"`
// StringValueHistogram: Optional. If set to true, the response includes
// the histogram value for each key as a string.
StringValueHistogram bool `json:"stringValueHistogram,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CustomAttributeHistogramRequest) MarshalJSON() ([]byte, error) {
type NoMethod CustomAttributeHistogramRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CustomAttributeHistogramResult: Output only. Custom attribute
// histogram result.
type CustomAttributeHistogramResult struct {
// Key: Stores the key of custom attribute the histogram is performed
// on.
Key string `json:"key,omitempty"`
// LongValueHistogramResult: Stores bucketed histogram counting result
// or min/max values for custom attribute long values associated with
// `key`.
LongValueHistogramResult *NumericBucketingResult `json:"longValueHistogramResult,omitempty"`
// StringValueHistogramResult: Stores a map from the values of string
// custom field associated with `key` to the number of jobs with that
// value in this histogram result.
StringValueHistogramResult map[string]int64 `json:"stringValueHistogramResult,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CustomAttributeHistogramResult) MarshalJSON() ([]byte, error) {
type NoMethod CustomAttributeHistogramResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CustomRankingInfo: Input only. Custom ranking information for
// SearchJobsRequest.
type CustomRankingInfo struct {
// ImportanceLevel: Required. Controls over how important the score of
// CustomRankingInfo.ranking_expression gets applied to job's final
// ranking position. An error is thrown if not specified.
//
// Possible values:
// "IMPORTANCE_LEVEL_UNSPECIFIED" - Default value if the importance
// level is not specified.
// "NONE" - The given ranking expression is of None importance,
// existing relevance score (determined by API algorithm) dominates
// job's final ranking position.
// "LOW" - The given ranking expression is of Low importance in terms
// of job's final ranking position compared to existing relevance score
// (determined by API algorithm).
// "MILD" - The given ranking expression is of Mild importance in
// terms of job's final ranking position compared to existing relevance
// score (determined by API algorithm).
// "MEDIUM" - The given ranking expression is of Medium importance in
// terms of job's final ranking position compared to existing relevance
// score (determined by API algorithm).
// "HIGH" - The given ranking expression is of High importance in
// terms of job's final ranking position compared to existing relevance
// score (determined by API algorithm).
// "EXTREME" - The given ranking expression is of Extreme importance,
// and dominates job's final ranking position with existing relevance
// score (determined by API algorithm) ignored.
ImportanceLevel string `json:"importanceLevel,omitempty"`
// RankingExpression: Required. Controls over how job documents get
// ranked on top of existing relevance score (determined by API
// algorithm). A combination of the ranking expression and relevance
// score is used to determine job's final ranking position. The syntax
// for this expression is a subset of Google SQL syntax. Supported
// operators are: +, -, *, /, where the left and right side of the
// operator is either a numeric Job.custom_attributes key,
// integer/double value or an expression that can be evaluated to a
// number. Parenthesis are supported to adjust calculation precedence.
// The expression must be < 100 characters in length. The expression is
// considered invalid for a job if the expression references custom
// attributes that are not populated on the job or if the expression
// results in a divide by zero. If an expression is invalid for a job,
// that job is demoted to the end of the results. Sample ranking
// expression (year + 25) * 0.25 - (freshness / 0.5)
RankingExpression string `json:"rankingExpression,omitempty"`
// ForceSendFields is a list of field names (e.g. "ImportanceLevel") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ImportanceLevel") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CustomRankingInfo) MarshalJSON() ([]byte, error) {
type NoMethod CustomRankingInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeviceInfo: Device information collected from the job seeker,
// candidate, or other entity conducting the job search. Providing this
// information improves the quality of the search results across
// devices.
type DeviceInfo struct {
// DeviceType: Optional. Type of the device.
//
// Possible values:
// "DEVICE_TYPE_UNSPECIFIED" - The device type isn't specified.
// "WEB" - A desktop web browser, such as, Chrome, Firefox, Safari, or
// Internet Explorer)
// "MOBILE_WEB" - A mobile device web browser, such as a phone or
// tablet with a Chrome browser.
// "ANDROID" - An Android device native application.
// "IOS" - An iOS device native application.
// "BOT" - A bot, as opposed to a device operated by human beings,
// such as a web crawler.
// "OTHER" - Other devices types.
DeviceType string `json:"deviceType,omitempty"`
// Id: Optional. A device-specific ID. The ID must be a unique
// identifier that distinguishes the device from other devices.
Id string `json:"id,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeviceType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DeviceType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeviceInfo) MarshalJSON() ([]byte, error) {
type NoMethod DeviceInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use
// it as the request or the response type of an API method. For
// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty); } The JSON representation for `Empty` is
// empty JSON object `{}`.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// GoogleCloudTalentV4BatchCreateJobsResponse: The result of
// JobService.BatchCreateJobs. It's used to replace
// google.longrunning.Operation.response in case of success.
type GoogleCloudTalentV4BatchCreateJobsResponse struct {
// JobResults: List of job mutation results from a batch create
// operation. It can change until operation status is FINISHED, FAILED
// or CANCELLED.
JobResults []*GoogleCloudTalentV4JobResult `json:"jobResults,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobResults") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobResults") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4BatchCreateJobsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4BatchCreateJobsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4BatchDeleteJobsResponse: The result of
// JobService.BatchDeleteJobs. It's used to replace
// google.longrunning.Operation.response in case of success.
type GoogleCloudTalentV4BatchDeleteJobsResponse struct {
// JobResults: List of job mutation results from a batch delete
// operation. It can change until operation status is FINISHED, FAILED
// or CANCELLED.
JobResults []*GoogleCloudTalentV4JobResult `json:"jobResults,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobResults") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobResults") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4BatchDeleteJobsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4BatchDeleteJobsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4BatchOperationMetadata: Metadata used for long
// running operations returned by CTS batch APIs. It's used to replace
// google.longrunning.Operation.metadata.
type GoogleCloudTalentV4BatchOperationMetadata struct {
// CreateTime: The time when the batch operation is created.
CreateTime string `json:"createTime,omitempty"`
// EndTime: The time when the batch operation is finished and
// google.longrunning.Operation.done is set to `true`.
EndTime string `json:"endTime,omitempty"`
// FailureCount: Count of failed item(s) inside an operation.
FailureCount int64 `json:"failureCount,omitempty"`
// State: The state of a long running operation.
//
// Possible values:
// "STATE_UNSPECIFIED" - Default value.
// "INITIALIZING" - The batch operation is being prepared for
// processing.
// "PROCESSING" - The batch operation is actively being processed.
// "SUCCEEDED" - The batch operation is processed, and at least one
// item has been successfully processed.
// "FAILED" - The batch operation is done and no item has been
// successfully processed.
// "CANCELLING" - The batch operation is in the process of cancelling
// after google.longrunning.Operations.CancelOperation is called.
// "CANCELLED" - The batch operation is done after
// google.longrunning.Operations.CancelOperation is called. Any items
// processed before cancelling are returned in the response.
State string `json:"state,omitempty"`
// StateDescription: More detailed information about operation state.
StateDescription string `json:"stateDescription,omitempty"`
// SuccessCount: Count of successful item(s) inside an operation.
SuccessCount int64 `json:"successCount,omitempty"`
// TotalCount: Count of total item(s) inside an operation.
TotalCount int64 `json:"totalCount,omitempty"`
// UpdateTime: The time when the batch operation status is updated. The
// metadata and the update_time is refreshed every minute otherwise
// cached data is returned.
UpdateTime string `json:"updateTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4BatchOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4BatchOperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4BatchUpdateJobsResponse: The result of
// JobService.BatchUpdateJobs. It's used to replace
// google.longrunning.Operation.response in case of success.
type GoogleCloudTalentV4BatchUpdateJobsResponse struct {
// JobResults: List of job mutation results from a batch update
// operation. It can change until operation status is FINISHED, FAILED
// or CANCELLED.
JobResults []*GoogleCloudTalentV4JobResult `json:"jobResults,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobResults") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobResults") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4BatchUpdateJobsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4BatchUpdateJobsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4CompensationInfo: Job compensation details.
type GoogleCloudTalentV4CompensationInfo struct {
// AnnualizedBaseCompensationRange: Output only. Annualized base
// compensation range. Computed as base compensation entry's
// CompensationEntry.amount times
// CompensationEntry.expected_units_per_year. See CompensationEntry for
// explanation on compensation annualization.
AnnualizedBaseCompensationRange *GoogleCloudTalentV4CompensationInfoCompensationRange `json:"annualizedBaseCompensationRange,omitempty"`
// AnnualizedTotalCompensationRange: Output only. Annualized total
// compensation range. Computed as all compensation entries'
// CompensationEntry.amount times
// CompensationEntry.expected_units_per_year. See CompensationEntry for
// explanation on compensation annualization.
AnnualizedTotalCompensationRange *GoogleCloudTalentV4CompensationInfoCompensationRange `json:"annualizedTotalCompensationRange,omitempty"`
// Entries: Job compensation information. At most one entry can be of
// type CompensationInfo.CompensationType.BASE, which is referred as
// **base compensation entry** for the job.
Entries []*GoogleCloudTalentV4CompensationInfoCompensationEntry `json:"entries,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AnnualizedBaseCompensationRange") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "AnnualizedBaseCompensationRange") to include in API requests with
// the JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4CompensationInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4CompensationInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4CompensationInfoCompensationEntry: A compensation
// entry that represents one component of compensation, such as base
// pay, bonus, or other compensation type. Annualization: One
// compensation entry can be annualized if - it contains valid amount or
// range. - and its expected_units_per_year is set or can be derived.
// Its annualized range is determined as (amount or range) times
// expected_units_per_year.
type GoogleCloudTalentV4CompensationInfoCompensationEntry struct {
// Amount: Compensation amount.
Amount *Money `json:"amount,omitempty"`
// Description: Compensation description. For example, could indicate
// equity terms or provide additional context to an estimated bonus.
Description string `json:"description,omitempty"`
// ExpectedUnitsPerYear: Expected number of units paid each year. If not
// specified, when Job.employment_types is FULLTIME, a default value is
// inferred based on unit. Default values: - HOURLY: 2080 - DAILY: 260 -
// WEEKLY: 52 - MONTHLY: 12 - ANNUAL: 1
ExpectedUnitsPerYear float64 `json:"expectedUnitsPerYear,omitempty"`
// Range: Compensation range.
Range *GoogleCloudTalentV4CompensationInfoCompensationRange `json:"range,omitempty"`
// Type: Compensation type. Default is
// CompensationType.COMPENSATION_TYPE_UNSPECIFIED.
//
// Possible values:
// "COMPENSATION_TYPE_UNSPECIFIED" - Default value.
// "BASE" - Base compensation: Refers to the fixed amount of money
// paid to an employee by an employer in return for work performed. Base
// compensation does not include benefits, bonuses or any other
// potential compensation from an employer.
// "BONUS" - Bonus.
// "SIGNING_BONUS" - Signing bonus.
// "EQUITY" - Equity.
// "PROFIT_SHARING" - Profit sharing.
// "COMMISSIONS" - Commission.
// "TIPS" - Tips.
// "OTHER_COMPENSATION_TYPE" - Other compensation type.
Type string `json:"type,omitempty"`
// Unit: Frequency of the specified amount. Default is
// CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
//
// Possible values:
// "COMPENSATION_UNIT_UNSPECIFIED" - Default value.
// "HOURLY" - Hourly.
// "DAILY" - Daily.
// "WEEKLY" - Weekly
// "MONTHLY" - Monthly.
// "YEARLY" - Yearly.
// "ONE_TIME" - One time.
// "OTHER_COMPENSATION_UNIT" - Other compensation units.
Unit string `json:"unit,omitempty"`
// ForceSendFields is a list of field names (e.g. "Amount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Amount") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4CompensationInfoCompensationEntry) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4CompensationInfoCompensationEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudTalentV4CompensationInfoCompensationEntry) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudTalentV4CompensationInfoCompensationEntry
var s1 struct {
ExpectedUnitsPerYear gensupport.JSONFloat64 `json:"expectedUnitsPerYear"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ExpectedUnitsPerYear = float64(s1.ExpectedUnitsPerYear)
return nil
}
// GoogleCloudTalentV4CompensationInfoCompensationRange: Compensation
// range.
type GoogleCloudTalentV4CompensationInfoCompensationRange struct {
// MaxCompensation: The maximum amount of compensation. If left empty,
// the value is set to a maximal compensation value and the currency
// code is set to match the currency code of min_compensation.
MaxCompensation *Money `json:"maxCompensation,omitempty"`
// MinCompensation: The minimum amount of compensation. If left empty,
// the value is set to zero and the currency code is set to match the
// currency code of max_compensation.
MinCompensation *Money `json:"minCompensation,omitempty"`
// ForceSendFields is a list of field names (e.g. "MaxCompensation") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MaxCompensation") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4CompensationInfoCompensationRange) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4CompensationInfoCompensationRange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4CustomAttribute: Custom attribute values that are
// either filterable or non-filterable.
type GoogleCloudTalentV4CustomAttribute struct {
// Filterable: If the `filterable` flag is true, the custom field values
// may be used for custom attribute filters
// JobQuery.custom_attribute_filter. If false, these values may not be
// used for custom attribute filters. Default is false.
Filterable bool `json:"filterable,omitempty"`
// KeywordSearchable: If the `keyword_searchable` flag is true, the
// keywords in custom fields are searchable by keyword match. If false,
// the values are not searchable by keyword match. Default is false.
KeywordSearchable bool `json:"keywordSearchable,omitempty"`
// LongValues: Exactly one of string_values or long_values must be
// specified. This field is used to perform number range search. (`EQ`,
// `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at
// most 1 long_values is supported.
LongValues googleapi.Int64s `json:"longValues,omitempty"`
// StringValues: Exactly one of string_values or long_values must be
// specified. This field is used to perform a string match
// (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For
// filterable `string_value`s, a maximum total number of 200 values is
// allowed, with each `string_value` has a byte size of no more than
// 500B. For unfilterable `string_values`, the maximum total byte size
// of unfilterable `string_values` is 50KB. Empty string isn't allowed.
StringValues []string `json:"stringValues,omitempty"`
// ForceSendFields is a list of field names (e.g. "Filterable") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Filterable") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4CustomAttribute) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4CustomAttribute
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4Job: A Job resource represents a job posting (also
// referred to as a "job listing" or "job requisition"). A job belongs
// to a Company, which is the hiring entity responsible for the job.
type GoogleCloudTalentV4Job struct {
// Addresses: Strongly recommended for the best service experience.
// Location(s) where the employer is looking to hire for this job
// posting. Specifying the full street address(es) of the hiring
// location enables better API results, especially job searches by
// commute time. At most 50 locations are allowed for best search
// performance. If a job has more locations, it is suggested to split it
// into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes
// 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
// company, language_code and requisition_id are not allowed. If the
// original requisition_id must be preserved, a custom field should be
// used for storage. It is also suggested to group the locations that
// close to each other in the same job for better search experience. The
// maximum number of allowed characters is 500.
Addresses []string `json:"addresses,omitempty"`
// ApplicationInfo: Job application information.
ApplicationInfo *GoogleCloudTalentV4JobApplicationInfo `json:"applicationInfo,omitempty"`
// Company: Required. The resource name of the company listing the job.
// The format is
// "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}".
// For example, "projects/foo/tenants/bar/companies/baz".
Company string `json:"company,omitempty"`
// CompanyDisplayName: Output only. Display name of the company listing
// the job.
CompanyDisplayName string `json:"companyDisplayName,omitempty"`
// CompensationInfo: Job compensation information (a.k.a. "pay rate")
// i.e., the compensation that will paid to the employee.
CompensationInfo *GoogleCloudTalentV4CompensationInfo `json:"compensationInfo,omitempty"`
// CustomAttributes: A map of fields to hold both filterable and
// non-filterable custom job attributes that are not covered by the
// provided structured fields. The keys of the map are strings up to 64
// bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis
// or KEY_1_LIKE_THIS. At most 100 filterable and at most 100
// unfilterable keys are supported. For filterable `string_values`,
// across all keys at most 200 values are allowed, with each string no
// more than 255 characters. For unfilterable `string_values`, the
// maximum total size of `string_values` across all keys is 50KB.
CustomAttributes map[string]GoogleCloudTalentV4CustomAttribute `json:"customAttributes,omitempty"`
// DegreeTypes: The desired education degrees for the job, such as
// Bachelors, Masters.
//
// Possible values:
// "DEGREE_TYPE_UNSPECIFIED" - Default value. Represents no degree, or
// early childhood education. Maps to ISCED code 0. Ex) Kindergarten
// "PRIMARY_EDUCATION" - Primary education which is typically the
// first stage of compulsory education. ISCED code 1. Ex) Elementary
// school
// "LOWER_SECONDARY_EDUCATION" - Lower secondary education; First
// stage of secondary education building on primary education, typically
// with a more subject-oriented curriculum. ISCED code 2. Ex) Middle
// school
// "UPPER_SECONDARY_EDUCATION" - Middle education; Second/final stage
// of secondary education preparing for tertiary education and/or
// providing skills relevant to employment. Usually with an increased
// range of subject options and streams. ISCED code 3. Ex) High school
// "ADULT_REMEDIAL_EDUCATION" - Adult Remedial Education; Programmes
// providing learning experiences that build on secondary education and
// prepare for labour market entry and/or tertiary education. The
// content is broader than secondary but not as complex as tertiary
// education. ISCED code 4.
// "ASSOCIATES_OR_EQUIVALENT" - Associate's or equivalent; Short first
// tertiary programmes that are typically practically-based,
// occupationally-specific and prepare for labour market entry. These
// programmes may also provide a pathway to other tertiary programmes.
// ISCED code 5.
// "BACHELORS_OR_EQUIVALENT" - Bachelor's or equivalent; Programmes
// designed to provide intermediate academic and/or professional
// knowledge, skills and competencies leading to a first tertiary degree
// or equivalent qualification. ISCED code 6.
// "MASTERS_OR_EQUIVALENT" - Master's or equivalent; Programmes
// designed to provide advanced academic and/or professional knowledge,
// skills and competencies leading to a second tertiary degree or
// equivalent qualification. ISCED code 7.
// "DOCTORAL_OR_EQUIVALENT" - Doctoral or equivalent; Programmes
// designed primarily to lead to an advanced research qualification,
// usually concluding with the submission and defense of a substantive
// dissertation of publishable quality based on original research. ISCED
// code 8.
DegreeTypes []string `json:"degreeTypes,omitempty"`
// Department: The department or functional area within the company with
// the open position. The maximum number of allowed characters is 255.
Department string `json:"department,omitempty"`
// DerivedInfo: Output only. Derived details about the job posting.
DerivedInfo *GoogleCloudTalentV4JobDerivedInfo `json:"derivedInfo,omitempty"`
// Description: Required. The description of the job, which typically
// includes a multi-paragraph description of the company and related
// information. Separate fields are provided on the job object for
// responsibilities, qualifications, and other job characteristics. Use
// of these separate job fields is recommended. This field accepts and
// sanitizes HTML input, and also accepts bold, italic, ordered list,
// and unordered list markup tags. The maximum number of allowed
// characters is 100,000.
Description string `json:"description,omitempty"`
// EmploymentTypes: The employment type(s) of a job, for example, full
// time or part time.
//
// Possible values:
// "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment
// type isn't specified.
// "FULL_TIME" - The job requires working a number of hours that
// constitute full time employment, typically 40 or more hours per week.
// "PART_TIME" - The job entails working fewer hours than a full time
// job, typically less than 40 hours a week.
// "CONTRACTOR" - The job is offered as a contracted, as opposed to a
// salaried employee, position.
// "CONTRACT_TO_HIRE" - The job is offered as a contracted position
// with the understanding that it's converted into a full-time position
// at the end of the contract. Jobs of this type are also returned by a
// search for EmploymentType.CONTRACTOR jobs.
// "TEMPORARY" - The job is offered as a temporary employment
// opportunity, usually a short-term engagement.
// "INTERN" - The job is a fixed-term opportunity for students or
// entry-level job seekers to obtain on-the-job training, typically
// offered as a summer position.
// "VOLUNTEER" - The is an opportunity for an individual to volunteer,
// where there's no expectation of compensation for the provided
// services.
// "PER_DIEM" - The job requires an employee to work on an as-needed
// basis with a flexible schedule.
// "FLY_IN_FLY_OUT" - The job involves employing people in remote
// areas and flying them temporarily to the work site instead of
// relocating employees and their families permanently.
// "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other
// listed types.
EmploymentTypes []string `json:"employmentTypes,omitempty"`
// Incentives: A description of bonus, commission, and other
// compensation incentives associated with the job not including salary
// or pay. The maximum number of allowed characters is 10,000.
Incentives string `json:"incentives,omitempty"`
// JobBenefits: The benefits included with the job.
//
// Possible values:
// "JOB_BENEFIT_UNSPECIFIED" - Default value if the type isn't
// specified.
// "CHILD_CARE" - The job includes access to programs that support
// child care, such as daycare.
// "DENTAL" - The job includes dental services covered by a dental
// insurance plan.
// "DOMESTIC_PARTNER" - The job offers specific benefits to domestic
// partners.
// "FLEXIBLE_HOURS" - The job allows for a flexible work schedule.
// "MEDICAL" - The job includes health services covered by a medical
// insurance plan.
// "LIFE_INSURANCE" - The job includes a life insurance plan provided
// by the employer or available for purchase by the employee.
// "PARENTAL_LEAVE" - The job allows for a leave of absence to a
// parent to care for a newborn child.
// "RETIREMENT_PLAN" - The job includes a workplace retirement plan
// provided by the employer or available for purchase by the employee.
// "SICK_DAYS" - The job allows for paid time off due to illness.
// "VACATION" - The job includes paid time off for vacation.
// "VISION" - The job includes vision services covered by a vision
// insurance plan.
JobBenefits []string `json:"jobBenefits,omitempty"`
// JobEndTime: The end timestamp of the job. Typically this field is
// used for contracting engagements. Invalid timestamps are ignored.
JobEndTime string `json:"jobEndTime,omitempty"`
// JobLevel: The experience level associated with the job, such as
// "Entry Level".
//
// Possible values:
// "JOB_LEVEL_UNSPECIFIED" - The default value if the level isn't
// specified.
// "ENTRY_LEVEL" - Entry-level individual contributors, typically with
// less than 2 years of experience in a similar role. Includes interns.
// "EXPERIENCED" - Experienced individual contributors, typically with
// 2+ years of experience in a similar role.
// "MANAGER" - Entry- to mid-level managers responsible for managing a
// team of people.
// "DIRECTOR" - Senior-level managers responsible for managing teams
// of managers.
// "EXECUTIVE" - Executive-level managers and above, including C-level
// positions.
JobLevel string `json:"jobLevel,omitempty"`
// JobStartTime: The start timestamp of the job in UTC time zone.
// Typically this field is used for contracting engagements. Invalid
// timestamps are ignored.
JobStartTime string `json:"jobStartTime,omitempty"`
// LanguageCode: The language of the posting. This field is distinct
// from any requirements for fluency that are associated with the job.
// Language codes must be in BCP-47 format, such as "en-US" or
// "sr-Latn". For more information, see [Tags for Identifying
// Languages](https://tools.ietf.org/html/bcp47){: class="external"
// target="_blank" }. If this field is unspecified and Job.description
// is present, detected language code based on Job.description is
// assigned, otherwise defaults to 'en_US'.
LanguageCode string `json:"languageCode,omitempty"`
// Name: 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}/tenants/{tenant_id}/jobs/{job_id}". For
// example, "projects/foo/tenants/bar/jobs/baz". Use of this field in
// job queries and API calls is preferred over the use of requisition_id
// since this value is unique.
Name string `json:"name,omitempty"`
// PostingCreateTime: Output only. The timestamp when this job posting
// was created.
PostingCreateTime string `json:"postingCreateTime,omitempty"`
// PostingExpireTime: Strongly recommended for the best service
// experience. The expiration timestamp of the job. After this
// timestamp, the job is marked as expired, and it no longer appears in
// search results. The expired job can't be listed by the ListJobs API,
// but it can be retrieved with the GetJob API or updated with the
// UpdateJob API or deleted with the DeleteJob API. An expired job can
// be updated and opened again by using a future expiration timestamp.
// Updating an expired job fails if there is another existing open job
// with same company, language_code and requisition_id. The expired jobs
// are retained in our system for 90 days. However, the overall expired
// job count cannot exceed 3 times the maximum number of open jobs over
// previous 7 days. If this threshold is exceeded, expired jobs are
// cleaned out in order of earliest expire time. Expired jobs are no
// longer accessible after they are cleaned out. Invalid timestamps are
// ignored, and treated as expire time not provided. If the timestamp is
// before the instant request is made, the job is treated as expired
// immediately on creation. This kind of job can not be updated. And
// when creating a job with past timestamp, the posting_publish_time
// must be set before posting_expire_time. The purpose of this feature
// is to allow other objects, such as Application, to refer a job that
// didn't exist in the system prior to becoming expired. If you want to
// modify a job that was expired on creation, delete it and create a new
// one. If this value isn't provided at the time of job creation or is
// invalid, the job posting expires after 30 days from the job's
// creation time. For example, if the job was created on 2017/01/01
// 13:00AM UTC with an unspecified expiration date, the job expires
// after 2017/01/31 13:00AM UTC. If this value isn't provided on job
// update, it depends on the field masks set by
// UpdateJobRequest.update_mask. If the field masks include
// job_end_time, or the masks are empty meaning that every field is
// updated, the job posting expires after 30 days from the job's last
// update time. Otherwise the expiration date isn't updated.
PostingExpireTime string `json:"postingExpireTime,omitempty"`
// PostingPublishTime: The timestamp this job posting was most recently
// published. The default value is the time the request arrives at the
// server. Invalid timestamps are ignored.
PostingPublishTime string `json:"postingPublishTime,omitempty"`
// PostingRegion: The job PostingRegion (for example, state, country)
// throughout which the job is available. If this field is set, a
// LocationFilter in a search query within the job region finds this job
// posting if an exact location match isn't specified. If this field is
// set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA,
// setting job Job.addresses to the same location level as this field is
// strongly recommended.
//
// Possible values:
// "POSTING_REGION_UNSPECIFIED" - If the region is unspecified, the
// job is only returned if it matches the LocationFilter.
// "ADMINISTRATIVE_AREA" - In addition to exact location matching, job
// posting is returned when the LocationFilter in the search query is in
// the same administrative area as the returned job posting. For
// example, if a `ADMINISTRATIVE_AREA` job is posted in "CA, USA", it's
// returned if LocationFilter has "Mountain View". Administrative area
// refers to top-level administrative subdivision of this country. For
// example, US state, IT region, UK constituent nation and JP
// prefecture.
// "NATION" - In addition to exact location matching, job is returned
// when LocationFilter in search query is in the same country as this
// job. For example, if a `NATION_WIDE` job is posted in "USA", it's
// returned if LocationFilter has 'Mountain View'.
// "TELECOMMUTE" - Job allows employees to work remotely
// (telecommute). If locations are provided with this value, the job is
// considered as having a location, but telecommuting is allowed.
PostingRegion string `json:"postingRegion,omitempty"`
// PostingUpdateTime: Output only. The timestamp when this job posting
// was last updated.
PostingUpdateTime string `json:"postingUpdateTime,omitempty"`
// ProcessingOptions: Options for job processing.
ProcessingOptions *GoogleCloudTalentV4JobProcessingOptions `json:"processingOptions,omitempty"`
// PromotionValue: A promotion value of the job, as determined by the
// client. The value determines the sort order of the jobs returned when
// searching for jobs using the featured jobs search call, with higher
// promotional values being returned first and ties being resolved by
// relevance sort. Only the jobs with a promotionValue >0 are returned
// in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are
// treated as 0.
PromotionValue int64 `json:"promotionValue,omitempty"`
// Qualifications: A description of the qualifications required to
// perform the job. The use of this field is recommended as an
// alternative to using the more general description field. This field
// accepts and sanitizes HTML input, and also accepts bold, italic,
// ordered list, and unordered list markup tags. The maximum number of
// allowed characters is 10,000.
Qualifications string `json:"qualifications,omitempty"`
// RequisitionId: Required. The requisition ID, also referred to as the
// posting ID, is assigned by the client to identify a job. This field
// is intended to be used by clients for client identification and
// tracking of postings. A job isn't allowed to be created if there is
// another job with the same company, language_code and requisition_id.
// The maximum number of allowed characters is 255.
RequisitionId string `json:"requisitionId,omitempty"`
// Responsibilities: A description of job responsibilities. The use of
// this field is recommended as an alternative to using the more general
// description field. This field accepts and sanitizes HTML input, and
// also accepts bold, italic, ordered list, and unordered list markup
// tags. The maximum number of allowed characters is 10,000.
Responsibilities string `json:"responsibilities,omitempty"`
// Title: Required. The title of the job, such as "Software Engineer"
// The maximum number of allowed characters is 500.
Title string `json:"title,omitempty"`
// Visibility: Deprecated. The job is only visible to the owner. The
// visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not
// specified.
//
// Possible values:
// "VISIBILITY_UNSPECIFIED" - Default value.
// "ACCOUNT_ONLY" - The resource is only visible to the GCP account
// who owns it.
// "SHARED_WITH_GOOGLE" - The resource is visible to the owner and may
// be visible to other applications and processes at Google.
// "SHARED_WITH_PUBLIC" - The resource is visible to the owner and may
// be visible to all other API clients.
Visibility string `json:"visibility,omitempty"`
// ForceSendFields is a list of field names (e.g. "Addresses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Addresses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4Job) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4Job
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4JobApplicationInfo: Application related details of
// a job posting.
type GoogleCloudTalentV4JobApplicationInfo struct {
// Emails: Use this field to specify email address(es) to which resumes
// or applications can be sent. The maximum number of allowed characters
// for each entry is 255.
Emails []string `json:"emails,omitempty"`
// Instruction: Use this field to provide instructions, such as "Mail
// your application to ...", that a candidate can follow to apply for
// the job. This field accepts and sanitizes HTML input, and also
// accepts bold, italic, ordered list, and unordered list markup tags.
// The maximum number of allowed characters is 3,000.
Instruction string `json:"instruction,omitempty"`
// Uris: Use this URI field to direct an applicant to a website, for
// example to link to an online application form. The maximum number of
// allowed characters for each entry is 2,000.
Uris []string `json:"uris,omitempty"`
// ForceSendFields is a list of field names (e.g. "Emails") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Emails") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4JobApplicationInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4JobApplicationInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4JobDerivedInfo: Derived details about the job
// posting.
type GoogleCloudTalentV4JobDerivedInfo struct {
// JobCategories: Job categories derived from Job.title and
// Job.description.
//
// Possible values:
// "JOB_CATEGORY_UNSPECIFIED" - The default value if the category
// isn't specified.
// "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as
// an Accountant.
// "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job,
// such as an Administrative Assistant.
// "ADVERTISING_AND_MARKETING" - An advertising and marketing job,
// such as Marketing Manager.
// "ANIMAL_CARE" - An animal care job, such as Veterinarian.
// "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as
// Designer.
// "BUSINESS_OPERATIONS" - A business operations job, such as Business
// Operations Manager.
// "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as
// Custodial Staff.
// "COMPUTER_AND_IT" - A computer and IT job, such as Systems
// Administrator.
// "CONSTRUCTION" - A construction job, such as General Laborer.
// "CUSTOMER_SERVICE" - A customer service job, such s Cashier.
// "EDUCATION" - An education job, such as School Teacher.
// "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such
// as Flight Attendant.
// "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park
// Ranger.
// "HEALTHCARE" - A healthcare job, such as Registered Nurse.
// "HUMAN_RESOURCES" - A human resources job, such as Human Resources
// Director.
// "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation,
// maintenance, or repair job, such as Electrician.
// "LEGAL" - A legal job, such as Law Clerk.
// "MANAGEMENT" - A management job, often used in conjunction with
// another category, such as Store Manager.
// "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job,
// such as Assembly Technician.
// "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or
// writing job, such as Media Relations.
// "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore
// Driller.
// "PERSONAL_CARE_AND_SERVICES" - A personal care and services job,
// such as Hair Stylist.
// "PROTECTIVE_SERVICES" - A protective services job, such as Security
// Guard.
// "REAL_ESTATE" - A real estate job, such as Buyer's Agent.
// "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job,
// such as Restaurant Server.
// "SALES_AND_RETAIL" - A sales and/or retail job, such Sales
// Associate.
// "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as
// Lab Technician.
// "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit
// job, such as Case Worker.
// "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation
// job, such as Personal Trainer.
// "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job,
// such as Truck Driver.
JobCategories []string `json:"jobCategories,omitempty"`
// Locations: Structured locations of the job, resolved from
// Job.addresses. locations are exactly matched to Job.addresses in the
// same order.
Locations []*GoogleCloudTalentV4Location `json:"locations,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobCategories") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobCategories") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4JobDerivedInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4JobDerivedInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4JobProcessingOptions: Options for job processing.
type GoogleCloudTalentV4JobProcessingOptions struct {
// DisableStreetAddressResolution: If set to `true`, the service does
// not attempt to resolve a more precise address for the job.
DisableStreetAddressResolution bool `json:"disableStreetAddressResolution,omitempty"`
// HtmlSanitization: Option for job HTML content sanitization. Applied
// fields are: * description * applicationInfo.instruction * incentives
// * qualifications * responsibilities HTML tags in these fields may be
// stripped if sanitiazation isn't disabled. Defaults to
// HtmlSanitization.SIMPLE_FORMATTING_ONLY.
//
// Possible values:
// "HTML_SANITIZATION_UNSPECIFIED" - Default value.
// "HTML_SANITIZATION_DISABLED" - Disables sanitization on HTML input.
// "SIMPLE_FORMATTING_ONLY" - Sanitizes HTML input, only accepts bold,
// italic, ordered list, and unordered list markup tags.
HtmlSanitization string `json:"htmlSanitization,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "DisableStreetAddressResolution") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "DisableStreetAddressResolution") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4JobProcessingOptions) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4JobProcessingOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4JobResult: Mutation result of a job from a batch
// operation.
type GoogleCloudTalentV4JobResult struct {
// Job: Here Job only contains basic information including name,
// company, language_code and requisition_id, use getJob method to
// retrieve detailed information of the created/updated job.
Job *GoogleCloudTalentV4Job `json:"job,omitempty"`
// Status: The status of the job processed. This field is populated if
// the processing of the job fails.
Status *Status `json:"status,omitempty"`
// ForceSendFields is a list of field names (e.g. "Job") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Job") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4JobResult) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4JobResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudTalentV4Location: A resource that represents a location
// with full geographic information.
type GoogleCloudTalentV4Location struct {
// LatLng: An object representing a latitude/longitude pair.
LatLng *LatLng `json:"latLng,omitempty"`
// LocationType: The type of a location, which corresponds to the
// address lines field of google.type.PostalAddress. For example,
// "Downtown, Atlanta, GA, USA" has a type of LocationType.NEIGHBORHOOD,
// and "Kansas City, KS, USA" has a type of LocationType.LOCALITY.
//
// Possible values:
// "LOCATION_TYPE_UNSPECIFIED" - Default value if the type isn't
// specified.
// "COUNTRY" - A country level location.
// "ADMINISTRATIVE_AREA" - A state or equivalent level location.
// "SUB_ADMINISTRATIVE_AREA" - A county or equivalent level location.
// "LOCALITY" - A city or equivalent level location.
// "POSTAL_CODE" - A postal code level location.
// "SUB_LOCALITY" - A sublocality is a subdivision of a locality, for
// example a city borough, ward, or arrondissement. Sublocalities are
// usually recognized by a local political authority. For example,
// Manhattan and Brooklyn are recognized as boroughs by the City of New
// York, and are therefore modeled as sublocalities.
// "SUB_LOCALITY_1" - A district or equivalent level location.
// "SUB_LOCALITY_2" - A smaller district or equivalent level display.
// "NEIGHBORHOOD" - A neighborhood level location.
// "STREET_ADDRESS" - A street address level location.
LocationType string `json:"locationType,omitempty"`
// PostalAddress: Postal address of the location that includes human
// readable information, such as postal delivery and payments addresses.
// Given a postal address, a postal service can deliver items to a
// premises, P.O. Box, or other delivery location.
PostalAddress *PostalAddress `json:"postalAddress,omitempty"`
// RadiusMiles: Radius in miles of the job location. This value is
// derived from the location bounding box in which a circle with the
// specified radius centered from google.type.LatLng covers the area
// associated with the job location. For example, currently, "Mountain
// View, CA, USA" has a radius of 6.17 miles.
RadiusMiles float64 `json:"radiusMiles,omitempty"`
// ForceSendFields is a list of field names (e.g. "LatLng") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LatLng") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudTalentV4Location) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudTalentV4Location
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleCloudTalentV4Location) UnmarshalJSON(data []byte) error {
type NoMethod GoogleCloudTalentV4Location
var s1 struct {
RadiusMiles gensupport.JSONFloat64 `json:"radiusMiles"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.RadiusMiles = float64(s1.RadiusMiles)
return nil
}
// HistogramFacets: Input only. Histogram facets to be specified in
// SearchJobsRequest.
type HistogramFacets struct {
// CompensationHistogramFacets: Optional. Specifies compensation
// field-based histogram requests. Duplicate values of
// CompensationHistogramRequest.type are not allowed.
CompensationHistogramFacets []*CompensationHistogramRequest `json:"compensationHistogramFacets,omitempty"`
// CustomAttributeHistogramFacets: Optional. Specifies the custom
// attributes histogram requests. Duplicate values of
// CustomAttributeHistogramRequest.key are not allowed.
CustomAttributeHistogramFacets []*CustomAttributeHistogramRequest `json:"customAttributeHistogramFacets,omitempty"`
// SimpleHistogramFacets: Optional. Specifies the simple type of
// histogram facets, for example, `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
//
// Possible values:
// "SEARCH_TYPE_UNSPECIFIED" - The default value if search type is not
// specified.
// "COMPANY_ID" - Filter by the company id field.
// "EMPLOYMENT_TYPE" - Filter by the employment type field, such as
// `FULL_TIME` or `PART_TIME`.
// "COMPANY_SIZE" - Filter by the company size type field, such as
// `BIG`, `SMALL` or `BIGGER`.
// "DATE_PUBLISHED" - Filter by the date published field. Possible
// return values are: * PAST_24_HOURS (The past 24 hours) * PAST_3_DAYS
// (The past 3 days) * PAST_WEEK (The past 7 days) * PAST_MONTH (The
// past 30 days) * PAST_YEAR (The past 365 days)
// "EDUCATION_LEVEL" - Filter by the required education level of the
// job.
// "EXPERIENCE_LEVEL" - Filter by the required experience level of the
// job.
// "ADMIN_1" - Filter by Admin1, which is a global placeholder for
// referring to state, province, or the particular term a country uses
// to define the geographic structure below the country level. Examples
// include states codes such as "CA", "IL", "NY", and provinces, such as
// "BC".
// "COUNTRY" - Filter by the country code of job, such as US, JP, FR.
// "CITY" - Filter by the "city name", "Admin1 code", for example,
// "Mountain View, CA" or "New York, NY".
// "LOCALE" - Filter by the locale field of a job, such as "en-US",
// "fr-FR". 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).
// "LANGUAGE" - Filter by the language code portion of the locale
// field, such as "en" or "fr".
// "CATEGORY" - Filter by the Category.
// "CITY_COORDINATE" - Filter by the city center GPS coordinate
// (latitude and longitude), for example, 37.4038522,-122.0987765. Since
// the coordinates of a city center can change, clients may need to
// refresh them periodically.
// "ADMIN_1_COUNTRY" - A combination of state or province code with a
// country code. This field differs from `JOB_ADMIN1`, which can be used
// in multiple countries.
// "COMPANY_DISPLAY_NAME" - Company display name.
// "BASE_COMPENSATION_UNIT" - Base compensation unit.
SimpleHistogramFacets []string `json:"simpleHistogramFacets,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CompensationHistogramFacets") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "CompensationHistogramFacets") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HistogramFacets) MarshalJSON() ([]byte, error) {
type NoMethod HistogramFacets
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HistogramQuery: Input Only. The histogram request.
type HistogramQuery struct {
// HistogramQuery: An expression specifies a histogram request against
// matching resources (for example, jobs) for searches. Expression
// syntax is a aggregation function call with histogram facets and other
// options. Available aggregation function calls are: *
// `count(string_histogram_facet)`: Count the number of matching entity,
// for each distinct attribute value. * `count(numeric_histogram_facet,
// list of buckets)`: Count the number of matching entity within each
// bucket. Data types: * Histogram facet: facet names with format
// a-zA-Z+. * String: string like "any string with backslash escape for
// quote(\")." * Number: whole number and floating point number like 10,
// -1 and -0.01. * List: list of elements with comma(,) separator
// surrounded by square brackets. For example, [1, 2, 3] and ["one",
// "two", "three"]. Built-in constants: * MIN (minimum number similar to
// java Double.MIN_VALUE) * MAX (maximum number similar to java
// Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]):
// bucket built-in function creates a bucket with range of start, end).
// Note that the end is exclusive. For example, bucket(1, MAX, "positive
// number") or bucket(1, 10). Job histogram facets: * company_id:
// histogram by [Job.distributor_company_id. * company_display_name:
// histogram by Job.company_display_name. * employment_type: histogram
// by Job.employment_types. For example, "FULL_TIME", "PART_TIME". *
// company_size: histogram by CompanySize, for example, "SMALL",
// "MEDIUM", "BIG". * publish_time_in_month: histogram by the
// Job.publish_time in months. Must specify list of numeric buckets in
// spec. * publish_time_in_year: histogram by the Job.publish_time in
// years. Must specify list of numeric buckets in spec. * degree_type:
// histogram by the Job.degree_type. For example, "Bachelors",
// "Masters". * job_level: histogram by the Job.job_level. For example,
// "Entry Level". * country: histogram by the country code of jobs. For
// example, "US", "FR". * admin1: histogram by the admin1 code of jobs,
// which is a global placeholder referring to the state, province, or
// the particular term a country uses to define the geographic structure
// below the country level. For example, "CA", "IL". * city: histogram
// by a combination of the "city name, admin1 code". For example,
// "Mountain View, CA", "New York, NY". * admin1_country: histogram by a
// combination of the "admin1 code, country". For example, "CA, US",
// "IL, US". * city_coordinate: histogram by the city center's GPS
// coordinates (latitude and longitude). For example,
// 37.4038522,-122.0987765. Since the coordinates of a city center can
// change, customers may need to refresh them periodically. * locale:
// histogram by the Job.language_code. For example, "en-US", "fr-FR". *
// language: histogram by the language subtag of the Job.language_code.
// For example, "en", "fr". * category: histogram by the JobCategory.
// For example, "COMPUTER_AND_IT", "HEALTHCARE". *
// base_compensation_unit: histogram by the CompensationUnit of base
// salary. For example, "WEEKLY", "MONTHLY". * base_compensation:
// histogram by the base salary. Must specify list of numeric buckets to
// group results by. * annualized_base_compensation: histogram by the
// base annualized salary. Must specify list of numeric buckets to group
// results by. * annualized_total_compensation: histogram by the total
// annualized salary. Must specify list of numeric buckets to group
// results by. * string_custom_attribute: histogram by string
// Job.custom_attributes. Values can be accessed via square bracket
// notations like string_custom_attribute["key1"]. *
// numeric_custom_attribute: histogram by numeric Job.custom_attributes.
// Values can be accessed via square bracket notations like
// numeric_custom_attribute["key1"]. Must specify list of numeric
// buckets to group results by. Example expressions: * count(admin1) *
// count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
// bucket(100000, MAX)]) *
// count(string_custom_attribute["some-string-custom-attribute"]) *
// count(numeric_custom_attribute["some-numeric-custom-attribute"],
// [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
HistogramQuery string `json:"histogramQuery,omitempty"`
// ForceSendFields is a list of field names (e.g. "HistogramQuery") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HistogramQuery") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *HistogramQuery) MarshalJSON() ([]byte, error) {
type NoMethod HistogramQuery
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HistogramQueryResult: Output only. Histogram result that matches
// HistogramSpec specified in searches.
type HistogramQueryResult struct {
// Histogram: A map from the values of the facet associated with
// distinct values to the number of matching entries with corresponding
// value. The key format is: * (for string histogram) string values
// stored in the field. * (for named numeric bucket) name specified in
// `bucket()` function, like for `bucket(0, MAX, "non-negative")`, the
// key will be `non-negative`. * (for anonymous numeric bucket) range
// formatted as `-`, for example, `0-1000`, `MIN-0`, and `0-MAX`.
Histogram map[string]string `json:"histogram,omitempty"`
// HistogramQuery: Requested histogram expression.
HistogramQuery string `json:"histogramQuery,omitempty"`
// ForceSendFields is a list of field names (e.g. "Histogram") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Histogram") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HistogramQueryResult) MarshalJSON() ([]byte, error) {
type NoMethod HistogramQueryResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HistogramResult: Output only. Result of a histogram call. The
// response contains the histogram map for the search type specified by
// HistogramResult.field. The response is a map of each filter value to
// the corresponding count of jobs for that filter.
type HistogramResult struct {
// SearchType: The Histogram search filters.
//
// Possible values:
// "SEARCH_TYPE_UNSPECIFIED" - The default value if search type is not
// specified.
// "COMPANY_ID" - Filter by the company id field.
// "EMPLOYMENT_TYPE" - Filter by the employment type field, such as
// `FULL_TIME` or `PART_TIME`.
// "COMPANY_SIZE" - Filter by the company size type field, such as
// `BIG`, `SMALL` or `BIGGER`.
// "DATE_PUBLISHED" - Filter by the date published field. Possible
// return values are: * PAST_24_HOURS (The past 24 hours) * PAST_3_DAYS
// (The past 3 days) * PAST_WEEK (The past 7 days) * PAST_MONTH (The
// past 30 days) * PAST_YEAR (The past 365 days)
// "EDUCATION_LEVEL" - Filter by the required education level of the
// job.
// "EXPERIENCE_LEVEL" - Filter by the required experience level of the
// job.
// "ADMIN_1" - Filter by Admin1, which is a global placeholder for
// referring to state, province, or the particular term a country uses
// to define the geographic structure below the country level. Examples
// include states codes such as "CA", "IL", "NY", and provinces, such as
// "BC".
// "COUNTRY" - Filter by the country code of job, such as US, JP, FR.
// "CITY" - Filter by the "city name", "Admin1 code", for example,
// "Mountain View, CA" or "New York, NY".
// "LOCALE" - Filter by the locale field of a job, such as "en-US",
// "fr-FR". 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).
// "LANGUAGE" - Filter by the language code portion of the locale
// field, such as "en" or "fr".
// "CATEGORY" - Filter by the Category.
// "CITY_COORDINATE" - Filter by the city center GPS coordinate
// (latitude and longitude), for example, 37.4038522,-122.0987765. Since
// the coordinates of a city center can change, clients may need to
// refresh them periodically.
// "ADMIN_1_COUNTRY" - A combination of state or province code with a
// country code. This field differs from `JOB_ADMIN1`, which can be used
// in multiple countries.
// "COMPANY_DISPLAY_NAME" - Company display name.
// "BASE_COMPENSATION_UNIT" - Base compensation unit.
SearchType string `json:"searchType,omitempty"`
// Values: A map from the values of field to the number of jobs with
// that value in this search result. Key: search type (filter names,
// such as the companyName). Values: the count of jobs that match the
// filter for this search.
Values map[string]int64 `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "SearchType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "SearchType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HistogramResult) MarshalJSON() ([]byte, error) {
type NoMethod HistogramResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HistogramResults: Output only. Histogram results that match
// HistogramFacets specified in SearchJobsRequest.
type HistogramResults struct {
// CompensationHistogramResults: Specifies compensation field-based
// histogram results that match
// HistogramFacets.compensation_histogram_requests.
CompensationHistogramResults []*CompensationHistogramResult `json:"compensationHistogramResults,omitempty"`
// CustomAttributeHistogramResults: Specifies histogram results for
// custom attributes that match
// HistogramFacets.custom_attribute_histogram_facets.
CustomAttributeHistogramResults []*CustomAttributeHistogramResult `json:"customAttributeHistogramResults,omitempty"`
// SimpleHistogramResults: Specifies histogram results that matches
// HistogramFacets.simple_histogram_facets.
SimpleHistogramResults []*HistogramResult `json:"simpleHistogramResults,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CompensationHistogramResults") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "CompensationHistogramResults") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HistogramResults) MarshalJSON() ([]byte, error) {
type NoMethod HistogramResults
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Job: A Job resource represents a job posting (also referred to as a
// "job listing" or "job requisition"). A job belongs to a Company,
// which is the hiring entity responsible for the job.
type Job struct {
// Addresses: Optional but strongly recommended for the best service
// experience. Location(s) where the employer is looking to hire for
// this job posting. Specifying the full street address(es) of the
// hiring location enables better API results, especially job searches
// by commute time. At most 50 locations are allowed for best search
// performance. If a job has more locations, it is suggested to split it
// into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes
// 'ReqA-1', 'ReqA-2', etc.) as multiple jobs with the same
// company_name, language_code and requisition_id are not allowed. If
// the original requisition_id must be preserved, a custom field should
// be used for storage. It is also suggested to group the locations that
// close to each other in the same job for better search experience. The
// maximum number of allowed characters is 500.
Addresses []string `json:"addresses,omitempty"`
// ApplicationInfo: Required. At least one field within ApplicationInfo
// must be specified. Job application information.
ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"`
// CompanyDisplayName: Output only. Display name of the company listing
// the job.
CompanyDisplayName string `json:"companyDisplayName,omitempty"`
// CompanyName: Required. The resource name of the company listing the
// job, such as "projects/api-test-project/companies/foo".
CompanyName string `json:"companyName,omitempty"`
// CompensationInfo: Optional. Job compensation information.
CompensationInfo *CompensationInfo `json:"compensationInfo,omitempty"`
// CustomAttributes: Optional. A map of fields to hold both filterable
// and non-filterable custom job attributes that are not covered by the
// provided structured fields. The keys of the map are strings up to 64
// bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis
// or KEY_1_LIKE_THIS. At most 100 filterable and at most 100
// unfilterable keys are supported. For filterable `string_values`,
// across all keys at most 200 values are allowed, with each string no
// more than 255 characters. For unfilterable `string_values`, the
// maximum total size of `string_values` across all keys is 50KB.
CustomAttributes map[string]CustomAttribute `json:"customAttributes,omitempty"`
// DegreeTypes: Optional. The desired education degrees for the job,
// such as Bachelors, Masters.
//
// Possible values:
// "DEGREE_TYPE_UNSPECIFIED" - Default value. Represents no degree, or
// early childhood education. Maps to ISCED code 0. Ex) Kindergarten
// "PRIMARY_EDUCATION" - Primary education which is typically the
// first stage of compulsory education. ISCED code 1. Ex) Elementary
// school
// "LOWER_SECONDARY_EDUCATION" - Lower secondary education; First
// stage of secondary education building on primary education, typically
// with a more subject-oriented curriculum. ISCED code 2. Ex) Middle
// school
// "UPPER_SECONDARY_EDUCATION" - Middle education; Second/final stage
// of secondary education preparing for tertiary education and/or
// providing skills relevant to employment. Usually with an increased
// range of subject options and streams. ISCED code 3. Ex) High school
// "ADULT_REMEDIAL_EDUCATION" - Adult Remedial Education; Programmes
// providing learning experiences that build on secondary education and
// prepare for labour market entry and/or tertiary education. The
// content is broader than secondary but not as complex as tertiary
// education. ISCED code 4.
// "ASSOCIATES_OR_EQUIVALENT" - Associate's or equivalent; Short first
// tertiary programmes that are typically practically-based,
// occupationally-specific and prepare for labour market entry. These
// programmes may also provide a pathway to other tertiary programmes.
// ISCED code 5.
// "BACHELORS_OR_EQUIVALENT" - Bachelor's or equivalent; Programmes
// designed to provide intermediate academic and/or professional
// knowledge, skills and competencies leading to a first tertiary degree
// or equivalent qualification. ISCED code 6.
// "MASTERS_OR_EQUIVALENT" - Master's or equivalent; Programmes
// designed to provide advanced academic and/or professional knowledge,
// skills and competencies leading to a second tertiary degree or
// equivalent qualification. ISCED code 7.
// "DOCTORAL_OR_EQUIVALENT" - Doctoral or equivalent; Programmes
// designed primarily to lead to an advanced research qualification,
// usually concluding with the submission and defense of a substantive
// dissertation of publishable quality based on original research. ISCED
// code 8.
DegreeTypes []string `json:"degreeTypes,omitempty"`
// Department: Optional. The department or functional area within the
// company with the open position. The maximum number of allowed
// characters is 255.
Department string `json:"department,omitempty"`
// DerivedInfo: Output only. Derived details about the job posting.
DerivedInfo *JobDerivedInfo `json:"derivedInfo,omitempty"`
// Description: Required. The description of the job, which typically
// includes a multi-paragraph description of the company and related
// information. Separate fields are provided on the job object for
// responsibilities, qualifications, and other job characteristics. Use
// of these separate job fields is recommended. This field accepts and
// sanitizes HTML input, and also accepts bold, italic, ordered list,
// and unordered list markup tags. The maximum number of allowed
// characters is 100,000.
Description string `json:"description,omitempty"`
// EmploymentTypes: Optional. The employment type(s) of a job, for
// example, full time or part time.
//
// Possible values:
// "EMPLOYMENT_TYPE_UNSPECIFIED" - The default value if the employment
// type is not specified.
// "FULL_TIME" - The job requires working a number of hours that
// constitute full time employment, typically 40 or more hours per week.
// "PART_TIME" - The job entails working fewer hours than a full time
// job, typically less than 40 hours a week.
// "CONTRACTOR" - The job is offered as a contracted, as opposed to a
// salaried employee, position.
// "CONTRACT_TO_HIRE" - The job is offered as a contracted position
// with the understanding that it's converted into a full-time position
// at the end of the contract. Jobs of this type are also returned by a
// search for EmploymentType.CONTRACTOR jobs.
// "TEMPORARY" - The job is offered as a temporary employment
// opportunity, usually a short-term engagement.
// "INTERN" - The job is a fixed-term opportunity for students or
// entry-level job seekers to obtain on-the-job training, typically
// offered as a summer position.
// "VOLUNTEER" - The is an opportunity for an individual to volunteer,
// where there's no expectation of compensation for the provided
// services.
// "PER_DIEM" - The job requires an employee to work on an as-needed
// basis with a flexible schedule.
// "FLY_IN_FLY_OUT" - The job involves employing people in remote
// areas and flying them temporarily to the work site instead of
// relocating employees and their families permanently.
// "OTHER_EMPLOYMENT_TYPE" - The job does not fit any of the other
// listed types.
EmploymentTypes []string `json:"employmentTypes,omitempty"`
// Incentives: Optional. A description of bonus, commission, and other
// compensation incentives associated with the job not including salary
// or pay. The maximum number of allowed characters is 10,000.
Incentives string `json:"incentives,omitempty"`
// JobBenefits: Optional. The benefits included with the job.
//
// Possible values:
// "JOB_BENEFIT_UNSPECIFIED" - Default value if the type is not
// specified.
// "CHILD_CARE" - The job includes access to programs that support
// child care, such as daycare.
// "DENTAL" - The job includes dental services covered by a dental
// insurance plan.
// "DOMESTIC_PARTNER" - The job offers specific benefits to domestic
// partners.
// "FLEXIBLE_HOURS" - The job allows for a flexible work schedule.
// "MEDICAL" - The job includes health services covered by a medical
// insurance plan.
// "LIFE_INSURANCE" - The job includes a life insurance plan provided
// by the employer or available for purchase by the employee.
// "PARENTAL_LEAVE" - The job allows for a leave of absence to a
// parent to care for a newborn child.
// "RETIREMENT_PLAN" - The job includes a workplace retirement plan
// provided by the employer or available for purchase by the employee.
// "SICK_DAYS" - The job allows for paid time off due to illness.
// "VACATION" - The job includes paid time off for vacation.
// "VISION" - The job includes vision services covered by a vision
// insurance plan.
JobBenefits []string `json:"jobBenefits,omitempty"`
// JobEndTime: Optional. The end timestamp of the job. Typically this
// field is used for contracting engagements. Invalid timestamps are
// ignored.
JobEndTime string `json:"jobEndTime,omitempty"`
// JobLevel: Optional. The experience level associated with the job,
// such as "Entry Level".
//
// Possible values:
// "JOB_LEVEL_UNSPECIFIED" - The default value if the level is not
// specified.
// "ENTRY_LEVEL" - Entry-level individual contributors, typically with
// less than 2 years of experience in a similar role. Includes interns.
// "EXPERIENCED" - Experienced individual contributors, typically with
// 2+ years of experience in a similar role.
// "MANAGER" - Entry- to mid-level managers responsible for managing a
// team of people.
// "DIRECTOR" - Senior-level managers responsible for managing teams
// of managers.
// "EXECUTIVE" - Executive-level managers and above, including C-level
// positions.
JobLevel string `json:"jobLevel,omitempty"`
// JobStartTime: Optional. The start timestamp of the job in UTC time
// zone. Typically this field is used for contracting engagements.
// Invalid timestamps are ignored.
JobStartTime string `json:"jobStartTime,omitempty"`
// LanguageCode: Optional. The language of the posting. This field is
// distinct from any requirements for fluency that are associated with
// the job. Language codes must be in BCP-47 format, such as "en-US" or
// "sr-Latn". For more information, see [Tags for Identifying
// Languages](https://tools.ietf.org/html/bcp47){: class="external"
// target="_blank" }. If this field is unspecified and Job.description
// is present, detected language code based on Job.description is
// assigned, otherwise defaults to 'en_US'.
LanguageCode string `json:"languageCode,omitempty"`
// Name: 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.
Name string `json:"name,omitempty"`
// PostingCreateTime: Output only. The timestamp when this job posting
// was created.
PostingCreateTime string `json:"postingCreateTime,omitempty"`
// PostingExpireTime: Optional but strongly recommended for the best
// service experience. The expiration timestamp of the job. After this
// timestamp, the job is marked as expired, and it no longer appears in
// search results. The expired job can't be deleted or listed by the
// DeleteJob and ListJobs APIs, but it can be retrieved with the GetJob
// API or updated with the UpdateJob API. An expired job can be updated
// and opened again by using a future expiration timestamp. Updating an
// expired job fails if there is another existing open job with same
// company_name, language_code and requisition_id. The expired jobs are
// retained in our system for 90 days. However, the overall expired job
// count cannot exceed 3 times the maximum of open jobs count over the
// past week, otherwise jobs with earlier expire time are cleaned first.
// Expired jobs are no longer accessible after they are cleaned out.
// Invalid timestamps are ignored, and treated as expire time not
// provided. Timestamp before the instant request is made is considered
// valid, the job will be treated as expired immediately. If this value
// is not provided at the time of job creation or is invalid, the job
// posting expires after 30 days from the job's creation time. For
// example, if the job was created on 2017/01/01 13:00AM UTC with an
// unspecified expiration date, the job expires after 2017/01/31 13:00AM
// UTC. If this value is not provided on job update, it depends on the
// field masks set by UpdateJobRequest.update_mask. If the field masks
// include expiry_time, or the masks are empty meaning that every field
// is updated, the job posting expires after 30 days from the job's last
// update time. Otherwise the expiration date isn't updated.
PostingExpireTime string `json:"postingExpireTime,omitempty"`
// PostingPublishTime: Optional. The timestamp this job posting was most
// recently published. The default value is the time the request arrives
// at the server. Invalid timestamps are ignored.
PostingPublishTime string `json:"postingPublishTime,omitempty"`
// PostingRegion: Optional. The job PostingRegion (for example, state,
// country) throughout which the job is available. If this field is set,
// a LocationFilter in a search query within the job region finds this
// job posting if an exact location match isn't specified. If this field
// is set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA,
// setting job Job.addresses to the same location level as this field is
// strongly recommended.
//
// Possible values:
// "POSTING_REGION_UNSPECIFIED" - If the region is unspecified, the
// job is only returned if it matches the LocationFilter.
// "ADMINISTRATIVE_AREA" - In addition to exact location matching, job
// posting is returned when the LocationFilter in the search query is in
// the same administrative area as the returned job posting. For
// example, if a `ADMINISTRATIVE_AREA` job is posted in "CA, USA", it's
// returned if LocationFilter has "Mountain View". Administrative area
// refers to top-level administrative subdivision of this country. For
// example, US state, IT region, UK constituent nation and JP
// prefecture.
// "NATION" - In addition to exact location matching, job is returned
// when LocationFilter in search query is in the same country as this
// job. For example, if a `NATION_WIDE` job is posted in "USA", it's
// returned if LocationFilter has 'Mountain View'.
// "TELECOMMUTE" - Job allows employees to work remotely
// (telecommute). If locations are provided with this value, the job is
// considered as having a location, but telecommuting is allowed.
PostingRegion string `json:"postingRegion,omitempty"`
// PostingUpdateTime: Output only. The timestamp when this job posting
// was last updated.
PostingUpdateTime string `json:"postingUpdateTime,omitempty"`
// ProcessingOptions: Optional. Options for job processing.
ProcessingOptions *ProcessingOptions `json:"processingOptions,omitempty"`
// PromotionValue: Optional. A promotion value of the job, as determined
// by the client. The value determines the sort order of the jobs
// returned when searching for jobs using the featured jobs search call,
// with higher promotional values being returned first and ties being
// resolved by relevance sort. Only the jobs with a promotionValue >0
// are returned in a FEATURED_JOB_SEARCH. Default value is 0, and
// negative values are treated as 0.
PromotionValue int64 `json:"promotionValue,omitempty"`
// Qualifications: Optional. A description of the qualifications
// required to perform the job. The use of this field is recommended as
// an alternative to using the more general description field. This
// field accepts and sanitizes HTML input, and also accepts bold,
// italic, ordered list, and unordered list markup tags. The maximum
// number of allowed characters is 10,000.
Qualifications string `json:"qualifications,omitempty"`
// RequisitionId: Required. The requisition ID, also referred to as the
// posting ID, assigned by the client to identify a job. This field is
// intended to be used by clients for client identification and tracking
// of postings. A job is not allowed to be created if there is another
// job with the same [company_name], language_code and requisition_id.
// The maximum number of allowed characters is 255.
RequisitionId string `json:"requisitionId,omitempty"`
// Responsibilities: Optional. A description of job responsibilities.
// The use of this field is recommended as an alternative to using the
// more general description field. This field accepts and sanitizes HTML
// input, and also accepts bold, italic, ordered list, and unordered
// list markup tags. The maximum number of allowed characters is 10,000.
Responsibilities string `json:"responsibilities,omitempty"`
// Title: Required. The title of the job, such as "Software Engineer"
// The maximum number of allowed characters is 500.
Title string `json:"title,omitempty"`
// Visibility: Deprecated. The job is only visible to the owner. The
// visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not
// specified.
//
// Possible values:
// "VISIBILITY_UNSPECIFIED" - Default value.
// "ACCOUNT_ONLY" - The resource is only visible to the GCP account
// who owns it.
// "SHARED_WITH_GOOGLE" - The resource is visible to the owner and may
// be visible to other applications and processes at Google.
// "SHARED_WITH_PUBLIC" - The resource is visible to the owner and may
// be visible to all other API clients.
Visibility string `json:"visibility,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Addresses") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Addresses") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Job) MarshalJSON() ([]byte, error) {
type NoMethod Job
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobDerivedInfo: Output only. Derived details about the job posting.
type JobDerivedInfo struct {
// JobCategories: Job categories derived from Job.title and
// Job.description.
//
// Possible values:
// "JOB_CATEGORY_UNSPECIFIED" - The default value if the category
// isn't specified.
// "ACCOUNTING_AND_FINANCE" - An accounting and finance job, such as
// an Accountant.
// "ADMINISTRATIVE_AND_OFFICE" - An administrative and office job,
// such as an Administrative Assistant.
// "ADVERTISING_AND_MARKETING" - An advertising and marketing job,
// such as Marketing Manager.
// "ANIMAL_CARE" - An animal care job, such as Veterinarian.
// "ART_FASHION_AND_DESIGN" - An art, fashion, or design job, such as
// Designer.
// "BUSINESS_OPERATIONS" - A business operations job, such as Business
// Operations Manager.
// "CLEANING_AND_FACILITIES" - A cleaning and facilities job, such as
// Custodial Staff.
// "COMPUTER_AND_IT" - A computer and IT job, such as Systems
// Administrator.
// "CONSTRUCTION" - A construction job, such as General Laborer.
// "CUSTOMER_SERVICE" - A customer service job, such s Cashier.
// "EDUCATION" - An education job, such as School Teacher.
// "ENTERTAINMENT_AND_TRAVEL" - An entertainment and travel job, such
// as Flight Attendant.
// "FARMING_AND_OUTDOORS" - A farming or outdoor job, such as Park
// Ranger.
// "HEALTHCARE" - A healthcare job, such as Registered Nurse.
// "HUMAN_RESOURCES" - A human resources job, such as Human Resources
// Director.
// "INSTALLATION_MAINTENANCE_AND_REPAIR" - An installation,
// maintenance, or repair job, such as Electrician.
// "LEGAL" - A legal job, such as Law Clerk.
// "MANAGEMENT" - A management job, often used in conjunction with
// another category, such as Store Manager.
// "MANUFACTURING_AND_WAREHOUSE" - A manufacturing or warehouse job,
// such as Assembly Technician.
// "MEDIA_COMMUNICATIONS_AND_WRITING" - A media, communications, or
// writing job, such as Media Relations.
// "OIL_GAS_AND_MINING" - An oil, gas or mining job, such as Offshore
// Driller.
// "PERSONAL_CARE_AND_SERVICES" - A personal care and services job,
// such as Hair Stylist.
// "PROTECTIVE_SERVICES" - A protective services job, such as Security
// Guard.
// "REAL_ESTATE" - A real estate job, such as Buyer's Agent.
// "RESTAURANT_AND_HOSPITALITY" - A restaurant and hospitality job,
// such as Restaurant Server.
// "SALES_AND_RETAIL" - A sales and/or retail job, such Sales
// Associate.
// "SCIENCE_AND_ENGINEERING" - A science and engineering job, such as
// Lab Technician.
// "SOCIAL_SERVICES_AND_NON_PROFIT" - A social services or non-profit
// job, such as Case Worker.
// "SPORTS_FITNESS_AND_RECREATION" - A sports, fitness, or recreation
// job, such as Personal Trainer.
// "TRANSPORTATION_AND_LOGISTICS" - A transportation or logistics job,
// such as Truck Driver.
JobCategories []string `json:"jobCategories,omitempty"`
// Locations: Structured locations of the job, resolved from
// Job.addresses. locations are exactly matched to Job.addresses in the
// same order.
Locations []*Location `json:"locations,omitempty"`
// ForceSendFields is a list of field names (e.g. "JobCategories") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "JobCategories") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *JobDerivedInfo) MarshalJSON() ([]byte, error) {
type NoMethod JobDerivedInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// JobEvent: An event issued when a job seeker interacts with the
// application that implements Cloud Talent Solution.
type JobEvent struct {
// Jobs: Required. The job name(s) associated with this event. For
// example, if this is an impression event, this field contains the
// identifiers of all jobs shown to the job seeker. If this was a view
// event, this field contains the identifier of the viewed job.
Jobs []string `json:"jobs,omitempty"`
// Type: Required. The type of the event (see JobEventType).
//
// Possible values:
// "JOB_EVENT_TYPE_UNSPECIFIED" - The event is unspecified by other
// provided values.
// "IMPRESSION" - The job seeker or other entity interacting with the
// service has had a job rendered in their view, such as in a list of
// search results in a compressed or clipped format. This event is
// typically associated with the viewing of a jobs list on a single page
// by a job seeker.
// "VIEW" - The job seeker, or other entity interacting with the
// service, has viewed the details of a job, including the full
// description. This event doesn't apply to the viewing a snippet of a
// job appearing as a part of the job search results. Viewing a snippet
// is associated with an impression).
// "VIEW_REDIRECT" - The job seeker or other entity interacting with
// the service performed an action to view a job and was redirected to a
// different website for job.
// "APPLICATION_START" - The job seeker or other entity interacting
// with the service began the process or demonstrated the intention of
// applying for a job.
// "APPLICATION_FINISH" - The job seeker or other entity interacting
// with the service submitted an application for a job.
// "APPLICATION_QUICK_SUBMISSION" - The job seeker or other entity
// interacting with the service submitted an application for a job with
// a single click without entering information. If a job seeker performs
// this action, send only this event to the service. Do not also send
// JobEventType.APPLICATION_START or JobEventType.APPLICATION_FINISH
// events.
// "APPLICATION_REDIRECT" - The job seeker or other entity interacting
// with the service performed an action to apply to a job and was
// redirected to a different website to complete the application.
// "APPLICATION_START_FROM_SEARCH" - The job seeker or other entity
// interacting with the service began the process or demonstrated the
// intention of applying for a job from the search results page without
// viewing the details of the job posting. If sending this event,
// JobEventType.VIEW event shouldn't be sent.
// "APPLICATION_REDIRECT_FROM_SEARCH" - The job seeker, or other
// entity interacting with the service, performs an action with a single
// click from the search results page to apply to a job (without viewing
// the details of the job posting), and is redirected to a different
// website to complete the application. If a candidate performs this
// action, send only this event to the service. Do not also send
// JobEventType.APPLICATION_START, JobEventType.APPLICATION_FINISH or
// JobEventType.VIEW events.
// "APPLICATION_COMPANY_SUBMIT" - This event should be used when a