google-api-client 0.24.0 → 0.24.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +41 -0
  5. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  6. data/generated/google/apis/androidenterprise_v1/classes.rb +1 -1
  7. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  8. data/generated/google/apis/calendar_v3.rb +10 -1
  9. data/generated/google/apis/classroom_v1.rb +1 -1
  10. data/generated/google/apis/classroom_v1/classes.rb +18 -15
  11. data/generated/google/apis/cloudkms_v1.rb +3 -6
  12. data/generated/google/apis/cloudkms_v1/service.rb +2 -5
  13. data/generated/google/apis/compute_alpha.rb +1 -1
  14. data/generated/google/apis/compute_alpha/classes.rb +156 -144
  15. data/generated/google/apis/compute_alpha/representations.rb +66 -66
  16. data/generated/google/apis/compute_alpha/service.rb +7 -7
  17. data/generated/google/apis/compute_beta.rb +1 -1
  18. data/generated/google/apis/compute_beta/classes.rb +221 -10
  19. data/generated/google/apis/compute_beta/representations.rb +111 -2
  20. data/generated/google/apis/compute_beta/service.rb +39 -3
  21. data/generated/google/apis/compute_v1.rb +1 -1
  22. data/generated/google/apis/compute_v1/service.rb +3 -3
  23. data/generated/google/apis/container_v1.rb +1 -1
  24. data/generated/google/apis/container_v1/classes.rb +56 -0
  25. data/generated/google/apis/container_v1/representations.rb +19 -0
  26. data/generated/google/apis/container_v1beta1.rb +1 -1
  27. data/generated/google/apis/container_v1beta1/classes.rb +9 -6
  28. data/generated/google/apis/content_v2.rb +1 -1
  29. data/generated/google/apis/content_v2/classes.rb +76 -5
  30. data/generated/google/apis/content_v2/representations.rb +42 -0
  31. data/generated/google/apis/content_v2/service.rb +40 -0
  32. data/generated/google/apis/content_v2sandbox.rb +1 -1
  33. data/generated/google/apis/content_v2sandbox/classes.rb +70 -0
  34. data/generated/google/apis/content_v2sandbox/representations.rb +42 -0
  35. data/generated/google/apis/content_v2sandbox/service.rb +40 -0
  36. data/generated/google/apis/dataproc_v1.rb +1 -1
  37. data/generated/google/apis/dataproc_v1/classes.rb +1 -1
  38. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  39. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -1
  40. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  41. data/generated/google/apis/dataproc_v1beta2/service.rb +8 -2
  42. data/generated/google/apis/dialogflow_v2.rb +1 -1
  43. data/generated/google/apis/dialogflow_v2/classes.rb +23 -17
  44. data/generated/google/apis/dialogflow_v2/service.rb +9 -8
  45. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  46. data/generated/google/apis/dialogflow_v2beta1/classes.rb +23 -17
  47. data/generated/google/apis/dialogflow_v2beta1/service.rb +9 -8
  48. data/generated/google/apis/dlp_v2.rb +1 -1
  49. data/generated/google/apis/dlp_v2/classes.rb +178 -21
  50. data/generated/google/apis/dlp_v2/representations.rb +68 -0
  51. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  52. data/generated/google/apis/firestore_v1beta2/classes.rb +102 -0
  53. data/generated/google/apis/firestore_v1beta2/representations.rb +47 -0
  54. data/generated/google/apis/firestore_v1beta2/service.rb +144 -0
  55. data/generated/google/apis/games_v1.rb +1 -1
  56. data/generated/google/apis/games_v1/service.rb +8 -2
  57. data/generated/google/apis/genomics_v1.rb +1 -1
  58. data/generated/google/apis/genomics_v1/service.rb +18 -7
  59. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  60. data/generated/google/apis/genomics_v1alpha2/service.rb +18 -7
  61. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  62. data/generated/google/apis/genomics_v2alpha1/service.rb +21 -7
  63. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  64. data/generated/google/apis/iamcredentials_v1/service.rb +2 -2
  65. data/generated/google/apis/indexing_v3.rb +4 -1
  66. data/generated/google/apis/jobs_v2.rb +1 -1
  67. data/generated/google/apis/jobs_v2/classes.rb +35 -35
  68. data/generated/google/apis/jobs_v3.rb +1 -1
  69. data/generated/google/apis/jobs_v3p1beta1.rb +38 -0
  70. data/generated/google/apis/jobs_v3p1beta1/classes.rb +2910 -0
  71. data/generated/google/apis/jobs_v3p1beta1/representations.rb +966 -0
  72. data/generated/google/apis/jobs_v3p1beta1/service.rb +692 -0
  73. data/generated/google/apis/kgsearch_v1.rb +1 -1
  74. data/generated/google/apis/logging_v2.rb +1 -1
  75. data/generated/google/apis/logging_v2/service.rb +9 -9
  76. data/generated/google/apis/logging_v2beta1.rb +1 -1
  77. data/generated/google/apis/logging_v2beta1/service.rb +1 -1
  78. data/generated/google/apis/ml_v1.rb +1 -1
  79. data/generated/google/apis/ml_v1/classes.rb +10 -3
  80. data/generated/google/apis/ml_v1/representations.rb +1 -0
  81. data/generated/google/apis/monitoring_v3.rb +1 -1
  82. data/generated/google/apis/monitoring_v3/service.rb +1 -1
  83. data/generated/google/apis/people_v1.rb +1 -1
  84. data/generated/google/apis/people_v1/classes.rb +4 -3
  85. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  86. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +2 -242
  87. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -60
  88. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  89. data/generated/google/apis/servicecontrol_v1/classes.rb +4 -4
  90. data/generated/google/apis/serviceusage_v1.rb +1 -1
  91. data/generated/google/apis/serviceusage_v1/classes.rb +3 -242
  92. data/generated/google/apis/serviceusage_v1/representations.rb +0 -60
  93. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  94. data/generated/google/apis/serviceusage_v1beta1/classes.rb +4 -242
  95. data/generated/google/apis/serviceusage_v1beta1/representations.rb +0 -60
  96. data/generated/google/apis/spanner_v1.rb +1 -1
  97. data/generated/google/apis/spanner_v1/service.rb +11 -10
  98. data/generated/google/apis/speech_v1.rb +1 -1
  99. data/generated/google/apis/speech_v1/classes.rb +11 -8
  100. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  101. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  102. data/generated/google/apis/storagetransfer_v1/classes.rb +25 -21
  103. data/generated/google/apis/testing_v1.rb +1 -1
  104. data/generated/google/apis/testing_v1/classes.rb +26 -16
  105. data/generated/google/apis/testing_v1/representations.rb +1 -0
  106. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  107. data/generated/google/apis/toolresults_v1beta3/classes.rb +7 -7
  108. data/lib/google/apis/version.rb +1 -1
  109. metadata +6 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/games/services/
26
26
  module GamesV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180802'
28
+ REVISION = '20180913'
29
29
 
30
30
  # View and manage its own configuration data in your Google Drive
31
31
  AUTH_DRIVE_APPDATA = 'https://www.googleapis.com/auth/drive.appdata'
@@ -260,6 +260,8 @@ module Google
260
260
  # Unlocks this achievement for the currently authenticated player.
261
261
  # @param [String] achievement_id
262
262
  # The ID of the achievement used by this method.
263
+ # @param [String] builtin_game_id
264
+ # Override used only by built-in games in Play Games application.
263
265
  # @param [String] fields
264
266
  # Selector specifying which fields to include in a partial response.
265
267
  # @param [String] quota_user
@@ -279,11 +281,12 @@ module Google
279
281
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
280
282
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
281
283
  # @raise [Google::Apis::AuthorizationError] Authorization is required
282
- def unlock_achievement(achievement_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
284
+ def unlock_achievement(achievement_id, builtin_game_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
283
285
  command = make_simple_command(:post, 'achievements/{achievementId}/unlock', options)
284
286
  command.response_representation = Google::Apis::GamesV1::AchievementUnlockResponse::Representation
285
287
  command.response_class = Google::Apis::GamesV1::AchievementUnlockResponse
286
288
  command.params['achievementId'] = achievement_id unless achievement_id.nil?
289
+ command.query['builtinGameId'] = builtin_game_id unless builtin_game_id.nil?
287
290
  command.query['fields'] = fields unless fields.nil?
288
291
  command.query['quotaUser'] = quota_user unless quota_user.nil?
289
292
  command.query['userIp'] = user_ip unless user_ip.nil?
@@ -292,6 +295,8 @@ module Google
292
295
 
293
296
  # Updates multiple achievements for the currently authenticated player.
294
297
  # @param [Google::Apis::GamesV1::AchievementUpdateMultipleRequest] achievement_update_multiple_request_object
298
+ # @param [String] builtin_game_id
299
+ # Override used only by built-in games in Play Games application.
295
300
  # @param [String] fields
296
301
  # Selector specifying which fields to include in a partial response.
297
302
  # @param [String] quota_user
@@ -311,12 +316,13 @@ module Google
311
316
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
312
317
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
313
318
  # @raise [Google::Apis::AuthorizationError] Authorization is required
314
- def update_multiple_achievements(achievement_update_multiple_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
319
+ def update_multiple_achievements(achievement_update_multiple_request_object = nil, builtin_game_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
315
320
  command = make_simple_command(:post, 'achievements/updateMultiple', options)
316
321
  command.request_representation = Google::Apis::GamesV1::AchievementUpdateMultipleRequest::Representation
317
322
  command.request_object = achievement_update_multiple_request_object
318
323
  command.response_representation = Google::Apis::GamesV1::AchievementUpdateMultipleResponse::Representation
319
324
  command.response_class = Google::Apis::GamesV1::AchievementUpdateMultipleResponse
325
+ command.query['builtinGameId'] = builtin_game_id unless builtin_game_id.nil?
320
326
  command.query['fields'] = fields unless fields.nil?
321
327
  command.query['quotaUser'] = quota_user unless quota_user.nil?
322
328
  command.query['userIp'] = user_ip unless user_ip.nil?
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics
26
26
  module GenomicsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180905'
28
+ REVISION = '20180919'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -928,10 +928,15 @@ module Google
928
928
  execute_or_queue_command(command, &block)
929
929
  end
930
930
 
931
- # Starts asynchronous cancellation on a long-running operation. The server makes
932
- # a best effort to cancel the operation, but success is not guaranteed. Clients
933
- # may use Operations.GetOperation or Operations.ListOperations to check whether
934
- # the cancellation succeeded or the operation completed despite cancellation.
931
+ # Starts asynchronous cancellation on a long-running operation.
932
+ # The server makes a best effort to cancel the operation, but success is not
933
+ # guaranteed. Clients may use Operations.GetOperation
934
+ # or Operations.ListOperations
935
+ # to check whether the cancellation succeeded or the operation completed
936
+ # despite cancellation.
937
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
938
+ # permission:
939
+ # * `genomics.operations.cancel`
935
940
  # @param [String] name
936
941
  # The name of the operation resource to be cancelled.
937
942
  # @param [Google::Apis::GenomicsV1::CancelOperationRequest] cancel_operation_request_object
@@ -964,9 +969,12 @@ module Google
964
969
  execute_or_queue_command(command, &block)
965
970
  end
966
971
 
967
- # Gets the latest state of a long-running operation. Clients can use this
968
- # method to poll the operation result at intervals as recommended by the API
969
- # service.
972
+ # Gets the latest state of a long-running operation.
973
+ # Clients can use this method to poll the operation result at intervals as
974
+ # recommended by the API service.
975
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
976
+ # permission:
977
+ # * `genomics.operations.get`
970
978
  # @param [String] name
971
979
  # The name of the operation resource.
972
980
  # @param [String] fields
@@ -997,6 +1005,9 @@ module Google
997
1005
  end
998
1006
 
999
1007
  # Lists operations that match the specified filter in the request.
1008
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
1009
+ # permission:
1010
+ # * `genomics.operations.list`
1000
1011
  # @param [String] name
1001
1012
  # The name of the operation's parent resource.
1002
1013
  # @param [String] filter
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics
26
26
  module GenomicsV1alpha2
27
27
  VERSION = 'V1alpha2'
28
- REVISION = '20180905'
28
+ REVISION = '20180919'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -47,10 +47,15 @@ module Google
47
47
  @batch_path = 'batch'
48
48
  end
49
49
 
50
- # Starts asynchronous cancellation on a long-running operation. The server makes
51
- # a best effort to cancel the operation, but success is not guaranteed. Clients
52
- # may use Operations.GetOperation or Operations.ListOperations to check whether
53
- # the cancellation succeeded or the operation completed despite cancellation.
50
+ # Starts asynchronous cancellation on a long-running operation.
51
+ # The server makes a best effort to cancel the operation, but success is not
52
+ # guaranteed. Clients may use Operations.GetOperation
53
+ # or Operations.ListOperations
54
+ # to check whether the cancellation succeeded or the operation completed
55
+ # despite cancellation.
56
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
57
+ # permission:
58
+ # * `genomics.operations.cancel`
54
59
  # @param [String] name
55
60
  # The name of the operation resource to be cancelled.
56
61
  # @param [Google::Apis::GenomicsV1alpha2::CancelOperationRequest] cancel_operation_request_object
@@ -83,9 +88,12 @@ module Google
83
88
  execute_or_queue_command(command, &block)
84
89
  end
85
90
 
86
- # Gets the latest state of a long-running operation. Clients can use this
87
- # method to poll the operation result at intervals as recommended by the API
88
- # service.
91
+ # Gets the latest state of a long-running operation.
92
+ # Clients can use this method to poll the operation result at intervals as
93
+ # recommended by the API service.
94
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
95
+ # permission:
96
+ # * `genomics.operations.get`
89
97
  # @param [String] name
90
98
  # The name of the operation resource.
91
99
  # @param [String] fields
@@ -116,6 +124,9 @@ module Google
116
124
  end
117
125
 
118
126
  # Lists operations that match the specified filter in the request.
127
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
128
+ # permission:
129
+ # * `genomics.operations.list`
119
130
  # @param [String] name
120
131
  # The name of the operation's parent resource.
121
132
  # @param [String] filter
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics
26
26
  module GenomicsV2alpha1
27
27
  VERSION = 'V2alpha1'
28
- REVISION = '20180905'
28
+ REVISION = '20180919'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -54,6 +54,9 @@ module Google
54
54
  # or if you enabled the Cloud Genomics API before the v2alpha1 API
55
55
  # launch, you must disable and re-enable the API to grant the Genomics
56
56
  # Service Agent the required permissions.
57
+ # Authorization requires the following [Google
58
+ # IAM](https://cloud.google.com/iam/) permission:
59
+ # * `genomics.operations.create`
57
60
  # [1]: /genomics/gsa
58
61
  # @param [Google::Apis::GenomicsV2alpha1::RunPipelineRequest] run_pipeline_request_object
59
62
  # @param [String] fields
@@ -84,10 +87,15 @@ module Google
84
87
  execute_or_queue_command(command, &block)
85
88
  end
86
89
 
87
- # Starts asynchronous cancellation on a long-running operation. The server makes
88
- # a best effort to cancel the operation, but success is not guaranteed. Clients
89
- # may use Operations.GetOperation or Operations.ListOperations to check whether
90
- # the cancellation succeeded or the operation completed despite cancellation.
90
+ # Starts asynchronous cancellation on a long-running operation.
91
+ # The server makes a best effort to cancel the operation, but success is not
92
+ # guaranteed. Clients may use Operations.GetOperation
93
+ # or Operations.ListOperations
94
+ # to check whether the cancellation succeeded or the operation completed
95
+ # despite cancellation.
96
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
97
+ # permission:
98
+ # * `genomics.operations.cancel`
91
99
  # @param [String] name
92
100
  # The name of the operation resource to be cancelled.
93
101
  # @param [Google::Apis::GenomicsV2alpha1::CancelOperationRequest] cancel_operation_request_object
@@ -120,9 +128,12 @@ module Google
120
128
  execute_or_queue_command(command, &block)
121
129
  end
122
130
 
123
- # Gets the latest state of a long-running operation. Clients can use this
124
- # method to poll the operation result at intervals as recommended by the API
125
- # service.
131
+ # Gets the latest state of a long-running operation.
132
+ # Clients can use this method to poll the operation result at intervals as
133
+ # recommended by the API service.
134
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
135
+ # permission:
136
+ # * `genomics.operations.get`
126
137
  # @param [String] name
127
138
  # The name of the operation resource.
128
139
  # @param [String] fields
@@ -153,6 +164,9 @@ module Google
153
164
  end
154
165
 
155
166
  # Lists operations that match the specified filter in the request.
167
+ # Authorization requires the following [Google IAM](https://cloud.google.com/iam)
168
+ # permission:
169
+ # * `genomics.operations.list`
156
170
  # @param [String] name
157
171
  # The name of the operation's parent resource.
158
172
  # @param [String] filter
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials
26
26
  module IamcredentialsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180824'
28
+ REVISION = '20180913'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -126,8 +126,8 @@ module Google
126
126
  # The resource name of the service account for which the credentials
127
127
  # are requested, in the following format:
128
128
  # `projects/-/serviceAccounts/`ACCOUNT_EMAIL_OR_UNIQUEID``.
129
- # Using `-` as a wildcard for the project will infer the project from
130
- # the account.
129
+ # Use hyphen as placeholder for project id since there is no project context
130
+ # for this API.
131
131
  # @param [Google::Apis::IamcredentialsV1::GenerateIdentityBindingAccessTokenRequest] generate_identity_binding_access_token_request_object
132
132
  # @param [String] fields
133
133
  # Selector specifying which fields to include in a partial response.
@@ -26,7 +26,10 @@ module Google
26
26
  # @see https://developers.google.com/search/apis/indexing-api/
27
27
  module IndexingV3
28
28
  VERSION = 'V3'
29
- REVISION = '20180621'
29
+ REVISION = '20180911'
30
+
31
+ # Submit data to Google for indexing
32
+ AUTH_INDEXING = 'https://www.googleapis.com/auth/indexing'
30
33
  end
31
34
  end
32
35
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/talent-solution/job-search/docs/
27
27
  module JobsV2
28
28
  VERSION = 'V2'
29
- REVISION = '20180906'
29
+ REVISION = '20180917'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -945,13 +945,13 @@ module Google
945
945
  end
946
946
  end
947
947
 
948
- # Represents a whole calendar date, e.g. date of birth. The time of day and
949
- # time zone are either specified elsewhere or are not significant. The date
950
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
951
- # represent a year and month where the day is not significant, e.g. credit card
952
- # expiration date. The year may be 0 to represent a month and day independent
953
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
954
- # and `google.protobuf.Timestamp`.
948
+ # Represents a whole calendar date, for example date of birth. The time of day
949
+ # and time zone are either specified elsewhere or are not significant. The date
950
+ # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
951
+ # represent a year and month where the day is not significant, for example
952
+ # credit card expiration date. The year can be 0 to represent a month and day
953
+ # independent of year, for example anniversary date. Related types are
954
+ # google.type.TimeOfDay and `google.protobuf.Timestamp`.
955
955
  class Date
956
956
  include Google::Apis::Core::Hashable
957
957
 
@@ -1686,13 +1686,13 @@ module Google
1686
1686
  # @return [Array<String>]
1687
1687
  attr_accessor :employment_types
1688
1688
 
1689
- # Represents a whole calendar date, e.g. date of birth. The time of day and
1690
- # time zone are either specified elsewhere or are not significant. The date
1691
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1692
- # represent a year and month where the day is not significant, e.g. credit card
1693
- # expiration date. The year may be 0 to represent a month and day independent
1694
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1695
- # and `google.protobuf.Timestamp`.
1689
+ # Represents a whole calendar date, for example date of birth. The time of day
1690
+ # and time zone are either specified elsewhere or are not significant. The date
1691
+ # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
1692
+ # represent a year and month where the day is not significant, for example
1693
+ # credit card expiration date. The year can be 0 to represent a month and day
1694
+ # independent of year, for example anniversary date. Related types are
1695
+ # google.type.TimeOfDay and `google.protobuf.Timestamp`.
1696
1696
  # Corresponds to the JSON property `endDate`
1697
1697
  # @return [Google::Apis::JobsV2::Date]
1698
1698
  attr_accessor :end_date
@@ -1736,13 +1736,13 @@ module Google
1736
1736
  # @return [String]
1737
1737
  attr_accessor :expire_time
1738
1738
 
1739
- # Represents a whole calendar date, e.g. date of birth. The time of day and
1740
- # time zone are either specified elsewhere or are not significant. The date
1741
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1742
- # represent a year and month where the day is not significant, e.g. credit card
1743
- # expiration date. The year may be 0 to represent a month and day independent
1744
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1745
- # and `google.protobuf.Timestamp`.
1739
+ # Represents a whole calendar date, for example date of birth. The time of day
1740
+ # and time zone are either specified elsewhere or are not significant. The date
1741
+ # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
1742
+ # represent a year and month where the day is not significant, for example
1743
+ # credit card expiration date. The year can be 0 to represent a month and day
1744
+ # independent of year, for example anniversary date. Related types are
1745
+ # google.type.TimeOfDay and `google.protobuf.Timestamp`.
1746
1746
  # Corresponds to the JSON property `expiryDate`
1747
1747
  # @return [Google::Apis::JobsV2::Date]
1748
1748
  attr_accessor :expiry_date
@@ -1845,13 +1845,13 @@ module Google
1845
1845
  # @return [Fixnum]
1846
1846
  attr_accessor :promotion_value
1847
1847
 
1848
- # Represents a whole calendar date, e.g. date of birth. The time of day and
1849
- # time zone are either specified elsewhere or are not significant. The date
1850
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1851
- # represent a year and month where the day is not significant, e.g. credit card
1852
- # expiration date. The year may be 0 to represent a month and day independent
1853
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1854
- # and `google.protobuf.Timestamp`.
1848
+ # Represents a whole calendar date, for example date of birth. The time of day
1849
+ # and time zone are either specified elsewhere or are not significant. The date
1850
+ # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
1851
+ # represent a year and month where the day is not significant, for example
1852
+ # credit card expiration date. The year can be 0 to represent a month and day
1853
+ # independent of year, for example anniversary date. Related types are
1854
+ # google.type.TimeOfDay and `google.protobuf.Timestamp`.
1855
1855
  # Corresponds to the JSON property `publishDate`
1856
1856
  # @return [Google::Apis::JobsV2::Date]
1857
1857
  attr_accessor :publish_date
@@ -1906,13 +1906,13 @@ module Google
1906
1906
  # @return [String]
1907
1907
  attr_accessor :responsibilities
1908
1908
 
1909
- # Represents a whole calendar date, e.g. date of birth. The time of day and
1910
- # time zone are either specified elsewhere or are not significant. The date
1911
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1912
- # represent a year and month where the day is not significant, e.g. credit card
1913
- # expiration date. The year may be 0 to represent a month and day independent
1914
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1915
- # and `google.protobuf.Timestamp`.
1909
+ # Represents a whole calendar date, for example date of birth. The time of day
1910
+ # and time zone are either specified elsewhere or are not significant. The date
1911
+ # is relative to the Proleptic Gregorian Calendar. The day can be 0 to
1912
+ # represent a year and month where the day is not significant, for example
1913
+ # credit card expiration date. The year can be 0 to represent a month and day
1914
+ # independent of year, for example anniversary date. Related types are
1915
+ # google.type.TimeOfDay and `google.protobuf.Timestamp`.
1916
1916
  # Corresponds to the JSON property `startDate`
1917
1917
  # @return [Google::Apis::JobsV2::Date]
1918
1918
  attr_accessor :start_date
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/talent-solution/job-search/docs/
27
27
  module JobsV3
28
28
  VERSION = 'V3'
29
- REVISION = '20180906'
29
+ REVISION = '20180917'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -0,0 +1,38 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/jobs_v3p1beta1/service.rb'
16
+ require 'google/apis/jobs_v3p1beta1/classes.rb'
17
+ require 'google/apis/jobs_v3p1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Talent Solution API
22
+ #
23
+ # Cloud Talent Solution provides the capability to create, read, update, and
24
+ # delete job postings, as well as search jobs based on keywords and filters.
25
+ #
26
+ # @see https://cloud.google.com/talent-solution/job-search/docs/
27
+ module JobsV3p1beta1
28
+ VERSION = 'V3p1beta1'
29
+ REVISION = '20180917'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # Manage job postings
35
+ AUTH_JOBS = 'https://www.googleapis.com/auth/jobs'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,2910 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module JobsV3p1beta1
24
+
25
+ # Application related details of a job posting.
26
+ class ApplicationInfo
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Optional but at least one of uris,
30
+ # emails or instruction must be
31
+ # specified.
32
+ # Use this field to specify email address(es) to which resumes or
33
+ # applications can be sent.
34
+ # The maximum number of allowed characters for each entry is 255.
35
+ # Corresponds to the JSON property `emails`
36
+ # @return [Array<String>]
37
+ attr_accessor :emails
38
+
39
+ # Optional but at least one of uris,
40
+ # emails or instruction must be
41
+ # specified.
42
+ # Use this field to provide instructions, such as "Mail your application
43
+ # to ...", that a candidate can follow to apply for the job.
44
+ # This field accepts and sanitizes HTML input, and also accepts
45
+ # bold, italic, ordered list, and unordered list markup tags.
46
+ # The maximum number of allowed characters is 3,000.
47
+ # Corresponds to the JSON property `instruction`
48
+ # @return [String]
49
+ attr_accessor :instruction
50
+
51
+ # Optional but at least one of uris,
52
+ # emails or instruction must be
53
+ # specified.
54
+ # Use this URI field to direct an applicant to a website, for example to
55
+ # link to an online application form.
56
+ # The maximum number of allowed characters for each entry is 2,000.
57
+ # Corresponds to the JSON property `uris`
58
+ # @return [Array<String>]
59
+ attr_accessor :uris
60
+
61
+ def initialize(**args)
62
+ update!(**args)
63
+ end
64
+
65
+ # Update properties of this object
66
+ def update!(**args)
67
+ @emails = args[:emails] if args.key?(:emails)
68
+ @instruction = args[:instruction] if args.key?(:instruction)
69
+ @uris = args[:uris] if args.key?(:uris)
70
+ end
71
+ end
72
+
73
+ # Input only.
74
+ # Batch delete jobs request.
75
+ class BatchDeleteJobsRequest
76
+ include Google::Apis::Core::Hashable
77
+
78
+ # Required.
79
+ # The filter string specifies the jobs to be deleted.
80
+ # Supported operator: =, AND
81
+ # The fields eligible for filtering are:
82
+ # * `companyName` (Required)
83
+ # * `requisitionId` (Required)
84
+ # Sample Query: companyName = "projects/api-test-project/companies/123" AND
85
+ # requisitionId = "req-1"
86
+ # Corresponds to the JSON property `filter`
87
+ # @return [String]
88
+ attr_accessor :filter
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @filter = args[:filter] if args.key?(:filter)
97
+ end
98
+ end
99
+
100
+ # Represents starting and ending value of a range in double.
101
+ class BucketRange
102
+ include Google::Apis::Core::Hashable
103
+
104
+ # Starting value of the bucket range.
105
+ # Corresponds to the JSON property `from`
106
+ # @return [Float]
107
+ attr_accessor :from
108
+
109
+ # Ending value of the bucket range.
110
+ # Corresponds to the JSON property `to`
111
+ # @return [Float]
112
+ attr_accessor :to
113
+
114
+ def initialize(**args)
115
+ update!(**args)
116
+ end
117
+
118
+ # Update properties of this object
119
+ def update!(**args)
120
+ @from = args[:from] if args.key?(:from)
121
+ @to = args[:to] if args.key?(:to)
122
+ end
123
+ end
124
+
125
+ # Represents count of jobs within one bucket.
126
+ class BucketizedCount
127
+ include Google::Apis::Core::Hashable
128
+
129
+ # Number of jobs whose numeric field value fall into `range`.
130
+ # Corresponds to the JSON property `count`
131
+ # @return [Fixnum]
132
+ attr_accessor :count
133
+
134
+ # Represents starting and ending value of a range in double.
135
+ # Corresponds to the JSON property `range`
136
+ # @return [Google::Apis::JobsV3p1beta1::BucketRange]
137
+ attr_accessor :range
138
+
139
+ def initialize(**args)
140
+ update!(**args)
141
+ end
142
+
143
+ # Update properties of this object
144
+ def update!(**args)
145
+ @count = args[:count] if args.key?(:count)
146
+ @range = args[:range] if args.key?(:range)
147
+ end
148
+ end
149
+
150
+ # An event issued when an end user interacts with the application that
151
+ # implements Cloud Talent Solution. Providing this information improves the
152
+ # quality of search and recommendation for the API clients, enabling the
153
+ # service to perform optimally. The number of events sent must be consistent
154
+ # with other calls, such as job searches, issued to the service by the client.
155
+ class ClientEvent
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # Required.
159
+ # The timestamp of the event.
160
+ # Corresponds to the JSON property `createTime`
161
+ # @return [String]
162
+ attr_accessor :create_time
163
+
164
+ # Required.
165
+ # A unique identifier, generated by the client application. This `event_id`
166
+ # is used to establish the relationship between different events
167
+ # (see parent_event_id).
168
+ # Corresponds to the JSON property `eventId`
169
+ # @return [String]
170
+ attr_accessor :event_id
171
+
172
+ # Optional.
173
+ # Extra information about this event. Used for storing information with no
174
+ # matching field in event payload, for example, user application specific
175
+ # context or details.
176
+ # At most 20 keys are supported. The maximum total size of all keys and
177
+ # values is 2 KB.
178
+ # Corresponds to the JSON property `extraInfo`
179
+ # @return [Hash<String,String>]
180
+ attr_accessor :extra_info
181
+
182
+ # An event issued when a job seeker interacts with the application that
183
+ # implements Cloud Talent Solution.
184
+ # Corresponds to the JSON property `jobEvent`
185
+ # @return [Google::Apis::JobsV3p1beta1::JobEvent]
186
+ attr_accessor :job_event
187
+
188
+ # Required except the first event.
189
+ # The event_id of an event that resulted in the current event. For example, a
190
+ # Job view event usually follows a parent
191
+ # impression event: A job seeker first does a
192
+ # search where a list of jobs appears
193
+ # (impression). The job seeker then selects a
194
+ # result and views the description of a particular job (Job
195
+ # view).
196
+ # Corresponds to the JSON property `parentEventId`
197
+ # @return [String]
198
+ attr_accessor :parent_event_id
199
+
200
+ # Required.
201
+ # A unique ID generated in the API responses. It can be found in
202
+ # ResponseMetadata.request_id.
203
+ # Corresponds to the JSON property `requestId`
204
+ # @return [String]
205
+ attr_accessor :request_id
206
+
207
+ def initialize(**args)
208
+ update!(**args)
209
+ end
210
+
211
+ # Update properties of this object
212
+ def update!(**args)
213
+ @create_time = args[:create_time] if args.key?(:create_time)
214
+ @event_id = args[:event_id] if args.key?(:event_id)
215
+ @extra_info = args[:extra_info] if args.key?(:extra_info)
216
+ @job_event = args[:job_event] if args.key?(:job_event)
217
+ @parent_event_id = args[:parent_event_id] if args.key?(:parent_event_id)
218
+ @request_id = args[:request_id] if args.key?(:request_id)
219
+ end
220
+ end
221
+
222
+ # Input only.
223
+ # Parameters needed for commute search.
224
+ class CommuteFilter
225
+ include Google::Apis::Core::Hashable
226
+
227
+ # Optional.
228
+ # If `true`, jobs without street level addresses may also be returned.
229
+ # For city level addresses, the city center is used. For state and coarser
230
+ # level addresses, text matching is used.
231
+ # If this field is set to `false` or is not specified, only jobs that include
232
+ # street level addresses will be returned by commute search.
233
+ # Corresponds to the JSON property `allowImpreciseAddresses`
234
+ # @return [Boolean]
235
+ attr_accessor :allow_imprecise_addresses
236
+ alias_method :allow_imprecise_addresses?, :allow_imprecise_addresses
237
+
238
+ # Required.
239
+ # The method of transportation for which to calculate the commute time.
240
+ # Corresponds to the JSON property `commuteMethod`
241
+ # @return [String]
242
+ attr_accessor :commute_method
243
+
244
+ # Represents a time of day. The date and time zone are either not significant
245
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
246
+ # types are google.type.Date and `google.protobuf.Timestamp`.
247
+ # Corresponds to the JSON property `departureTime`
248
+ # @return [Google::Apis::JobsV3p1beta1::TimeOfDay]
249
+ attr_accessor :departure_time
250
+
251
+ # Optional.
252
+ # Specifies the traffic density to use when caculating commute time.
253
+ # Corresponds to the JSON property `roadTraffic`
254
+ # @return [String]
255
+ attr_accessor :road_traffic
256
+
257
+ # An object representing a latitude/longitude pair. This is expressed as a pair
258
+ # of doubles representing degrees latitude and degrees longitude. Unless
259
+ # specified otherwise, this must conform to the
260
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
261
+ # standard</a>. Values must be within normalized ranges.
262
+ # Corresponds to the JSON property `startCoordinates`
263
+ # @return [Google::Apis::JobsV3p1beta1::LatLng]
264
+ attr_accessor :start_coordinates
265
+
266
+ # Required.
267
+ # The maximum travel time in seconds. The maximum allowed value is `3600s`
268
+ # (one hour). Format is `123s`.
269
+ # Corresponds to the JSON property `travelDuration`
270
+ # @return [String]
271
+ attr_accessor :travel_duration
272
+
273
+ def initialize(**args)
274
+ update!(**args)
275
+ end
276
+
277
+ # Update properties of this object
278
+ def update!(**args)
279
+ @allow_imprecise_addresses = args[:allow_imprecise_addresses] if args.key?(:allow_imprecise_addresses)
280
+ @commute_method = args[:commute_method] if args.key?(:commute_method)
281
+ @departure_time = args[:departure_time] if args.key?(:departure_time)
282
+ @road_traffic = args[:road_traffic] if args.key?(:road_traffic)
283
+ @start_coordinates = args[:start_coordinates] if args.key?(:start_coordinates)
284
+ @travel_duration = args[:travel_duration] if args.key?(:travel_duration)
285
+ end
286
+ end
287
+
288
+ # Output only.
289
+ # Commute details related to this job.
290
+ class CommuteInfo
291
+ include Google::Apis::Core::Hashable
292
+
293
+ # Output only.
294
+ # A resource that represents a location with full geographic information.
295
+ # Corresponds to the JSON property `jobLocation`
296
+ # @return [Google::Apis::JobsV3p1beta1::Location]
297
+ attr_accessor :job_location
298
+
299
+ # The number of seconds required to travel to the job location from the
300
+ # query location. A duration of 0 seconds indicates that the job is not
301
+ # reachable within the requested duration, but was returned as part of an
302
+ # expanded query.
303
+ # Corresponds to the JSON property `travelDuration`
304
+ # @return [String]
305
+ attr_accessor :travel_duration
306
+
307
+ def initialize(**args)
308
+ update!(**args)
309
+ end
310
+
311
+ # Update properties of this object
312
+ def update!(**args)
313
+ @job_location = args[:job_location] if args.key?(:job_location)
314
+ @travel_duration = args[:travel_duration] if args.key?(:travel_duration)
315
+ end
316
+ end
317
+
318
+ # A Company resource represents a company in the service. A company is the
319
+ # entity that owns job postings, that is, the hiring entity responsible for
320
+ # employing applicants for the job position.
321
+ class Company
322
+ include Google::Apis::Core::Hashable
323
+
324
+ # Optional.
325
+ # The URI to employer's career site or careers page on the employer's web
326
+ # site, for example, "https://careers.google.com".
327
+ # Corresponds to the JSON property `careerSiteUri`
328
+ # @return [String]
329
+ attr_accessor :career_site_uri
330
+
331
+ # Derived details about the company.
332
+ # Corresponds to the JSON property `derivedInfo`
333
+ # @return [Google::Apis::JobsV3p1beta1::CompanyDerivedInfo]
334
+ attr_accessor :derived_info
335
+
336
+ # Required.
337
+ # The display name of the company, for example, "Google, LLC".
338
+ # Corresponds to the JSON property `displayName`
339
+ # @return [String]
340
+ attr_accessor :display_name
341
+
342
+ # Optional.
343
+ # Equal Employment Opportunity legal disclaimer text to be
344
+ # associated with all jobs, and typically to be displayed in all
345
+ # roles.
346
+ # The maximum number of allowed characters is 500.
347
+ # Corresponds to the JSON property `eeoText`
348
+ # @return [String]
349
+ attr_accessor :eeo_text
350
+
351
+ # Required.
352
+ # Client side company identifier, used to uniquely identify the
353
+ # company.
354
+ # The maximum number of allowed characters is 255.
355
+ # Corresponds to the JSON property `externalId`
356
+ # @return [String]
357
+ attr_accessor :external_id
358
+
359
+ # Optional.
360
+ # The street address of the company's main headquarters, which may be
361
+ # different from the job location. The service attempts
362
+ # to geolocate the provided address, and populates a more specific
363
+ # location wherever possible in DerivedInfo.headquarters_location.
364
+ # Corresponds to the JSON property `headquartersAddress`
365
+ # @return [String]
366
+ attr_accessor :headquarters_address
367
+
368
+ # Optional.
369
+ # Set to true if it is the hiring agency that post jobs for other
370
+ # employers.
371
+ # Defaults to false if not provided.
372
+ # Corresponds to the JSON property `hiringAgency`
373
+ # @return [Boolean]
374
+ attr_accessor :hiring_agency
375
+ alias_method :hiring_agency?, :hiring_agency
376
+
377
+ # Optional.
378
+ # A URI that hosts the employer's company logo.
379
+ # Corresponds to the JSON property `imageUri`
380
+ # @return [String]
381
+ attr_accessor :image_uri
382
+
383
+ # Optional.
384
+ # A list of keys of filterable Job.custom_attributes, whose
385
+ # corresponding `string_values` are used in keyword search. Jobs with
386
+ # `string_values` under these specified field keys are returned if any
387
+ # of the values matches the search keyword. Custom field values with
388
+ # parenthesis, brackets and special symbols won't be properly searchable,
389
+ # and those keyword queries need to be surrounded by quotes.
390
+ # Corresponds to the JSON property `keywordSearchableJobCustomAttributes`
391
+ # @return [Array<String>]
392
+ attr_accessor :keyword_searchable_job_custom_attributes
393
+
394
+ # Required during company update.
395
+ # The resource name for a company. This is generated by the service when a
396
+ # company is created.
397
+ # The format is "projects/`project_id`/companies/`company_id`", for example,
398
+ # "projects/api-test-project/companies/foo".
399
+ # Corresponds to the JSON property `name`
400
+ # @return [String]
401
+ attr_accessor :name
402
+
403
+ # Optional.
404
+ # The employer's company size.
405
+ # Corresponds to the JSON property `size`
406
+ # @return [String]
407
+ attr_accessor :size
408
+
409
+ # Output only. Indicates whether a company is flagged to be suspended from
410
+ # public availability by the service when job content appears suspicious,
411
+ # abusive, or spammy.
412
+ # Corresponds to the JSON property `suspended`
413
+ # @return [Boolean]
414
+ attr_accessor :suspended
415
+ alias_method :suspended?, :suspended
416
+
417
+ # Optional.
418
+ # The URI representing the company's primary web site or home page,
419
+ # for example, "https://www.google.com".
420
+ # The maximum number of allowed characters is 255.
421
+ # Corresponds to the JSON property `websiteUri`
422
+ # @return [String]
423
+ attr_accessor :website_uri
424
+
425
+ def initialize(**args)
426
+ update!(**args)
427
+ end
428
+
429
+ # Update properties of this object
430
+ def update!(**args)
431
+ @career_site_uri = args[:career_site_uri] if args.key?(:career_site_uri)
432
+ @derived_info = args[:derived_info] if args.key?(:derived_info)
433
+ @display_name = args[:display_name] if args.key?(:display_name)
434
+ @eeo_text = args[:eeo_text] if args.key?(:eeo_text)
435
+ @external_id = args[:external_id] if args.key?(:external_id)
436
+ @headquarters_address = args[:headquarters_address] if args.key?(:headquarters_address)
437
+ @hiring_agency = args[:hiring_agency] if args.key?(:hiring_agency)
438
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
439
+ @keyword_searchable_job_custom_attributes = args[:keyword_searchable_job_custom_attributes] if args.key?(:keyword_searchable_job_custom_attributes)
440
+ @name = args[:name] if args.key?(:name)
441
+ @size = args[:size] if args.key?(:size)
442
+ @suspended = args[:suspended] if args.key?(:suspended)
443
+ @website_uri = args[:website_uri] if args.key?(:website_uri)
444
+ end
445
+ end
446
+
447
+ # Derived details about the company.
448
+ class CompanyDerivedInfo
449
+ include Google::Apis::Core::Hashable
450
+
451
+ # Output only.
452
+ # A resource that represents a location with full geographic information.
453
+ # Corresponds to the JSON property `headquartersLocation`
454
+ # @return [Google::Apis::JobsV3p1beta1::Location]
455
+ attr_accessor :headquarters_location
456
+
457
+ def initialize(**args)
458
+ update!(**args)
459
+ end
460
+
461
+ # Update properties of this object
462
+ def update!(**args)
463
+ @headquarters_location = args[:headquarters_location] if args.key?(:headquarters_location)
464
+ end
465
+ end
466
+
467
+ # A compensation entry that represents one component of compensation, such
468
+ # as base pay, bonus, or other compensation type.
469
+ # Annualization: One compensation entry can be annualized if
470
+ # - it contains valid amount or range.
471
+ # - and its expected_units_per_year is set or can be derived.
472
+ # Its annualized range is determined as (amount or range) times
473
+ # expected_units_per_year.
474
+ class CompensationEntry
475
+ include Google::Apis::Core::Hashable
476
+
477
+ # Represents an amount of money with its currency type.
478
+ # Corresponds to the JSON property `amount`
479
+ # @return [Google::Apis::JobsV3p1beta1::Money]
480
+ attr_accessor :amount
481
+
482
+ # Optional.
483
+ # Compensation description. For example, could
484
+ # indicate equity terms or provide additional context to an estimated
485
+ # bonus.
486
+ # Corresponds to the JSON property `description`
487
+ # @return [String]
488
+ attr_accessor :description
489
+
490
+ # Optional.
491
+ # Expected number of units paid each year. If not specified, when
492
+ # Job.employment_types is FULLTIME, a default value is inferred
493
+ # based on unit. Default values:
494
+ # - HOURLY: 2080
495
+ # - DAILY: 260
496
+ # - WEEKLY: 52
497
+ # - MONTHLY: 12
498
+ # - ANNUAL: 1
499
+ # Corresponds to the JSON property `expectedUnitsPerYear`
500
+ # @return [Float]
501
+ attr_accessor :expected_units_per_year
502
+
503
+ # Compensation range.
504
+ # Corresponds to the JSON property `range`
505
+ # @return [Google::Apis::JobsV3p1beta1::CompensationRange]
506
+ attr_accessor :range
507
+
508
+ # Optional.
509
+ # Compensation type.
510
+ # Default is CompensationUnit.OTHER_COMPENSATION_TYPE.
511
+ # Corresponds to the JSON property `type`
512
+ # @return [String]
513
+ attr_accessor :type
514
+
515
+ # Optional.
516
+ # Frequency of the specified amount.
517
+ # Default is CompensationUnit.OTHER_COMPENSATION_UNIT.
518
+ # Corresponds to the JSON property `unit`
519
+ # @return [String]
520
+ attr_accessor :unit
521
+
522
+ def initialize(**args)
523
+ update!(**args)
524
+ end
525
+
526
+ # Update properties of this object
527
+ def update!(**args)
528
+ @amount = args[:amount] if args.key?(:amount)
529
+ @description = args[:description] if args.key?(:description)
530
+ @expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year)
531
+ @range = args[:range] if args.key?(:range)
532
+ @type = args[:type] if args.key?(:type)
533
+ @unit = args[:unit] if args.key?(:unit)
534
+ end
535
+ end
536
+
537
+ # Input only.
538
+ # Filter on job compensation type and amount.
539
+ class CompensationFilter
540
+ include Google::Apis::Core::Hashable
541
+
542
+ # Optional.
543
+ # Whether to include jobs whose compensation range is unspecified.
544
+ # Corresponds to the JSON property `includeJobsWithUnspecifiedCompensationRange`
545
+ # @return [Boolean]
546
+ attr_accessor :include_jobs_with_unspecified_compensation_range
547
+ alias_method :include_jobs_with_unspecified_compensation_range?, :include_jobs_with_unspecified_compensation_range
548
+
549
+ # Compensation range.
550
+ # Corresponds to the JSON property `range`
551
+ # @return [Google::Apis::JobsV3p1beta1::CompensationRange]
552
+ attr_accessor :range
553
+
554
+ # Required.
555
+ # Type of filter.
556
+ # Corresponds to the JSON property `type`
557
+ # @return [String]
558
+ attr_accessor :type
559
+
560
+ # Required.
561
+ # Specify desired `base compensation entry's`
562
+ # CompensationInfo.CompensationUnit.
563
+ # Corresponds to the JSON property `units`
564
+ # @return [Array<String>]
565
+ attr_accessor :units
566
+
567
+ def initialize(**args)
568
+ update!(**args)
569
+ end
570
+
571
+ # Update properties of this object
572
+ def update!(**args)
573
+ @include_jobs_with_unspecified_compensation_range = args[:include_jobs_with_unspecified_compensation_range] if args.key?(:include_jobs_with_unspecified_compensation_range)
574
+ @range = args[:range] if args.key?(:range)
575
+ @type = args[:type] if args.key?(:type)
576
+ @units = args[:units] if args.key?(:units)
577
+ end
578
+ end
579
+
580
+ # Input only.
581
+ # Compensation based histogram request.
582
+ class CompensationHistogramRequest
583
+ include Google::Apis::Core::Hashable
584
+
585
+ # Input only.
586
+ # Use this field to specify bucketing option for the histogram search response.
587
+ # Corresponds to the JSON property `bucketingOption`
588
+ # @return [Google::Apis::JobsV3p1beta1::NumericBucketingOption]
589
+ attr_accessor :bucketing_option
590
+
591
+ # Required.
592
+ # Type of the request, representing which field the histogramming should be
593
+ # performed over. A single request can only specify one histogram of each
594
+ # `CompensationHistogramRequestType`.
595
+ # Corresponds to the JSON property `type`
596
+ # @return [String]
597
+ attr_accessor :type
598
+
599
+ def initialize(**args)
600
+ update!(**args)
601
+ end
602
+
603
+ # Update properties of this object
604
+ def update!(**args)
605
+ @bucketing_option = args[:bucketing_option] if args.key?(:bucketing_option)
606
+ @type = args[:type] if args.key?(:type)
607
+ end
608
+ end
609
+
610
+ # Output only.
611
+ # Compensation based histogram result.
612
+ class CompensationHistogramResult
613
+ include Google::Apis::Core::Hashable
614
+
615
+ # Output only.
616
+ # Custom numeric bucketing result.
617
+ # Corresponds to the JSON property `result`
618
+ # @return [Google::Apis::JobsV3p1beta1::NumericBucketingResult]
619
+ attr_accessor :result
620
+
621
+ # Type of the request, corresponding to
622
+ # CompensationHistogramRequest.type.
623
+ # Corresponds to the JSON property `type`
624
+ # @return [String]
625
+ attr_accessor :type
626
+
627
+ def initialize(**args)
628
+ update!(**args)
629
+ end
630
+
631
+ # Update properties of this object
632
+ def update!(**args)
633
+ @result = args[:result] if args.key?(:result)
634
+ @type = args[:type] if args.key?(:type)
635
+ end
636
+ end
637
+
638
+ # Job compensation details.
639
+ class CompensationInfo
640
+ include Google::Apis::Core::Hashable
641
+
642
+ # Compensation range.
643
+ # Corresponds to the JSON property `annualizedBaseCompensationRange`
644
+ # @return [Google::Apis::JobsV3p1beta1::CompensationRange]
645
+ attr_accessor :annualized_base_compensation_range
646
+
647
+ # Compensation range.
648
+ # Corresponds to the JSON property `annualizedTotalCompensationRange`
649
+ # @return [Google::Apis::JobsV3p1beta1::CompensationRange]
650
+ attr_accessor :annualized_total_compensation_range
651
+
652
+ # Optional.
653
+ # Job compensation information.
654
+ # At most one entry can be of type
655
+ # CompensationInfo.CompensationType.BASE, which is
656
+ # referred as ** base compensation entry ** for the job.
657
+ # Corresponds to the JSON property `entries`
658
+ # @return [Array<Google::Apis::JobsV3p1beta1::CompensationEntry>]
659
+ attr_accessor :entries
660
+
661
+ def initialize(**args)
662
+ update!(**args)
663
+ end
664
+
665
+ # Update properties of this object
666
+ def update!(**args)
667
+ @annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range)
668
+ @annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range)
669
+ @entries = args[:entries] if args.key?(:entries)
670
+ end
671
+ end
672
+
673
+ # Compensation range.
674
+ class CompensationRange
675
+ include Google::Apis::Core::Hashable
676
+
677
+ # Represents an amount of money with its currency type.
678
+ # Corresponds to the JSON property `maxCompensation`
679
+ # @return [Google::Apis::JobsV3p1beta1::Money]
680
+ attr_accessor :max_compensation
681
+
682
+ # Represents an amount of money with its currency type.
683
+ # Corresponds to the JSON property `minCompensation`
684
+ # @return [Google::Apis::JobsV3p1beta1::Money]
685
+ attr_accessor :min_compensation
686
+
687
+ def initialize(**args)
688
+ update!(**args)
689
+ end
690
+
691
+ # Update properties of this object
692
+ def update!(**args)
693
+ @max_compensation = args[:max_compensation] if args.key?(:max_compensation)
694
+ @min_compensation = args[:min_compensation] if args.key?(:min_compensation)
695
+ end
696
+ end
697
+
698
+ # Output only.
699
+ # Response of auto-complete query.
700
+ class CompleteQueryResponse
701
+ include Google::Apis::Core::Hashable
702
+
703
+ # Results of the matching job/company candidates.
704
+ # Corresponds to the JSON property `completionResults`
705
+ # @return [Array<Google::Apis::JobsV3p1beta1::CompletionResult>]
706
+ attr_accessor :completion_results
707
+
708
+ # Output only.
709
+ # Additional information returned to client, such as debugging information.
710
+ # Corresponds to the JSON property `metadata`
711
+ # @return [Google::Apis::JobsV3p1beta1::ResponseMetadata]
712
+ attr_accessor :metadata
713
+
714
+ def initialize(**args)
715
+ update!(**args)
716
+ end
717
+
718
+ # Update properties of this object
719
+ def update!(**args)
720
+ @completion_results = args[:completion_results] if args.key?(:completion_results)
721
+ @metadata = args[:metadata] if args.key?(:metadata)
722
+ end
723
+ end
724
+
725
+ # Output only.
726
+ # Resource that represents completion results.
727
+ class CompletionResult
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # The URI of the company image for CompletionType.COMPANY_NAME.
731
+ # Corresponds to the JSON property `imageUri`
732
+ # @return [String]
733
+ attr_accessor :image_uri
734
+
735
+ # The suggestion for the query.
736
+ # Corresponds to the JSON property `suggestion`
737
+ # @return [String]
738
+ attr_accessor :suggestion
739
+
740
+ # The completion topic.
741
+ # Corresponds to the JSON property `type`
742
+ # @return [String]
743
+ attr_accessor :type
744
+
745
+ def initialize(**args)
746
+ update!(**args)
747
+ end
748
+
749
+ # Update properties of this object
750
+ def update!(**args)
751
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
752
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
753
+ @type = args[:type] if args.key?(:type)
754
+ end
755
+ end
756
+
757
+ # The report event request.
758
+ class CreateClientEventRequest
759
+ include Google::Apis::Core::Hashable
760
+
761
+ # An event issued when an end user interacts with the application that
762
+ # implements Cloud Talent Solution. Providing this information improves the
763
+ # quality of search and recommendation for the API clients, enabling the
764
+ # service to perform optimally. The number of events sent must be consistent
765
+ # with other calls, such as job searches, issued to the service by the client.
766
+ # Corresponds to the JSON property `clientEvent`
767
+ # @return [Google::Apis::JobsV3p1beta1::ClientEvent]
768
+ attr_accessor :client_event
769
+
770
+ def initialize(**args)
771
+ update!(**args)
772
+ end
773
+
774
+ # Update properties of this object
775
+ def update!(**args)
776
+ @client_event = args[:client_event] if args.key?(:client_event)
777
+ end
778
+ end
779
+
780
+ # Input only.
781
+ # The Request of the CreateCompany method.
782
+ class CreateCompanyRequest
783
+ include Google::Apis::Core::Hashable
784
+
785
+ # A Company resource represents a company in the service. A company is the
786
+ # entity that owns job postings, that is, the hiring entity responsible for
787
+ # employing applicants for the job position.
788
+ # Corresponds to the JSON property `company`
789
+ # @return [Google::Apis::JobsV3p1beta1::Company]
790
+ attr_accessor :company
791
+
792
+ def initialize(**args)
793
+ update!(**args)
794
+ end
795
+
796
+ # Update properties of this object
797
+ def update!(**args)
798
+ @company = args[:company] if args.key?(:company)
799
+ end
800
+ end
801
+
802
+ # Input only.
803
+ # Create job request.
804
+ class CreateJobRequest
805
+ include Google::Apis::Core::Hashable
806
+
807
+ # A Job resource represents a job posting (also referred to as a "job listing"
808
+ # or "job requisition"). A job belongs to a Company, which is the hiring
809
+ # entity responsible for the job.
810
+ # Corresponds to the JSON property `job`
811
+ # @return [Google::Apis::JobsV3p1beta1::Job]
812
+ attr_accessor :job
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @job = args[:job] if args.key?(:job)
821
+ end
822
+ end
823
+
824
+ # Custom attribute values that are either filterable or non-filterable.
825
+ class CustomAttribute
826
+ include Google::Apis::Core::Hashable
827
+
828
+ # Optional.
829
+ # If the `filterable` flag is true, custom field values are searchable.
830
+ # If false, values are not searchable.
831
+ # Default is false.
832
+ # Corresponds to the JSON property `filterable`
833
+ # @return [Boolean]
834
+ attr_accessor :filterable
835
+ alias_method :filterable?, :filterable
836
+
837
+ # Optional but exactly one of string_values or long_values must
838
+ # be specified.
839
+ # This field is used to perform number range search.
840
+ # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
841
+ # Currently at most 1 long_values is supported.
842
+ # Corresponds to the JSON property `longValues`
843
+ # @return [Array<Fixnum>]
844
+ attr_accessor :long_values
845
+
846
+ # Optional but exactly one of string_values or long_values must
847
+ # be specified.
848
+ # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
849
+ # `CASE_INSENSITIVE_MATCH`) search.
850
+ # For filterable `string_value`s, a maximum total number of 200 values
851
+ # is allowed, with each `string_value` has a byte size of no more than
852
+ # 255B. For unfilterable `string_values`, the maximum total byte size of
853
+ # unfilterable `string_values` is 50KB.
854
+ # Empty string is not allowed.
855
+ # Corresponds to the JSON property `stringValues`
856
+ # @return [Array<String>]
857
+ attr_accessor :string_values
858
+
859
+ def initialize(**args)
860
+ update!(**args)
861
+ end
862
+
863
+ # Update properties of this object
864
+ def update!(**args)
865
+ @filterable = args[:filterable] if args.key?(:filterable)
866
+ @long_values = args[:long_values] if args.key?(:long_values)
867
+ @string_values = args[:string_values] if args.key?(:string_values)
868
+ end
869
+ end
870
+
871
+ # Custom attributes histogram request. An error is thrown if neither
872
+ # string_value_histogram or long_value_histogram_bucketing_option has
873
+ # been defined.
874
+ class CustomAttributeHistogramRequest
875
+ include Google::Apis::Core::Hashable
876
+
877
+ # Required.
878
+ # Specifies the custom field key to perform a histogram on. If specified
879
+ # without `long_value_histogram_bucketing_option`, histogram on string values
880
+ # of the given `key` is triggered, otherwise histogram is performed on long
881
+ # values.
882
+ # Corresponds to the JSON property `key`
883
+ # @return [String]
884
+ attr_accessor :key
885
+
886
+ # Input only.
887
+ # Use this field to specify bucketing option for the histogram search response.
888
+ # Corresponds to the JSON property `longValueHistogramBucketingOption`
889
+ # @return [Google::Apis::JobsV3p1beta1::NumericBucketingOption]
890
+ attr_accessor :long_value_histogram_bucketing_option
891
+
892
+ # Optional. If set to true, the response includes the histogram value for
893
+ # each key as a string.
894
+ # Corresponds to the JSON property `stringValueHistogram`
895
+ # @return [Boolean]
896
+ attr_accessor :string_value_histogram
897
+ alias_method :string_value_histogram?, :string_value_histogram
898
+
899
+ def initialize(**args)
900
+ update!(**args)
901
+ end
902
+
903
+ # Update properties of this object
904
+ def update!(**args)
905
+ @key = args[:key] if args.key?(:key)
906
+ @long_value_histogram_bucketing_option = args[:long_value_histogram_bucketing_option] if args.key?(:long_value_histogram_bucketing_option)
907
+ @string_value_histogram = args[:string_value_histogram] if args.key?(:string_value_histogram)
908
+ end
909
+ end
910
+
911
+ # Output only.
912
+ # Custom attribute histogram result.
913
+ class CustomAttributeHistogramResult
914
+ include Google::Apis::Core::Hashable
915
+
916
+ # Stores the key of custom attribute the histogram is performed on.
917
+ # Corresponds to the JSON property `key`
918
+ # @return [String]
919
+ attr_accessor :key
920
+
921
+ # Output only.
922
+ # Custom numeric bucketing result.
923
+ # Corresponds to the JSON property `longValueHistogramResult`
924
+ # @return [Google::Apis::JobsV3p1beta1::NumericBucketingResult]
925
+ attr_accessor :long_value_histogram_result
926
+
927
+ # Stores a map from the values of string custom field associated
928
+ # with `key` to the number of jobs with that value in this histogram result.
929
+ # Corresponds to the JSON property `stringValueHistogramResult`
930
+ # @return [Hash<String,Fixnum>]
931
+ attr_accessor :string_value_histogram_result
932
+
933
+ def initialize(**args)
934
+ update!(**args)
935
+ end
936
+
937
+ # Update properties of this object
938
+ def update!(**args)
939
+ @key = args[:key] if args.key?(:key)
940
+ @long_value_histogram_result = args[:long_value_histogram_result] if args.key?(:long_value_histogram_result)
941
+ @string_value_histogram_result = args[:string_value_histogram_result] if args.key?(:string_value_histogram_result)
942
+ end
943
+ end
944
+
945
+ # Input only.
946
+ # Custom ranking information for SearchJobsRequest.
947
+ class CustomRankingInfo
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # Required.
951
+ # Controls over how important the score of
952
+ # CustomRankingInfo.ranking_expression gets applied to job's final
953
+ # ranking position.
954
+ # An error will be thrown if not specified.
955
+ # Corresponds to the JSON property `importanceLevel`
956
+ # @return [String]
957
+ attr_accessor :importance_level
958
+
959
+ # Required.
960
+ # Controls over how job documents get ranked on top of existing relevance
961
+ # score (determined by API algorithm). The product of ranking expression
962
+ # and relevance score is used to determine job's final ranking position.
963
+ # The syntax for this expression is a subset of Google SQL syntax.
964
+ # Supported operators are: +, -, *, /, where the left and right side of
965
+ # the operator is either a numeric Job.custom_attributes key,
966
+ # integer/double value or an expression that can be evaluated to a number.
967
+ # Parenthesis are supported to adjust calculation precedence. The
968
+ # expression must be < 100 characters in length.
969
+ # Sample ranking expression
970
+ # (year + 25) * 0.25 - (freshness / 0.5)
971
+ # Corresponds to the JSON property `rankingExpression`
972
+ # @return [String]
973
+ attr_accessor :ranking_expression
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @importance_level = args[:importance_level] if args.key?(:importance_level)
982
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
983
+ end
984
+ end
985
+
986
+ # Device information collected from the job seeker, candidate, or
987
+ # other entity conducting the job search. Providing this information improves
988
+ # the quality of the search results across devices.
989
+ class DeviceInfo
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # Optional.
993
+ # Type of the device.
994
+ # Corresponds to the JSON property `deviceType`
995
+ # @return [String]
996
+ attr_accessor :device_type
997
+
998
+ # Optional.
999
+ # A device-specific ID. The ID must be a unique identifier that
1000
+ # distinguishes the device from other devices.
1001
+ # Corresponds to the JSON property `id`
1002
+ # @return [String]
1003
+ attr_accessor :id
1004
+
1005
+ def initialize(**args)
1006
+ update!(**args)
1007
+ end
1008
+
1009
+ # Update properties of this object
1010
+ def update!(**args)
1011
+ @device_type = args[:device_type] if args.key?(:device_type)
1012
+ @id = args[:id] if args.key?(:id)
1013
+ end
1014
+ end
1015
+
1016
+ # A generic empty message that you can re-use to avoid defining duplicated
1017
+ # empty messages in your APIs. A typical example is to use it as the request
1018
+ # or the response type of an API method. For instance:
1019
+ # service Foo `
1020
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1021
+ # `
1022
+ # The JSON representation for `Empty` is empty JSON object ````.
1023
+ class Empty
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ def initialize(**args)
1027
+ update!(**args)
1028
+ end
1029
+
1030
+ # Update properties of this object
1031
+ def update!(**args)
1032
+ end
1033
+ end
1034
+
1035
+ # Input only.
1036
+ # Histogram facets to be specified in SearchJobsRequest.
1037
+ class HistogramFacets
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # Optional.
1041
+ # Specifies compensation field-based histogram requests.
1042
+ # Duplicate values of CompensationHistogramRequest.type are not allowed.
1043
+ # Corresponds to the JSON property `compensationHistogramFacets`
1044
+ # @return [Array<Google::Apis::JobsV3p1beta1::CompensationHistogramRequest>]
1045
+ attr_accessor :compensation_histogram_facets
1046
+
1047
+ # Optional.
1048
+ # Specifies the custom attributes histogram requests.
1049
+ # Duplicate values of CustomAttributeHistogramRequest.key are not
1050
+ # allowed.
1051
+ # Corresponds to the JSON property `customAttributeHistogramFacets`
1052
+ # @return [Array<Google::Apis::JobsV3p1beta1::CustomAttributeHistogramRequest>]
1053
+ attr_accessor :custom_attribute_histogram_facets
1054
+
1055
+ # Optional.
1056
+ # Specifies the simple type of histogram facets, for example,
1057
+ # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
1058
+ # Corresponds to the JSON property `simpleHistogramFacets`
1059
+ # @return [Array<String>]
1060
+ attr_accessor :simple_histogram_facets
1061
+
1062
+ def initialize(**args)
1063
+ update!(**args)
1064
+ end
1065
+
1066
+ # Update properties of this object
1067
+ def update!(**args)
1068
+ @compensation_histogram_facets = args[:compensation_histogram_facets] if args.key?(:compensation_histogram_facets)
1069
+ @custom_attribute_histogram_facets = args[:custom_attribute_histogram_facets] if args.key?(:custom_attribute_histogram_facets)
1070
+ @simple_histogram_facets = args[:simple_histogram_facets] if args.key?(:simple_histogram_facets)
1071
+ end
1072
+ end
1073
+
1074
+ # Input Only.
1075
+ # The histogram request.
1076
+ class HistogramQuery
1077
+ include Google::Apis::Core::Hashable
1078
+
1079
+ # An expression specifies a histogram request against matching resources
1080
+ # (for example, jobs) for searches.
1081
+ # Expression syntax is a aggregation function call with histogram facets and
1082
+ # other options.
1083
+ # Available aggregation function calls are:
1084
+ # * `count(string_histogram_facet)`: Count the number of matching entity, for
1085
+ # each distinct attribute value.
1086
+ # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
1087
+ # matching entity within each bucket.
1088
+ # Data types:
1089
+ # * Histogram facet: facet names with format a-zA-Z+.
1090
+ # * String: string like "any string with backslash escape for quote(\")."
1091
+ # * Number: whole number and floating point number like 10, -1 and -0.01.
1092
+ # * List: list of elements with comma(,) separator surrounded by square
1093
+ # brackets. For example, [1, 2, 3] and ["one", "two", "three"].
1094
+ # Built-in constants:
1095
+ # * MIN (minimum number similar to java Double.MIN_VALUE)
1096
+ # * MAX (maximum number similar to java Double.MAX_VALUE)
1097
+ # Built-in functions:
1098
+ # * bucket(start, end[, label]): bucket built-in function creates a bucket
1099
+ # with range of start, end). Note that the end is exclusive. For example,
1100
+ # bucket(1, MAX, "positive number") or bucket(1, 10).
1101
+ # Job histogram facets:
1102
+ # * company_id: histogram by [Job.distributor_company_id.
1103
+ # * company_display_name: histogram by Job.company_display_name.
1104
+ # * employment_type: histogram by Job.employment_types. For example,
1105
+ # "FULL_TIME", "PART_TIME".
1106
+ # * company_size: histogram by CompanySize, for example, "SMALL",
1107
+ # "MEDIUM", "BIG".
1108
+ # * publish_time_in_month: histogram by the Job.publish_time in months.
1109
+ # Must specify list of numeric buckets in spec.
1110
+ # * publish_time_in_year: histogram by the Job.publish_time in years.
1111
+ # Must specify list of numeric buckets in spec.
1112
+ # * degree_type: histogram by the Job.degree_type. For example,
1113
+ # "Bachelors", "Masters".
1114
+ # * job_level: histogram by the Job.job_level. For example, "Entry
1115
+ # Level".
1116
+ # * country: histogram by the country code of jobs. For example, "US", "FR".
1117
+ # * admin1: histogram by the admin1 code of jobs, which is a global
1118
+ # placeholder referring to the state, province, or the particular term a
1119
+ # country uses to define the geographic structure below the country level.
1120
+ # For example, "CA", "IL".
1121
+ # * city: histogram by a combination of the "city name, admin1 code". For
1122
+ # example, "Mountain View, CA", "New York, NY".
1123
+ # * admin1_country: histogram by a combination of the "admin1 code, country".
1124
+ # For example, "CA, US", "IL, US".
1125
+ # * city_coordinate: histogram by the city center's GPS coordinates (latitude
1126
+ # and longitude). For example, 37.4038522,-122.0987765. Since the coordinates
1127
+ # of a city center can change, customers may need to refresh them
1128
+ # periodically.
1129
+ # * locale: histogram by the Job.language_code. For example, "en-US",
1130
+ # "fr-FR".
1131
+ # * language: histogram by the language subtag of the Job.language_code.
1132
+ # For example, "en", "fr".
1133
+ # * category: histogram by the JobCategory. For example,
1134
+ # "COMPUTER_AND_IT", "HEALTHCARE".
1135
+ # * base_compensation_unit: histogram by the CompensationUnit of base
1136
+ # salary. For example, "WEEKLY", "MONTHLY".
1137
+ # * base_compensation: histogram by the base salary. Must specify list of
1138
+ # numeric buckets to group results by.
1139
+ # * annualized_base_compensation: histogram by the base annualized salary.
1140
+ # Must specify list of numeric buckets to group results by.
1141
+ # * annualized_total_compensation: histogram by the total annualized salary.
1142
+ # Must specify list of numeric buckets to group results by.
1143
+ # * string_custom_attribute: histogram by string Job.custom_attributes.
1144
+ # Values can be accessed via square bracket notations like
1145
+ # string_custom_attribute["key1"].
1146
+ # * numeric_custom_attribute: histogram by numeric Job.custom_attributes.
1147
+ # Values can be accessed via square bracket notations like
1148
+ # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
1149
+ # group results by.
1150
+ # Example expressions:
1151
+ # * count(admin1)
1152
+ # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
1153
+ # bucket(100000, MAX)])
1154
+ # * count(string_custom_attribute["some-string-custom-attribute"])
1155
+ # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
1156
+ # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
1157
+ # Corresponds to the JSON property `histogramQuery`
1158
+ # @return [String]
1159
+ attr_accessor :histogram_query
1160
+
1161
+ def initialize(**args)
1162
+ update!(**args)
1163
+ end
1164
+
1165
+ # Update properties of this object
1166
+ def update!(**args)
1167
+ @histogram_query = args[:histogram_query] if args.key?(:histogram_query)
1168
+ end
1169
+ end
1170
+
1171
+ # Output only.
1172
+ # Histogram result that matches HistogramSpec specified in searches.
1173
+ class HistogramQueryResult
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ # A map from the values of the facet associated with distinct values to the
1177
+ # number of matching entries with corresponding value.
1178
+ # The key format is:
1179
+ # * (for string histogram) string values stored in the field.
1180
+ # * (for named numeric bucket) name specified in `bucket()` function, like
1181
+ # for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
1182
+ # * (for anonymous numeric bucket) range formatted as `<low>-<high>`, for
1183
+ # example, `0-1000`, `MIN-0`, and `0-MAX`.
1184
+ # Corresponds to the JSON property `histogram`
1185
+ # @return [Hash<String,Fixnum>]
1186
+ attr_accessor :histogram
1187
+
1188
+ # Requested histogram expression.
1189
+ # Corresponds to the JSON property `histogramQuery`
1190
+ # @return [String]
1191
+ attr_accessor :histogram_query
1192
+
1193
+ def initialize(**args)
1194
+ update!(**args)
1195
+ end
1196
+
1197
+ # Update properties of this object
1198
+ def update!(**args)
1199
+ @histogram = args[:histogram] if args.key?(:histogram)
1200
+ @histogram_query = args[:histogram_query] if args.key?(:histogram_query)
1201
+ end
1202
+ end
1203
+
1204
+ # Output only.
1205
+ # Result of a histogram call. The response contains the histogram map for the
1206
+ # search type specified by HistogramResult.field.
1207
+ # The response is a map of each filter value to the corresponding count of
1208
+ # jobs for that filter.
1209
+ class HistogramResult
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # The Histogram search filters.
1213
+ # Corresponds to the JSON property `searchType`
1214
+ # @return [String]
1215
+ attr_accessor :search_type
1216
+
1217
+ # A map from the values of field to the number of jobs with that value
1218
+ # in this search result.
1219
+ # Key: search type (filter names, such as the companyName).
1220
+ # Values: the count of jobs that match the filter for this search.
1221
+ # Corresponds to the JSON property `values`
1222
+ # @return [Hash<String,Fixnum>]
1223
+ attr_accessor :values
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @search_type = args[:search_type] if args.key?(:search_type)
1232
+ @values = args[:values] if args.key?(:values)
1233
+ end
1234
+ end
1235
+
1236
+ # Output only.
1237
+ # Histogram results that match HistogramFacets specified in
1238
+ # SearchJobsRequest.
1239
+ class HistogramResults
1240
+ include Google::Apis::Core::Hashable
1241
+
1242
+ # Specifies compensation field-based histogram results that match
1243
+ # HistogramFacets.compensation_histogram_requests.
1244
+ # Corresponds to the JSON property `compensationHistogramResults`
1245
+ # @return [Array<Google::Apis::JobsV3p1beta1::CompensationHistogramResult>]
1246
+ attr_accessor :compensation_histogram_results
1247
+
1248
+ # Specifies histogram results for custom attributes that match
1249
+ # HistogramFacets.custom_attribute_histogram_facets.
1250
+ # Corresponds to the JSON property `customAttributeHistogramResults`
1251
+ # @return [Array<Google::Apis::JobsV3p1beta1::CustomAttributeHistogramResult>]
1252
+ attr_accessor :custom_attribute_histogram_results
1253
+
1254
+ # Specifies histogram results that matches
1255
+ # HistogramFacets.simple_histogram_facets.
1256
+ # Corresponds to the JSON property `simpleHistogramResults`
1257
+ # @return [Array<Google::Apis::JobsV3p1beta1::HistogramResult>]
1258
+ attr_accessor :simple_histogram_results
1259
+
1260
+ def initialize(**args)
1261
+ update!(**args)
1262
+ end
1263
+
1264
+ # Update properties of this object
1265
+ def update!(**args)
1266
+ @compensation_histogram_results = args[:compensation_histogram_results] if args.key?(:compensation_histogram_results)
1267
+ @custom_attribute_histogram_results = args[:custom_attribute_histogram_results] if args.key?(:custom_attribute_histogram_results)
1268
+ @simple_histogram_results = args[:simple_histogram_results] if args.key?(:simple_histogram_results)
1269
+ end
1270
+ end
1271
+
1272
+ # A Job resource represents a job posting (also referred to as a "job listing"
1273
+ # or "job requisition"). A job belongs to a Company, which is the hiring
1274
+ # entity responsible for the job.
1275
+ class Job
1276
+ include Google::Apis::Core::Hashable
1277
+
1278
+ # Optional but strongly recommended for the best service experience.
1279
+ # Location(s) where the employer is looking to hire for this job posting.
1280
+ # Specifying the full street address(es) of the hiring location enables
1281
+ # better API results, especially job searches by commute time.
1282
+ # At most 50 locations are allowed for best search performance. If a job has
1283
+ # more locations, it is suggested to split it into multiple jobs with unique
1284
+ # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
1285
+ # multiple jobs with the same company_name, language_code and
1286
+ # requisition_id are not allowed. If the original requisition_id must
1287
+ # be preserved, a custom field should be used for storage. It is also
1288
+ # suggested to group the locations that close to each other in the same job
1289
+ # for better search experience.
1290
+ # The maximum number of allowed characters is 500.
1291
+ # Corresponds to the JSON property `addresses`
1292
+ # @return [Array<String>]
1293
+ attr_accessor :addresses
1294
+
1295
+ # Application related details of a job posting.
1296
+ # Corresponds to the JSON property `applicationInfo`
1297
+ # @return [Google::Apis::JobsV3p1beta1::ApplicationInfo]
1298
+ attr_accessor :application_info
1299
+
1300
+ # Output only. Display name of the company listing the job.
1301
+ # Corresponds to the JSON property `companyDisplayName`
1302
+ # @return [String]
1303
+ attr_accessor :company_display_name
1304
+
1305
+ # Required.
1306
+ # The resource name of the company listing the job, such as
1307
+ # "projects/api-test-project/companies/foo".
1308
+ # Corresponds to the JSON property `companyName`
1309
+ # @return [String]
1310
+ attr_accessor :company_name
1311
+
1312
+ # Job compensation details.
1313
+ # Corresponds to the JSON property `compensationInfo`
1314
+ # @return [Google::Apis::JobsV3p1beta1::CompensationInfo]
1315
+ attr_accessor :compensation_info
1316
+
1317
+ # Optional.
1318
+ # A map of fields to hold both filterable and non-filterable custom job
1319
+ # attributes that are not covered by the provided structured fields.
1320
+ # The keys of the map are strings up to 64 bytes and must match the
1321
+ # pattern: a-zA-Z*. For example, key0LikeThis or
1322
+ # KEY_1_LIKE_THIS.
1323
+ # At most 100 filterable and at most 100 unfilterable keys are supported.
1324
+ # For filterable `string_values`, across all keys at most 200 values are
1325
+ # allowed, with each string no more than 255 characters. For unfilterable
1326
+ # `string_values`, the maximum total size of `string_values` across all keys
1327
+ # is 50KB.
1328
+ # Corresponds to the JSON property `customAttributes`
1329
+ # @return [Hash<String,Google::Apis::JobsV3p1beta1::CustomAttribute>]
1330
+ attr_accessor :custom_attributes
1331
+
1332
+ # Optional.
1333
+ # The desired education degrees for the job, such as Bachelors, Masters.
1334
+ # Corresponds to the JSON property `degreeTypes`
1335
+ # @return [Array<String>]
1336
+ attr_accessor :degree_types
1337
+
1338
+ # Optional.
1339
+ # The department or functional area within the company with the open
1340
+ # position.
1341
+ # The maximum number of allowed characters is 255.
1342
+ # Corresponds to the JSON property `department`
1343
+ # @return [String]
1344
+ attr_accessor :department
1345
+
1346
+ # Output only.
1347
+ # Derived details about the job posting.
1348
+ # Corresponds to the JSON property `derivedInfo`
1349
+ # @return [Google::Apis::JobsV3p1beta1::JobDerivedInfo]
1350
+ attr_accessor :derived_info
1351
+
1352
+ # Required.
1353
+ # The description of the job, which typically includes a multi-paragraph
1354
+ # description of the company and related information. Separate fields are
1355
+ # provided on the job object for responsibilities,
1356
+ # qualifications, and other job characteristics. Use of
1357
+ # these separate job fields is recommended.
1358
+ # This field accepts and sanitizes HTML input, and also accepts
1359
+ # bold, italic, ordered list, and unordered list markup tags.
1360
+ # The maximum number of allowed characters is 100,000.
1361
+ # Corresponds to the JSON property `description`
1362
+ # @return [String]
1363
+ attr_accessor :description
1364
+
1365
+ # Optional.
1366
+ # The employment type(s) of a job, for example,
1367
+ # full time or
1368
+ # part time.
1369
+ # Corresponds to the JSON property `employmentTypes`
1370
+ # @return [Array<String>]
1371
+ attr_accessor :employment_types
1372
+
1373
+ # Optional.
1374
+ # A description of bonus, commission, and other compensation
1375
+ # incentives associated with the job not including salary or pay.
1376
+ # The maximum number of allowed characters is 10,000.
1377
+ # Corresponds to the JSON property `incentives`
1378
+ # @return [String]
1379
+ attr_accessor :incentives
1380
+
1381
+ # Optional.
1382
+ # The benefits included with the job.
1383
+ # Corresponds to the JSON property `jobBenefits`
1384
+ # @return [Array<String>]
1385
+ attr_accessor :job_benefits
1386
+
1387
+ # Optional.
1388
+ # The end timestamp of the job. Typically this field is used for contracting
1389
+ # engagements. Invalid timestamps are ignored.
1390
+ # Corresponds to the JSON property `jobEndTime`
1391
+ # @return [String]
1392
+ attr_accessor :job_end_time
1393
+
1394
+ # Optional.
1395
+ # The experience level associated with the job, such as "Entry Level".
1396
+ # Corresponds to the JSON property `jobLevel`
1397
+ # @return [String]
1398
+ attr_accessor :job_level
1399
+
1400
+ # Optional.
1401
+ # The start timestamp of the job in UTC time zone. Typically this field
1402
+ # is used for contracting engagements. Invalid timestamps are ignored.
1403
+ # Corresponds to the JSON property `jobStartTime`
1404
+ # @return [String]
1405
+ attr_accessor :job_start_time
1406
+
1407
+ # Optional.
1408
+ # The language of the posting. This field is distinct from
1409
+ # any requirements for fluency that are associated with the job.
1410
+ # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
1411
+ # For more information, see
1412
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47)`:
1413
+ # class="external" target="_blank" `.
1414
+ # The default value is `en-US`.
1415
+ # Corresponds to the JSON property `languageCode`
1416
+ # @return [String]
1417
+ attr_accessor :language_code
1418
+
1419
+ # Required during job update.
1420
+ # The resource name for the job. This is generated by the service when a
1421
+ # job is created.
1422
+ # The format is "projects/`project_id`/jobs/`job_id`",
1423
+ # for example, "projects/api-test-project/jobs/1234".
1424
+ # Use of this field in job queries and API calls is preferred over the use of
1425
+ # requisition_id since this value is unique.
1426
+ # Corresponds to the JSON property `name`
1427
+ # @return [String]
1428
+ attr_accessor :name
1429
+
1430
+ # Output only. The timestamp when this job posting was created.
1431
+ # Corresponds to the JSON property `postingCreateTime`
1432
+ # @return [String]
1433
+ attr_accessor :posting_create_time
1434
+
1435
+ # Optional but strongly recommended for the best service
1436
+ # experience.
1437
+ # The expiration timestamp of the job. After this timestamp, the
1438
+ # job is marked as expired, and it no longer appears in search results. The
1439
+ # expired job can't be deleted or listed by the DeleteJob and
1440
+ # ListJobs APIs, but it can be retrieved with the GetJob API or
1441
+ # updated with the UpdateJob API. An expired job can be updated and
1442
+ # opened again by using a future expiration timestamp. Updating an expired
1443
+ # job fails if there is another existing open job with same company_name,
1444
+ # language_code and requisition_id.
1445
+ # The expired jobs are retained in our system for 90 days. However, the
1446
+ # overall expired job count cannot exceed 3 times the maximum of open jobs
1447
+ # count over the past week, otherwise jobs with earlier expire time are
1448
+ # cleaned first. Expired jobs are no longer accessible after they are cleaned
1449
+ # out.
1450
+ # Invalid timestamps are ignored, and treated as expire time not provided.
1451
+ # Timestamp before the instant request is made is considered valid, the job
1452
+ # will be treated as expired immediately.
1453
+ # If this value is not provided at the time of job creation or is invalid,
1454
+ # the job posting expires after 30 days from the job's creation time. For
1455
+ # example, if the job was created on 2017/01/01 13:00AM UTC with an
1456
+ # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
1457
+ # If this value is not provided on job update, it depends on the field masks
1458
+ # set by UpdateJobRequest.update_mask. If the field masks include
1459
+ # expiry_time, or the masks are empty meaning that every field is
1460
+ # updated, the job posting expires after 30 days from the job's last
1461
+ # update time. Otherwise the expiration date isn't updated.
1462
+ # Corresponds to the JSON property `postingExpireTime`
1463
+ # @return [String]
1464
+ attr_accessor :posting_expire_time
1465
+
1466
+ # Optional.
1467
+ # The timestamp this job posting was most recently published. The default
1468
+ # value is the time the request arrives at the server. Invalid timestamps are
1469
+ # ignored.
1470
+ # Corresponds to the JSON property `postingPublishTime`
1471
+ # @return [String]
1472
+ attr_accessor :posting_publish_time
1473
+
1474
+ # Optional.
1475
+ # The job PostingRegion (for example, state, country) throughout which
1476
+ # the job is available. If this field is set, a
1477
+ # LocationFilter in a search query within the job region
1478
+ # finds this job posting if an exact location match is not specified.
1479
+ # If this field is set to PostingRegion.NATION_WIDE or
1480
+ # [PostingRegion.ADMINISTRATIVE_AREA], setting job addresses
1481
+ # to the same location level as this field is strongly recommended.
1482
+ # Corresponds to the JSON property `postingRegion`
1483
+ # @return [String]
1484
+ attr_accessor :posting_region
1485
+
1486
+ # Output only. The timestamp when this job posting was last updated.
1487
+ # Corresponds to the JSON property `postingUpdateTime`
1488
+ # @return [String]
1489
+ attr_accessor :posting_update_time
1490
+
1491
+ # Input only.
1492
+ # Options for job processing.
1493
+ # Corresponds to the JSON property `processingOptions`
1494
+ # @return [Google::Apis::JobsV3p1beta1::ProcessingOptions]
1495
+ attr_accessor :processing_options
1496
+
1497
+ # Optional.
1498
+ # A promotion value of the job, as determined by the client.
1499
+ # The value determines the sort order of the jobs returned when searching for
1500
+ # jobs using the featured jobs search call, with higher promotional values
1501
+ # being returned first and ties being resolved by relevance sort. Only the
1502
+ # jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
1503
+ # Default value is 0, and negative values are treated as 0.
1504
+ # Corresponds to the JSON property `promotionValue`
1505
+ # @return [Fixnum]
1506
+ attr_accessor :promotion_value
1507
+
1508
+ # Optional.
1509
+ # A description of the qualifications required to perform the
1510
+ # job. The use of this field is recommended
1511
+ # as an alternative to using the more general description field.
1512
+ # This field accepts and sanitizes HTML input, and also accepts
1513
+ # bold, italic, ordered list, and unordered list markup tags.
1514
+ # The maximum number of allowed characters is 10,000.
1515
+ # Corresponds to the JSON property `qualifications`
1516
+ # @return [String]
1517
+ attr_accessor :qualifications
1518
+
1519
+ # Required.
1520
+ # The requisition ID, also referred to as the posting ID, assigned by the
1521
+ # client to identify a job. This field is intended to be used by clients
1522
+ # for client identification and tracking of postings. A job is not allowed
1523
+ # to be created if there is another job with the same [company_name],
1524
+ # language_code and requisition_id.
1525
+ # The maximum number of allowed characters is 255.
1526
+ # Corresponds to the JSON property `requisitionId`
1527
+ # @return [String]
1528
+ attr_accessor :requisition_id
1529
+
1530
+ # Optional.
1531
+ # A description of job responsibilities. The use of this field is
1532
+ # recommended as an alternative to using the more general description
1533
+ # field.
1534
+ # This field accepts and sanitizes HTML input, and also accepts
1535
+ # bold, italic, ordered list, and unordered list markup tags.
1536
+ # The maximum number of allowed characters is 10,000.
1537
+ # Corresponds to the JSON property `responsibilities`
1538
+ # @return [String]
1539
+ attr_accessor :responsibilities
1540
+
1541
+ # Required.
1542
+ # The title of the job, such as "Software Engineer"
1543
+ # The maximum number of allowed characters is 500.
1544
+ # Corresponds to the JSON property `title`
1545
+ # @return [String]
1546
+ attr_accessor :title
1547
+
1548
+ # Optional.
1549
+ # The visibility of the job.
1550
+ # Defaults to Visibility.ACCOUNT_ONLY if not specified.
1551
+ # Corresponds to the JSON property `visibility`
1552
+ # @return [String]
1553
+ attr_accessor :visibility
1554
+
1555
+ def initialize(**args)
1556
+ update!(**args)
1557
+ end
1558
+
1559
+ # Update properties of this object
1560
+ def update!(**args)
1561
+ @addresses = args[:addresses] if args.key?(:addresses)
1562
+ @application_info = args[:application_info] if args.key?(:application_info)
1563
+ @company_display_name = args[:company_display_name] if args.key?(:company_display_name)
1564
+ @company_name = args[:company_name] if args.key?(:company_name)
1565
+ @compensation_info = args[:compensation_info] if args.key?(:compensation_info)
1566
+ @custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes)
1567
+ @degree_types = args[:degree_types] if args.key?(:degree_types)
1568
+ @department = args[:department] if args.key?(:department)
1569
+ @derived_info = args[:derived_info] if args.key?(:derived_info)
1570
+ @description = args[:description] if args.key?(:description)
1571
+ @employment_types = args[:employment_types] if args.key?(:employment_types)
1572
+ @incentives = args[:incentives] if args.key?(:incentives)
1573
+ @job_benefits = args[:job_benefits] if args.key?(:job_benefits)
1574
+ @job_end_time = args[:job_end_time] if args.key?(:job_end_time)
1575
+ @job_level = args[:job_level] if args.key?(:job_level)
1576
+ @job_start_time = args[:job_start_time] if args.key?(:job_start_time)
1577
+ @language_code = args[:language_code] if args.key?(:language_code)
1578
+ @name = args[:name] if args.key?(:name)
1579
+ @posting_create_time = args[:posting_create_time] if args.key?(:posting_create_time)
1580
+ @posting_expire_time = args[:posting_expire_time] if args.key?(:posting_expire_time)
1581
+ @posting_publish_time = args[:posting_publish_time] if args.key?(:posting_publish_time)
1582
+ @posting_region = args[:posting_region] if args.key?(:posting_region)
1583
+ @posting_update_time = args[:posting_update_time] if args.key?(:posting_update_time)
1584
+ @processing_options = args[:processing_options] if args.key?(:processing_options)
1585
+ @promotion_value = args[:promotion_value] if args.key?(:promotion_value)
1586
+ @qualifications = args[:qualifications] if args.key?(:qualifications)
1587
+ @requisition_id = args[:requisition_id] if args.key?(:requisition_id)
1588
+ @responsibilities = args[:responsibilities] if args.key?(:responsibilities)
1589
+ @title = args[:title] if args.key?(:title)
1590
+ @visibility = args[:visibility] if args.key?(:visibility)
1591
+ end
1592
+ end
1593
+
1594
+ # Output only.
1595
+ # Derived details about the job posting.
1596
+ class JobDerivedInfo
1597
+ include Google::Apis::Core::Hashable
1598
+
1599
+ # Job categories derived from Job.title and Job.description.
1600
+ # Corresponds to the JSON property `jobCategories`
1601
+ # @return [Array<String>]
1602
+ attr_accessor :job_categories
1603
+
1604
+ # Structured locations of the job, resolved from Job.addresses.
1605
+ # locations are exactly matched to Job.addresses in the same
1606
+ # order.
1607
+ # Corresponds to the JSON property `locations`
1608
+ # @return [Array<Google::Apis::JobsV3p1beta1::Location>]
1609
+ attr_accessor :locations
1610
+
1611
+ def initialize(**args)
1612
+ update!(**args)
1613
+ end
1614
+
1615
+ # Update properties of this object
1616
+ def update!(**args)
1617
+ @job_categories = args[:job_categories] if args.key?(:job_categories)
1618
+ @locations = args[:locations] if args.key?(:locations)
1619
+ end
1620
+ end
1621
+
1622
+ # An event issued when a job seeker interacts with the application that
1623
+ # implements Cloud Talent Solution.
1624
+ class JobEvent
1625
+ include Google::Apis::Core::Hashable
1626
+
1627
+ # Required.
1628
+ # The job name(s) associated with this event.
1629
+ # For example, if this is an impression event,
1630
+ # this field contains the identifiers of all jobs shown to the job seeker.
1631
+ # If this was a view event, this field contains the
1632
+ # identifier of the viewed job.
1633
+ # Corresponds to the JSON property `jobs`
1634
+ # @return [Array<String>]
1635
+ attr_accessor :jobs
1636
+
1637
+ # Required.
1638
+ # The type of the event (see JobEventType).
1639
+ # Corresponds to the JSON property `type`
1640
+ # @return [String]
1641
+ attr_accessor :type
1642
+
1643
+ def initialize(**args)
1644
+ update!(**args)
1645
+ end
1646
+
1647
+ # Update properties of this object
1648
+ def update!(**args)
1649
+ @jobs = args[:jobs] if args.key?(:jobs)
1650
+ @type = args[:type] if args.key?(:type)
1651
+ end
1652
+ end
1653
+
1654
+ # Input only.
1655
+ # The query required to perform a search query.
1656
+ class JobQuery
1657
+ include Google::Apis::Core::Hashable
1658
+
1659
+ # Input only.
1660
+ # Parameters needed for commute search.
1661
+ # Corresponds to the JSON property `commuteFilter`
1662
+ # @return [Google::Apis::JobsV3p1beta1::CommuteFilter]
1663
+ attr_accessor :commute_filter
1664
+
1665
+ # Optional.
1666
+ # This filter specifies the exact company display
1667
+ # name of the jobs to search against.
1668
+ # If a value isn't specified, jobs within the search results are
1669
+ # associated with any company.
1670
+ # If multiple values are specified, jobs within the search results may be
1671
+ # associated with any of the specified companies.
1672
+ # At most 20 company display name filters are allowed.
1673
+ # Corresponds to the JSON property `companyDisplayNames`
1674
+ # @return [Array<String>]
1675
+ attr_accessor :company_display_names
1676
+
1677
+ # Optional.
1678
+ # This filter specifies the company entities to search against.
1679
+ # If a value isn't specified, jobs are searched for against all
1680
+ # companies.
1681
+ # If multiple values are specified, jobs are searched against the
1682
+ # companies specified.
1683
+ # The format is "projects/`project_id`/companies/`company_id`", for example,
1684
+ # "projects/api-test-project/companies/foo".
1685
+ # At most 20 company filters are allowed.
1686
+ # Corresponds to the JSON property `companyNames`
1687
+ # @return [Array<String>]
1688
+ attr_accessor :company_names
1689
+
1690
+ # Input only.
1691
+ # Filter on job compensation type and amount.
1692
+ # Corresponds to the JSON property `compensationFilter`
1693
+ # @return [Google::Apis::JobsV3p1beta1::CompensationFilter]
1694
+ attr_accessor :compensation_filter
1695
+
1696
+ # Optional.
1697
+ # This filter specifies a structured syntax to match against the
1698
+ # Job.custom_attributes marked as `filterable`.
1699
+ # The syntax for this expression is a subset of Google SQL syntax.
1700
+ # Supported operators are: =, !=, <, <=, >, >= where the left of the operator
1701
+ # is a custom field key and the right of the operator is a number or string
1702
+ # (surrounded by quotes) value.
1703
+ # Supported functions are LOWER(<field_name>) to
1704
+ # perform case insensitive match and EMPTY(<field_name>) to filter on the
1705
+ # existence of a key.
1706
+ # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
1707
+ # nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 50
1708
+ # comparisons/functions are allowed in the expression. The expression
1709
+ # must be < 2000 characters in length.
1710
+ # Sample Query:
1711
+ # (LOWER(driving_license)="class a" OR EMPTY(driving_license)) AND
1712
+ # driving_years > 10
1713
+ # Corresponds to the JSON property `customAttributeFilter`
1714
+ # @return [String]
1715
+ attr_accessor :custom_attribute_filter
1716
+
1717
+ # Optional.
1718
+ # This flag controls the spell-check feature. If false, the
1719
+ # service attempts to correct a misspelled query,
1720
+ # for example, "enginee" is corrected to "engineer".
1721
+ # Defaults to false: a spell check is performed.
1722
+ # Corresponds to the JSON property `disableSpellCheck`
1723
+ # @return [Boolean]
1724
+ attr_accessor :disable_spell_check
1725
+ alias_method :disable_spell_check?, :disable_spell_check
1726
+
1727
+ # Optional.
1728
+ # The employment type filter specifies the employment type of jobs to
1729
+ # search against, such as EmploymentType.FULL_TIME.
1730
+ # If a value is not specified, jobs in the search results includes any
1731
+ # employment type.
1732
+ # If multiple values are specified, jobs in the search results include
1733
+ # any of the specified employment types.
1734
+ # Corresponds to the JSON property `employmentTypes`
1735
+ # @return [Array<String>]
1736
+ attr_accessor :employment_types
1737
+
1738
+ # Optional.
1739
+ # The category filter specifies the categories of jobs to search against.
1740
+ # See Category for more information.
1741
+ # If a value is not specified, jobs from any category are searched against.
1742
+ # If multiple values are specified, jobs from any of the specified
1743
+ # categories are searched against.
1744
+ # Corresponds to the JSON property `jobCategories`
1745
+ # @return [Array<String>]
1746
+ attr_accessor :job_categories
1747
+
1748
+ # Optional.
1749
+ # This filter specifies the locale of jobs to search against,
1750
+ # for example, "en-US".
1751
+ # If a value isn't specified, the search results can contain jobs in any
1752
+ # locale.
1753
+ # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
1754
+ # For more information, see
1755
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1756
+ # At most 10 language code filters are allowed.
1757
+ # Corresponds to the JSON property `languageCodes`
1758
+ # @return [Array<String>]
1759
+ attr_accessor :language_codes
1760
+
1761
+ # Optional.
1762
+ # The location filter specifies geo-regions containing the jobs to
1763
+ # search against. See LocationFilter for more information.
1764
+ # If a location value isn't specified, jobs fitting the other search
1765
+ # criteria are retrieved regardless of where they're located.
1766
+ # If multiple values are specified, jobs are retrieved from any of the
1767
+ # specified locations, and, if different values are specified
1768
+ # for the LocationFilter.distance_in_miles parameter, the maximum
1769
+ # provided distance is used for all locations.
1770
+ # At most 5 location filters are allowed.
1771
+ # Corresponds to the JSON property `locationFilters`
1772
+ # @return [Array<Google::Apis::JobsV3p1beta1::LocationFilter>]
1773
+ attr_accessor :location_filters
1774
+
1775
+ # Message representing a period of time between two timestamps.
1776
+ # Corresponds to the JSON property `publishTimeRange`
1777
+ # @return [Google::Apis::JobsV3p1beta1::TimestampRange]
1778
+ attr_accessor :publish_time_range
1779
+
1780
+ # Optional.
1781
+ # The query string that matches against the job title, description, and
1782
+ # location fields.
1783
+ # The maximum number of allowed characters is 255.
1784
+ # Corresponds to the JSON property `query`
1785
+ # @return [String]
1786
+ attr_accessor :query
1787
+
1788
+ def initialize(**args)
1789
+ update!(**args)
1790
+ end
1791
+
1792
+ # Update properties of this object
1793
+ def update!(**args)
1794
+ @commute_filter = args[:commute_filter] if args.key?(:commute_filter)
1795
+ @company_display_names = args[:company_display_names] if args.key?(:company_display_names)
1796
+ @company_names = args[:company_names] if args.key?(:company_names)
1797
+ @compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter)
1798
+ @custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter)
1799
+ @disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check)
1800
+ @employment_types = args[:employment_types] if args.key?(:employment_types)
1801
+ @job_categories = args[:job_categories] if args.key?(:job_categories)
1802
+ @language_codes = args[:language_codes] if args.key?(:language_codes)
1803
+ @location_filters = args[:location_filters] if args.key?(:location_filters)
1804
+ @publish_time_range = args[:publish_time_range] if args.key?(:publish_time_range)
1805
+ @query = args[:query] if args.key?(:query)
1806
+ end
1807
+ end
1808
+
1809
+ # An object representing a latitude/longitude pair. This is expressed as a pair
1810
+ # of doubles representing degrees latitude and degrees longitude. Unless
1811
+ # specified otherwise, this must conform to the
1812
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1813
+ # standard</a>. Values must be within normalized ranges.
1814
+ class LatLng
1815
+ include Google::Apis::Core::Hashable
1816
+
1817
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
1818
+ # Corresponds to the JSON property `latitude`
1819
+ # @return [Float]
1820
+ attr_accessor :latitude
1821
+
1822
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
1823
+ # Corresponds to the JSON property `longitude`
1824
+ # @return [Float]
1825
+ attr_accessor :longitude
1826
+
1827
+ def initialize(**args)
1828
+ update!(**args)
1829
+ end
1830
+
1831
+ # Update properties of this object
1832
+ def update!(**args)
1833
+ @latitude = args[:latitude] if args.key?(:latitude)
1834
+ @longitude = args[:longitude] if args.key?(:longitude)
1835
+ end
1836
+ end
1837
+
1838
+ # Output only.
1839
+ # The List companies response object.
1840
+ class ListCompaniesResponse
1841
+ include Google::Apis::Core::Hashable
1842
+
1843
+ # Companies for the current client.
1844
+ # Corresponds to the JSON property `companies`
1845
+ # @return [Array<Google::Apis::JobsV3p1beta1::Company>]
1846
+ attr_accessor :companies
1847
+
1848
+ # Output only.
1849
+ # Additional information returned to client, such as debugging information.
1850
+ # Corresponds to the JSON property `metadata`
1851
+ # @return [Google::Apis::JobsV3p1beta1::ResponseMetadata]
1852
+ attr_accessor :metadata
1853
+
1854
+ # A token to retrieve the next page of results.
1855
+ # Corresponds to the JSON property `nextPageToken`
1856
+ # @return [String]
1857
+ attr_accessor :next_page_token
1858
+
1859
+ def initialize(**args)
1860
+ update!(**args)
1861
+ end
1862
+
1863
+ # Update properties of this object
1864
+ def update!(**args)
1865
+ @companies = args[:companies] if args.key?(:companies)
1866
+ @metadata = args[:metadata] if args.key?(:metadata)
1867
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1868
+ end
1869
+ end
1870
+
1871
+ # Output only.
1872
+ # List jobs response.
1873
+ class ListJobsResponse
1874
+ include Google::Apis::Core::Hashable
1875
+
1876
+ # The Jobs for a given company.
1877
+ # The maximum number of items returned is based on the limit field
1878
+ # provided in the request.
1879
+ # Corresponds to the JSON property `jobs`
1880
+ # @return [Array<Google::Apis::JobsV3p1beta1::Job>]
1881
+ attr_accessor :jobs
1882
+
1883
+ # Output only.
1884
+ # Additional information returned to client, such as debugging information.
1885
+ # Corresponds to the JSON property `metadata`
1886
+ # @return [Google::Apis::JobsV3p1beta1::ResponseMetadata]
1887
+ attr_accessor :metadata
1888
+
1889
+ # A token to retrieve the next page of results.
1890
+ # Corresponds to the JSON property `nextPageToken`
1891
+ # @return [String]
1892
+ attr_accessor :next_page_token
1893
+
1894
+ def initialize(**args)
1895
+ update!(**args)
1896
+ end
1897
+
1898
+ # Update properties of this object
1899
+ def update!(**args)
1900
+ @jobs = args[:jobs] if args.key?(:jobs)
1901
+ @metadata = args[:metadata] if args.key?(:metadata)
1902
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1903
+ end
1904
+ end
1905
+
1906
+ # Output only.
1907
+ # A resource that represents a location with full geographic information.
1908
+ class Location
1909
+ include Google::Apis::Core::Hashable
1910
+
1911
+ # An object representing a latitude/longitude pair. This is expressed as a pair
1912
+ # of doubles representing degrees latitude and degrees longitude. Unless
1913
+ # specified otherwise, this must conform to the
1914
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1915
+ # standard</a>. Values must be within normalized ranges.
1916
+ # Corresponds to the JSON property `latLng`
1917
+ # @return [Google::Apis::JobsV3p1beta1::LatLng]
1918
+ attr_accessor :lat_lng
1919
+
1920
+ # The type of a location, which corresponds to the address lines field of
1921
+ # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
1922
+ # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
1923
+ # LocationType#LOCALITY.
1924
+ # Corresponds to the JSON property `locationType`
1925
+ # @return [String]
1926
+ attr_accessor :location_type
1927
+
1928
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
1929
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
1930
+ # Box or similar.
1931
+ # It is not intended to model geographical locations (roads, towns,
1932
+ # mountains).
1933
+ # In typical usage an address would be created via user input or from importing
1934
+ # existing data, depending on the type of process.
1935
+ # Advice on address input / editing:
1936
+ # - Use an i18n-ready address widget such as
1937
+ # https://github.com/googlei18n/libaddressinput)
1938
+ # - Users should not be presented with UI elements for input or editing of
1939
+ # fields outside countries where that field is used.
1940
+ # For more guidance on how to use this schema, please see:
1941
+ # https://support.google.com/business/answer/6397478
1942
+ # Corresponds to the JSON property `postalAddress`
1943
+ # @return [Google::Apis::JobsV3p1beta1::PostalAddress]
1944
+ attr_accessor :postal_address
1945
+
1946
+ # Radius in meters of the job location. This value is derived from the
1947
+ # location bounding box in which a circle with the specified radius
1948
+ # centered from LatLng coves the area associated with the job location.
1949
+ # For example, currently, "Mountain View, CA, USA" has a radius of
1950
+ # 6.17 miles.
1951
+ # Corresponds to the JSON property `radiusInMiles`
1952
+ # @return [Float]
1953
+ attr_accessor :radius_in_miles
1954
+
1955
+ def initialize(**args)
1956
+ update!(**args)
1957
+ end
1958
+
1959
+ # Update properties of this object
1960
+ def update!(**args)
1961
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
1962
+ @location_type = args[:location_type] if args.key?(:location_type)
1963
+ @postal_address = args[:postal_address] if args.key?(:postal_address)
1964
+ @radius_in_miles = args[:radius_in_miles] if args.key?(:radius_in_miles)
1965
+ end
1966
+ end
1967
+
1968
+ # Input only.
1969
+ # Geographic region of the search.
1970
+ class LocationFilter
1971
+ include Google::Apis::Core::Hashable
1972
+
1973
+ # Optional.
1974
+ # The address name, such as "Mountain View" or "Bay Area".
1975
+ # Corresponds to the JSON property `address`
1976
+ # @return [String]
1977
+ attr_accessor :address
1978
+
1979
+ # Optional.
1980
+ # The distance_in_miles is applied when the location being searched for is
1981
+ # identified as a city or smaller. When the location being searched for is a
1982
+ # state or larger, this field is ignored.
1983
+ # Corresponds to the JSON property `distanceInMiles`
1984
+ # @return [Float]
1985
+ attr_accessor :distance_in_miles
1986
+
1987
+ # An object representing a latitude/longitude pair. This is expressed as a pair
1988
+ # of doubles representing degrees latitude and degrees longitude. Unless
1989
+ # specified otherwise, this must conform to the
1990
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1991
+ # standard</a>. Values must be within normalized ranges.
1992
+ # Corresponds to the JSON property `latLng`
1993
+ # @return [Google::Apis::JobsV3p1beta1::LatLng]
1994
+ attr_accessor :lat_lng
1995
+
1996
+ # Optional.
1997
+ # CLDR region code of the country/region of the address. This is used
1998
+ # to address ambiguity of the user-input location, for example, "Liverpool"
1999
+ # against "Liverpool, NY, US" or "Liverpool, UK".
2000
+ # Set this field if all the jobs to search against are from a same region,
2001
+ # or jobs are world-wide, but the job seeker is from a specific region.
2002
+ # See http://cldr.unicode.org/ and
2003
+ # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
2004
+ # for details. Example: "CH" for Switzerland.
2005
+ # Corresponds to the JSON property `regionCode`
2006
+ # @return [String]
2007
+ attr_accessor :region_code
2008
+
2009
+ # Optional.
2010
+ # Allows the client to return jobs without a
2011
+ # set location, specifically, telecommuting jobs (telecomuting is considered
2012
+ # by the service as a special location.
2013
+ # Job.posting_region indicates if a job permits telecommuting.
2014
+ # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
2015
+ # telecommuting jobs are searched, and address and lat_lng are
2016
+ # ignored. If not set or set to
2017
+ # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
2018
+ # searched.
2019
+ # This filter can be used by itself to search exclusively for telecommuting
2020
+ # jobs, or it can be combined with another location
2021
+ # filter to search for a combination of job locations,
2022
+ # such as "Mountain View" or "telecommuting" jobs. However, when used in
2023
+ # combination with other location filters, telecommuting jobs can be
2024
+ # treated as less relevant than other jobs in the search response.
2025
+ # Corresponds to the JSON property `telecommutePreference`
2026
+ # @return [String]
2027
+ attr_accessor :telecommute_preference
2028
+
2029
+ def initialize(**args)
2030
+ update!(**args)
2031
+ end
2032
+
2033
+ # Update properties of this object
2034
+ def update!(**args)
2035
+ @address = args[:address] if args.key?(:address)
2036
+ @distance_in_miles = args[:distance_in_miles] if args.key?(:distance_in_miles)
2037
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
2038
+ @region_code = args[:region_code] if args.key?(:region_code)
2039
+ @telecommute_preference = args[:telecommute_preference] if args.key?(:telecommute_preference)
2040
+ end
2041
+ end
2042
+
2043
+ # Output only.
2044
+ # Job entry with metadata inside SearchJobsResponse.
2045
+ class MatchingJob
2046
+ include Google::Apis::Core::Hashable
2047
+
2048
+ # Output only.
2049
+ # Commute details related to this job.
2050
+ # Corresponds to the JSON property `commuteInfo`
2051
+ # @return [Google::Apis::JobsV3p1beta1::CommuteInfo]
2052
+ attr_accessor :commute_info
2053
+
2054
+ # A Job resource represents a job posting (also referred to as a "job listing"
2055
+ # or "job requisition"). A job belongs to a Company, which is the hiring
2056
+ # entity responsible for the job.
2057
+ # Corresponds to the JSON property `job`
2058
+ # @return [Google::Apis::JobsV3p1beta1::Job]
2059
+ attr_accessor :job
2060
+
2061
+ # A summary of the job with core information that's displayed on the search
2062
+ # results listing page.
2063
+ # Corresponds to the JSON property `jobSummary`
2064
+ # @return [String]
2065
+ attr_accessor :job_summary
2066
+
2067
+ # Contains snippets of text from the Job.job_title field most
2068
+ # closely matching a search query's keywords, if available. The matching
2069
+ # query keywords are enclosed in HTML bold tags.
2070
+ # Corresponds to the JSON property `jobTitleSnippet`
2071
+ # @return [String]
2072
+ attr_accessor :job_title_snippet
2073
+
2074
+ # Contains snippets of text from the Job.description and similar
2075
+ # fields that most closely match a search query's keywords, if available.
2076
+ # All HTML tags in the original fields are stripped when returned in this
2077
+ # field, and matching query keywords are enclosed in HTML bold tags.
2078
+ # Corresponds to the JSON property `searchTextSnippet`
2079
+ # @return [String]
2080
+ attr_accessor :search_text_snippet
2081
+
2082
+ def initialize(**args)
2083
+ update!(**args)
2084
+ end
2085
+
2086
+ # Update properties of this object
2087
+ def update!(**args)
2088
+ @commute_info = args[:commute_info] if args.key?(:commute_info)
2089
+ @job = args[:job] if args.key?(:job)
2090
+ @job_summary = args[:job_summary] if args.key?(:job_summary)
2091
+ @job_title_snippet = args[:job_title_snippet] if args.key?(:job_title_snippet)
2092
+ @search_text_snippet = args[:search_text_snippet] if args.key?(:search_text_snippet)
2093
+ end
2094
+ end
2095
+
2096
+ # Represents an amount of money with its currency type.
2097
+ class Money
2098
+ include Google::Apis::Core::Hashable
2099
+
2100
+ # The 3-letter currency code defined in ISO 4217.
2101
+ # Corresponds to the JSON property `currencyCode`
2102
+ # @return [String]
2103
+ attr_accessor :currency_code
2104
+
2105
+ # Number of nano (10^-9) units of the amount.
2106
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
2107
+ # If `units` is positive, `nanos` must be positive or zero.
2108
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
2109
+ # If `units` is negative, `nanos` must be negative or zero.
2110
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
2111
+ # Corresponds to the JSON property `nanos`
2112
+ # @return [Fixnum]
2113
+ attr_accessor :nanos
2114
+
2115
+ # The whole units of the amount.
2116
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
2117
+ # Corresponds to the JSON property `units`
2118
+ # @return [Fixnum]
2119
+ attr_accessor :units
2120
+
2121
+ def initialize(**args)
2122
+ update!(**args)
2123
+ end
2124
+
2125
+ # Update properties of this object
2126
+ def update!(**args)
2127
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2128
+ @nanos = args[:nanos] if args.key?(:nanos)
2129
+ @units = args[:units] if args.key?(:units)
2130
+ end
2131
+ end
2132
+
2133
+ # Input only.
2134
+ # Use this field to specify bucketing option for the histogram search response.
2135
+ class NumericBucketingOption
2136
+ include Google::Apis::Core::Hashable
2137
+
2138
+ # Required.
2139
+ # Two adjacent values form a histogram bucket. Values should be in
2140
+ # ascending order. For example, if [5, 10, 15] are provided, four buckets are
2141
+ # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
2142
+ # [buckets_bound is supported.
2143
+ # Corresponds to the JSON property `bucketBounds`
2144
+ # @return [Array<Float>]
2145
+ attr_accessor :bucket_bounds
2146
+
2147
+ # Optional.
2148
+ # If set to true, the histogram result includes minimum/maximum
2149
+ # value of the numeric field.
2150
+ # Corresponds to the JSON property `requiresMinMax`
2151
+ # @return [Boolean]
2152
+ attr_accessor :requires_min_max
2153
+ alias_method :requires_min_max?, :requires_min_max
2154
+
2155
+ def initialize(**args)
2156
+ update!(**args)
2157
+ end
2158
+
2159
+ # Update properties of this object
2160
+ def update!(**args)
2161
+ @bucket_bounds = args[:bucket_bounds] if args.key?(:bucket_bounds)
2162
+ @requires_min_max = args[:requires_min_max] if args.key?(:requires_min_max)
2163
+ end
2164
+ end
2165
+
2166
+ # Output only.
2167
+ # Custom numeric bucketing result.
2168
+ class NumericBucketingResult
2169
+ include Google::Apis::Core::Hashable
2170
+
2171
+ # Count within each bucket. Its size is the length of
2172
+ # NumericBucketingOption.bucket_bounds plus 1.
2173
+ # Corresponds to the JSON property `counts`
2174
+ # @return [Array<Google::Apis::JobsV3p1beta1::BucketizedCount>]
2175
+ attr_accessor :counts
2176
+
2177
+ # Stores the maximum value of the numeric field. Is populated only if
2178
+ # [NumericBucketingOption.requires_min_max] is set to true.
2179
+ # Corresponds to the JSON property `maxValue`
2180
+ # @return [Float]
2181
+ attr_accessor :max_value
2182
+
2183
+ # Stores the minimum value of the numeric field. Will be populated only if
2184
+ # [NumericBucketingOption.requires_min_max] is set to true.
2185
+ # Corresponds to the JSON property `minValue`
2186
+ # @return [Float]
2187
+ attr_accessor :min_value
2188
+
2189
+ def initialize(**args)
2190
+ update!(**args)
2191
+ end
2192
+
2193
+ # Update properties of this object
2194
+ def update!(**args)
2195
+ @counts = args[:counts] if args.key?(:counts)
2196
+ @max_value = args[:max_value] if args.key?(:max_value)
2197
+ @min_value = args[:min_value] if args.key?(:min_value)
2198
+ end
2199
+ end
2200
+
2201
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
2202
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
2203
+ # Box or similar.
2204
+ # It is not intended to model geographical locations (roads, towns,
2205
+ # mountains).
2206
+ # In typical usage an address would be created via user input or from importing
2207
+ # existing data, depending on the type of process.
2208
+ # Advice on address input / editing:
2209
+ # - Use an i18n-ready address widget such as
2210
+ # https://github.com/googlei18n/libaddressinput)
2211
+ # - Users should not be presented with UI elements for input or editing of
2212
+ # fields outside countries where that field is used.
2213
+ # For more guidance on how to use this schema, please see:
2214
+ # https://support.google.com/business/answer/6397478
2215
+ class PostalAddress
2216
+ include Google::Apis::Core::Hashable
2217
+
2218
+ # Unstructured address lines describing the lower levels of an address.
2219
+ # Because values in address_lines do not have type information and may
2220
+ # sometimes contain multiple values in a single field (e.g.
2221
+ # "Austin, TX"), it is important that the line order is clear. The order of
2222
+ # address lines should be "envelope order" for the country/region of the
2223
+ # address. In places where this can vary (e.g. Japan), address_language is
2224
+ # used to make it explicit (e.g. "ja" for large-to-small ordering and
2225
+ # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
2226
+ # an address can be selected based on the language.
2227
+ # The minimum permitted structural representation of an address consists
2228
+ # of a region_code with all remaining information placed in the
2229
+ # address_lines. It would be possible to format such an address very
2230
+ # approximately without geocoding, but no semantic reasoning could be
2231
+ # made about any of the address components until it was at least
2232
+ # partially resolved.
2233
+ # Creating an address only containing a region_code and address_lines, and
2234
+ # then geocoding is the recommended way to handle completely unstructured
2235
+ # addresses (as opposed to guessing which parts of the address should be
2236
+ # localities or administrative areas).
2237
+ # Corresponds to the JSON property `addressLines`
2238
+ # @return [Array<String>]
2239
+ attr_accessor :address_lines
2240
+
2241
+ # Optional. Highest administrative subdivision which is used for postal
2242
+ # addresses of a country or region.
2243
+ # For example, this can be a state, a province, an oblast, or a prefecture.
2244
+ # Specifically, for Spain this is the province and not the autonomous
2245
+ # community (e.g. "Barcelona" and not "Catalonia").
2246
+ # Many countries don't use an administrative area in postal addresses. E.g.
2247
+ # in Switzerland this should be left unpopulated.
2248
+ # Corresponds to the JSON property `administrativeArea`
2249
+ # @return [String]
2250
+ attr_accessor :administrative_area
2251
+
2252
+ # Optional. BCP-47 language code of the contents of this address (if
2253
+ # known). This is often the UI language of the input form or is expected
2254
+ # to match one of the languages used in the address' country/region, or their
2255
+ # transliterated equivalents.
2256
+ # This can affect formatting in certain countries, but is not critical
2257
+ # to the correctness of the data and will never affect any validation or
2258
+ # other non-formatting related operations.
2259
+ # If this value is not known, it should be omitted (rather than specifying a
2260
+ # possibly incorrect default).
2261
+ # Examples: "zh-Hant", "ja", "ja-Latn", "en".
2262
+ # Corresponds to the JSON property `languageCode`
2263
+ # @return [String]
2264
+ attr_accessor :language_code
2265
+
2266
+ # Optional. Generally refers to the city/town portion of the address.
2267
+ # Examples: US city, IT comune, UK post town.
2268
+ # In regions of the world where localities are not well defined or do not fit
2269
+ # into this structure well, leave locality empty and use address_lines.
2270
+ # Corresponds to the JSON property `locality`
2271
+ # @return [String]
2272
+ attr_accessor :locality
2273
+
2274
+ # Optional. The name of the organization at the address.
2275
+ # Corresponds to the JSON property `organization`
2276
+ # @return [String]
2277
+ attr_accessor :organization
2278
+
2279
+ # Optional. Postal code of the address. Not all countries use or require
2280
+ # postal codes to be present, but where they are used, they may trigger
2281
+ # additional validation with other parts of the address (e.g. state/zip
2282
+ # validation in the U.S.A.).
2283
+ # Corresponds to the JSON property `postalCode`
2284
+ # @return [String]
2285
+ attr_accessor :postal_code
2286
+
2287
+ # Optional. The recipient at the address.
2288
+ # This field may, under certain circumstances, contain multiline information.
2289
+ # For example, it might contain "care of" information.
2290
+ # Corresponds to the JSON property `recipients`
2291
+ # @return [Array<String>]
2292
+ attr_accessor :recipients
2293
+
2294
+ # Required. CLDR region code of the country/region of the address. This
2295
+ # is never inferred and it is up to the user to ensure the value is
2296
+ # correct. See http://cldr.unicode.org/ and
2297
+ # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
2298
+ # for details. Example: "CH" for Switzerland.
2299
+ # Corresponds to the JSON property `regionCode`
2300
+ # @return [String]
2301
+ attr_accessor :region_code
2302
+
2303
+ # The schema revision of the `PostalAddress`. This must be set to 0, which is
2304
+ # the latest revision.
2305
+ # All new revisions **must** be backward compatible with old revisions.
2306
+ # Corresponds to the JSON property `revision`
2307
+ # @return [Fixnum]
2308
+ attr_accessor :revision
2309
+
2310
+ # Optional. Additional, country-specific, sorting code. This is not used
2311
+ # in most regions. Where it is used, the value is either a string like
2312
+ # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
2313
+ # alone, representing the "sector code" (Jamaica), "delivery area indicator"
2314
+ # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
2315
+ # Corresponds to the JSON property `sortingCode`
2316
+ # @return [String]
2317
+ attr_accessor :sorting_code
2318
+
2319
+ # Optional. Sublocality of the address.
2320
+ # For example, this can be neighborhoods, boroughs, districts.
2321
+ # Corresponds to the JSON property `sublocality`
2322
+ # @return [String]
2323
+ attr_accessor :sublocality
2324
+
2325
+ def initialize(**args)
2326
+ update!(**args)
2327
+ end
2328
+
2329
+ # Update properties of this object
2330
+ def update!(**args)
2331
+ @address_lines = args[:address_lines] if args.key?(:address_lines)
2332
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
2333
+ @language_code = args[:language_code] if args.key?(:language_code)
2334
+ @locality = args[:locality] if args.key?(:locality)
2335
+ @organization = args[:organization] if args.key?(:organization)
2336
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
2337
+ @recipients = args[:recipients] if args.key?(:recipients)
2338
+ @region_code = args[:region_code] if args.key?(:region_code)
2339
+ @revision = args[:revision] if args.key?(:revision)
2340
+ @sorting_code = args[:sorting_code] if args.key?(:sorting_code)
2341
+ @sublocality = args[:sublocality] if args.key?(:sublocality)
2342
+ end
2343
+ end
2344
+
2345
+ # Input only.
2346
+ # Options for job processing.
2347
+ class ProcessingOptions
2348
+ include Google::Apis::Core::Hashable
2349
+
2350
+ # Optional.
2351
+ # If set to `true`, the service does not attempt to resolve a
2352
+ # more precise address for the job.
2353
+ # Corresponds to the JSON property `disableStreetAddressResolution`
2354
+ # @return [Boolean]
2355
+ attr_accessor :disable_street_address_resolution
2356
+ alias_method :disable_street_address_resolution?, :disable_street_address_resolution
2357
+
2358
+ # Optional.
2359
+ # Option for job HTML content sanitization. Applied fields are:
2360
+ # * description
2361
+ # * applicationInfo.instruction
2362
+ # * incentives
2363
+ # * qualifications
2364
+ # * responsibilities
2365
+ # HTML tags in these fields may be stripped if sanitiazation is not
2366
+ # disabled.
2367
+ # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
2368
+ # Corresponds to the JSON property `htmlSanitization`
2369
+ # @return [String]
2370
+ attr_accessor :html_sanitization
2371
+
2372
+ def initialize(**args)
2373
+ update!(**args)
2374
+ end
2375
+
2376
+ # Update properties of this object
2377
+ def update!(**args)
2378
+ @disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution)
2379
+ @html_sanitization = args[:html_sanitization] if args.key?(:html_sanitization)
2380
+ end
2381
+ end
2382
+
2383
+ # Input only.
2384
+ # Meta information related to the job searcher or entity
2385
+ # conducting the job search. This information is used to improve the
2386
+ # performance of the service.
2387
+ class RequestMetadata
2388
+ include Google::Apis::Core::Hashable
2389
+
2390
+ # Device information collected from the job seeker, candidate, or
2391
+ # other entity conducting the job search. Providing this information improves
2392
+ # the quality of the search results across devices.
2393
+ # Corresponds to the JSON property `deviceInfo`
2394
+ # @return [Google::Apis::JobsV3p1beta1::DeviceInfo]
2395
+ attr_accessor :device_info
2396
+
2397
+ # Required.
2398
+ # The client-defined scope or source of the service call, which typically
2399
+ # is the domain on
2400
+ # which the service has been implemented and is currently being run.
2401
+ # For example, if the service is being run by client <em>Foo, Inc.</em>, on
2402
+ # job board www.foo.com and career site www.bar.com, then this field is
2403
+ # set to "foo.com" for use on the job board, and "bar.com" for use on the
2404
+ # career site.
2405
+ # If this field isn't available for some reason, send "UNKNOWN".
2406
+ # Any improvements to the model for a particular tenant site rely on this
2407
+ # field being set correctly to a domain.
2408
+ # The maximum number of allowed characters is 255.
2409
+ # Corresponds to the JSON property `domain`
2410
+ # @return [String]
2411
+ attr_accessor :domain
2412
+
2413
+ # Required.
2414
+ # A unique session identification string. A session is defined as the
2415
+ # duration of an end user's interaction with the service over a certain
2416
+ # period.
2417
+ # Obfuscate this field for privacy concerns before
2418
+ # providing it to the service.
2419
+ # If this field is not available for some reason, send "UNKNOWN". Note
2420
+ # that any improvements to the model for a particular tenant
2421
+ # site, rely on this field being set correctly to some unique session_id.
2422
+ # The maximum number of allowed characters is 255.
2423
+ # Corresponds to the JSON property `sessionId`
2424
+ # @return [String]
2425
+ attr_accessor :session_id
2426
+
2427
+ # Required.
2428
+ # A unique user identification string, as determined by the client.
2429
+ # To have the strongest positive impact on search quality
2430
+ # make sure the client-level is unique.
2431
+ # Obfuscate this field for privacy concerns before
2432
+ # providing it to the service.
2433
+ # If this field is not available for some reason, send "UNKNOWN". Note
2434
+ # that any improvements to the model for a particular tenant
2435
+ # site, rely on this field being set correctly to a unique user_id.
2436
+ # The maximum number of allowed characters is 255.
2437
+ # Corresponds to the JSON property `userId`
2438
+ # @return [String]
2439
+ attr_accessor :user_id
2440
+
2441
+ def initialize(**args)
2442
+ update!(**args)
2443
+ end
2444
+
2445
+ # Update properties of this object
2446
+ def update!(**args)
2447
+ @device_info = args[:device_info] if args.key?(:device_info)
2448
+ @domain = args[:domain] if args.key?(:domain)
2449
+ @session_id = args[:session_id] if args.key?(:session_id)
2450
+ @user_id = args[:user_id] if args.key?(:user_id)
2451
+ end
2452
+ end
2453
+
2454
+ # Output only.
2455
+ # Additional information returned to client, such as debugging information.
2456
+ class ResponseMetadata
2457
+ include Google::Apis::Core::Hashable
2458
+
2459
+ # A unique id associated with this call.
2460
+ # This id is logged for tracking purposes.
2461
+ # Corresponds to the JSON property `requestId`
2462
+ # @return [String]
2463
+ attr_accessor :request_id
2464
+
2465
+ def initialize(**args)
2466
+ update!(**args)
2467
+ end
2468
+
2469
+ # Update properties of this object
2470
+ def update!(**args)
2471
+ @request_id = args[:request_id] if args.key?(:request_id)
2472
+ end
2473
+ end
2474
+
2475
+ # Input only.
2476
+ # The Request body of the `SearchJobs` call.
2477
+ class SearchJobsRequest
2478
+ include Google::Apis::Core::Hashable
2479
+
2480
+ # Input only.
2481
+ # Custom ranking information for SearchJobsRequest.
2482
+ # Corresponds to the JSON property `customRankingInfo`
2483
+ # @return [Google::Apis::JobsV3p1beta1::CustomRankingInfo]
2484
+ attr_accessor :custom_ranking_info
2485
+
2486
+ # Optional.
2487
+ # Controls whether to disable exact keyword match on Job.job_title,
2488
+ # Job.description, Job.company_display_name, Job.locations,
2489
+ # Job.qualifications. When disable keyword match is turned off, a
2490
+ # keyword match returns jobs that do not match given category filters when
2491
+ # there are matching keywords. For example, the query "program manager," a
2492
+ # result is returned even if the job posting has the title "software
2493
+ # developer," which does not fall into "program manager" ontology, but does
2494
+ # have "program manager" appearing in its description.
2495
+ # For queries like "cloud" that does not contain title or
2496
+ # location specific ontology, jobs with "cloud" keyword matches are returned
2497
+ # regardless of this flag's value.
2498
+ # Please use Company.keyword_searchable_custom_fields or
2499
+ # Company.keyword_searchable_custom_attributes if company specific
2500
+ # globally matched custom field/attribute string values is needed. Enabling
2501
+ # keyword match improves recall of subsequent search requests.
2502
+ # Defaults to false.
2503
+ # Corresponds to the JSON property `disableKeywordMatch`
2504
+ # @return [Boolean]
2505
+ attr_accessor :disable_keyword_match
2506
+ alias_method :disable_keyword_match?, :disable_keyword_match
2507
+
2508
+ # Optional.
2509
+ # Controls whether to broaden the search when it produces sparse results.
2510
+ # Broadened queries append results to the end of the matching results
2511
+ # list.
2512
+ # Defaults to false.
2513
+ # Corresponds to the JSON property `enableBroadening`
2514
+ # @return [Boolean]
2515
+ attr_accessor :enable_broadening
2516
+ alias_method :enable_broadening?, :enable_broadening
2517
+
2518
+ # Input only.
2519
+ # Histogram facets to be specified in SearchJobsRequest.
2520
+ # Corresponds to the JSON property `histogramFacets`
2521
+ # @return [Google::Apis::JobsV3p1beta1::HistogramFacets]
2522
+ attr_accessor :histogram_facets
2523
+
2524
+ # Optional.
2525
+ # Expression based histogram requests for jobs matching JobQuery.
2526
+ # Corresponds to the JSON property `histogramQueries`
2527
+ # @return [Array<Google::Apis::JobsV3p1beta1::HistogramQuery>]
2528
+ attr_accessor :histogram_queries
2529
+
2530
+ # Input only.
2531
+ # The query required to perform a search query.
2532
+ # Corresponds to the JSON property `jobQuery`
2533
+ # @return [Google::Apis::JobsV3p1beta1::JobQuery]
2534
+ attr_accessor :job_query
2535
+
2536
+ # Optional.
2537
+ # The desired job attributes returned for jobs in the
2538
+ # search response. Defaults to JobView.SMALL if no value is specified.
2539
+ # Corresponds to the JSON property `jobView`
2540
+ # @return [String]
2541
+ attr_accessor :job_view
2542
+
2543
+ # Optional.
2544
+ # An integer that specifies the current offset (that is, starting result
2545
+ # location, amongst the jobs deemed by the API as relevant) in search
2546
+ # results. This field is only considered if page_token is unset.
2547
+ # For example, 0 means to return results starting from the first matching
2548
+ # job, and 10 means to return from the 11th job. This can be used for
2549
+ # pagination, (for example, pageSize = 10 and offset = 10 means to return
2550
+ # from the second page).
2551
+ # Corresponds to the JSON property `offset`
2552
+ # @return [Fixnum]
2553
+ attr_accessor :offset
2554
+
2555
+ # Optional.
2556
+ # The criteria determining how search results are sorted. Default is
2557
+ # "relevance desc".
2558
+ # Supported options are:
2559
+ # * "relevance desc": By relevance descending, as determined by the API
2560
+ # algorithms. Relevance thresholding of query results is only available
2561
+ # with this ordering.
2562
+ # * "posting_publish_time desc": By Job.posting_publish_time descending.
2563
+ # * "posting_update_time desc": By Job.posting_update_time descending.
2564
+ # * "title": By Job.title ascending.
2565
+ # * "title desc": By Job.title descending.
2566
+ # * "annualized_base_compensation": By job's
2567
+ # CompensationInfo.annualized_base_compensation_range ascending. Jobs
2568
+ # whose annualized base compensation is unspecified are put at the end of
2569
+ # search results.
2570
+ # * "annualized_base_compensation desc": By job's
2571
+ # CompensationInfo.annualized_base_compensation_range descending. Jobs
2572
+ # whose annualized base compensation is unspecified are put at the end of
2573
+ # search results.
2574
+ # * "annualized_total_compensation": By job's
2575
+ # CompensationInfo.annualized_total_compensation_range ascending. Jobs
2576
+ # whose annualized base compensation is unspecified are put at the end of
2577
+ # search results.
2578
+ # * "annualized_total_compensation desc": By job's
2579
+ # CompensationInfo.annualized_total_compensation_range descending. Jobs
2580
+ # whose annualized base compensation is unspecified are put at the end of
2581
+ # search results.
2582
+ # * "custom_ranking desc": By the relevance score adjusted to the
2583
+ # SearchJobsRequest.custom_ranking_info.ranking_expression with weight
2584
+ # factor assigned by
2585
+ # SearchJobsRequest.custom_ranking_info.importance_level in descending
2586
+ # order.
2587
+ # Corresponds to the JSON property `orderBy`
2588
+ # @return [String]
2589
+ attr_accessor :order_by
2590
+
2591
+ # Optional.
2592
+ # A limit on the number of jobs returned in the search results.
2593
+ # Increasing this value above the default value of 10 can increase search
2594
+ # response time. The value can be between 1 and 100.
2595
+ # Corresponds to the JSON property `pageSize`
2596
+ # @return [Fixnum]
2597
+ attr_accessor :page_size
2598
+
2599
+ # Optional.
2600
+ # The token specifying the current offset within
2601
+ # search results. See SearchJobsResponse.next_page_token for
2602
+ # an explanation of how to obtain the next set of query results.
2603
+ # Corresponds to the JSON property `pageToken`
2604
+ # @return [String]
2605
+ attr_accessor :page_token
2606
+
2607
+ # Input only.
2608
+ # Meta information related to the job searcher or entity
2609
+ # conducting the job search. This information is used to improve the
2610
+ # performance of the service.
2611
+ # Corresponds to the JSON property `requestMetadata`
2612
+ # @return [Google::Apis::JobsV3p1beta1::RequestMetadata]
2613
+ attr_accessor :request_metadata
2614
+
2615
+ # Optional.
2616
+ # Controls if the search job request requires the return of a precise
2617
+ # count of the first 300 results. Setting this to `true` ensures
2618
+ # consistency in the number of results per page. Best practice is to set this
2619
+ # value to true if a client allows users to jump directly to a
2620
+ # non-sequential search results page.
2621
+ # Enabling this flag may adversely impact performance.
2622
+ # Defaults to false.
2623
+ # Corresponds to the JSON property `requirePreciseResultSize`
2624
+ # @return [Boolean]
2625
+ attr_accessor :require_precise_result_size
2626
+ alias_method :require_precise_result_size?, :require_precise_result_size
2627
+
2628
+ # Optional.
2629
+ # Mode of a search.
2630
+ # Defaults to SearchMode.JOB_SEARCH.
2631
+ # Corresponds to the JSON property `searchMode`
2632
+ # @return [String]
2633
+ attr_accessor :search_mode
2634
+
2635
+ def initialize(**args)
2636
+ update!(**args)
2637
+ end
2638
+
2639
+ # Update properties of this object
2640
+ def update!(**args)
2641
+ @custom_ranking_info = args[:custom_ranking_info] if args.key?(:custom_ranking_info)
2642
+ @disable_keyword_match = args[:disable_keyword_match] if args.key?(:disable_keyword_match)
2643
+ @enable_broadening = args[:enable_broadening] if args.key?(:enable_broadening)
2644
+ @histogram_facets = args[:histogram_facets] if args.key?(:histogram_facets)
2645
+ @histogram_queries = args[:histogram_queries] if args.key?(:histogram_queries)
2646
+ @job_query = args[:job_query] if args.key?(:job_query)
2647
+ @job_view = args[:job_view] if args.key?(:job_view)
2648
+ @offset = args[:offset] if args.key?(:offset)
2649
+ @order_by = args[:order_by] if args.key?(:order_by)
2650
+ @page_size = args[:page_size] if args.key?(:page_size)
2651
+ @page_token = args[:page_token] if args.key?(:page_token)
2652
+ @request_metadata = args[:request_metadata] if args.key?(:request_metadata)
2653
+ @require_precise_result_size = args[:require_precise_result_size] if args.key?(:require_precise_result_size)
2654
+ @search_mode = args[:search_mode] if args.key?(:search_mode)
2655
+ end
2656
+ end
2657
+
2658
+ # Output only.
2659
+ # Response for SearchJob method.
2660
+ class SearchJobsResponse
2661
+ include Google::Apis::Core::Hashable
2662
+
2663
+ # If query broadening is enabled, we may append additional results from the
2664
+ # broadened query. This number indicates how many of the jobs returned in the
2665
+ # jobs field are from the broadened query. These results are always at the
2666
+ # end of the jobs list. In particular, a value of 0, or if the field isn't
2667
+ # set, all the jobs in the jobs list are from the original
2668
+ # (without broadening) query. If this field is non-zero, subsequent requests
2669
+ # with offset after this result set should contain all broadened results.
2670
+ # Corresponds to the JSON property `broadenedQueryJobsCount`
2671
+ # @return [Fixnum]
2672
+ attr_accessor :broadened_query_jobs_count
2673
+
2674
+ # An estimation of the number of jobs that match the specified query.
2675
+ # This number is not guaranteed to be accurate. For accurate results,
2676
+ # see enable_precise_result_size.
2677
+ # Corresponds to the JSON property `estimatedTotalSize`
2678
+ # @return [Fixnum]
2679
+ attr_accessor :estimated_total_size
2680
+
2681
+ # The histogram results that match with specified
2682
+ # SearchJobsRequest.histogram_queries.
2683
+ # Corresponds to the JSON property `histogramQueryResults`
2684
+ # @return [Array<Google::Apis::JobsV3p1beta1::HistogramQueryResult>]
2685
+ attr_accessor :histogram_query_results
2686
+
2687
+ # Output only.
2688
+ # Histogram results that match HistogramFacets specified in
2689
+ # SearchJobsRequest.
2690
+ # Corresponds to the JSON property `histogramResults`
2691
+ # @return [Google::Apis::JobsV3p1beta1::HistogramResults]
2692
+ attr_accessor :histogram_results
2693
+
2694
+ # The location filters that the service applied to the specified query. If
2695
+ # any filters are lat-lng based, the JobLocation.location_type is
2696
+ # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
2697
+ # Corresponds to the JSON property `locationFilters`
2698
+ # @return [Array<Google::Apis::JobsV3p1beta1::Location>]
2699
+ attr_accessor :location_filters
2700
+
2701
+ # The Job entities that match the specified SearchJobsRequest.
2702
+ # Corresponds to the JSON property `matchingJobs`
2703
+ # @return [Array<Google::Apis::JobsV3p1beta1::MatchingJob>]
2704
+ attr_accessor :matching_jobs
2705
+
2706
+ # Output only.
2707
+ # Additional information returned to client, such as debugging information.
2708
+ # Corresponds to the JSON property `metadata`
2709
+ # @return [Google::Apis::JobsV3p1beta1::ResponseMetadata]
2710
+ attr_accessor :metadata
2711
+
2712
+ # The token that specifies the starting position of the next page of results.
2713
+ # This field is empty if there are no more results.
2714
+ # Corresponds to the JSON property `nextPageToken`
2715
+ # @return [String]
2716
+ attr_accessor :next_page_token
2717
+
2718
+ # Output only.
2719
+ # Spell check result.
2720
+ # Corresponds to the JSON property `spellCorrection`
2721
+ # @return [Google::Apis::JobsV3p1beta1::SpellingCorrection]
2722
+ attr_accessor :spell_correction
2723
+
2724
+ # The precise result count, which is available only if the client set
2725
+ # enable_precise_result_size to `true` or if the response
2726
+ # is the last page of results. Otherwise, the value will be `-1`.
2727
+ # Corresponds to the JSON property `totalSize`
2728
+ # @return [Fixnum]
2729
+ attr_accessor :total_size
2730
+
2731
+ def initialize(**args)
2732
+ update!(**args)
2733
+ end
2734
+
2735
+ # Update properties of this object
2736
+ def update!(**args)
2737
+ @broadened_query_jobs_count = args[:broadened_query_jobs_count] if args.key?(:broadened_query_jobs_count)
2738
+ @estimated_total_size = args[:estimated_total_size] if args.key?(:estimated_total_size)
2739
+ @histogram_query_results = args[:histogram_query_results] if args.key?(:histogram_query_results)
2740
+ @histogram_results = args[:histogram_results] if args.key?(:histogram_results)
2741
+ @location_filters = args[:location_filters] if args.key?(:location_filters)
2742
+ @matching_jobs = args[:matching_jobs] if args.key?(:matching_jobs)
2743
+ @metadata = args[:metadata] if args.key?(:metadata)
2744
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2745
+ @spell_correction = args[:spell_correction] if args.key?(:spell_correction)
2746
+ @total_size = args[:total_size] if args.key?(:total_size)
2747
+ end
2748
+ end
2749
+
2750
+ # Output only.
2751
+ # Spell check result.
2752
+ class SpellingCorrection
2753
+ include Google::Apis::Core::Hashable
2754
+
2755
+ # Indicates if the query was corrected by the spell checker.
2756
+ # Corresponds to the JSON property `corrected`
2757
+ # @return [Boolean]
2758
+ attr_accessor :corrected
2759
+ alias_method :corrected?, :corrected
2760
+
2761
+ # Correction output consisting of the corrected keyword string.
2762
+ # Corresponds to the JSON property `correctedText`
2763
+ # @return [String]
2764
+ attr_accessor :corrected_text
2765
+
2766
+ def initialize(**args)
2767
+ update!(**args)
2768
+ end
2769
+
2770
+ # Update properties of this object
2771
+ def update!(**args)
2772
+ @corrected = args[:corrected] if args.key?(:corrected)
2773
+ @corrected_text = args[:corrected_text] if args.key?(:corrected_text)
2774
+ end
2775
+ end
2776
+
2777
+ # Represents a time of day. The date and time zone are either not significant
2778
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
2779
+ # types are google.type.Date and `google.protobuf.Timestamp`.
2780
+ class TimeOfDay
2781
+ include Google::Apis::Core::Hashable
2782
+
2783
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
2784
+ # to allow the value "24:00:00" for scenarios like business closing time.
2785
+ # Corresponds to the JSON property `hours`
2786
+ # @return [Fixnum]
2787
+ attr_accessor :hours
2788
+
2789
+ # Minutes of hour of day. Must be from 0 to 59.
2790
+ # Corresponds to the JSON property `minutes`
2791
+ # @return [Fixnum]
2792
+ attr_accessor :minutes
2793
+
2794
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
2795
+ # Corresponds to the JSON property `nanos`
2796
+ # @return [Fixnum]
2797
+ attr_accessor :nanos
2798
+
2799
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
2800
+ # allow the value 60 if it allows leap-seconds.
2801
+ # Corresponds to the JSON property `seconds`
2802
+ # @return [Fixnum]
2803
+ attr_accessor :seconds
2804
+
2805
+ def initialize(**args)
2806
+ update!(**args)
2807
+ end
2808
+
2809
+ # Update properties of this object
2810
+ def update!(**args)
2811
+ @hours = args[:hours] if args.key?(:hours)
2812
+ @minutes = args[:minutes] if args.key?(:minutes)
2813
+ @nanos = args[:nanos] if args.key?(:nanos)
2814
+ @seconds = args[:seconds] if args.key?(:seconds)
2815
+ end
2816
+ end
2817
+
2818
+ # Message representing a period of time between two timestamps.
2819
+ class TimestampRange
2820
+ include Google::Apis::Core::Hashable
2821
+
2822
+ # End of the period.
2823
+ # Corresponds to the JSON property `endTime`
2824
+ # @return [String]
2825
+ attr_accessor :end_time
2826
+
2827
+ # Begin of the period.
2828
+ # Corresponds to the JSON property `startTime`
2829
+ # @return [String]
2830
+ attr_accessor :start_time
2831
+
2832
+ def initialize(**args)
2833
+ update!(**args)
2834
+ end
2835
+
2836
+ # Update properties of this object
2837
+ def update!(**args)
2838
+ @end_time = args[:end_time] if args.key?(:end_time)
2839
+ @start_time = args[:start_time] if args.key?(:start_time)
2840
+ end
2841
+ end
2842
+
2843
+ # Input only.
2844
+ # Request for updating a specified company.
2845
+ class UpdateCompanyRequest
2846
+ include Google::Apis::Core::Hashable
2847
+
2848
+ # A Company resource represents a company in the service. A company is the
2849
+ # entity that owns job postings, that is, the hiring entity responsible for
2850
+ # employing applicants for the job position.
2851
+ # Corresponds to the JSON property `company`
2852
+ # @return [Google::Apis::JobsV3p1beta1::Company]
2853
+ attr_accessor :company
2854
+
2855
+ # Optional but strongly recommended for the best service
2856
+ # experience.
2857
+ # If update_mask is provided, only the specified fields in
2858
+ # company are updated. Otherwise all the fields are updated.
2859
+ # A field mask to specify the company fields to be updated. Only
2860
+ # top level fields of Company are supported.
2861
+ # Corresponds to the JSON property `updateMask`
2862
+ # @return [String]
2863
+ attr_accessor :update_mask
2864
+
2865
+ def initialize(**args)
2866
+ update!(**args)
2867
+ end
2868
+
2869
+ # Update properties of this object
2870
+ def update!(**args)
2871
+ @company = args[:company] if args.key?(:company)
2872
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2873
+ end
2874
+ end
2875
+
2876
+ # Input only.
2877
+ # Update job request.
2878
+ class UpdateJobRequest
2879
+ include Google::Apis::Core::Hashable
2880
+
2881
+ # A Job resource represents a job posting (also referred to as a "job listing"
2882
+ # or "job requisition"). A job belongs to a Company, which is the hiring
2883
+ # entity responsible for the job.
2884
+ # Corresponds to the JSON property `job`
2885
+ # @return [Google::Apis::JobsV3p1beta1::Job]
2886
+ attr_accessor :job
2887
+
2888
+ # Optional but strongly recommended to be provided for the best service
2889
+ # experience.
2890
+ # If update_mask is provided, only the specified fields in
2891
+ # job are updated. Otherwise all the fields are updated.
2892
+ # A field mask to restrict the fields that are updated. Only
2893
+ # top level fields of Job are supported.
2894
+ # Corresponds to the JSON property `updateMask`
2895
+ # @return [String]
2896
+ attr_accessor :update_mask
2897
+
2898
+ def initialize(**args)
2899
+ update!(**args)
2900
+ end
2901
+
2902
+ # Update properties of this object
2903
+ def update!(**args)
2904
+ @job = args[:job] if args.key?(:job)
2905
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2906
+ end
2907
+ end
2908
+ end
2909
+ end
2910
+ end