# frozen_string_literal: true
# Copyright 2020 Google LLC
#
# 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
#
# https://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.
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
module Google
module Cloud
module Talent
module V4beta1
# Create job request.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant under which the job is created.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] job
# @return [::Google::Cloud::Talent::V4beta1::Job]
# Required. The Job to be created.
class CreateJobRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Get job request.
# @!attribute [rw] name
# @return [::String]
# Required. The resource name of the job to retrieve.
#
# The format is
# "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}". For
# example, "projects/foo/tenants/bar/jobs/baz".
#
# If tenant id is unspecified, the default tenant is used. For
# example, "projects/foo/jobs/bar".
class GetJobRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Update job request.
# @!attribute [rw] job
# @return [::Google::Cloud::Talent::V4beta1::Job]
# Required. The Job to be updated.
# @!attribute [rw] update_mask
# @return [::Google::Protobuf::FieldMask]
# Strongly recommended for the best service experience.
#
# If {::Google::Cloud::Talent::V4beta1::UpdateJobRequest#update_mask update_mask} is provided, only the specified fields in
# {::Google::Cloud::Talent::V4beta1::UpdateJobRequest#job job} are updated. Otherwise all the fields are updated.
#
# A field mask to restrict the fields that are updated. Only
# top level fields of {::Google::Cloud::Talent::V4beta1::Job Job} are supported.
class UpdateJobRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Delete job request.
# @!attribute [rw] name
# @return [::String]
# Required. The resource name of the job to be deleted.
#
# The format is
# "projects/\\{project_id}/tenants/\\{tenant_id}/jobs/\\{job_id}". For
# example, "projects/foo/tenants/bar/jobs/baz".
#
# If tenant id is unspecified, the default tenant is used. For
# example, "projects/foo/jobs/bar".
class DeleteJobRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Batch delete jobs request.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant under which the job is created.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] filter
# @return [::String]
# Required. The filter string specifies the jobs to be deleted.
#
# Supported operator: =, AND
#
# The fields eligible for filtering are:
#
# * `companyName` (Required)
# * `requisitionId` (Required)
#
# Sample Query: companyName = "projects/foo/companies/bar" AND
# requisitionId = "req-1"
class BatchDeleteJobsRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# List jobs request.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant under which the job is created.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] filter
# @return [::String]
# Required. The filter string specifies the jobs to be enumerated.
#
# Supported operator: =, AND
#
# The fields eligible for filtering are:
#
# * `companyName` (Required)
# * `requisitionId`
# * `status` Available values: OPEN, EXPIRED, ALL. Defaults to
# OPEN if no value is specified.
#
# Sample Query:
#
# * companyName = "projects/foo/tenants/bar/companies/baz"
# * companyName = "projects/foo/tenants/bar/companies/baz" AND
# requisitionId = "req-1"
# * companyName = "projects/foo/tenants/bar/companies/baz" AND
# status = "EXPIRED"
# @!attribute [rw] page_token
# @return [::String]
# The starting point of a query result.
# @!attribute [rw] page_size
# @return [::Integer]
# The maximum number of jobs to be returned per page of results.
#
# If {::Google::Cloud::Talent::V4beta1::ListJobsRequest#job_view job_view} is set to {::Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_ID_ONLY JobView.JOB_VIEW_ID_ONLY}, the maximum allowed
# page size is 1000. Otherwise, the maximum allowed page size is 100.
#
# Default is 100 if empty or a number < 1 is specified.
# @!attribute [rw] job_view
# @return [::Google::Cloud::Talent::V4beta1::JobView]
# The desired job attributes returned for jobs in the
# search response. Defaults to {::Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_FULL JobView.JOB_VIEW_FULL} if no value is
# specified.
class ListJobsRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# List jobs response.
# @!attribute [rw] jobs
# @return [::Array<::Google::Cloud::Talent::V4beta1::Job>]
# The Jobs for a given company.
#
# The maximum number of items returned is based on the limit field
# provided in the request.
# @!attribute [rw] next_page_token
# @return [::String]
# A token to retrieve the next page of results.
# @!attribute [rw] metadata
# @return [::Google::Cloud::Talent::V4beta1::ResponseMetadata]
# Additional information for the API invocation, such as the request
# tracking id.
class ListJobsResponse
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# The Request body of the `SearchJobs` call.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant to search within.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] search_mode
# @return [::Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode]
# Mode of a search.
#
# Defaults to {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::SearchMode::JOB_SEARCH SearchMode.JOB_SEARCH}.
# @!attribute [rw] request_metadata
# @return [::Google::Cloud::Talent::V4beta1::RequestMetadata]
# Required. The meta information collected about the job searcher, used to improve the
# search quality of the service. The identifiers (such as `user_id`) are
# provided by users, and must be unique and consistent.
# @!attribute [rw] job_query
# @return [::Google::Cloud::Talent::V4beta1::JobQuery]
# Query used to search against jobs, such as keyword, location filters, etc.
# @!attribute [rw] enable_broadening
# @return [::Boolean]
# 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.
# @!attribute [rw] require_precise_result_size
# @return [::Boolean]
# 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.
# @!attribute [rw] histogram_queries
# @return [::Array<::Google::Cloud::Talent::V4beta1::HistogramQuery>]
# An expression specifies a histogram request against matching jobs.
#
# Expression syntax is an aggregation function call with histogram facets and
# other options.
#
# Available aggregation function calls are:
# * `count(string_histogram_facet)`: Count the number of matching entities,
# for each distinct attribute value.
# * `count(numeric_histogram_facet, list of buckets)`: Count the number of
# matching entities within each bucket.
#
# Data types:
#
# * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
# * String: string like "any string with backslash escape for quote(\")."
# * Number: whole number and floating point number like 10, -1 and -0.01.
# * List: list of elements with comma(,) separator surrounded by square
# brackets, for example, [1, 2, 3] and ["one", "two", "three"].
#
# Built-in constants:
#
# * MIN (minimum number similar to java Double.MIN_VALUE)
# * MAX (maximum number similar to java Double.MAX_VALUE)
#
# Built-in functions:
#
# * bucket(start, end[, label]): bucket built-in function creates a bucket
# with range of [start, end). Note that the end is exclusive, for example,
# bucket(1, MAX, "positive number") or bucket(1, 10).
#
# Job histogram facets:
#
# * company_display_name: histogram by {::Google::Cloud::Talent::V4beta1::Job#company_display_name Job.company_display_name}.
# * employment_type: histogram by {::Google::Cloud::Talent::V4beta1::Job#employment_types Job.employment_types}, for example,
# "FULL_TIME", "PART_TIME".
# * company_size: histogram by {::Google::Cloud::Talent::V4beta1::CompanySize CompanySize}, for example, "SMALL",
# "MEDIUM", "BIG".
# * publish_time_in_month: histogram by the {::Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job.posting_publish_time}
# in months.
# Must specify list of numeric buckets in spec.
# * publish_time_in_year: histogram by the {::Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job.posting_publish_time}
# in years.
# Must specify list of numeric buckets in spec.
# * degree_types: histogram by the {::Google::Cloud::Talent::V4beta1::Job#degree_types Job.degree_types}, for example,
# "Bachelors", "Masters".
# * job_level: histogram by the {::Google::Cloud::Talent::V4beta1::Job#job_level Job.job_level}, for example, "Entry
# Level".
# * country: histogram by the country code of jobs, for example, "US", "FR".
# * admin1: histogram by the admin1 code of jobs, which is a global
# placeholder referring to the state, province, or the particular term a
# country uses to define the geographic structure below the country level,
# for example, "CA", "IL".
# * city: histogram by a combination of the "city name, admin1 code". For
# example, "Mountain View, CA", "New York, NY".
# * admin1_country: histogram by a combination of the "admin1 code, country",
# for example, "CA, US", "IL, US".
# * city_coordinate: histogram by the city center's GPS coordinates (latitude
# and longitude), for example, 37.4038522,-122.0987765. Since the
# coordinates of a city center can change, customers may need to refresh
# them periodically.
# * locale: histogram by the {::Google::Cloud::Talent::V4beta1::Job#language_code Job.language_code}, for example, "en-US",
# "fr-FR".
# * language: histogram by the language subtag of the {::Google::Cloud::Talent::V4beta1::Job#language_code Job.language_code},
# for example, "en", "fr".
# * category: histogram by the {::Google::Cloud::Talent::V4beta1::JobCategory JobCategory}, for example,
# "COMPUTER_AND_IT", "HEALTHCARE".
# * base_compensation_unit: histogram by the
# {::Google::Cloud::Talent::V4beta1::CompensationInfo::CompensationUnit CompensationInfo.CompensationUnit} of base
# salary, for example, "WEEKLY", "MONTHLY".
# * base_compensation: histogram by the base salary. Must specify list of
# numeric buckets to group results by.
# * annualized_base_compensation: histogram by the base annualized salary.
# Must specify list of numeric buckets to group results by.
# * annualized_total_compensation: histogram by the total annualized salary.
# Must specify list of numeric buckets to group results by.
# * string_custom_attribute: histogram by string {::Google::Cloud::Talent::V4beta1::Job#custom_attributes Job.custom_attributes}.
# Values can be accessed via square bracket notations like
# string_custom_attribute["key1"].
# * numeric_custom_attribute: histogram by numeric {::Google::Cloud::Talent::V4beta1::Job#custom_attributes Job.custom_attributes}.
# Values can be accessed via square bracket notations like
# numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
# group results by.
#
# Example expressions:
#
# * `count(admin1)`
# * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
# bucket(100000, MAX)])`
# * `count(string_custom_attribute["some-string-custom-attribute"])`
# * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
# [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])`
# @!attribute [rw] job_view
# @return [::Google::Cloud::Talent::V4beta1::JobView]
# The desired job attributes returned for jobs in the search response.
# Defaults to {::Google::Cloud::Talent::V4beta1::JobView::JOB_VIEW_SMALL JobView.JOB_VIEW_SMALL} if no value is specified.
# @!attribute [rw] offset
# @return [::Integer]
# An integer that specifies the current offset (that is, starting result
# location, amongst the jobs deemed by the API as relevant) in search
# results. This field is only considered if {::Google::Cloud::Talent::V4beta1::SearchJobsRequest#page_token page_token} is unset.
#
# The maximum allowed value is 5000. Otherwise an error is thrown.
#
# 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).
# @!attribute [rw] page_size
# @return [::Integer]
# 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.
# @!attribute [rw] page_token
# @return [::String]
# The token specifying the current offset within
# search results. See {::Google::Cloud::Talent::V4beta1::SearchJobsResponse#next_page_token SearchJobsResponse.next_page_token} for
# an explanation of how to obtain the next set of query results.
# @!attribute [rw] order_by
# @return [::String]
# The criteria determining how search results are sorted. Default is
# `"relevance desc"`.
#
# Supported options are:
#
# * `"relevance desc"`: By relevance descending, as determined by the API
# algorithms. Relevance thresholding of query results is only available
# with this ordering.
# * `"posting_publish_time desc"`: By {::Google::Cloud::Talent::V4beta1::Job#posting_publish_time Job.posting_publish_time}
# descending.
# * `"posting_update_time desc"`: By {::Google::Cloud::Talent::V4beta1::Job#posting_update_time Job.posting_update_time}
# descending.
# * `"title"`: By {::Google::Cloud::Talent::V4beta1::Job#title Job.title} ascending.
# * `"title desc"`: By {::Google::Cloud::Talent::V4beta1::Job#title Job.title} descending.
# * `"annualized_base_compensation"`: By job's
# {::Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo.annualized_base_compensation_range} ascending. Jobs
# whose annualized base compensation is unspecified are put at the end of
# search results.
# * `"annualized_base_compensation desc"`: By job's
# {::Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_base_compensation_range CompensationInfo.annualized_base_compensation_range} descending. Jobs
# whose annualized base compensation is unspecified are put at the end of
# search results.
# * `"annualized_total_compensation"`: By job's
# {::Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo.annualized_total_compensation_range} ascending. Jobs
# whose annualized base compensation is unspecified are put at the end of
# search results.
# * `"annualized_total_compensation desc"`: By job's
# {::Google::Cloud::Talent::V4beta1::CompensationInfo#annualized_total_compensation_range CompensationInfo.annualized_total_compensation_range} descending. Jobs
# whose annualized base compensation is unspecified are put at the end of
# search results.
# * `"custom_ranking desc"`: By the relevance score adjusted to the
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression SearchJobsRequest.CustomRankingInfo.ranking_expression} with weight
# factor assigned by
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#importance_level SearchJobsRequest.CustomRankingInfo.importance_level} in descending
# order.
# * Location sorting: Use the special syntax to order jobs by distance:
# `"distance_from('Hawaii')"`: Order by distance from Hawaii.
# `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
# `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
# multiple locations. See details below.
# `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
# multiple locations. See details below.
# The string can have a maximum of 256 characters. When multiple distance
# centers are provided, a job that is close to any of the distance centers
# would have a high rank. When a job has multiple locations, the job
# location closest to one of the distance centers will be used. Jobs that
# don't have locations will be ranked at the bottom. Distance is calculated
# with a precision of 11.3 meters (37.4 feet). Diversification strategy is
# still applied unless explicitly disabled in
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest#diversification_level diversification_level}.
# @!attribute [rw] diversification_level
# @return [::Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel]
# Controls whether highly similar jobs are returned next to each other in
# the search results. Jobs are identified as highly similar based on
# their titles, job categories, and locations. Highly similar results are
# clustered so that only one representative job of the cluster is
# displayed to the job seeker higher up in the results, with the other jobs
# being displayed lower down in the results.
#
# Defaults to {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::DiversificationLevel::SIMPLE DiversificationLevel.SIMPLE} if no value
# is specified.
# @!attribute [rw] custom_ranking_info
# @return [::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo]
# Controls over how job documents get ranked on top of existing relevance
# score (determined by API algorithm).
# @!attribute [rw] disable_keyword_match
# @return [::Boolean]
# Controls whether to disable exact keyword match on {::Google::Cloud::Talent::V4beta1::Job#title Job.title},
# {::Google::Cloud::Talent::V4beta1::Job#description Job.description}, {::Google::Cloud::Talent::V4beta1::Job#company_display_name Job.company_display_name}, {::Google::Cloud::Talent::V4beta1::Job#addresses Job.addresses},
# {::Google::Cloud::Talent::V4beta1::Job#qualifications Job.qualifications}. When disable keyword match is turned off, a
# keyword match returns jobs that do not match given category filters when
# there are matching keywords. For example, for the query "program manager,"
# a result is returned even if the job posting has the title "software
# developer," which doesn't fall into "program manager" ontology, but does
# have "program manager" appearing in its description.
#
# For queries like "cloud" that don't contain title or
# location specific ontology, jobs with "cloud" keyword matches are returned
# regardless of this flag's value.
#
# Use {::Google::Cloud::Talent::V4beta1::Company#keyword_searchable_job_custom_attributes Company.keyword_searchable_job_custom_attributes} if
# company-specific globally matched custom field/attribute string values are
# needed. Enabling keyword match improves recall of subsequent search
# requests.
#
# Defaults to false.
class SearchJobsRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
# Custom ranking information for {::Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
# @!attribute [rw] importance_level
# @return [::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo::ImportanceLevel]
# Required. Controls over how important the score of
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo.ranking_expression} gets applied to job's final
# ranking position.
#
# An error is thrown if not specified.
# @!attribute [rw] ranking_expression
# @return [::String]
# Required. Controls over how job documents get ranked on top of existing relevance
# score (determined by API algorithm). A combination of the ranking
# expression and relevance score is used to determine job's final ranking
# position.
#
# The syntax for this expression is a subset of Google SQL syntax.
#
# Supported operators are: +, -, *, /, where the left and right side of
# the operator is either a numeric {::Google::Cloud::Talent::V4beta1::Job#custom_attributes Job.custom_attributes} key,
# integer/double value or an expression that can be evaluated to a number.
#
# Parenthesis are supported to adjust calculation precedence. The
# expression must be < 100 characters in length.
#
# The expression is considered invalid for a job if the expression
# references custom attributes that are not populated on the job or if the
# expression results in a divide by zero. If an expression is invalid for a
# job, that job is demoted to the end of the results.
#
# Sample ranking expression
# (year + 25) * 0.25 - (freshness / 0.5)
class CustomRankingInfo
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
# The importance level for {::Google::Cloud::Talent::V4beta1::SearchJobsRequest::CustomRankingInfo#ranking_expression CustomRankingInfo.ranking_expression}.
module ImportanceLevel
# Default value if the importance level isn't specified.
IMPORTANCE_LEVEL_UNSPECIFIED = 0
# The given ranking expression is of None importance, existing relevance
# score (determined by API algorithm) dominates job's final ranking
# position.
NONE = 1
# The given ranking expression is of Low importance in terms of job's
# final ranking position compared to existing relevance
# score (determined by API algorithm).
LOW = 2
# The given ranking expression is of Mild importance in terms of job's
# final ranking position compared to existing relevance
# score (determined by API algorithm).
MILD = 3
# The given ranking expression is of Medium importance in terms of job's
# final ranking position compared to existing relevance
# score (determined by API algorithm).
MEDIUM = 4
# The given ranking expression is of High importance in terms of job's
# final ranking position compared to existing relevance
# score (determined by API algorithm).
HIGH = 5
# The given ranking expression is of Extreme importance, and dominates
# job's final ranking position with existing relevance
# score (determined by API algorithm) ignored.
EXTREME = 6
end
end
# A string-represented enumeration of the job search mode. The service
# operate differently for different modes of service.
module SearchMode
# The mode of the search method isn't specified. The default search
# behavior is identical to JOB_SEARCH search behavior.
SEARCH_MODE_UNSPECIFIED = 0
# The job search matches against all jobs, and featured jobs
# (jobs with promotionValue > 0) are not specially handled.
JOB_SEARCH = 1
# The job search matches only against featured jobs (jobs with a
# promotionValue > 0). This method doesn't return any jobs having a
# promotionValue <= 0. The search results order is determined by the
# promotionValue (jobs with a higher promotionValue are returned higher up
# in the search results), with relevance being used as a tiebreaker.
FEATURED_JOB_SEARCH = 2
end
# Controls whether highly similar jobs are returned next to each other in
# the search results. Jobs are identified as highly similar based on
# their titles, job categories, and locations. Highly similar results are
# clustered so that only one representative job of the cluster is
# displayed to the job seeker higher up in the results, with the other jobs
# being displayed lower down in the results.
module DiversificationLevel
# The diversification level isn't specified.
DIVERSIFICATION_LEVEL_UNSPECIFIED = 0
# Disables diversification. Jobs that would normally be pushed to the last
# page would not have their positions altered. This may result in highly
# similar jobs appearing in sequence in the search results.
DISABLED = 1
# Default diversifying behavior. The result list is ordered so that
# highly similar results are pushed to the end of the last page of search
# results. If you are using pageToken to page through the result set,
# latency might be lower but we can't guarantee that all results are
# returned. If you are using page offset, latency might be higher but all
# results are returned.
SIMPLE = 2
end
end
# Response for SearchJob method.
# @!attribute [rw] matching_jobs
# @return [::Array<::Google::Cloud::Talent::V4beta1::SearchJobsResponse::MatchingJob>]
# The Job entities that match the specified {::Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
# @!attribute [rw] histogram_query_results
# @return [::Array<::Google::Cloud::Talent::V4beta1::HistogramQueryResult>]
# The histogram results that match with specified
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest#histogram_queries SearchJobsRequest.histogram_queries}.
# @!attribute [rw] next_page_token
# @return [::String]
# The token that specifies the starting position of the next page of results.
# This field is empty if there are no more results.
# @!attribute [rw] location_filters
# @return [::Array<::Google::Cloud::Talent::V4beta1::Location>]
# The location filters that the service applied to the specified query. If
# any filters are lat-lng based, the {::Google::Cloud::Talent::V4beta1::Location#location_type Location.location_type} is
# {::Google::Cloud::Talent::V4beta1::Location::LocationType::LOCATION_TYPE_UNSPECIFIED Location.LocationType.LOCATION_TYPE_UNSPECIFIED}.
# @!attribute [rw] estimated_total_size
# @return [::Integer]
# An estimation of the number of jobs that match the specified query.
#
# This number isn't guaranteed to be accurate. For accurate results,
# see {::Google::Cloud::Talent::V4beta1::SearchJobsRequest#require_precise_result_size SearchJobsRequest.require_precise_result_size}.
# @!attribute [rw] total_size
# @return [::Integer]
# The precise result count, which is available only if the client set
# {::Google::Cloud::Talent::V4beta1::SearchJobsRequest#require_precise_result_size SearchJobsRequest.require_precise_result_size} to `true`, or if the
# response is the last page of results. Otherwise, the value is `-1`.
# @!attribute [rw] metadata
# @return [::Google::Cloud::Talent::V4beta1::ResponseMetadata]
# Additional information for the API invocation, such as the request
# tracking id.
# @!attribute [rw] broadened_query_jobs_count
# @return [::Integer]
# 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, or if the field isn't
# set, 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.
# @!attribute [rw] spell_correction
# @return [::Google::Cloud::Talent::V4beta1::SpellingCorrection]
# The spell checking result, and correction.
class SearchJobsResponse
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
# Job entry with metadata inside {::Google::Cloud::Talent::V4beta1::SearchJobsResponse SearchJobsResponse}.
# @!attribute [rw] job
# @return [::Google::Cloud::Talent::V4beta1::Job]
# Job resource that matches the specified {::Google::Cloud::Talent::V4beta1::SearchJobsRequest SearchJobsRequest}.
# @!attribute [rw] job_summary
# @return [::String]
# A summary of the job with core information that's displayed on the search
# results listing page.
# @!attribute [rw] job_title_snippet
# @return [::String]
# Contains snippets of text from the {::Google::Cloud::Talent::V4beta1::Job#title Job.title} field most
# closely matching a search query's keywords, if available. The matching
# query keywords are enclosed in HTML bold tags.
# @!attribute [rw] search_text_snippet
# @return [::String]
# Contains snippets of text from the {::Google::Cloud::Talent::V4beta1::Job#description 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.
# @!attribute [rw] commute_info
# @return [::Google::Cloud::Talent::V4beta1::SearchJobsResponse::CommuteInfo]
# Commute information which is generated based on specified
# {::Google::Cloud::Talent::V4beta1::CommuteFilter CommuteFilter}.
class MatchingJob
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Commute details related to this job.
# @!attribute [rw] job_location
# @return [::Google::Cloud::Talent::V4beta1::Location]
# Location used as the destination in the commute calculation.
# @!attribute [rw] travel_duration
# @return [::Google::Protobuf::Duration]
# The number of seconds required to travel to the job location from the
# query location. A duration of 0 seconds indicates that the job isn't
# reachable within the requested duration, but was returned as part of an
# expanded query.
class CommuteInfo
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
end
# Request to create a batch of jobs.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant under which the job is created.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] jobs
# @return [::Array<::Google::Cloud::Talent::V4beta1::Job>]
# Required. The jobs to be created.
class BatchCreateJobsRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# Request to update a batch of jobs.
# @!attribute [rw] parent
# @return [::String]
# Required. The resource name of the tenant under which the job is created.
#
# The format is "projects/\\{project_id}/tenants/\\{tenant_id}". For example,
# "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
# is created. For example, "projects/foo".
# @!attribute [rw] jobs
# @return [::Array<::Google::Cloud::Talent::V4beta1::Job>]
# Required. The jobs to be updated.
# @!attribute [rw] update_mask
# @return [::Google::Protobuf::FieldMask]
# Strongly recommended for the best service experience. Be aware that it will
# also increase latency when checking the status of a batch operation.
#
# If {::Google::Cloud::Talent::V4beta1::BatchUpdateJobsRequest#update_mask update_mask} is provided, only the specified fields in
# {::Google::Cloud::Talent::V4beta1::Job Job} are updated. Otherwise all the fields are updated.
#
# A field mask to restrict the fields that are updated. Only
# top level fields of {::Google::Cloud::Talent::V4beta1::Job Job} are supported.
#
# If {::Google::Cloud::Talent::V4beta1::BatchUpdateJobsRequest#update_mask update_mask} is provided, The {::Google::Cloud::Talent::V4beta1::Job Job} inside
# {::Google::Cloud::Talent::V4beta1::JobOperationResult::JobResult JobResult}
# will only contains fields that is updated, plus the Id of the Job.
# Otherwise, {::Google::Cloud::Talent::V4beta1::Job Job} will include all fields, which can yield a very
# large response.
class BatchUpdateJobsRequest
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
# The result of {::Google::Cloud::Talent::V4beta1::JobService::Client#batch_create_jobs JobService.BatchCreateJobs} or
# {::Google::Cloud::Talent::V4beta1::JobService::Client#batch_update_jobs JobService.BatchUpdateJobs} APIs. It's used to
# replace {::Google::Longrunning::Operation#response google.longrunning.Operation.response} in case of success.
# @!attribute [rw] job_results
# @return [::Array<::Google::Cloud::Talent::V4beta1::JobOperationResult::JobResult>]
# List of job mutation results from a batch mutate operation. It can change
# until operation status is FINISHED, FAILED or CANCELLED.
class JobOperationResult
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
# Mutation result of a job.
# @!attribute [rw] job
# @return [::Google::Cloud::Talent::V4beta1::Job]
# Here {::Google::Cloud::Talent::V4beta1::Job Job} only contains basic information including {::Google::Cloud::Talent::V4beta1::Job#name name},
# {::Google::Cloud::Talent::V4beta1::Job#company company}, {::Google::Cloud::Talent::V4beta1::Job#language_code language_code}
# and {::Google::Cloud::Talent::V4beta1::Job#requisition_id requisition_id}, use getJob method to retrieve
# detailed information of the created/updated job.
# @!attribute [rw] status
# @return [::Google::Rpc::Status]
# The status of the job processed. This field is populated if the
# processing of the {::Google::Cloud::Talent::V4beta1::JobOperationResult::JobResult#job job} fails.
class JobResult
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
end
# An enum that specifies the job attributes that are returned in the
# {::Google::Cloud::Talent::V4beta1::SearchJobsResponse::MatchingJob#job MatchingJob.job} or
# {::Google::Cloud::Talent::V4beta1::ListJobsResponse#jobs ListJobsResponse.jobs} fields.
module JobView
# Default value.
JOB_VIEW_UNSPECIFIED = 0
# A ID only view of job, with following attributes:
# {::Google::Cloud::Talent::V4beta1::Job#name Job.name}, {::Google::Cloud::Talent::V4beta1::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4beta1::Job#language_code Job.language_code}.
JOB_VIEW_ID_ONLY = 1
# A minimal view of the job, with the following attributes:
# {::Google::Cloud::Talent::V4beta1::Job#name Job.name}, {::Google::Cloud::Talent::V4beta1::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4beta1::Job#title Job.title},
# {::Google::Cloud::Talent::V4beta1::Job#company Job.company}, {::Google::Cloud::Talent::V4beta1::Job::DerivedInfo#locations Job.DerivedInfo.locations}, {::Google::Cloud::Talent::V4beta1::Job#language_code Job.language_code}.
JOB_VIEW_MINIMAL = 2
# A small view of the job, with the following attributes in the search
# results: {::Google::Cloud::Talent::V4beta1::Job#name Job.name}, {::Google::Cloud::Talent::V4beta1::Job#requisition_id Job.requisition_id}, {::Google::Cloud::Talent::V4beta1::Job#title Job.title},
# {::Google::Cloud::Talent::V4beta1::Job#company Job.company}, {::Google::Cloud::Talent::V4beta1::Job::DerivedInfo#locations Job.DerivedInfo.locations}, {::Google::Cloud::Talent::V4beta1::Job#visibility Job.visibility},
# {::Google::Cloud::Talent::V4beta1::Job#language_code Job.language_code}, {::Google::Cloud::Talent::V4beta1::Job#description Job.description}.
JOB_VIEW_SMALL = 3
# All available attributes are included in the search results.
JOB_VIEW_FULL = 4
end
end
end
end
end