3375 lines
144 KiB
Ruby
3375 lines
144 KiB
Ruby
# Copyright 2015 Google Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
require 'date'
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module JobsV2
|
|
|
|
# Input only.
|
|
# Batch delete jobs request.
|
|
class BatchDeleteJobsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# 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 = "companies/123" AND requisitionId = "req-1"
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [String]
|
|
attr_accessor :filter
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
end
|
|
end
|
|
|
|
# Represents starting and ending value of a range in double.
|
|
class BucketRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Starting value of the bucket range.
|
|
# Corresponds to the JSON property `from`
|
|
# @return [Float]
|
|
attr_accessor :from
|
|
|
|
# Ending value of the bucket range.
|
|
# Corresponds to the JSON property `to`
|
|
# @return [Float]
|
|
attr_accessor :to
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@from = args[:from] if args.key?(:from)
|
|
@to = args[:to] if args.key?(:to)
|
|
end
|
|
end
|
|
|
|
# Represents count of jobs within one bucket.
|
|
class BucketizedCount
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Number of jobs whose numeric field value fall into `range`.
|
|
# Corresponds to the JSON property `count`
|
|
# @return [Fixnum]
|
|
attr_accessor :count
|
|
|
|
# Represents starting and ending value of a range in double.
|
|
# Corresponds to the JSON property `range`
|
|
# @return [Google::Apis::JobsV2::BucketRange]
|
|
attr_accessor :range
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@count = args[:count] if args.key?(:count)
|
|
@range = args[:range] if args.key?(:range)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Commute details related to this job.
|
|
class CommuteInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Output only.
|
|
# A resource that represents a location with full geographic
|
|
# information.
|
|
# Corresponds to the JSON property `jobLocation`
|
|
# @return [Google::Apis::JobsV2::JobLocation]
|
|
attr_accessor :job_location
|
|
|
|
# Travel time to reach the job.
|
|
# Corresponds to the JSON property `travelDuration`
|
|
# @return [String]
|
|
attr_accessor :travel_duration
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@job_location = args[:job_location] if args.key?(:job_location)
|
|
@travel_duration = args[:travel_duration] if args.key?(:travel_duration)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Parameters needed for commute search.
|
|
class CommutePreference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# If `true`, jobs without street level addresses may also be returned.
|
|
# For city level addresses, the city center is used. For state and coarser
|
|
# level addresses, text matching is used.
|
|
# If this field is set to `false` or is not specified, only jobs that include
|
|
# street level addresses will be returned by commute search.
|
|
# Corresponds to the JSON property `allowNonStreetLevelAddress`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_non_street_level_address
|
|
alias_method :allow_non_street_level_address?, :allow_non_street_level_address
|
|
|
|
# Optional.
|
|
# The departure hour to use to calculate traffic impact. Accepts an
|
|
# integer between 0 and 23, representing the hour in the time zone of the
|
|
# start_location. Must not be present if road_traffic is specified.
|
|
# Corresponds to the JSON property `departureHourLocal`
|
|
# @return [Fixnum]
|
|
attr_accessor :departure_hour_local
|
|
|
|
# Required.
|
|
# The method of transportation for which to calculate the commute time.
|
|
# Corresponds to the JSON property `method`
|
|
# @return [String]
|
|
attr_accessor :method_prop
|
|
|
|
# Optional.
|
|
# Specifies the traffic density to use when caculating commute time.
|
|
# Must not be present if departure_hour_local is specified.
|
|
# Corresponds to the JSON property `roadTraffic`
|
|
# @return [String]
|
|
attr_accessor :road_traffic
|
|
|
|
# An object representing a latitude/longitude pair. This is expressed as a pair
|
|
# of doubles representing degrees latitude and degrees longitude. Unless
|
|
# specified otherwise, this must conform to the
|
|
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
|
|
# standard</a>. Values must be within normalized ranges.
|
|
# Corresponds to the JSON property `startLocation`
|
|
# @return [Google::Apis::JobsV2::LatLng]
|
|
attr_accessor :start_location
|
|
|
|
# Required.
|
|
# The maximum travel time in seconds. The maximum allowed value is `3600s`
|
|
# (one hour). Format is `123s`.
|
|
# Corresponds to the JSON property `travelTime`
|
|
# @return [String]
|
|
attr_accessor :travel_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@allow_non_street_level_address = args[:allow_non_street_level_address] if args.key?(:allow_non_street_level_address)
|
|
@departure_hour_local = args[:departure_hour_local] if args.key?(:departure_hour_local)
|
|
@method_prop = args[:method_prop] if args.key?(:method_prop)
|
|
@road_traffic = args[:road_traffic] if args.key?(:road_traffic)
|
|
@start_location = args[:start_location] if args.key?(:start_location)
|
|
@travel_time = args[:travel_time] if args.key?(:travel_time)
|
|
end
|
|
end
|
|
|
|
# A Company resource represents a company in the service. A company is the
|
|
# entity that owns job listings, that is, the hiring entity responsible for
|
|
# employing applicants for the job position.
|
|
class Company
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The URL to employer's career site or careers page on the employer's web
|
|
# site.
|
|
# Corresponds to the JSON property `careerPageLink`
|
|
# @return [String]
|
|
attr_accessor :career_page_link
|
|
|
|
# Optional.
|
|
# Identifiers external to the application that help to further identify
|
|
# the employer.
|
|
# Corresponds to the JSON property `companyInfoSources`
|
|
# @return [Array<Google::Apis::JobsV2::CompanyInfoSource>]
|
|
attr_accessor :company_info_sources
|
|
|
|
# Optional.
|
|
# The employer's company size.
|
|
# Corresponds to the JSON property `companySize`
|
|
# @return [String]
|
|
attr_accessor :company_size
|
|
|
|
# Deprecated. Do not use this field.
|
|
# Optional.
|
|
# This field is no longer used. Any value set to it is ignored.
|
|
# Corresponds to the JSON property `disableLocationOptimization`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_location_optimization
|
|
alias_method :disable_location_optimization?, :disable_location_optimization
|
|
|
|
# Required.
|
|
# The name of the employer to be displayed with the job,
|
|
# for example, "Google, LLC.".
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# Optional.
|
|
# The unique company identifier provided by the client to identify an
|
|
# employer for billing purposes. Recommended practice is to use
|
|
# the distributor_company_id.
|
|
# Defaults to same value as distributor_company_id when a value
|
|
# is not provided.
|
|
# Corresponds to the JSON property `distributorBillingCompanyId`
|
|
# @return [String]
|
|
attr_accessor :distributor_billing_company_id
|
|
|
|
# Required.
|
|
# A client's company identifier, used to uniquely identify the
|
|
# company. If an employer has a subsidiary or sub-brand, such as "Alphabet"
|
|
# and "Google", which the client wishes to use as the company displayed on
|
|
# the job. Best practice is to create a distinct company identifier for each
|
|
# distinct brand displayed.
|
|
# Corresponds to the JSON property `distributorCompanyId`
|
|
# @return [String]
|
|
attr_accessor :distributor_company_id
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `eeoText`
|
|
# @return [String]
|
|
attr_accessor :eeo_text
|
|
|
|
# Optional.
|
|
# Set to true if it is the hiring agency that post jobs for other
|
|
# employers.
|
|
# Defaults to false if not provided.
|
|
# Corresponds to the JSON property `hiringAgency`
|
|
# @return [Boolean]
|
|
attr_accessor :hiring_agency
|
|
alias_method :hiring_agency?, :hiring_agency
|
|
|
|
# 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 structured_company_hq_location.
|
|
# Corresponds to the JSON property `hqLocation`
|
|
# @return [String]
|
|
attr_accessor :hq_location
|
|
|
|
# Optional.
|
|
# A URL that hosts the employer's company logo. If provided,
|
|
# the logo image should be squared at 80x80 pixels.
|
|
# The url must be a Google Photos or Google Album url.
|
|
# Only images in these Google sub-domains are accepted.
|
|
# Corresponds to the JSON property `imageUrl`
|
|
# @return [String]
|
|
attr_accessor :image_url
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `keywordSearchableCustomAttributes`
|
|
# @return [Array<String>]
|
|
attr_accessor :keyword_searchable_custom_attributes
|
|
|
|
# Deprecated. Use keyword_searchable_custom_attributes instead.
|
|
# Optional.
|
|
# A list of filterable custom fields that should be used in keyword
|
|
# search. The jobs of this company are returned if any of these custom
|
|
# fields matches the search keyword.
|
|
# Corresponds to the JSON property `keywordSearchableCustomFields`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :keyword_searchable_custom_fields
|
|
|
|
# Required during company update.
|
|
# The resource name for a company. This is generated by the service when a
|
|
# company is created, for example,
|
|
# "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd".
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Output only.
|
|
# A resource that represents a location with full geographic
|
|
# information.
|
|
# Corresponds to the JSON property `structuredCompanyHqLocation`
|
|
# @return [Google::Apis::JobsV2::JobLocation]
|
|
attr_accessor :structured_company_hq_location
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `suspended`
|
|
# @return [Boolean]
|
|
attr_accessor :suspended
|
|
alias_method :suspended?, :suspended
|
|
|
|
# Deprecated. Use display_name instead.
|
|
# Required.
|
|
# The name of the employer to be displayed with the job,
|
|
# for example, "Google, LLC.".
|
|
# Corresponds to the JSON property `title`
|
|
# @return [String]
|
|
attr_accessor :title
|
|
|
|
# Optional.
|
|
# The URL representing the company's primary web site or home page,
|
|
# such as, "www.google.com".
|
|
# Corresponds to the JSON property `website`
|
|
# @return [String]
|
|
attr_accessor :website
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@career_page_link = args[:career_page_link] if args.key?(:career_page_link)
|
|
@company_info_sources = args[:company_info_sources] if args.key?(:company_info_sources)
|
|
@company_size = args[:company_size] if args.key?(:company_size)
|
|
@disable_location_optimization = args[:disable_location_optimization] if args.key?(:disable_location_optimization)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@distributor_billing_company_id = args[:distributor_billing_company_id] if args.key?(:distributor_billing_company_id)
|
|
@distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id)
|
|
@eeo_text = args[:eeo_text] if args.key?(:eeo_text)
|
|
@hiring_agency = args[:hiring_agency] if args.key?(:hiring_agency)
|
|
@hq_location = args[:hq_location] if args.key?(:hq_location)
|
|
@image_url = args[:image_url] if args.key?(:image_url)
|
|
@keyword_searchable_custom_attributes = args[:keyword_searchable_custom_attributes] if args.key?(:keyword_searchable_custom_attributes)
|
|
@keyword_searchable_custom_fields = args[:keyword_searchable_custom_fields] if args.key?(:keyword_searchable_custom_fields)
|
|
@name = args[:name] if args.key?(:name)
|
|
@structured_company_hq_location = args[:structured_company_hq_location] if args.key?(:structured_company_hq_location)
|
|
@suspended = args[:suspended] if args.key?(:suspended)
|
|
@title = args[:title] if args.key?(:title)
|
|
@website = args[:website] if args.key?(:website)
|
|
end
|
|
end
|
|
|
|
# A resource that represents an external Google identifier for a company,
|
|
# for example, a Google+ business page or a Google Maps business page.
|
|
# For unsupported types, use `unknown_type_id`.
|
|
class CompanyInfoSource
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The Google's Knowledge Graph value for the employer's company.
|
|
# Corresponds to the JSON property `freebaseMid`
|
|
# @return [String]
|
|
attr_accessor :freebase_mid
|
|
|
|
# Optional.
|
|
# The numeric identifier for the employer's Google+ business page.
|
|
# Corresponds to the JSON property `gplusId`
|
|
# @return [String]
|
|
attr_accessor :gplus_id
|
|
|
|
# Optional.
|
|
# The numeric identifier for the employer's headquarters on Google Maps,
|
|
# namely, the Google Maps CID (cell id).
|
|
# Corresponds to the JSON property `mapsCid`
|
|
# @return [String]
|
|
attr_accessor :maps_cid
|
|
|
|
# Optional.
|
|
# A Google identifier that does not match any of the other types.
|
|
# Corresponds to the JSON property `unknownTypeId`
|
|
# @return [String]
|
|
attr_accessor :unknown_type_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@freebase_mid = args[:freebase_mid] if args.key?(:freebase_mid)
|
|
@gplus_id = args[:gplus_id] if args.key?(:gplus_id)
|
|
@maps_cid = args[:maps_cid] if args.key?(:maps_cid)
|
|
@unknown_type_id = args[:unknown_type_id] if args.key?(:unknown_type_id)
|
|
end
|
|
end
|
|
|
|
# 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.
|
|
class CompensationEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `amount`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :amount
|
|
|
|
# Optional.
|
|
# Compensation description. For example, could
|
|
# indicate equity terms or provide additional context to an estimated
|
|
# bonus.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# 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
|
|
# Corresponds to the JSON property `expectedUnitsPerYear`
|
|
# @return [Float]
|
|
attr_accessor :expected_units_per_year
|
|
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `range`
|
|
# @return [Google::Apis::JobsV2::CompensationRange]
|
|
attr_accessor :range
|
|
|
|
# Required.
|
|
# Compensation type.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# Optional.
|
|
# Frequency of the specified amount.
|
|
# Default is CompensationUnit.OTHER_COMPENSATION_UNIT.
|
|
# Corresponds to the JSON property `unit`
|
|
# @return [String]
|
|
attr_accessor :unit
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@amount = args[:amount] if args.key?(:amount)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year)
|
|
@range = args[:range] if args.key?(:range)
|
|
@type = args[:type] if args.key?(:type)
|
|
@unit = args[:unit] if args.key?(:unit)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Filter on job compensation type and amount.
|
|
class CompensationFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# Whether to include jobs whose compensation range is unspecified.
|
|
# Corresponds to the JSON property `includeJobsWithUnspecifiedCompensationRange`
|
|
# @return [Boolean]
|
|
attr_accessor :include_jobs_with_unspecified_compensation_range
|
|
alias_method :include_jobs_with_unspecified_compensation_range?, :include_jobs_with_unspecified_compensation_range
|
|
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `range`
|
|
# @return [Google::Apis::JobsV2::CompensationRange]
|
|
attr_accessor :range
|
|
|
|
# Required.
|
|
# Type of filter.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# Required.
|
|
# Specify desired ** base compensation entry's **
|
|
# CompensationInfo.CompensationUnit.
|
|
# Corresponds to the JSON property `units`
|
|
# @return [Array<String>]
|
|
attr_accessor :units
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@include_jobs_with_unspecified_compensation_range = args[:include_jobs_with_unspecified_compensation_range] if args.key?(:include_jobs_with_unspecified_compensation_range)
|
|
@range = args[:range] if args.key?(:range)
|
|
@type = args[:type] if args.key?(:type)
|
|
@units = args[:units] if args.key?(:units)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Compensation based histogram request.
|
|
class CompensationHistogramRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Input only.
|
|
# Use this field to specify bucketing option for the histogram search response.
|
|
# Corresponds to the JSON property `bucketingOption`
|
|
# @return [Google::Apis::JobsV2::NumericBucketingOption]
|
|
attr_accessor :bucketing_option
|
|
|
|
# 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`.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bucketing_option = args[:bucketing_option] if args.key?(:bucketing_option)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Compensation based histogram result.
|
|
class CompensationHistogramResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Output only.
|
|
# Custom numeric bucketing result.
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::JobsV2::NumericBucketingResult]
|
|
attr_accessor :result
|
|
|
|
# Type of the request, corresponding to
|
|
# CompensationHistogramRequest.type.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@result = args[:result] if args.key?(:result)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Job compensation details.
|
|
class CompensationInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `amount`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :amount
|
|
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `annualizedBaseCompensationRange`
|
|
# @return [Google::Apis::JobsV2::CompensationRange]
|
|
attr_accessor :annualized_base_compensation_range
|
|
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `annualizedTotalCompensationRange`
|
|
# @return [Google::Apis::JobsV2::CompensationRange]
|
|
attr_accessor :annualized_total_compensation_range
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `entries`
|
|
# @return [Array<Google::Apis::JobsV2::CompensationEntry>]
|
|
attr_accessor :entries
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `max`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :max
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `min`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :min
|
|
|
|
# Deprecated. Use entries instead.
|
|
# Optional.
|
|
# Type of job compensation.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@amount = args[:amount] if args.key?(:amount)
|
|
@annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range)
|
|
@annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range)
|
|
@entries = args[:entries] if args.key?(:entries)
|
|
@max = args[:max] if args.key?(:max)
|
|
@min = args[:min] if args.key?(:min)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Compensation range.
|
|
class CompensationRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `max`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :max
|
|
|
|
# Represents an amount of money with its currency type.
|
|
# Corresponds to the JSON property `min`
|
|
# @return [Google::Apis::JobsV2::Money]
|
|
attr_accessor :min
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max = args[:max] if args.key?(:max)
|
|
@min = args[:min] if args.key?(:min)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Response of auto-complete query.
|
|
class CompleteQueryResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Results of the matching job/company candidates.
|
|
# Corresponds to the JSON property `completionResults`
|
|
# @return [Array<Google::Apis::JobsV2::CompletionResult>]
|
|
attr_accessor :completion_results
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@completion_results = args[:completion_results] if args.key?(:completion_results)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Resource that represents completion results.
|
|
class CompletionResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL for the company logo if `type=COMPANY_NAME`.
|
|
# Corresponds to the JSON property `imageUrl`
|
|
# @return [String]
|
|
attr_accessor :image_url
|
|
|
|
# The suggestion for the query.
|
|
# Corresponds to the JSON property `suggestion`
|
|
# @return [String]
|
|
attr_accessor :suggestion
|
|
|
|
# The completion topic.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@image_url = args[:image_url] if args.key?(:image_url)
|
|
@suggestion = args[:suggestion] if args.key?(:suggestion)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Create job request.
|
|
class CreateJobRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set to `true`, the service will not attempt to resolve a
|
|
# more precise address for the job.
|
|
# Corresponds to the JSON property `disableStreetAddressResolution`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_street_address_resolution
|
|
alias_method :disable_street_address_resolution?, :disable_street_address_resolution
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `job`
|
|
# @return [Google::Apis::JobsV2::Job]
|
|
attr_accessor :job
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution)
|
|
@job = args[:job] if args.key?(:job)
|
|
end
|
|
end
|
|
|
|
# Custom attribute values that are either filterable or non-filterable.
|
|
class CustomAttribute
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# If the `filterable` flag is true, custom field values are searchable.
|
|
# If false, values are not searchable.
|
|
# Default is false.
|
|
# Corresponds to the JSON property `filterable`
|
|
# @return [Boolean]
|
|
attr_accessor :filterable
|
|
alias_method :filterable?, :filterable
|
|
|
|
# Optional but at least one of string_values or long_value must
|
|
# be specified.
|
|
# This field is used to perform number range search.
|
|
# (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. For
|
|
# `long_value`, a value between Long.MIN and Long.MIN is allowed.
|
|
# Corresponds to the JSON property `longValue`
|
|
# @return [Fixnum]
|
|
attr_accessor :long_value
|
|
|
|
# Represents array of string values.
|
|
# Corresponds to the JSON property `stringValues`
|
|
# @return [Google::Apis::JobsV2::StringValues]
|
|
attr_accessor :string_values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@filterable = args[:filterable] if args.key?(:filterable)
|
|
@long_value = args[:long_value] if args.key?(:long_value)
|
|
@string_values = args[:string_values] if args.key?(:string_values)
|
|
end
|
|
end
|
|
|
|
# Custom attributes histogram request. An error will be thrown if neither
|
|
# string_value_histogram or long_value_histogram_bucketing_option has
|
|
# been defined.
|
|
class CustomAttributeHistogramRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required.
|
|
# Specifies the custom field key to perform a histogram on. If
|
|
# specified without `long_value_buckets` or `long_value_min_max`, a
|
|
# histogram on string values of the given `key` is triggered,
|
|
# otherwise histogram is performed on long values.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Input only.
|
|
# Use this field to specify bucketing option for the histogram search response.
|
|
# Corresponds to the JSON property `longValueHistogramBucketingOption`
|
|
# @return [Google::Apis::JobsV2::NumericBucketingOption]
|
|
attr_accessor :long_value_histogram_bucketing_option
|
|
|
|
# Optional. If set to true, the response will include the histogram value for
|
|
# each key as a string.
|
|
# Corresponds to the JSON property `stringValueHistogram`
|
|
# @return [Boolean]
|
|
attr_accessor :string_value_histogram
|
|
alias_method :string_value_histogram?, :string_value_histogram
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@long_value_histogram_bucketing_option = args[:long_value_histogram_bucketing_option] if args.key?(:long_value_histogram_bucketing_option)
|
|
@string_value_histogram = args[:string_value_histogram] if args.key?(:string_value_histogram)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Custom attribute histogram result.
|
|
class CustomAttributeHistogramResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Stores the key of custom attribute the histogram is performed on.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Output only.
|
|
# Custom numeric bucketing result.
|
|
# Corresponds to the JSON property `longValueHistogramResult`
|
|
# @return [Google::Apis::JobsV2::NumericBucketingResult]
|
|
attr_accessor :long_value_histogram_result
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `stringValueHistogramResult`
|
|
# @return [Hash<String,Fixnum>]
|
|
attr_accessor :string_value_histogram_result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@long_value_histogram_result = args[:long_value_histogram_result] if args.key?(:long_value_histogram_result)
|
|
@string_value_histogram_result = args[:string_value_histogram_result] if args.key?(:string_value_histogram_result)
|
|
end
|
|
end
|
|
|
|
# Resource that represents the custom data not captured by the standard fields.
|
|
class CustomField
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The values of the custom data.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Custom field filter of the search.
|
|
class CustomFieldFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required.
|
|
# The query strings for the filter.
|
|
# Corresponds to the JSON property `queries`
|
|
# @return [Array<String>]
|
|
attr_accessor :queries
|
|
|
|
# Optional.
|
|
# The type of filter.
|
|
# Defaults to FilterType.OR.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@queries = args[:queries] if args.key?(:queries)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Represents a whole calendar date, e.g. date of birth. The time of day and
|
|
# time zone are either specified elsewhere or are not significant. The date
|
|
# is relative to the Proleptic Gregorian Calendar. The day may be 0 to
|
|
# represent a year and month where the day is not significant, e.g. credit card
|
|
# expiration date. The year may be 0 to represent a month and day independent
|
|
# of year, e.g. anniversary date. Related types are google.type.TimeOfDay
|
|
# and `google.protobuf.Timestamp`.
|
|
class Date
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Day of month. Must be from 1 to 31 and valid for the year and month, or 0
|
|
# if specifying a year/month where the day is not significant.
|
|
# Corresponds to the JSON property `day`
|
|
# @return [Fixnum]
|
|
attr_accessor :day
|
|
|
|
# Month of year. Must be from 1 to 12, or 0 if specifying a date without a
|
|
# month.
|
|
# Corresponds to the JSON property `month`
|
|
# @return [Fixnum]
|
|
attr_accessor :month
|
|
|
|
# Year of date. Must be from 1 to 9999, or 0 if specifying a date without
|
|
# a year.
|
|
# Corresponds to the JSON property `year`
|
|
# @return [Fixnum]
|
|
attr_accessor :year
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@day = args[:day] if args.key?(:day)
|
|
@month = args[:month] if args.key?(:month)
|
|
@year = args[:year] if args.key?(:year)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use BatchDeleteJobsRequest instead.
|
|
# Input only.
|
|
# Delete job by filter request.
|
|
# The job typically becomes unsearchable within 10 seconds, but it may take
|
|
# up to 5 minutes.
|
|
class DeleteJobsByFilterRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# If set to true, this call waits for all processing steps to complete
|
|
# before the job is cleaned up. Otherwise, the call returns while some
|
|
# steps are still taking place asynchronously, hence faster.
|
|
# Corresponds to the JSON property `disableFastProcess`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_fast_process
|
|
alias_method :disable_fast_process?, :disable_fast_process
|
|
|
|
# Deprecated. Use BatchDeleteJobsRequest instead.
|
|
# Input only.
|
|
# Filter for jobs to be deleted.
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [Google::Apis::JobsV2::Filter]
|
|
attr_accessor :filter
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disable_fast_process = args[:disable_fast_process] if args.key?(:disable_fast_process)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Device information collected from the job searcher, candidate, or
|
|
# other entity conducting the job search. Providing this information improves
|
|
# the quality of the search results across devices.
|
|
class DeviceInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# Type of the device.
|
|
# Corresponds to the JSON property `deviceType`
|
|
# @return [String]
|
|
attr_accessor :device_type
|
|
|
|
# Optional.
|
|
# A device-specific ID. It must be a unique identifier, which distinguishes
|
|
# the device from other devices.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@device_type = args[:device_type] if args.key?(:device_type)
|
|
@id = args[:id] if args.key?(:id)
|
|
end
|
|
end
|
|
|
|
# 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 ````.
|
|
class Empty
|
|
include Google::Apis::Core::Hashable
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Always use CompensationFilter.
|
|
# Input only.
|
|
# Filter on job compensation type and amount.
|
|
class ExtendedCompensationFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `compensationRange`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
|
|
attr_accessor :compensation_range
|
|
|
|
# Required.
|
|
# Specify desired ** base compensation entry's **
|
|
# ExtendedCompensationInfo.CompensationUnit.
|
|
# Corresponds to the JSON property `compensationUnits`
|
|
# @return [Array<String>]
|
|
attr_accessor :compensation_units
|
|
|
|
# Optional.
|
|
# Specify currency in 3-letter
|
|
# [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. If
|
|
# unspecified, jobs are returned regardless of currency.
|
|
# Corresponds to the JSON property `currency`
|
|
# @return [String]
|
|
attr_accessor :currency
|
|
|
|
# Optional.
|
|
# Whether to include jobs whose compensation range is unspecified.
|
|
# Corresponds to the JSON property `includeJobWithUnspecifiedCompensationRange`
|
|
# @return [Boolean]
|
|
attr_accessor :include_job_with_unspecified_compensation_range
|
|
alias_method :include_job_with_unspecified_compensation_range?, :include_job_with_unspecified_compensation_range
|
|
|
|
# Required.
|
|
# Type of filter.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@compensation_range = args[:compensation_range] if args.key?(:compensation_range)
|
|
@compensation_units = args[:compensation_units] if args.key?(:compensation_units)
|
|
@currency = args[:currency] if args.key?(:currency)
|
|
@include_job_with_unspecified_compensation_range = args[:include_job_with_unspecified_compensation_range] if args.key?(:include_job_with_unspecified_compensation_range)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use CompensationInfo.
|
|
# Describes job compensation.
|
|
class ExtendedCompensationInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `annualizedBaseCompensationRange`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
|
|
attr_accessor :annualized_base_compensation_range
|
|
|
|
# Output only.
|
|
# Indicates annualized base compensation range cannot be derived, due to
|
|
# the job's base compensation entry cannot be annualized.
|
|
# See CompensationEntry for explanation on annualization and base
|
|
# compensation entry.
|
|
# Corresponds to the JSON property `annualizedBaseCompensationUnspecified`
|
|
# @return [Boolean]
|
|
attr_accessor :annualized_base_compensation_unspecified
|
|
alias_method :annualized_base_compensation_unspecified?, :annualized_base_compensation_unspecified
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `annualizedTotalCompensationRange`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
|
|
attr_accessor :annualized_total_compensation_range
|
|
|
|
# Output only.
|
|
# Indicates annualized total compensation range cannot be derived, due to
|
|
# the job's all CompensationEntry cannot be annualized.
|
|
# See CompensationEntry for explanation on annualization and base
|
|
# compensation entry.
|
|
# Corresponds to the JSON property `annualizedTotalCompensationUnspecified`
|
|
# @return [Boolean]
|
|
attr_accessor :annualized_total_compensation_unspecified
|
|
alias_method :annualized_total_compensation_unspecified?, :annualized_total_compensation_unspecified
|
|
|
|
# Optional.
|
|
# A 3-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)
|
|
# currency code.
|
|
# Corresponds to the JSON property `currency`
|
|
# @return [String]
|
|
attr_accessor :currency
|
|
|
|
# Optional.
|
|
# Job compensation information.
|
|
# At most one entry can be of type
|
|
# ExtendedCompensationInfo.CompensationType.BASE, which is
|
|
# referred as ** base compensation entry ** for the job.
|
|
# Corresponds to the JSON property `entries`
|
|
# @return [Array<Google::Apis::JobsV2::ExtendedCompensationInfoCompensationEntry>]
|
|
attr_accessor :entries
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range)
|
|
@annualized_base_compensation_unspecified = args[:annualized_base_compensation_unspecified] if args.key?(:annualized_base_compensation_unspecified)
|
|
@annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range)
|
|
@annualized_total_compensation_unspecified = args[:annualized_total_compensation_unspecified] if args.key?(:annualized_total_compensation_unspecified)
|
|
@currency = args[:currency] if args.key?(:currency)
|
|
@entries = args[:entries] if args.key?(:entries)
|
|
end
|
|
end
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# 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.
|
|
class ExtendedCompensationInfoCompensationEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Decimal number.
|
|
# Corresponds to the JSON property `amount`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
|
|
attr_accessor :amount
|
|
|
|
# Optional.
|
|
# Compensation description.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Decimal number.
|
|
# Corresponds to the JSON property `expectedUnitsPerYear`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
|
|
attr_accessor :expected_units_per_year
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Compensation range.
|
|
# Corresponds to the JSON property `range`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
|
|
attr_accessor :range
|
|
|
|
# Required.
|
|
# Compensation type.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# Optional.
|
|
# Frequency of the specified amount.
|
|
# Default is CompensationUnit.OTHER_COMPENSATION_UNIT.
|
|
# Corresponds to the JSON property `unit`
|
|
# @return [String]
|
|
attr_accessor :unit
|
|
|
|
# Optional.
|
|
# Indicates compensation amount and range are unset.
|
|
# Corresponds to the JSON property `unspecified`
|
|
# @return [Boolean]
|
|
attr_accessor :unspecified
|
|
alias_method :unspecified?, :unspecified
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@amount = args[:amount] if args.key?(:amount)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year)
|
|
@range = args[:range] if args.key?(:range)
|
|
@type = args[:type] if args.key?(:type)
|
|
@unit = args[:unit] if args.key?(:unit)
|
|
@unspecified = args[:unspecified] if args.key?(:unspecified)
|
|
end
|
|
end
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Compensation range.
|
|
class ExtendedCompensationInfoCompensationRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Decimal number.
|
|
# Corresponds to the JSON property `max`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
|
|
attr_accessor :max
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Decimal number.
|
|
# Corresponds to the JSON property `min`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
|
|
attr_accessor :min
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max = args[:max] if args.key?(:max)
|
|
@min = args[:min] if args.key?(:min)
|
|
end
|
|
end
|
|
|
|
# Deprecated. See CompensationInfo.
|
|
# Decimal number.
|
|
class ExtendedCompensationInfoDecimal
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Micro (10^-6) units.
|
|
# The value must be between -999,999 and +999,999 inclusive.
|
|
# If `units` is positive, `micros` must be positive or zero.
|
|
# If `units` is zero, `micros` can be positive, zero, or negative.
|
|
# If `units` is negative, `micros` must be negative or zero.
|
|
# For example -1.75 is represented as `units`=-1 and `micros`=-750,000.
|
|
# Corresponds to the JSON property `micros`
|
|
# @return [Fixnum]
|
|
attr_accessor :micros
|
|
|
|
# Whole units.
|
|
# Corresponds to the JSON property `units`
|
|
# @return [Fixnum]
|
|
attr_accessor :units
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@micros = args[:micros] if args.key?(:micros)
|
|
@units = args[:units] if args.key?(:units)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use BatchDeleteJobsRequest instead.
|
|
# Input only.
|
|
# Filter for jobs to be deleted.
|
|
class Filter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required.
|
|
# The requisition ID (or posting ID) assigned by the client to identify a
|
|
# job. This is intended for client identification and tracking of
|
|
# listings.
|
|
# name takes precedence over this field
|
|
# The maximum number of allowed characters is 225.
|
|
# Corresponds to the JSON property `requisitionId`
|
|
# @return [String]
|
|
attr_accessor :requisition_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@requisition_id = args[:requisition_id] if args.key?(:requisition_id)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use SearchJobsRequest.histogram_facets instead to make
|
|
# a single call with both search and histogram.
|
|
# Input only.
|
|
# A request for the `GetHistogram` method.
|
|
class GetHistogramRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# Controls whether to broaden the search to avoid too few results for a
|
|
# given query in instances where a search has sparse results. Results from a
|
|
# broadened query is a superset of the results from the original query.
|
|
# Defaults to false.
|
|
# Corresponds to the JSON property `allowBroadening`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_broadening
|
|
alias_method :allow_broadening?, :allow_broadening
|
|
|
|
# Input only.
|
|
# Deprecated. Use JobQuery instead.
|
|
# The filters required to perform a search query or histogram.
|
|
# Corresponds to the JSON property `filters`
|
|
# @return [Google::Apis::JobsV2::JobFilters]
|
|
attr_accessor :filters
|
|
|
|
# Input only.
|
|
# The query required to perform a search query or histogram.
|
|
# Corresponds to the JSON property `query`
|
|
# @return [Google::Apis::JobsV2::JobQuery]
|
|
attr_accessor :query
|
|
|
|
# Input only.
|
|
# Meta information related to the job searcher or entity
|
|
# conducting the job search. This information is used to improve the
|
|
# performance of the service.
|
|
# Corresponds to the JSON property `requestMetadata`
|
|
# @return [Google::Apis::JobsV2::RequestMetadata]
|
|
attr_accessor :request_metadata
|
|
|
|
# Required.
|
|
# A list of facets that specify the histogram data to be calculated
|
|
# against and returned.
|
|
# Histogram response times can be slow, and counts
|
|
# can be approximations. This call may be temporarily or permanently removed
|
|
# prior to the production release of Cloud Job Discovery.
|
|
# Corresponds to the JSON property `searchTypes`
|
|
# @return [Array<String>]
|
|
attr_accessor :search_types
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@allow_broadening = args[:allow_broadening] if args.key?(:allow_broadening)
|
|
@filters = args[:filters] if args.key?(:filters)
|
|
@query = args[:query] if args.key?(:query)
|
|
@request_metadata = args[:request_metadata] if args.key?(:request_metadata)
|
|
@search_types = args[:search_types] if args.key?(:search_types)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use SearchJobsRequest.histogram_facets instead to make
|
|
# a single call with both search and histogram.
|
|
# Output only.
|
|
# The response of the GetHistogram method.
|
|
class GetHistogramResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
# The Histogram results.
|
|
# Corresponds to the JSON property `results`
|
|
# @return [Array<Google::Apis::JobsV2::HistogramResult>]
|
|
attr_accessor :results
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@results = args[:results] if args.key?(:results)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Histogram facets to be specified in SearchJobsRequest.
|
|
class HistogramFacets
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# Specifies compensation field-based histogram requests.
|
|
# Duplicate CompensationHistogramRequest.types are not allowed.
|
|
# Corresponds to the JSON property `compensationHistogramFacets`
|
|
# @return [Array<Google::Apis::JobsV2::CompensationHistogramRequest>]
|
|
attr_accessor :compensation_histogram_facets
|
|
|
|
# Optional.
|
|
# Specifies the custom attributes histogram requests.
|
|
# Duplicate CustomAttributeHistogramRequest.keys are not allowed.
|
|
# Corresponds to the JSON property `customAttributeHistogramFacets`
|
|
# @return [Array<Google::Apis::JobsV2::CustomAttributeHistogramRequest>]
|
|
attr_accessor :custom_attribute_histogram_facets
|
|
|
|
# Optional. Specifies the simple type of histogram facets, e.g,
|
|
# `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent to
|
|
# GetHistogramRequest.
|
|
# Corresponds to the JSON property `simpleHistogramFacets`
|
|
# @return [Array<String>]
|
|
attr_accessor :simple_histogram_facets
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@compensation_histogram_facets = args[:compensation_histogram_facets] if args.key?(:compensation_histogram_facets)
|
|
@custom_attribute_histogram_facets = args[:custom_attribute_histogram_facets] if args.key?(:custom_attribute_histogram_facets)
|
|
@simple_histogram_facets = args[:simple_histogram_facets] if args.key?(:simple_histogram_facets)
|
|
end
|
|
end
|
|
|
|
# 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.
|
|
class HistogramResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Histogram search filters.
|
|
# Corresponds to the JSON property `searchType`
|
|
# @return [String]
|
|
attr_accessor :search_type
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Hash<String,Fixnum>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@search_type = args[:search_type] if args.key?(:search_type)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Histogram results that matches HistogramFacets specified in
|
|
# SearchJobsRequest.
|
|
class HistogramResults
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies compensation field-based histogram results that matches
|
|
# HistogramFacets.compensation_histogram_requests.
|
|
# Corresponds to the JSON property `compensationHistogramResults`
|
|
# @return [Array<Google::Apis::JobsV2::CompensationHistogramResult>]
|
|
attr_accessor :compensation_histogram_results
|
|
|
|
# Specifies histogram results for custom attributes that
|
|
# matches HistogramFacets.custom_attribute_histogram_facets.
|
|
# Corresponds to the JSON property `customAttributeHistogramResults`
|
|
# @return [Array<Google::Apis::JobsV2::CustomAttributeHistogramResult>]
|
|
attr_accessor :custom_attribute_histogram_results
|
|
|
|
# Specifies histogram results that matches
|
|
# HistogramFacets.simple_histogram_facets.
|
|
# Corresponds to the JSON property `simpleHistogramResults`
|
|
# @return [Array<Google::Apis::JobsV2::HistogramResult>]
|
|
attr_accessor :simple_histogram_results
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@compensation_histogram_results = args[:compensation_histogram_results] if args.key?(:compensation_histogram_results)
|
|
@custom_attribute_histogram_results = args[:custom_attribute_histogram_results] if args.key?(:custom_attribute_histogram_results)
|
|
@simple_histogram_results = args[:simple_histogram_results] if args.key?(:simple_histogram_results)
|
|
end
|
|
end
|
|
|
|
# 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.
|
|
class Job
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional but at least one of application_urls,
|
|
# application_email_list or application_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 is 255.
|
|
# Corresponds to the JSON property `applicationEmailList`
|
|
# @return [Array<String>]
|
|
attr_accessor :application_email_list
|
|
|
|
# Optional but at least one of application_urls,
|
|
# application_email_list or application_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.
|
|
# Corresponds to the JSON property `applicationInstruction`
|
|
# @return [String]
|
|
attr_accessor :application_instruction
|
|
|
|
# Optional but at least one of application_urls,
|
|
# application_email_list or application_instruction must be
|
|
# specified.
|
|
# Use this URL field to direct an applicant to a website, for example to
|
|
# link to an online application form.
|
|
# The maximum number of allowed characters is 2,000.
|
|
# Corresponds to the JSON property `applicationUrls`
|
|
# @return [Array<String>]
|
|
attr_accessor :application_urls
|
|
|
|
# Optional.
|
|
# The benefits included with the job.
|
|
# Corresponds to the JSON property `benefits`
|
|
# @return [Array<String>]
|
|
attr_accessor :benefits
|
|
|
|
# Output only.
|
|
# The name of the company listing the job.
|
|
# Corresponds to the JSON property `companyDisplayName`
|
|
# @return [String]
|
|
attr_accessor :company_display_name
|
|
|
|
# Optional but one of company_name or distributor_company_id must be
|
|
# provided.
|
|
# The resource name of the company listing the job, such as
|
|
# /companies/foo. This field takes precedence over the
|
|
# distributor-assigned company identifier, distributor_company_id.
|
|
# Corresponds to the JSON property `companyName`
|
|
# @return [String]
|
|
attr_accessor :company_name
|
|
|
|
# Deprecated. Use company_display_name instead.
|
|
# Output only.
|
|
# The name of the company listing the job.
|
|
# Corresponds to the JSON property `companyTitle`
|
|
# @return [String]
|
|
attr_accessor :company_title
|
|
|
|
# Job compensation details.
|
|
# Corresponds to the JSON property `compensationInfo`
|
|
# @return [Google::Apis::JobsV2::CompensationInfo]
|
|
attr_accessor :compensation_info
|
|
|
|
# Output only.
|
|
# The timestamp when this job was created.
|
|
# Corresponds to the JSON property `createTime`
|
|
# @return [String]
|
|
attr_accessor :create_time
|
|
|
|
# Optional.
|
|
# A map of fields to hold both filterable and non-filterable custom job
|
|
# attributes that are not covered by the provided structured fields.
|
|
# This field is a more general combination of the deprecated id-based
|
|
# filterable_custom_fields and string-based
|
|
# non_filterable_custom_fields.
|
|
# The keys of the map are strings up to 64 bytes and must match the
|
|
# pattern: a-zA-Z*.
|
|
# 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.
|
|
# Corresponds to the JSON property `customAttributes`
|
|
# @return [Hash<String,Google::Apis::JobsV2::CustomAttribute>]
|
|
attr_accessor :custom_attributes
|
|
|
|
# Optional.
|
|
# The department or functional area within the company with the open
|
|
# position.
|
|
# The maximum number of allowed characters is 255.
|
|
# Corresponds to the JSON property `department`
|
|
# @return [String]
|
|
attr_accessor :department
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Optional but one of company_name or distributor_company_id must be
|
|
# provided.
|
|
# A unique company identifier that used by job distributors to identify an
|
|
# employer's company entity. company_name takes precedence over
|
|
# this field, and is the recommended field to use to identify companies.
|
|
# The maximum number of allowed characters is 255.
|
|
# Corresponds to the JSON property `distributorCompanyId`
|
|
# @return [String]
|
|
attr_accessor :distributor_company_id
|
|
|
|
# Optional.
|
|
# The desired education level for the job, such as
|
|
# "Bachelors", "Masters", "Doctorate".
|
|
# Corresponds to the JSON property `educationLevels`
|
|
# @return [Array<String>]
|
|
attr_accessor :education_levels
|
|
|
|
# Optional.
|
|
# The employment type(s) of a job, for example,
|
|
# full time or
|
|
# part time.
|
|
# Corresponds to the JSON property `employmentTypes`
|
|
# @return [Array<String>]
|
|
attr_accessor :employment_types
|
|
|
|
# Represents a whole calendar date, e.g. date of birth. The time of day and
|
|
# time zone are either specified elsewhere or are not significant. The date
|
|
# is relative to the Proleptic Gregorian Calendar. The day may be 0 to
|
|
# represent a year and month where the day is not significant, e.g. credit card
|
|
# expiration date. The year may be 0 to represent a month and day independent
|
|
# of year, e.g. anniversary date. Related types are google.type.TimeOfDay
|
|
# and `google.protobuf.Timestamp`.
|
|
# Corresponds to the JSON property `endDate`
|
|
# @return [Google::Apis::JobsV2::Date]
|
|
attr_accessor :end_date
|
|
|
|
# Optional but strongly recommended to be provided 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. It can also remain
|
|
# expired. Updating an expired job to be open fails if there is another
|
|
# existing open job with same requisition_id, company_name and
|
|
# language_code.
|
|
# 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.
|
|
# The format of this field is RFC 3339 date strings. Example:
|
|
# 2000-01-01T00:00:00.999999999Z
|
|
# See
|
|
# [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
|
|
# A valid date range is between 1970-01-01T00:00:00.0Z and
|
|
# 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as expire
|
|
# time not provided.
|
|
# If this value is not provided on job creation or 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 but expiry_date is, expiry_date is
|
|
# used.
|
|
# If this value is not provided on job update, it depends on the field masks
|
|
# set by UpdateJobRequest.update_job_fields. 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.
|
|
# Corresponds to the JSON property `expireTime`
|
|
# @return [String]
|
|
attr_accessor :expire_time
|
|
|
|
# Represents a whole calendar date, e.g. date of birth. The time of day and
|
|
# time zone are either specified elsewhere or are not significant. The date
|
|
# is relative to the Proleptic Gregorian Calendar. The day may be 0 to
|
|
# represent a year and month where the day is not significant, e.g. credit card
|
|
# expiration date. The year may be 0 to represent a month and day independent
|
|
# of year, e.g. anniversary date. Related types are google.type.TimeOfDay
|
|
# and `google.protobuf.Timestamp`.
|
|
# Corresponds to the JSON property `expiryDate`
|
|
# @return [Google::Apis::JobsV2::Date]
|
|
attr_accessor :expiry_date
|
|
|
|
# Deprecated. Use CompensationInfo.
|
|
# Describes job compensation.
|
|
# Corresponds to the JSON property `extendedCompensationInfo`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationInfo]
|
|
attr_accessor :extended_compensation_info
|
|
|
|
# Deprecated. Use custom_attributes instead.
|
|
# Optional.
|
|
# A map of fields to hold filterable custom job attributes not captured by
|
|
# the standard fields such as job_title, company_name, or
|
|
# level. These custom fields store arbitrary
|
|
# string values, and can be used for purposes not covered by
|
|
# the structured fields. For the best search experience, use of the
|
|
# structured rather than custom fields is recommended.
|
|
# Data stored in these custom fields fields are indexed and
|
|
# searched against by keyword searches (see
|
|
# SearchJobsRequest.custom_field_filters][]). To list jobs by
|
|
# custom fields, see ListCustomFieldsRequest.field_id.
|
|
# The map key must be a number between 1-20. If an invalid key is
|
|
# provided on job create or update, an error is returned.
|
|
# Corresponds to the JSON property `filterableCustomFields`
|
|
# @return [Hash<String,Google::Apis::JobsV2::CustomField>]
|
|
attr_accessor :filterable_custom_fields
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `incentives`
|
|
# @return [String]
|
|
attr_accessor :incentives
|
|
|
|
# Output only.
|
|
# Structured locations of the job, resolved from locations.
|
|
# Corresponds to the JSON property `jobLocations`
|
|
# @return [Array<Google::Apis::JobsV2::JobLocation>]
|
|
attr_accessor :job_locations
|
|
|
|
# Required.
|
|
# The title of the job, such as "Software Engineer"
|
|
# The maximum number of allowed characters is 500.
|
|
# Corresponds to the JSON property `jobTitle`
|
|
# @return [String]
|
|
attr_accessor :job_title
|
|
|
|
# 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).
|
|
# The default value is `en-US`.
|
|
# Corresponds to the JSON property `languageCode`
|
|
# @return [String]
|
|
attr_accessor :language_code
|
|
|
|
# Optional.
|
|
# The experience level associated with the job, such as "Entry Level".
|
|
# Corresponds to the JSON property `level`
|
|
# @return [String]
|
|
attr_accessor :level
|
|
|
|
# Optional but strongly recommended to be provided for the best service
|
|
# experience.
|
|
# Location(s) where the job is hiring.
|
|
# Providing the full street address(es) of the hiring
|
|
# location is recommended to enable better API results, including
|
|
# 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 requisition_id, company_name and
|
|
# language_code 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.
|
|
# Corresponds to the JSON property `locations`
|
|
# @return [Array<String>]
|
|
attr_accessor :locations
|
|
|
|
# Required during job update.
|
|
# Resource name assigned to a job by the API, for example, "/jobs/foo". Use
|
|
# of this field in job queries and API calls is preferred over the use of
|
|
# requisition_id since this value is unique.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `promotionValue`
|
|
# @return [Fixnum]
|
|
attr_accessor :promotion_value
|
|
|
|
# Represents a whole calendar date, e.g. date of birth. The time of day and
|
|
# time zone are either specified elsewhere or are not significant. The date
|
|
# is relative to the Proleptic Gregorian Calendar. The day may be 0 to
|
|
# represent a year and month where the day is not significant, e.g. credit card
|
|
# expiration date. The year may be 0 to represent a month and day independent
|
|
# of year, e.g. anniversary date. Related types are google.type.TimeOfDay
|
|
# and `google.protobuf.Timestamp`.
|
|
# Corresponds to the JSON property `publishDate`
|
|
# @return [Google::Apis::JobsV2::Date]
|
|
attr_accessor :publish_date
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `qualifications`
|
|
# @return [String]
|
|
attr_accessor :qualifications
|
|
|
|
# Output only.
|
|
# The URL of a web page that displays job details.
|
|
# Corresponds to the JSON property `referenceUrl`
|
|
# @return [String]
|
|
attr_accessor :reference_url
|
|
|
|
# Optional.
|
|
# The job Region (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 if an exact location match is not specified.
|
|
# If this field is set, setting job locations
|
|
# to the same location level as this field is strongly recommended.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# 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 listings. A job is not allowed
|
|
# to be created if there is another job with the same requisition_id,
|
|
# company_name and language_code.
|
|
# The maximum number of allowed characters is 225.
|
|
# Corresponds to the JSON property `requisitionId`
|
|
# @return [String]
|
|
attr_accessor :requisition_id
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `responsibilities`
|
|
# @return [String]
|
|
attr_accessor :responsibilities
|
|
|
|
# Represents a whole calendar date, e.g. date of birth. The time of day and
|
|
# time zone are either specified elsewhere or are not significant. The date
|
|
# is relative to the Proleptic Gregorian Calendar. The day may be 0 to
|
|
# represent a year and month where the day is not significant, e.g. credit card
|
|
# expiration date. The year may be 0 to represent a month and day independent
|
|
# of year, e.g. anniversary date. Related types are google.type.TimeOfDay
|
|
# and `google.protobuf.Timestamp`.
|
|
# Corresponds to the JSON property `startDate`
|
|
# @return [Google::Apis::JobsV2::Date]
|
|
attr_accessor :start_date
|
|
|
|
# Deprecated. Use custom_attributes instead.
|
|
# Optional.
|
|
# A map of fields to hold non-filterable custom job attributes, similar to
|
|
# filterable_custom_fields. These fields are distinct in that the data
|
|
# in these fields are not indexed. Therefore, the client cannot search
|
|
# against them, nor can the client use them to list jobs.
|
|
# The key of the map can be any valid string.
|
|
# Corresponds to the JSON property `unindexedCustomFields`
|
|
# @return [Hash<String,Google::Apis::JobsV2::CustomField>]
|
|
attr_accessor :unindexed_custom_fields
|
|
|
|
# Output only.
|
|
# The timestamp when this job was last updated.
|
|
# Corresponds to the JSON property `updateTime`
|
|
# @return [String]
|
|
attr_accessor :update_time
|
|
|
|
# Optional.
|
|
# The visibility of the job.
|
|
# Defaults to JobVisibility.PRIVATE if not specified.
|
|
# Currently only JobVisibility.PRIVATE is supported.
|
|
# Corresponds to the JSON property `visibility`
|
|
# @return [String]
|
|
attr_accessor :visibility
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@application_email_list = args[:application_email_list] if args.key?(:application_email_list)
|
|
@application_instruction = args[:application_instruction] if args.key?(:application_instruction)
|
|
@application_urls = args[:application_urls] if args.key?(:application_urls)
|
|
@benefits = args[:benefits] if args.key?(:benefits)
|
|
@company_display_name = args[:company_display_name] if args.key?(:company_display_name)
|
|
@company_name = args[:company_name] if args.key?(:company_name)
|
|
@company_title = args[:company_title] if args.key?(:company_title)
|
|
@compensation_info = args[:compensation_info] if args.key?(:compensation_info)
|
|
@create_time = args[:create_time] if args.key?(:create_time)
|
|
@custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes)
|
|
@department = args[:department] if args.key?(:department)
|
|
@description = args[:description] if args.key?(:description)
|
|
@distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id)
|
|
@education_levels = args[:education_levels] if args.key?(:education_levels)
|
|
@employment_types = args[:employment_types] if args.key?(:employment_types)
|
|
@end_date = args[:end_date] if args.key?(:end_date)
|
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
|
@expiry_date = args[:expiry_date] if args.key?(:expiry_date)
|
|
@extended_compensation_info = args[:extended_compensation_info] if args.key?(:extended_compensation_info)
|
|
@filterable_custom_fields = args[:filterable_custom_fields] if args.key?(:filterable_custom_fields)
|
|
@incentives = args[:incentives] if args.key?(:incentives)
|
|
@job_locations = args[:job_locations] if args.key?(:job_locations)
|
|
@job_title = args[:job_title] if args.key?(:job_title)
|
|
@language_code = args[:language_code] if args.key?(:language_code)
|
|
@level = args[:level] if args.key?(:level)
|
|
@locations = args[:locations] if args.key?(:locations)
|
|
@name = args[:name] if args.key?(:name)
|
|
@promotion_value = args[:promotion_value] if args.key?(:promotion_value)
|
|
@publish_date = args[:publish_date] if args.key?(:publish_date)
|
|
@qualifications = args[:qualifications] if args.key?(:qualifications)
|
|
@reference_url = args[:reference_url] if args.key?(:reference_url)
|
|
@region = args[:region] if args.key?(:region)
|
|
@requisition_id = args[:requisition_id] if args.key?(:requisition_id)
|
|
@responsibilities = args[:responsibilities] if args.key?(:responsibilities)
|
|
@start_date = args[:start_date] if args.key?(:start_date)
|
|
@unindexed_custom_fields = args[:unindexed_custom_fields] if args.key?(:unindexed_custom_fields)
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
@visibility = args[:visibility] if args.key?(:visibility)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Deprecated. Use JobQuery instead.
|
|
# The filters required to perform a search query or histogram.
|
|
class JobFilters
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The category filter specifies the categories of jobs to search against.
|
|
# See Category for more information.
|
|
# If a value is not specified, jobs from any category are searched against.
|
|
# If multiple values are specified, jobs from any of the specified
|
|
# categories are searched against.
|
|
# Corresponds to the JSON property `categories`
|
|
# @return [Array<String>]
|
|
attr_accessor :categories
|
|
|
|
# Input only.
|
|
# Parameters needed for commute search.
|
|
# Corresponds to the JSON property `commuteFilter`
|
|
# @return [Google::Apis::JobsV2::CommutePreference]
|
|
attr_accessor :commute_filter
|
|
|
|
# Optional.
|
|
# The company names filter specifies the company entities to search
|
|
# against.
|
|
# If a value is not specified, jobs are searched for against all companies.
|
|
# If multiple values are specified, jobs are searched against the
|
|
# specified companies.
|
|
# At most 20 company filters are allowed.
|
|
# Corresponds to the JSON property `companyNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :company_names
|
|
|
|
# Optional.
|
|
# This filter specifies the exact company titles
|
|
# of jobs to search against.
|
|
# If a value is not specified, jobs within the search results can be
|
|
# associated with any company.
|
|
# If multiple values are specified, jobs within the search results may be
|
|
# associated with any of the specified companies.
|
|
# At most 20 company title filters are allowed.
|
|
# Corresponds to the JSON property `companyTitles`
|
|
# @return [Array<String>]
|
|
attr_accessor :company_titles
|
|
|
|
# Input only.
|
|
# Filter on job compensation type and amount.
|
|
# Corresponds to the JSON property `compensationFilter`
|
|
# @return [Google::Apis::JobsV2::CompensationFilter]
|
|
attr_accessor :compensation_filter
|
|
|
|
# Optional.
|
|
# This filter specifies a structured syntax to match against the
|
|
# Job.custom_attributes that are marked as `filterable`.
|
|
# The syntax for this expression is a subset of Google SQL syntax.
|
|
# Supported operators are: =, !=, <, <=, >, >= where the left of the operator
|
|
# is a custom field key and the right of the operator is a number or string
|
|
# (surrounded by quotes) value.
|
|
# Supported functions are LOWER(<field_name>) to
|
|
# perform case insensitive match and EMPTY(<field_name>) to filter on the
|
|
# existence of a key.
|
|
# Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
|
|
# nesting (For example, "((A AND B AND C) OR NOT D) AND E"), and there can
|
|
# be a maximum of 50 comparisons/functions in the expression. The expression
|
|
# must be < 2000 characters in length.
|
|
# Sample Query:
|
|
# (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100
|
|
# Corresponds to the JSON property `customAttributeFilter`
|
|
# @return [String]
|
|
attr_accessor :custom_attribute_filter
|
|
|
|
# Deprecated. Use custom_attribute_filter instead.
|
|
# Optional.
|
|
# This filter specifies searching against
|
|
# custom field values. See Job.filterable_custom_fields for information.
|
|
# The key value specifies a number between 1-20 (the service
|
|
# supports 20 custom fields) corresponding to the desired custom field map
|
|
# value. If an invalid key is provided or specified together with
|
|
# custom_attribute_filter, an error is thrown.
|
|
# Corresponds to the JSON property `customFieldFilters`
|
|
# @return [Hash<String,Google::Apis::JobsV2::CustomFieldFilter>]
|
|
attr_accessor :custom_field_filters
|
|
|
|
# Optional.
|
|
# This flag controls the spell-check feature. If false, the
|
|
# service attempts to correct a misspelled query,
|
|
# for example, "enginee" is corrected to "engineer".
|
|
# Defaults to false: a spell check is performed.
|
|
# Corresponds to the JSON property `disableSpellCheck`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_spell_check
|
|
alias_method :disable_spell_check?, :disable_spell_check
|
|
|
|
# Optional.
|
|
# The employment type filter specifies the employment type of jobs to
|
|
# search against, such as EmploymentType.FULL_TIME.
|
|
# If a value is not specified, jobs in the search results include any
|
|
# employment type.
|
|
# If multiple values are specified, jobs in the search results include any
|
|
# of the specified employment types.
|
|
# Corresponds to the JSON property `employmentTypes`
|
|
# @return [Array<String>]
|
|
attr_accessor :employment_types
|
|
|
|
# Deprecated. Always use CompensationFilter.
|
|
# Input only.
|
|
# Filter on job compensation type and amount.
|
|
# Corresponds to the JSON property `extendedCompensationFilter`
|
|
# @return [Google::Apis::JobsV2::ExtendedCompensationFilter]
|
|
attr_accessor :extended_compensation_filter
|
|
|
|
# Optional.
|
|
# This filter specifies the locale of jobs to search against,
|
|
# for example, "en-US".
|
|
# If a value is not specified, the search results can contain jobs in any
|
|
# locale.
|
|
# Language codes should 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).
|
|
# At most 10 language code filters are allowed.
|
|
# Corresponds to the JSON property `languageCodes`
|
|
# @return [Array<String>]
|
|
attr_accessor :language_codes
|
|
|
|
# Optional.
|
|
# The location filter specifies geo-regions containing the jobs to
|
|
# search against. See LocationFilter for more information.
|
|
# If a location value is not specified, jobs are be retrieved
|
|
# from all locations.
|
|
# If multiple values are specified, jobs are retrieved from any of the
|
|
# specified locations, and, if different values are specified
|
|
# for the LocationFilter.distance_in_miles parameter, the maximum
|
|
# provided distance is used for all locations.
|
|
# At most 5 location filters are allowed.
|
|
# Corresponds to the JSON property `locationFilters`
|
|
# @return [Array<Google::Apis::JobsV2::LocationFilter>]
|
|
attr_accessor :location_filters
|
|
|
|
# Optional.
|
|
# Jobs published within a range specified by this filter are searched
|
|
# against, for example, DateRange.PAST_MONTH. If a value is not
|
|
# specified, all open jobs are searched against regardless of the
|
|
# date on which they were published.
|
|
# Corresponds to the JSON property `publishDateRange`
|
|
# @return [String]
|
|
attr_accessor :publish_date_range
|
|
|
|
# Optional.
|
|
# The query filter contains the keywords that match against the job
|
|
# title, description, and location fields.
|
|
# The maximum query size is 255 bytes.
|
|
# Corresponds to the JSON property `query`
|
|
# @return [String]
|
|
attr_accessor :query
|
|
|
|
# Optional.
|
|
# This flag controls whether the job search should be restricted to jobs
|
|
# owned by the current user.
|
|
# Defaults to false that all jobs accessible to the
|
|
# user are searched against.
|
|
# Corresponds to the JSON property `tenantJobOnly`
|
|
# @return [Boolean]
|
|
attr_accessor :tenant_job_only
|
|
alias_method :tenant_job_only?, :tenant_job_only
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@categories = args[:categories] if args.key?(:categories)
|
|
@commute_filter = args[:commute_filter] if args.key?(:commute_filter)
|
|
@company_names = args[:company_names] if args.key?(:company_names)
|
|
@company_titles = args[:company_titles] if args.key?(:company_titles)
|
|
@compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter)
|
|
@custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter)
|
|
@custom_field_filters = args[:custom_field_filters] if args.key?(:custom_field_filters)
|
|
@disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check)
|
|
@employment_types = args[:employment_types] if args.key?(:employment_types)
|
|
@extended_compensation_filter = args[:extended_compensation_filter] if args.key?(:extended_compensation_filter)
|
|
@language_codes = args[:language_codes] if args.key?(:language_codes)
|
|
@location_filters = args[:location_filters] if args.key?(:location_filters)
|
|
@publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range)
|
|
@query = args[:query] if args.key?(:query)
|
|
@tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# A resource that represents a location with full geographic
|
|
# information.
|
|
class JobLocation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An object representing a latitude/longitude pair. This is expressed as a pair
|
|
# of doubles representing degrees latitude and degrees longitude. Unless
|
|
# specified otherwise, this must conform to the
|
|
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
|
|
# standard</a>. Values must be within normalized ranges.
|
|
# Corresponds to the JSON property `latLng`
|
|
# @return [Google::Apis::JobsV2::LatLng]
|
|
attr_accessor :lat_lng
|
|
|
|
# The type of a location, which corresponds to the address lines field of
|
|
# PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
|
|
# LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
|
|
# LocationType#LOCALITY.
|
|
# Corresponds to the JSON property `locationType`
|
|
# @return [String]
|
|
attr_accessor :location_type
|
|
|
|
# Represents a postal address, e.g. for postal delivery or payments addresses.
|
|
# Given a postal address, a postal service can deliver items to a premise, P.O.
|
|
# Box or similar.
|
|
# It is not intended to model geographical locations (roads, towns,
|
|
# mountains).
|
|
# In typical usage an address would be created via user input or from importing
|
|
# existing data, depending on the type of process.
|
|
# Advice on address input / editing:
|
|
# - Use an i18n-ready address widget such as
|
|
# https://github.com/googlei18n/libaddressinput)
|
|
# - Users should not be presented with UI elements for input or editing of
|
|
# fields outside countries where that field is used.
|
|
# For more guidance on how to use this schema, please see:
|
|
# https://support.google.com/business/answer/6397478
|
|
# Corresponds to the JSON property `postalAddress`
|
|
# @return [Google::Apis::JobsV2::PostalAddress]
|
|
attr_accessor :postal_address
|
|
|
|
# Radius in meters of the job location. This value is derived from the
|
|
# location bounding box in which a circle with the specified radius
|
|
# centered from LatLng coves the area associated with the job location.
|
|
# For example, currently, "Mountain View, CA, USA" has a radius of
|
|
# 7885.79 meters.
|
|
# Corresponds to the JSON property `radiusMeters`
|
|
# @return [Float]
|
|
attr_accessor :radius_meters
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@lat_lng = args[:lat_lng] if args.key?(:lat_lng)
|
|
@location_type = args[:location_type] if args.key?(:location_type)
|
|
@postal_address = args[:postal_address] if args.key?(:postal_address)
|
|
@radius_meters = args[:radius_meters] if args.key?(:radius_meters)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# The query required to perform a search query or histogram.
|
|
class JobQuery
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The category filter specifies the categories of jobs to search against.
|
|
# See Category for more information.
|
|
# If a value is not specified, jobs from any category are searched against.
|
|
# If multiple values are specified, jobs from any of the specified
|
|
# categories are searched against.
|
|
# Corresponds to the JSON property `categories`
|
|
# @return [Array<String>]
|
|
attr_accessor :categories
|
|
|
|
# Input only.
|
|
# Parameters needed for commute search.
|
|
# Corresponds to the JSON property `commuteFilter`
|
|
# @return [Google::Apis::JobsV2::CommutePreference]
|
|
attr_accessor :commute_filter
|
|
|
|
# Optional.
|
|
# This filter specifies the exact company display
|
|
# name of jobs to search against.
|
|
# If a value is not specified, jobs within the search results can be
|
|
# associated with any company.
|
|
# If multiple values are specified, jobs within the search results may be
|
|
# associated with any of the specified companies.
|
|
# At most 20 company display name filters are allowed.
|
|
# Corresponds to the JSON property `companyDisplayNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :company_display_names
|
|
|
|
# Optional.
|
|
# The company names filter specifies the company entities to search
|
|
# against.
|
|
# If a value is not specified, jobs are searched for against all
|
|
# companies.
|
|
# If multiple values are specified, jobs are searched against the
|
|
# specified companies.
|
|
# At most 20 company filters are allowed.
|
|
# Corresponds to the JSON property `companyNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :company_names
|
|
|
|
# Input only.
|
|
# Filter on job compensation type and amount.
|
|
# Corresponds to the JSON property `compensationFilter`
|
|
# @return [Google::Apis::JobsV2::CompensationFilter]
|
|
attr_accessor :compensation_filter
|
|
|
|
# Optional.
|
|
# This filter specifies a structured syntax to match against the
|
|
# Job.custom_attributes that are marked as `filterable`.
|
|
# The syntax for this expression is a subset of Google SQL syntax.
|
|
# Supported operators are: =, !=, <, <=, >, >= where the left of the operator
|
|
# is a custom field key and the right of the operator is a number or string
|
|
# (surrounded by quotes) value.
|
|
# Supported functions are LOWER(<field_name>) to
|
|
# perform case insensitive match and EMPTY(<field_name>) to filter on the
|
|
# existence of a key.
|
|
# Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
|
|
# nesting (for example, "((A AND B AND C) OR NOT D) AND E"), and there can
|
|
# be a maximum of 50 comparisons/functions in the expression. The expression
|
|
# must be < 2000 characters in length.
|
|
# Sample Query:
|
|
# (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100
|
|
# Corresponds to the JSON property `customAttributeFilter`
|
|
# @return [String]
|
|
attr_accessor :custom_attribute_filter
|
|
|
|
# Optional.
|
|
# This flag controls the spell-check feature. If false, the
|
|
# service attempts to correct a misspelled query,
|
|
# for example, "enginee" is corrected to "engineer".
|
|
# Defaults to false: a spell check is performed.
|
|
# Corresponds to the JSON property `disableSpellCheck`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_spell_check
|
|
alias_method :disable_spell_check?, :disable_spell_check
|
|
|
|
# Optional.
|
|
# The employment type filter specifies the employment type of jobs to
|
|
# search against, such as EmploymentType.FULL_TIME.
|
|
# If a value is not specified, jobs in the search results will include any
|
|
# employment type.
|
|
# If multiple values are specified, jobs in the search results include
|
|
# any of the specified employment types.
|
|
# Corresponds to the JSON property `employmentTypes`
|
|
# @return [Array<String>]
|
|
attr_accessor :employment_types
|
|
|
|
# Optional.
|
|
# This filter specifies the locale of jobs to search against,
|
|
# for example, "en-US".
|
|
# If a value is not specified, the search results can contain jobs in any
|
|
# locale.
|
|
# Language codes should 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).
|
|
# At most 10 language code filters are allowed.
|
|
# Corresponds to the JSON property `languageCodes`
|
|
# @return [Array<String>]
|
|
attr_accessor :language_codes
|
|
|
|
# Optional.
|
|
# The location filter specifies geo-regions containing the jobs to
|
|
# search against. See LocationFilter for more information.
|
|
# If a location value is not specified, jobs that fit the other search
|
|
# criteria are retrieved regardless of where they're located.
|
|
# If multiple values are specified, jobs are retrieved from any of the
|
|
# specified locations, and, if different values are specified
|
|
# for the LocationFilter.distance_in_miles parameter, the maximum
|
|
# provided distance is used for all locations.
|
|
# At most 5 location filters are allowed.
|
|
# Corresponds to the JSON property `locationFilters`
|
|
# @return [Array<Google::Apis::JobsV2::LocationFilter>]
|
|
attr_accessor :location_filters
|
|
|
|
# Optional.
|
|
# Jobs published within a range specified by this filter are searched
|
|
# against, for example, DateRange.PAST_MONTH. If a value is not
|
|
# specified, all open jobs are searched against regardless of the
|
|
# date on which they were published.
|
|
# Corresponds to the JSON property `publishDateRange`
|
|
# @return [String]
|
|
attr_accessor :publish_date_range
|
|
|
|
# Optional.
|
|
# The query string that matches against the job title, description, and
|
|
# location fields.
|
|
# The maximum query size is 255 bytes.
|
|
# Corresponds to the JSON property `query`
|
|
# @return [String]
|
|
attr_accessor :query
|
|
|
|
# Optional.
|
|
# This flag controls whether the job search should be restricted to jobs
|
|
# owned by the current user.
|
|
# Defaults to false: all jobs accessible to the
|
|
# user are searched against.
|
|
# Corresponds to the JSON property `tenantJobOnly`
|
|
# @return [Boolean]
|
|
attr_accessor :tenant_job_only
|
|
alias_method :tenant_job_only?, :tenant_job_only
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@categories = args[:categories] if args.key?(:categories)
|
|
@commute_filter = args[:commute_filter] if args.key?(:commute_filter)
|
|
@company_display_names = args[:company_display_names] if args.key?(:company_display_names)
|
|
@company_names = args[:company_names] if args.key?(:company_names)
|
|
@compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter)
|
|
@custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter)
|
|
@disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check)
|
|
@employment_types = args[:employment_types] if args.key?(:employment_types)
|
|
@language_codes = args[:language_codes] if args.key?(:language_codes)
|
|
@location_filters = args[:location_filters] if args.key?(:location_filters)
|
|
@publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range)
|
|
@query = args[:query] if args.key?(:query)
|
|
@tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only)
|
|
end
|
|
end
|
|
|
|
# An object representing a latitude/longitude pair. This is expressed as a pair
|
|
# of doubles representing degrees latitude and degrees longitude. Unless
|
|
# specified otherwise, this must conform to the
|
|
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
|
|
# standard</a>. Values must be within normalized ranges.
|
|
class LatLng
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The latitude in degrees. It must be in the range [-90.0, +90.0].
|
|
# Corresponds to the JSON property `latitude`
|
|
# @return [Float]
|
|
attr_accessor :latitude
|
|
|
|
# The longitude in degrees. It must be in the range [-180.0, +180.0].
|
|
# Corresponds to the JSON property `longitude`
|
|
# @return [Float]
|
|
attr_accessor :longitude
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@latitude = args[:latitude] if args.key?(:latitude)
|
|
@longitude = args[:longitude] if args.key?(:longitude)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# The List companies response object.
|
|
class ListCompaniesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Companies for the current client.
|
|
# Corresponds to the JSON property `companies`
|
|
# @return [Array<Google::Apis::JobsV2::Company>]
|
|
attr_accessor :companies
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
# A token to retrieve the next page of results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@companies = args[:companies] if args.key?(:companies)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
# Deprecated. Use ListJobsResponse instead.
|
|
# Output only.
|
|
# The List jobs response object.
|
|
class ListCompanyJobsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Jobs for a given company.
|
|
# The maximum number of items returned is based on the limit field
|
|
# provided in the request.
|
|
# Corresponds to the JSON property `jobs`
|
|
# @return [Array<Google::Apis::JobsV2::Job>]
|
|
attr_accessor :jobs
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
# A token to retrieve the next page of results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# The total number of open jobs. The result will be
|
|
# empty if ListCompanyJobsRequest.include_jobs_count is not enabled
|
|
# or if no open jobs are available.
|
|
# Corresponds to the JSON property `totalSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :total_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@jobs = args[:jobs] if args.key?(:jobs)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@total_size = args[:total_size] if args.key?(:total_size)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# List jobs response.
|
|
class ListJobsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Jobs for a given company.
|
|
# The maximum number of items returned is based on the limit field
|
|
# provided in the request.
|
|
# Corresponds to the JSON property `jobs`
|
|
# @return [Array<Google::Apis::JobsV2::Job>]
|
|
attr_accessor :jobs
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
# A token to retrieve the next page of results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@jobs = args[:jobs] if args.key?(:jobs)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Geographic region of the search.
|
|
class LocationFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional.
|
|
# The distance from the address in miles to search.
|
|
# The default distance is 20 miles and maximum distance is 5,000 miles.
|
|
# Corresponds to the JSON property `distanceInMiles`
|
|
# @return [Float]
|
|
attr_accessor :distance_in_miles
|
|
|
|
# Optional.
|
|
# Allows the client to return jobs without a
|
|
# set location, specifically, telecommuting jobs (telecomuting is considered
|
|
# by the service as a special location.
|
|
# Job.allow_telecommute indicates if a job permits telecommuting.
|
|
# If this field is true, telecommuting jobs are searched, and
|
|
# name and lat_lng are
|
|
# ignored.
|
|
# This filter can be used by itself to search exclusively for telecommuting
|
|
# jobs, or it can be combined with another location
|
|
# filter to search for a combination of job locations,
|
|
# such as "Mountain View" or "telecommuting" jobs. However, when used in
|
|
# combination with other location filters, telecommuting jobs can be
|
|
# treated as less relevant than other jobs in the search response.
|
|
# Corresponds to the JSON property `isTelecommute`
|
|
# @return [Boolean]
|
|
attr_accessor :is_telecommute
|
|
alias_method :is_telecommute?, :is_telecommute
|
|
|
|
# An object representing a latitude/longitude pair. This is expressed as a pair
|
|
# of doubles representing degrees latitude and degrees longitude. Unless
|
|
# specified otherwise, this must conform to the
|
|
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
|
|
# standard</a>. Values must be within normalized ranges.
|
|
# Corresponds to the JSON property `latLng`
|
|
# @return [Google::Apis::JobsV2::LatLng]
|
|
attr_accessor :lat_lng
|
|
|
|
# Optional.
|
|
# The address name, such as "Mountain View" or "Bay Area".
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Optional.
|
|
# CLDR region code of the country/region of the address. This will be used
|
|
# to address ambiguity of the user-input location, e.g. "Liverpool"
|
|
# against "Liverpool, NY, US" or "Liverpool, UK".
|
|
# Set this field if all the jobs to search against are from a same region,
|
|
# or jobs are world-wide but the job seeker is from a specific region.
|
|
# See http://cldr.unicode.org/ and
|
|
# http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
|
|
# for details. Example: "CH" for Switzerland.
|
|
# Corresponds to the JSON property `regionCode`
|
|
# @return [String]
|
|
attr_accessor :region_code
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@distance_in_miles = args[:distance_in_miles] if args.key?(:distance_in_miles)
|
|
@is_telecommute = args[:is_telecommute] if args.key?(:is_telecommute)
|
|
@lat_lng = args[:lat_lng] if args.key?(:lat_lng)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region_code = args[:region_code] if args.key?(:region_code)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Job entry with metadata inside SearchJobsResponse.
|
|
class MatchingJob
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Output only.
|
|
# Commute details related to this job.
|
|
# Corresponds to the JSON property `commuteInfo`
|
|
# @return [Google::Apis::JobsV2::CommuteInfo]
|
|
attr_accessor :commute_info
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `job`
|
|
# @return [Google::Apis::JobsV2::Job]
|
|
attr_accessor :job
|
|
|
|
# A summary of the job with core information that's displayed on the search
|
|
# results listing page.
|
|
# Corresponds to the JSON property `jobSummary`
|
|
# @return [String]
|
|
attr_accessor :job_summary
|
|
|
|
# Contains snippets of text from the Job.job_title field that most
|
|
# closely match a search query's keywords, if available. The matching query
|
|
# keywords are enclosed in HTML bold tags.
|
|
# Corresponds to the JSON property `jobTitleSnippet`
|
|
# @return [String]
|
|
attr_accessor :job_title_snippet
|
|
|
|
# Contains snippets of text from the Job.description and similar
|
|
# fields that most closely match a search query's keywords, if available.
|
|
# All HTML tags in the original fields are stripped when returned in this
|
|
# field, and matching query keywords are enclosed in HTML bold tags.
|
|
# Corresponds to the JSON property `searchTextSnippet`
|
|
# @return [String]
|
|
attr_accessor :search_text_snippet
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@commute_info = args[:commute_info] if args.key?(:commute_info)
|
|
@job = args[:job] if args.key?(:job)
|
|
@job_summary = args[:job_summary] if args.key?(:job_summary)
|
|
@job_title_snippet = args[:job_title_snippet] if args.key?(:job_title_snippet)
|
|
@search_text_snippet = args[:search_text_snippet] if args.key?(:search_text_snippet)
|
|
end
|
|
end
|
|
|
|
# Represents an amount of money with its currency type.
|
|
class Money
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The 3-letter currency code defined in ISO 4217.
|
|
# Corresponds to the JSON property `currencyCode`
|
|
# @return [String]
|
|
attr_accessor :currency_code
|
|
|
|
# Number of nano (10^-9) units of the amount.
|
|
# The value must be between -999,999,999 and +999,999,999 inclusive.
|
|
# If `units` is positive, `nanos` must be positive or zero.
|
|
# If `units` is zero, `nanos` can be positive, zero, or negative.
|
|
# If `units` is negative, `nanos` must be negative or zero.
|
|
# For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
|
|
# Corresponds to the JSON property `nanos`
|
|
# @return [Fixnum]
|
|
attr_accessor :nanos
|
|
|
|
# The whole units of the amount.
|
|
# For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
|
|
# Corresponds to the JSON property `units`
|
|
# @return [Fixnum]
|
|
attr_accessor :units
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
|
@nanos = args[:nanos] if args.key?(:nanos)
|
|
@units = args[:units] if args.key?(:units)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Use this field to specify bucketing option for the histogram search response.
|
|
class NumericBucketingOption
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required.
|
|
# Two adjacent values form a histogram bucket. Values should be in
|
|
# ascending order. For example, if [5, 10, 15] are provided, four buckets are
|
|
# created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
|
|
# [buckets_bound is supported.
|
|
# Corresponds to the JSON property `bucketBounds`
|
|
# @return [Array<Float>]
|
|
attr_accessor :bucket_bounds
|
|
|
|
# Optional.
|
|
# If set to true, the histogram result includes minimum/maximum
|
|
# value of the numeric field.
|
|
# Corresponds to the JSON property `requiresMinMax`
|
|
# @return [Boolean]
|
|
attr_accessor :requires_min_max
|
|
alias_method :requires_min_max?, :requires_min_max
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bucket_bounds = args[:bucket_bounds] if args.key?(:bucket_bounds)
|
|
@requires_min_max = args[:requires_min_max] if args.key?(:requires_min_max)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Custom numeric bucketing result.
|
|
class NumericBucketingResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Count within each bucket. Its size is the length of
|
|
# NumericBucketingOption.bucket_bounds plus 1.
|
|
# Corresponds to the JSON property `counts`
|
|
# @return [Array<Google::Apis::JobsV2::BucketizedCount>]
|
|
attr_accessor :counts
|
|
|
|
# Stores the maximum value of the numeric field. Will be populated only if
|
|
# [NumericBucketingOption.requires_min_max] is set to true.
|
|
# Corresponds to the JSON property `maxValue`
|
|
# @return [Float]
|
|
attr_accessor :max_value
|
|
|
|
# Stores the minimum value of the numeric field. Will be populated only if
|
|
# [NumericBucketingOption.requires_min_max] is set to true.
|
|
# Corresponds to the JSON property `minValue`
|
|
# @return [Float]
|
|
attr_accessor :min_value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@counts = args[:counts] if args.key?(:counts)
|
|
@max_value = args[:max_value] if args.key?(:max_value)
|
|
@min_value = args[:min_value] if args.key?(:min_value)
|
|
end
|
|
end
|
|
|
|
# Represents a postal address, e.g. for postal delivery or payments addresses.
|
|
# Given a postal address, a postal service can deliver items to a premise, P.O.
|
|
# Box or similar.
|
|
# It is not intended to model geographical locations (roads, towns,
|
|
# mountains).
|
|
# In typical usage an address would be created via user input or from importing
|
|
# existing data, depending on the type of process.
|
|
# Advice on address input / editing:
|
|
# - Use an i18n-ready address widget such as
|
|
# https://github.com/googlei18n/libaddressinput)
|
|
# - Users should not be presented with UI elements for input or editing of
|
|
# fields outside countries where that field is used.
|
|
# For more guidance on how to use this schema, please see:
|
|
# https://support.google.com/business/answer/6397478
|
|
class PostalAddress
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Unstructured address lines describing the lower levels of an address.
|
|
# Because values in address_lines do not have type information and may
|
|
# sometimes contain multiple values in a single field (e.g.
|
|
# "Austin, TX"), it is important that the line order is clear. The order of
|
|
# address lines should be "envelope order" for the country/region of the
|
|
# address. In places where this can vary (e.g. Japan), address_language is
|
|
# used to make it explicit (e.g. "ja" for large-to-small ordering and
|
|
# "ja-Latn" or "en" for small-to-large). This way, the most specific line of
|
|
# an address can be selected based on the language.
|
|
# The minimum permitted structural representation of an address consists
|
|
# of a region_code with all remaining information placed in the
|
|
# address_lines. It would be possible to format such an address very
|
|
# approximately without geocoding, but no semantic reasoning could be
|
|
# made about any of the address components until it was at least
|
|
# partially resolved.
|
|
# Creating an address only containing a region_code and address_lines, and
|
|
# then geocoding is the recommended way to handle completely unstructured
|
|
# addresses (as opposed to guessing which parts of the address should be
|
|
# localities or administrative areas).
|
|
# Corresponds to the JSON property `addressLines`
|
|
# @return [Array<String>]
|
|
attr_accessor :address_lines
|
|
|
|
# Optional. Highest administrative subdivision which is used for postal
|
|
# addresses of a country or region.
|
|
# For example, this can be a state, a province, an oblast, or a prefecture.
|
|
# Specifically, for Spain this is the province and not the autonomous
|
|
# community (e.g. "Barcelona" and not "Catalonia").
|
|
# Many countries don't use an administrative area in postal addresses. E.g.
|
|
# in Switzerland this should be left unpopulated.
|
|
# Corresponds to the JSON property `administrativeArea`
|
|
# @return [String]
|
|
attr_accessor :administrative_area
|
|
|
|
# Optional. BCP-47 language code of the contents of this address (if
|
|
# known). This is often the UI language of the input form or is expected
|
|
# to match one of the languages used in the address' country/region, or their
|
|
# transliterated equivalents.
|
|
# This can affect formatting in certain countries, but is not critical
|
|
# to the correctness of the data and will never affect any validation or
|
|
# other non-formatting related operations.
|
|
# If this value is not known, it should be omitted (rather than specifying a
|
|
# possibly incorrect default).
|
|
# Examples: "zh-Hant", "ja", "ja-Latn", "en".
|
|
# Corresponds to the JSON property `languageCode`
|
|
# @return [String]
|
|
attr_accessor :language_code
|
|
|
|
# Optional. Generally refers to the city/town portion of the address.
|
|
# Examples: US city, IT comune, UK post town.
|
|
# In regions of the world where localities are not well defined or do not fit
|
|
# into this structure well, leave locality empty and use address_lines.
|
|
# Corresponds to the JSON property `locality`
|
|
# @return [String]
|
|
attr_accessor :locality
|
|
|
|
# Optional. The name of the organization at the address.
|
|
# Corresponds to the JSON property `organization`
|
|
# @return [String]
|
|
attr_accessor :organization
|
|
|
|
# Optional. Postal code of the address. Not all countries use or require
|
|
# postal codes to be present, but where they are used, they may trigger
|
|
# additional validation with other parts of the address (e.g. state/zip
|
|
# validation in the U.S.A.).
|
|
# Corresponds to the JSON property `postalCode`
|
|
# @return [String]
|
|
attr_accessor :postal_code
|
|
|
|
# Optional. The recipient at the address.
|
|
# This field may, under certain circumstances, contain multiline information.
|
|
# For example, it might contain "care of" information.
|
|
# Corresponds to the JSON property `recipients`
|
|
# @return [Array<String>]
|
|
attr_accessor :recipients
|
|
|
|
# Required. CLDR region code of the country/region of the address. This
|
|
# is never inferred and it is up to the user to ensure the value is
|
|
# correct. See http://cldr.unicode.org/ and
|
|
# http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
|
|
# for details. Example: "CH" for Switzerland.
|
|
# Corresponds to the JSON property `regionCode`
|
|
# @return [String]
|
|
attr_accessor :region_code
|
|
|
|
# The schema revision of the `PostalAddress`. This must be set to 0, which is
|
|
# the latest revision.
|
|
# All new revisions **must** be backward compatible with old revisions.
|
|
# Corresponds to the JSON property `revision`
|
|
# @return [Fixnum]
|
|
attr_accessor :revision
|
|
|
|
# Optional. Additional, country-specific, sorting code. This is not used
|
|
# in most regions. Where it is used, the value is either a string like
|
|
# "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
|
|
# alone, representing the "sector code" (Jamaica), "delivery area indicator"
|
|
# (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
|
|
# Corresponds to the JSON property `sortingCode`
|
|
# @return [String]
|
|
attr_accessor :sorting_code
|
|
|
|
# Optional. Sublocality of the address.
|
|
# For example, this can be neighborhoods, boroughs, districts.
|
|
# Corresponds to the JSON property `sublocality`
|
|
# @return [String]
|
|
attr_accessor :sublocality
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@address_lines = args[:address_lines] if args.key?(:address_lines)
|
|
@administrative_area = args[:administrative_area] if args.key?(:administrative_area)
|
|
@language_code = args[:language_code] if args.key?(:language_code)
|
|
@locality = args[:locality] if args.key?(:locality)
|
|
@organization = args[:organization] if args.key?(:organization)
|
|
@postal_code = args[:postal_code] if args.key?(:postal_code)
|
|
@recipients = args[:recipients] if args.key?(:recipients)
|
|
@region_code = args[:region_code] if args.key?(:region_code)
|
|
@revision = args[:revision] if args.key?(:revision)
|
|
@sorting_code = args[:sorting_code] if args.key?(:sorting_code)
|
|
@sublocality = args[:sublocality] if args.key?(:sublocality)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Meta information related to the job searcher or entity
|
|
# conducting the job search. This information is used to improve the
|
|
# performance of the service.
|
|
class RequestMetadata
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Input only.
|
|
# Device information collected from the job searcher, candidate, or
|
|
# other entity conducting the job search. Providing this information improves
|
|
# the quality of the search results across devices.
|
|
# Corresponds to the JSON property `deviceInfo`
|
|
# @return [Google::Apis::JobsV2::DeviceInfo]
|
|
attr_accessor :device_info
|
|
|
|
# Required.
|
|
# The client-defined scope or source of the service call, which typically
|
|
# is the domain on
|
|
# which the service has been implemented and is currently being run.
|
|
# For example, if the service is being run by client <em>Foo, Inc.</em>, on
|
|
# job board www.foo.com and career site www.bar.com, then this field is
|
|
# set to "foo.com" for use on the job board, and "bar.com" for use on the
|
|
# career site.
|
|
# If this field is not available for some reason, please send "UNKNOWN".
|
|
# Corresponds to the JSON property `domain`
|
|
# @return [String]
|
|
attr_accessor :domain
|
|
|
|
# Required.
|
|
# A unique session identification string. A session is defined as the
|
|
# duration of an end user's interaction with the service over a period.
|
|
# Obfuscate this field for privacy concerns before
|
|
# providing it to the API.
|
|
# If this field is not available for some reason, please send "UNKNOWN".
|
|
# Corresponds to the JSON property `sessionId`
|
|
# @return [String]
|
|
attr_accessor :session_id
|
|
|
|
# Required.
|
|
# A unique user identification string, as determined by the client. The
|
|
# client is responsible for ensuring client-level uniqueness of this value
|
|
# in order to have the strongest positive impact on search quality.
|
|
# Obfuscate this field for privacy concerns before
|
|
# providing it to the service.
|
|
# If this field is not available for some reason, please send "UNKNOWN".
|
|
# Corresponds to the JSON property `userId`
|
|
# @return [String]
|
|
attr_accessor :user_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@device_info = args[:device_info] if args.key?(:device_info)
|
|
@domain = args[:domain] if args.key?(:domain)
|
|
@session_id = args[:session_id] if args.key?(:session_id)
|
|
@user_id = args[:user_id] if args.key?(:user_id)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
class ResponseMetadata
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Identifiers for the versions of the search algorithm used during
|
|
# this API invocation if multiple algorithms are used.
|
|
# The default value is empty.
|
|
# For search response only.
|
|
# Corresponds to the JSON property `experimentIdList`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :experiment_id_list
|
|
|
|
# For search response only. Indicates the mode of a performed search.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# A unique id associated with this call.
|
|
# This id is logged for tracking purposes.
|
|
# Corresponds to the JSON property `requestId`
|
|
# @return [String]
|
|
attr_accessor :request_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@experiment_id_list = args[:experiment_id_list] if args.key?(:experiment_id_list)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@request_id = args[:request_id] if args.key?(:request_id)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# The Request body of the `SearchJobs` call.
|
|
class SearchJobsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated. Any value provided in this field will be ignored.
|
|
# Optional.
|
|
# Controls whether to disable relevance thresholding. Relevance
|
|
# thresholding removes jobs that have low relevance in search results,
|
|
# for example, removing "Assistant to the CEO" positions from the search
|
|
# results of a search for "CEO".
|
|
# Disabling relevance thresholding improves the accuracy of subsequent
|
|
# search requests.
|
|
# Defaults to false.
|
|
# Corresponds to the JSON property `disableRelevanceThresholding`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_relevance_thresholding
|
|
alias_method :disable_relevance_thresholding?, :disable_relevance_thresholding
|
|
|
|
# Optional.
|
|
# Controls whether to broaden the search when it produces sparse results.
|
|
# Broadened queries append results to the end of the matching results
|
|
# list.
|
|
# Defaults to false.
|
|
# Corresponds to the JSON property `enableBroadening`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_broadening
|
|
alias_method :enable_broadening?, :enable_broadening
|
|
|
|
# Optional.
|
|
# Controls if the search job request requires the return of a precise
|
|
# count of the first 300 results. Setting this to `true` ensures
|
|
# consistency in the number of results per page. Best practice is to set this
|
|
# value to true if a client allows users to jump directly to a
|
|
# non-sequential search results page.
|
|
# Enabling this flag may adversely impact performance.
|
|
# Defaults to false.
|
|
# Corresponds to the JSON property `enablePreciseResultSize`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_precise_result_size
|
|
alias_method :enable_precise_result_size?, :enable_precise_result_size
|
|
|
|
# Input only.
|
|
# Deprecated. Use JobQuery instead.
|
|
# The filters required to perform a search query or histogram.
|
|
# Corresponds to the JSON property `filters`
|
|
# @return [Google::Apis::JobsV2::JobFilters]
|
|
attr_accessor :filters
|
|
|
|
# Input only.
|
|
# Histogram facets to be specified in SearchJobsRequest.
|
|
# Corresponds to the JSON property `histogramFacets`
|
|
# @return [Google::Apis::JobsV2::HistogramFacets]
|
|
attr_accessor :histogram_facets
|
|
|
|
# Optional.
|
|
# The number of job attributes that is returned for jobs in the
|
|
# search response. Defaults to JobView.SMALL if no value is specified.
|
|
# Corresponds to the JSON property `jobView`
|
|
# @return [String]
|
|
attr_accessor :job_view
|
|
|
|
# Required.
|
|
# Mode of a search.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# Optional.
|
|
# An integer that specifies the current offset (i.e. starting result) in
|
|
# search results. This field is only considered if page_token is unset.
|
|
# For example, 0 means to return results starting from the first matching
|
|
# job, and 10 means to return from the 11th job. This can be used for
|
|
# pagination, (for example, pageSize = 10 and offset = 10 means to return
|
|
# from the second page).
|
|
# Corresponds to the JSON property `offset`
|
|
# @return [Fixnum]
|
|
attr_accessor :offset
|
|
|
|
# Deprecated. Use sort_by instead.
|
|
# Optional.
|
|
# The criteria that determine how search results are sorted.
|
|
# Defaults to SortBy.RELEVANCE_DESC if no value is specified.
|
|
# Corresponds to the JSON property `orderBy`
|
|
# @return [String]
|
|
attr_accessor :order_by
|
|
|
|
# Optional.
|
|
# A limit on the number of jobs returned in the search results.
|
|
# Increasing this value above the default value of 10 can increase search
|
|
# response time. The value can be between 1 and 100.
|
|
# Corresponds to the JSON property `pageSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :page_size
|
|
|
|
# Optional.
|
|
# The token that specifies the current offset within
|
|
# search results. See SearchJobsResponse.next_page_token for
|
|
# an explanation of how to obtain the next set of query results.
|
|
# Corresponds to the JSON property `pageToken`
|
|
# @return [String]
|
|
attr_accessor :page_token
|
|
|
|
# Input only.
|
|
# The query required to perform a search query or histogram.
|
|
# Corresponds to the JSON property `query`
|
|
# @return [Google::Apis::JobsV2::JobQuery]
|
|
attr_accessor :query
|
|
|
|
# Input only.
|
|
# Meta information related to the job searcher or entity
|
|
# conducting the job search. This information is used to improve the
|
|
# performance of the service.
|
|
# Corresponds to the JSON property `requestMetadata`
|
|
# @return [Google::Apis::JobsV2::RequestMetadata]
|
|
attr_accessor :request_metadata
|
|
|
|
# Optional.
|
|
# The criteria that determine how search results are sorted.
|
|
# Defaults to SortBy.RELEVANCE_DESC if no value is specified.
|
|
# Corresponds to the JSON property `sortBy`
|
|
# @return [String]
|
|
attr_accessor :sort_by
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disable_relevance_thresholding = args[:disable_relevance_thresholding] if args.key?(:disable_relevance_thresholding)
|
|
@enable_broadening = args[:enable_broadening] if args.key?(:enable_broadening)
|
|
@enable_precise_result_size = args[:enable_precise_result_size] if args.key?(:enable_precise_result_size)
|
|
@filters = args[:filters] if args.key?(:filters)
|
|
@histogram_facets = args[:histogram_facets] if args.key?(:histogram_facets)
|
|
@job_view = args[:job_view] if args.key?(:job_view)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@offset = args[:offset] if args.key?(:offset)
|
|
@order_by = args[:order_by] if args.key?(:order_by)
|
|
@page_size = args[:page_size] if args.key?(:page_size)
|
|
@page_token = args[:page_token] if args.key?(:page_token)
|
|
@query = args[:query] if args.key?(:query)
|
|
@request_metadata = args[:request_metadata] if args.key?(:request_metadata)
|
|
@sort_by = args[:sort_by] if args.key?(:sort_by)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Response for SearchJob method.
|
|
class SearchJobsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Input only.
|
|
# Parameters needed for commute search.
|
|
# Corresponds to the JSON property `appliedCommuteFilter`
|
|
# @return [Google::Apis::JobsV2::CommutePreference]
|
|
attr_accessor :applied_commute_filter
|
|
|
|
# The location filters that the service applied to the specified query. If
|
|
# any filters are lat-lng based, the JobLocation.location_type is
|
|
# JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
|
|
# Corresponds to the JSON property `appliedJobLocationFilters`
|
|
# @return [Array<Google::Apis::JobsV2::JobLocation>]
|
|
attr_accessor :applied_job_location_filters
|
|
|
|
# An estimation of the number of jobs that match the specified query.
|
|
# This number is not guaranteed to be accurate. For accurate results,
|
|
# seenenable_precise_result_size.
|
|
# Corresponds to the JSON property `estimatedTotalSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :estimated_total_size
|
|
|
|
# Output only.
|
|
# Histogram results that matches HistogramFacets specified in
|
|
# SearchJobsRequest.
|
|
# Corresponds to the JSON property `histogramResults`
|
|
# @return [Google::Apis::JobsV2::HistogramResults]
|
|
attr_accessor :histogram_results
|
|
|
|
# Corresponds to SearchJobsRequest.job_view.
|
|
# Corresponds to the JSON property `jobView`
|
|
# @return [String]
|
|
attr_accessor :job_view
|
|
|
|
# The Job entities that match the specified SearchJobsRequest.
|
|
# Corresponds to the JSON property `matchingJobs`
|
|
# @return [Array<Google::Apis::JobsV2::MatchingJob>]
|
|
attr_accessor :matching_jobs
|
|
|
|
# Output only.
|
|
# Additional information returned to client, such as debugging
|
|
# information.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::JobsV2::ResponseMetadata]
|
|
attr_accessor :metadata
|
|
|
|
# The token that specifies the starting position of the next page of results.
|
|
# This field is empty if there are no more results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# If query broadening is enabled, we may append additional results from the
|
|
# broadened query. This number indicates how many of the jobs returned in the
|
|
# jobs field are from the broadened query. These results are always at the
|
|
# end of the jobs list. In particular, a value of 0 means all the jobs in the
|
|
# jobs list are from the original (without broadening) query. If this
|
|
# field is non-zero, subsequent requests with offset after this result set
|
|
# should contain all broadened results.
|
|
# Corresponds to the JSON property `numJobsFromBroadenedQuery`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_jobs_from_broadened_query
|
|
|
|
# Output only.
|
|
# Spell check result.
|
|
# Corresponds to the JSON property `spellResult`
|
|
# @return [Google::Apis::JobsV2::SpellingCorrection]
|
|
attr_accessor :spell_result
|
|
|
|
# The precise result count, which is available only if the client set
|
|
# enable_precise_result_size to `true` or if the response
|
|
# is the last page of results. Otherwise, the value will be `-1`.
|
|
# Corresponds to the JSON property `totalSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :total_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@applied_commute_filter = args[:applied_commute_filter] if args.key?(:applied_commute_filter)
|
|
@applied_job_location_filters = args[:applied_job_location_filters] if args.key?(:applied_job_location_filters)
|
|
@estimated_total_size = args[:estimated_total_size] if args.key?(:estimated_total_size)
|
|
@histogram_results = args[:histogram_results] if args.key?(:histogram_results)
|
|
@job_view = args[:job_view] if args.key?(:job_view)
|
|
@matching_jobs = args[:matching_jobs] if args.key?(:matching_jobs)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@num_jobs_from_broadened_query = args[:num_jobs_from_broadened_query] if args.key?(:num_jobs_from_broadened_query)
|
|
@spell_result = args[:spell_result] if args.key?(:spell_result)
|
|
@total_size = args[:total_size] if args.key?(:total_size)
|
|
end
|
|
end
|
|
|
|
# Output only.
|
|
# Spell check result.
|
|
class SpellingCorrection
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates if the query was corrected by the spell checker.
|
|
# Corresponds to the JSON property `corrected`
|
|
# @return [Boolean]
|
|
attr_accessor :corrected
|
|
alias_method :corrected?, :corrected
|
|
|
|
# Correction output consisting of the corrected keyword string.
|
|
# Corresponds to the JSON property `correctedText`
|
|
# @return [String]
|
|
attr_accessor :corrected_text
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@corrected = args[:corrected] if args.key?(:corrected)
|
|
@corrected_text = args[:corrected_text] if args.key?(:corrected_text)
|
|
end
|
|
end
|
|
|
|
# Represents array of string values.
|
|
class StringValues
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required.
|
|
# String values.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# Input only.
|
|
# Update job request.
|
|
class UpdateJobRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set to `true`, the service will not attempt resolve a more precise
|
|
# address for the job.
|
|
# Corresponds to the JSON property `disableStreetAddressResolution`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_street_address_resolution
|
|
alias_method :disable_street_address_resolution?, :disable_street_address_resolution
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `job`
|
|
# @return [Google::Apis::JobsV2::Job]
|
|
attr_accessor :job
|
|
|
|
# Optional but strongly recommended to be provided for the best service
|
|
# experience.
|
|
# If update_job_fields is provided, only the specified fields in
|
|
# job are updated. Otherwise all the fields are updated.
|
|
# A field mask to restrict the fields that are updated. Valid values are:
|
|
# * jobTitle
|
|
# * employmentTypes
|
|
# * description
|
|
# * applicationUrls
|
|
# * applicationEmailList
|
|
# * applicationInstruction
|
|
# * responsibilities
|
|
# * qualifications
|
|
# * educationLevels
|
|
# * level
|
|
# * department
|
|
# * startDate
|
|
# * endDate
|
|
# * compensationInfo
|
|
# * incentives
|
|
# * languageCode
|
|
# * benefits
|
|
# * expireTime
|
|
# * customAttributes
|
|
# * visibility
|
|
# * publishDate
|
|
# * promotionValue
|
|
# * locations
|
|
# * region
|
|
# * expiryDate (deprecated)
|
|
# * filterableCustomFields (deprecated)
|
|
# * unindexedCustomFields (deprecated)
|
|
# Corresponds to the JSON property `updateJobFields`
|
|
# @return [String]
|
|
attr_accessor :update_job_fields
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution)
|
|
@job = args[:job] if args.key?(:job)
|
|
@update_job_fields = args[:update_job_fields] if args.key?(:update_job_fields)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|