google-api-client 0.20.1 → 0.21.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (499) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +190 -0
  3. data/README.md +3 -12
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +2 -2
  5. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +1 -0
  6. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +11 -1
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  10. data/generated/google/apis/adexchangebuyer_v1_2.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_2/service.rb +24 -40
  12. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +66 -110
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +117 -195
  15. data/generated/google/apis/adexchangeseller_v1.rb +1 -1
  16. data/generated/google/apis/adexchangeseller_v1/service.rb +36 -60
  17. data/generated/google/apis/adexchangeseller_v1_1.rb +1 -1
  18. data/generated/google/apis/adexchangeseller_v1_1/service.rb +54 -90
  19. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  20. data/generated/google/apis/adexchangeseller_v2_0/service.rb +45 -75
  21. data/generated/google/apis/adexperiencereport_v1.rb +2 -2
  22. data/generated/google/apis/adexperiencereport_v1/classes.rb +1 -0
  23. data/generated/google/apis/adexperiencereport_v1/service.rb +1 -1
  24. data/generated/google/apis/admin_datatransfer_v1/service.rb +18 -30
  25. data/generated/google/apis/admin_directory_v1.rb +3 -3
  26. data/generated/google/apis/admin_directory_v1/classes.rb +18 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +3 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +363 -577
  29. data/generated/google/apis/admin_reports_v1.rb +1 -1
  30. data/generated/google/apis/admin_reports_v1/service.rb +21 -35
  31. data/generated/google/apis/adsense_v1_4.rb +1 -1
  32. data/generated/google/apis/adsense_v1_4/service.rb +117 -195
  33. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  34. data/generated/google/apis/adsensehost_v4_1/service.rb +81 -135
  35. data/generated/google/apis/analytics_v2_4.rb +1 -1
  36. data/generated/google/apis/analytics_v2_4/service.rb +21 -35
  37. data/generated/google/apis/analytics_v3.rb +4 -1
  38. data/generated/google/apis/analytics_v3/classes.rb +119 -60
  39. data/generated/google/apis/analytics_v3/representations.rb +43 -12
  40. data/generated/google/apis/analytics_v3/service.rb +294 -435
  41. data/generated/google/apis/analyticsreporting_v4.rb +2 -2
  42. data/generated/google/apis/analyticsreporting_v4/classes.rb +1 -1
  43. data/generated/google/apis/analyticsreporting_v4/service.rb +1 -1
  44. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  45. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +10 -1
  46. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +1 -0
  47. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  48. data/generated/google/apis/androidenterprise_v1/classes.rb +8 -12
  49. data/generated/google/apis/androidenterprise_v1/service.rb +254 -425
  50. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  51. data/generated/google/apis/androidmanagement_v1/classes.rb +38 -6
  52. data/generated/google/apis/androidmanagement_v1/representations.rb +18 -0
  53. data/generated/google/apis/androidpublisher_v1.rb +1 -1
  54. data/generated/google/apis/androidpublisher_v1/service.rb +9 -15
  55. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  56. data/generated/google/apis/androidpublisher_v1_1/service.rb +12 -20
  57. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  58. data/generated/google/apis/androidpublisher_v2/classes.rb +102 -1
  59. data/generated/google/apis/androidpublisher_v2/representations.rb +46 -0
  60. data/generated/google/apis/androidpublisher_v2/service.rb +297 -286
  61. data/generated/google/apis/androidpublisher_v3.rb +34 -0
  62. data/generated/google/apis/androidpublisher_v3/classes.rb +1899 -0
  63. data/generated/google/apis/androidpublisher_v3/representations.rb +882 -0
  64. data/generated/google/apis/androidpublisher_v3/service.rb +2208 -0
  65. data/generated/google/apis/appengine_v1.rb +1 -1
  66. data/generated/google/apis/appengine_v1/classes.rb +11 -4
  67. data/generated/google/apis/appengine_v1/service.rb +28 -19
  68. data/generated/google/apis/appengine_v1beta.rb +1 -1
  69. data/generated/google/apis/appengine_v1beta/classes.rb +11 -7
  70. data/generated/google/apis/appengine_v1beta/service.rb +28 -19
  71. data/generated/google/apis/appsactivity_v1.rb +1 -1
  72. data/generated/google/apis/appsactivity_v1/service.rb +6 -10
  73. data/generated/google/apis/appsmarket_v2/service.rb +12 -20
  74. data/generated/google/apis/appstate_v1.rb +1 -1
  75. data/generated/google/apis/appstate_v1/service.rb +18 -30
  76. data/generated/google/apis/bigquery_v2.rb +1 -1
  77. data/generated/google/apis/bigquery_v2/classes.rb +76 -15
  78. data/generated/google/apis/bigquery_v2/representations.rb +22 -0
  79. data/generated/google/apis/bigquery_v2/service.rb +69 -115
  80. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  81. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +1 -2
  82. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +2 -2
  83. data/generated/google/apis/blogger_v2/service.rb +30 -50
  84. data/generated/google/apis/blogger_v3/service.rb +102 -170
  85. data/generated/google/apis/books_v1.rb +1 -1
  86. data/generated/google/apis/books_v1/service.rb +156 -260
  87. data/generated/google/apis/calendar_v3.rb +1 -1
  88. data/generated/google/apis/calendar_v3/service.rb +114 -190
  89. data/generated/google/apis/chat_v1.rb +1 -1
  90. data/generated/google/apis/chat_v1/classes.rb +6 -0
  91. data/generated/google/apis/chat_v1/representations.rb +1 -0
  92. data/generated/google/apis/civicinfo_v2/service.rb +18 -30
  93. data/generated/google/apis/classroom_v1.rb +1 -1
  94. data/generated/google/apis/classroom_v1/classes.rb +0 -69
  95. data/generated/google/apis/classroom_v1/representations.rb +0 -31
  96. data/generated/google/apis/classroom_v1/service.rb +0 -88
  97. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  98. data/generated/google/apis/cloudbilling_v1/classes.rb +0 -1
  99. data/generated/google/apis/cloudbilling_v1/service.rb +2 -1
  100. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  101. data/generated/google/apis/clouddebugger_v2/classes.rb +2 -1
  102. data/generated/google/apis/clouddebugger_v2/service.rb +1 -1
  103. data/generated/google/apis/cloudfunctions_v1.rb +3 -4
  104. data/generated/google/apis/cloudfunctions_v1/classes.rb +14 -0
  105. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  106. data/generated/google/apis/cloudfunctions_v1/service.rb +3 -4
  107. data/generated/google/apis/cloudfunctions_v1beta2.rb +3 -4
  108. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +14 -0
  109. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +2 -0
  110. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +3 -4
  111. data/generated/google/apis/cloudiot_v1.rb +1 -1
  112. data/generated/google/apis/cloudiot_v1/classes.rb +29 -7
  113. data/generated/google/apis/cloudiot_v1/service.rb +387 -0
  114. data/generated/google/apis/cloudkms_v1.rb +2 -2
  115. data/generated/google/apis/cloudkms_v1/classes.rb +29 -7
  116. data/generated/google/apis/cloudkms_v1/service.rb +1 -1
  117. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +31 -9
  119. data/generated/google/apis/cloudresourcemanager_v1/service.rb +5 -3
  120. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  121. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +29 -7
  122. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  123. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +29 -7
  124. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  125. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +29 -7
  126. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  127. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +39 -10
  128. data/generated/google/apis/cloudtasks_v2beta2/service.rb +9 -11
  129. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  130. data/generated/google/apis/cloudtrace_v1/classes.rb +1 -1
  131. data/generated/google/apis/{dlp_v2beta1.rb → composer_v1beta1.rb} +9 -11
  132. data/generated/google/apis/composer_v1beta1/classes.rb +640 -0
  133. data/generated/google/apis/composer_v1beta1/representations.rb +195 -0
  134. data/generated/google/apis/composer_v1beta1/service.rb +462 -0
  135. data/generated/google/apis/compute_alpha.rb +1 -1
  136. data/generated/google/apis/compute_alpha/classes.rb +4279 -1869
  137. data/generated/google/apis/compute_alpha/representations.rb +1366 -346
  138. data/generated/google/apis/compute_alpha/service.rb +4754 -4134
  139. data/generated/google/apis/compute_beta.rb +1 -1
  140. data/generated/google/apis/compute_beta/classes.rb +211 -55
  141. data/generated/google/apis/compute_beta/representations.rb +41 -0
  142. data/generated/google/apis/compute_beta/service.rb +1273 -2082
  143. data/generated/google/apis/compute_v1.rb +1 -1
  144. data/generated/google/apis/compute_v1/classes.rb +245 -44
  145. data/generated/google/apis/compute_v1/representations.rb +81 -0
  146. data/generated/google/apis/compute_v1/service.rb +1567 -1668
  147. data/generated/google/apis/container_v1.rb +2 -2
  148. data/generated/google/apis/container_v1/classes.rb +20 -15
  149. data/generated/google/apis/container_v1/representations.rb +1 -0
  150. data/generated/google/apis/container_v1/service.rb +51 -49
  151. data/generated/google/apis/container_v1beta1.rb +2 -2
  152. data/generated/google/apis/container_v1beta1/classes.rb +193 -14
  153. data/generated/google/apis/container_v1beta1/representations.rb +78 -0
  154. data/generated/google/apis/container_v1beta1/service.rb +129 -49
  155. data/generated/google/apis/content_v2.rb +1 -1
  156. data/generated/google/apis/content_v2/classes.rb +173 -8
  157. data/generated/google/apis/content_v2/representations.rb +71 -0
  158. data/generated/google/apis/content_v2/service.rb +246 -410
  159. data/generated/google/apis/content_v2sandbox.rb +1 -1
  160. data/generated/google/apis/content_v2sandbox/classes.rb +75 -8
  161. data/generated/google/apis/content_v2sandbox/representations.rb +33 -0
  162. data/generated/google/apis/content_v2sandbox/service.rb +63 -105
  163. data/generated/google/apis/customsearch_v1.rb +1 -1
  164. data/generated/google/apis/customsearch_v1/service.rb +9 -15
  165. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  166. data/generated/google/apis/dataflow_v1b3/classes.rb +15 -0
  167. data/generated/google/apis/dataflow_v1b3/representations.rb +2 -0
  168. data/generated/google/apis/dataproc_v1.rb +2 -2
  169. data/generated/google/apis/dataproc_v1/classes.rb +6 -6
  170. data/generated/google/apis/dataproc_v1/service.rb +1 -1
  171. data/generated/google/apis/dataproc_v1beta2.rb +2 -2
  172. data/generated/google/apis/dataproc_v1beta2/classes.rb +48 -13
  173. data/generated/google/apis/dataproc_v1beta2/representations.rb +12 -0
  174. data/generated/google/apis/dataproc_v1beta2/service.rb +1 -1
  175. data/generated/google/apis/datastore_v1.rb +2 -2
  176. data/generated/google/apis/datastore_v1/service.rb +1 -1
  177. data/generated/google/apis/datastore_v1beta1.rb +2 -2
  178. data/generated/google/apis/datastore_v1beta1/service.rb +1 -1
  179. data/generated/google/apis/datastore_v1beta3.rb +2 -2
  180. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  181. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  182. data/generated/google/apis/deploymentmanager_alpha/classes.rb +60 -5
  183. data/generated/google/apis/deploymentmanager_alpha/representations.rb +17 -0
  184. data/generated/google/apis/deploymentmanager_alpha/service.rb +118 -194
  185. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  186. data/generated/google/apis/deploymentmanager_v2/classes.rb +60 -5
  187. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -0
  188. data/generated/google/apis/deploymentmanager_v2/service.rb +61 -99
  189. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  190. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +60 -5
  191. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +17 -0
  192. data/generated/google/apis/deploymentmanager_v2beta/service.rb +103 -169
  193. data/generated/google/apis/dfareporting_v2_8.rb +1 -1
  194. data/generated/google/apis/dfareporting_v2_8/classes.rb +5 -5
  195. data/generated/google/apis/dfareporting_v2_8/service.rb +622 -1031
  196. data/generated/google/apis/dfareporting_v3_0.rb +1 -1
  197. data/generated/google/apis/dfareporting_v3_0/classes.rb +5 -5
  198. data/generated/google/apis/dfareporting_v3_0/service.rb +619 -1026
  199. data/generated/google/apis/dfareporting_v3_1.rb +40 -0
  200. data/generated/google/apis/dfareporting_v3_1/classes.rb +12256 -0
  201. data/generated/google/apis/dfareporting_v3_1/representations.rb +4389 -0
  202. data/generated/google/apis/dfareporting_v3_1/service.rb +8790 -0
  203. data/generated/google/apis/dialogflow_v2.rb +1 -1
  204. data/generated/google/apis/dialogflow_v2/classes.rb +94 -24
  205. data/generated/google/apis/dialogflow_v2/representations.rb +13 -0
  206. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  207. data/generated/google/apis/dialogflow_v2beta1/classes.rb +94 -24
  208. data/generated/google/apis/dialogflow_v2beta1/representations.rb +13 -0
  209. data/generated/google/apis/discovery_v1/service.rb +9 -15
  210. data/generated/google/apis/dlp_v2.rb +1 -1
  211. data/generated/google/apis/dlp_v2/classes.rb +136 -1572
  212. data/generated/google/apis/dlp_v2/representations.rb +676 -1405
  213. data/generated/google/apis/dlp_v2/service.rb +24 -24
  214. data/generated/google/apis/dns_v1.rb +1 -1
  215. data/generated/google/apis/dns_v1/classes.rb +7 -0
  216. data/generated/google/apis/dns_v1/representations.rb +1 -0
  217. data/generated/google/apis/dns_v1/service.rb +49 -81
  218. data/generated/google/apis/dns_v1beta2.rb +1 -1
  219. data/generated/google/apis/dns_v1beta2/classes.rb +7 -0
  220. data/generated/google/apis/dns_v1beta2/representations.rb +1 -0
  221. data/generated/google/apis/dns_v1beta2/service.rb +49 -81
  222. data/generated/google/apis/dns_v2beta1.rb +1 -1
  223. data/generated/google/apis/dns_v2beta1/classes.rb +7 -0
  224. data/generated/google/apis/dns_v2beta1/representations.rb +1 -0
  225. data/generated/google/apis/dns_v2beta1/service.rb +49 -81
  226. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +30 -50
  227. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  228. data/generated/google/apis/doubleclicksearch_v2/service.rb +33 -55
  229. data/generated/google/apis/drive_v2.rb +1 -1
  230. data/generated/google/apis/drive_v2/service.rb +205 -341
  231. data/generated/google/apis/drive_v3.rb +1 -1
  232. data/generated/google/apis/drive_v3/service.rb +120 -200
  233. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  234. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +1 -1
  235. data/generated/google/apis/firestore_v1beta1.rb +2 -2
  236. data/generated/google/apis/firestore_v1beta1/service.rb +1 -1
  237. data/generated/google/apis/fitness_v1/service.rb +45 -75
  238. data/generated/google/apis/fusiontables_v1.rb +1 -1
  239. data/generated/google/apis/fusiontables_v1/service.rb +99 -165
  240. data/generated/google/apis/fusiontables_v2/service.rb +105 -175
  241. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  242. data/generated/google/apis/games_configuration_v1configuration/service.rb +42 -70
  243. data/generated/google/apis/games_management_v1management.rb +1 -1
  244. data/generated/google/apis/games_management_v1management/service.rb +84 -140
  245. data/generated/google/apis/games_v1.rb +1 -1
  246. data/generated/google/apis/games_v1/service.rb +162 -270
  247. data/generated/google/apis/genomics_v1.rb +1 -1
  248. data/generated/google/apis/genomics_v1/classes.rb +41 -7
  249. data/generated/google/apis/genomics_v1/representations.rb +1 -0
  250. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  251. data/generated/google/apis/genomics_v1alpha2/classes.rb +12 -0
  252. data/generated/google/apis/genomics_v1alpha2/representations.rb +1 -0
  253. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  254. data/generated/google/apis/genomics_v2alpha1/classes.rb +70 -0
  255. data/generated/google/apis/genomics_v2alpha1/representations.rb +20 -0
  256. data/generated/google/apis/gmail_v1/service.rb +189 -315
  257. data/generated/google/apis/groupsmigration_v1/service.rb +6 -10
  258. data/generated/google/apis/groupssettings_v1/service.rb +12 -20
  259. data/generated/google/apis/iam_v1.rb +2 -2
  260. data/generated/google/apis/iam_v1/classes.rb +29 -7
  261. data/generated/google/apis/iam_v1/service.rb +1 -1
  262. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  263. data/generated/google/apis/identitytoolkit_v3/classes.rb +56 -0
  264. data/generated/google/apis/identitytoolkit_v3/representations.rb +8 -0
  265. data/generated/google/apis/identitytoolkit_v3/service.rb +63 -105
  266. data/generated/google/apis/jobs_v2.rb +38 -0
  267. data/generated/google/apis/jobs_v2/classes.rb +3374 -0
  268. data/generated/google/apis/jobs_v2/representations.rb +1067 -0
  269. data/generated/google/apis/jobs_v2/service.rb +753 -0
  270. data/generated/google/apis/language_v1.rb +1 -1
  271. data/generated/google/apis/language_v1/classes.rb +1 -0
  272. data/generated/google/apis/language_v1beta1.rb +1 -1
  273. data/generated/google/apis/language_v1beta1/classes.rb +1 -0
  274. data/generated/google/apis/language_v1beta2.rb +1 -1
  275. data/generated/google/apis/language_v1beta2/classes.rb +1 -0
  276. data/generated/google/apis/licensing_v1/service.rb +24 -40
  277. data/generated/google/apis/logging_v2.rb +1 -1
  278. data/generated/google/apis/logging_v2/classes.rb +55 -5
  279. data/generated/google/apis/logging_v2/representations.rb +16 -0
  280. data/generated/google/apis/logging_v2/service.rb +6 -4
  281. data/generated/google/apis/logging_v2beta1.rb +1 -1
  282. data/generated/google/apis/logging_v2beta1/classes.rb +55 -5
  283. data/generated/google/apis/logging_v2beta1/representations.rb +16 -0
  284. data/generated/google/apis/logging_v2beta1/service.rb +6 -4
  285. data/generated/google/apis/mirror_v1.rb +1 -1
  286. data/generated/google/apis/mirror_v1/service.rb +75 -125
  287. data/generated/google/apis/ml_v1.rb +1 -1
  288. data/generated/google/apis/ml_v1/classes.rb +65 -28
  289. data/generated/google/apis/ml_v1/representations.rb +1 -0
  290. data/generated/google/apis/ml_v1/service.rb +2 -2
  291. data/generated/google/apis/monitoring_v3.rb +1 -1
  292. data/generated/google/apis/monitoring_v3/classes.rb +7 -7
  293. data/generated/google/apis/oauth2_v1.rb +1 -1
  294. data/generated/google/apis/oauth2_v1/service.rb +27 -45
  295. data/generated/google/apis/oauth2_v2.rb +1 -1
  296. data/generated/google/apis/oauth2_v2/service.rb +15 -25
  297. data/generated/google/apis/oslogin_v1.rb +1 -1
  298. data/generated/google/apis/oslogin_v1/classes.rb +6 -0
  299. data/generated/google/apis/oslogin_v1/representations.rb +1 -0
  300. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  301. data/generated/google/apis/oslogin_v1alpha/classes.rb +7 -1
  302. data/generated/google/apis/oslogin_v1alpha/representations.rb +1 -0
  303. data/generated/google/apis/oslogin_v1alpha/service.rb +4 -1
  304. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  305. data/generated/google/apis/oslogin_v1beta/classes.rb +6 -0
  306. data/generated/google/apis/oslogin_v1beta/representations.rb +1 -0
  307. data/generated/google/apis/pagespeedonline_v1.rb +1 -1
  308. data/generated/google/apis/pagespeedonline_v1/service.rb +6 -10
  309. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  310. data/generated/google/apis/pagespeedonline_v2/service.rb +6 -10
  311. data/generated/google/apis/pagespeedonline_v4/service.rb +6 -10
  312. data/generated/google/apis/partners_v2.rb +1 -1
  313. data/generated/google/apis/partners_v2/classes.rb +7 -0
  314. data/generated/google/apis/partners_v2/representations.rb +1 -0
  315. data/generated/google/apis/people_v1.rb +1 -1
  316. data/generated/google/apis/people_v1/service.rb +4 -0
  317. data/generated/google/apis/photoslibrary_v1.rb +49 -0
  318. data/generated/google/apis/photoslibrary_v1/classes.rb +1330 -0
  319. data/generated/google/apis/photoslibrary_v1/representations.rb +625 -0
  320. data/generated/google/apis/photoslibrary_v1/service.rb +399 -0
  321. data/generated/google/apis/playcustomapp_v1/service.rb +6 -10
  322. data/generated/google/apis/plus_domains_v1.rb +1 -1
  323. data/generated/google/apis/plus_domains_v1/service.rb +63 -105
  324. data/generated/google/apis/plus_v1.rb +1 -1
  325. data/generated/google/apis/plus_v1/service.rb +30 -50
  326. data/generated/google/apis/pubsub_v1.rb +2 -2
  327. data/generated/google/apis/pubsub_v1/classes.rb +29 -7
  328. data/generated/google/apis/pubsub_v1/service.rb +1 -1
  329. data/generated/google/apis/pubsub_v1beta1a.rb +2 -2
  330. data/generated/google/apis/pubsub_v1beta1a/service.rb +1 -1
  331. data/generated/google/apis/pubsub_v1beta2.rb +2 -2
  332. data/generated/google/apis/pubsub_v1beta2/classes.rb +29 -7
  333. data/generated/google/apis/pubsub_v1beta2/service.rb +1 -1
  334. data/generated/google/apis/{dlp_v2beta2.rb → redis_v1beta1.rb} +10 -11
  335. data/generated/google/apis/redis_v1beta1/classes.rb +681 -0
  336. data/generated/google/apis/redis_v1beta1/representations.rb +240 -0
  337. data/generated/google/apis/redis_v1beta1/service.rb +426 -0
  338. data/generated/google/apis/replicapool_v1beta1/service.rb +33 -55
  339. data/generated/google/apis/replicapool_v1beta2/service.rb +39 -65
  340. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +33 -55
  341. data/generated/google/apis/reseller_v1/service.rb +54 -90
  342. data/generated/google/apis/resourceviews_v1beta1/service.rb +45 -75
  343. data/generated/google/apis/resourceviews_v1beta2/service.rb +36 -60
  344. data/generated/google/apis/runtimeconfig_v1.rb +2 -2
  345. data/generated/google/apis/runtimeconfig_v1/service.rb +1 -1
  346. data/generated/google/apis/runtimeconfig_v1beta1.rb +2 -2
  347. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +29 -7
  348. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +1 -1
  349. data/generated/google/apis/script_v1.rb +8 -2
  350. data/generated/google/apis/script_v1/classes.rb +3 -3
  351. data/generated/google/apis/script_v1/service.rb +8 -2
  352. data/generated/google/apis/servicebroker_v1.rb +36 -0
  353. data/generated/google/apis/servicebroker_v1/classes.rb +240 -0
  354. data/generated/google/apis/servicebroker_v1/representations.rb +96 -0
  355. data/generated/google/apis/servicebroker_v1/service.rb +168 -0
  356. data/generated/google/apis/servicebroker_v1alpha1.rb +36 -0
  357. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +939 -0
  358. data/generated/google/apis/servicebroker_v1alpha1/representations.rb +348 -0
  359. data/generated/google/apis/servicebroker_v1alpha1/service.rb +728 -0
  360. data/generated/google/apis/servicebroker_v1beta1.rb +36 -0
  361. data/generated/google/apis/servicebroker_v1beta1/classes.rb +1046 -0
  362. data/generated/google/apis/servicebroker_v1beta1/representations.rb +393 -0
  363. data/generated/google/apis/servicebroker_v1beta1/service.rb +917 -0
  364. data/generated/google/apis/servicecontrol_v1.rb +2 -2
  365. data/generated/google/apis/servicecontrol_v1/classes.rb +1 -0
  366. data/generated/google/apis/servicecontrol_v1/service.rb +1 -1
  367. data/generated/google/apis/servicemanagement_v1.rb +2 -2
  368. data/generated/google/apis/servicemanagement_v1/classes.rb +29 -7
  369. data/generated/google/apis/servicemanagement_v1/service.rb +1 -1
  370. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  371. data/generated/google/apis/serviceusage_v1beta1/classes.rb +299 -0
  372. data/generated/google/apis/serviceusage_v1beta1/representations.rb +101 -0
  373. data/generated/google/apis/sheets_v4.rb +1 -1
  374. data/generated/google/apis/sheets_v4/classes.rb +421 -0
  375. data/generated/google/apis/sheets_v4/representations.rb +120 -0
  376. data/generated/google/apis/site_verification_v1/service.rb +24 -40
  377. data/generated/google/apis/slides_v1.rb +1 -1
  378. data/generated/google/apis/slides_v1/classes.rb +6 -2
  379. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  380. data/generated/google/apis/sourcerepo_v1/classes.rb +160 -8
  381. data/generated/google/apis/sourcerepo_v1/representations.rb +63 -0
  382. data/generated/google/apis/sourcerepo_v1/service.rb +99 -0
  383. data/generated/google/apis/spanner_v1.rb +1 -1
  384. data/generated/google/apis/spanner_v1/classes.rb +40 -13
  385. data/generated/google/apis/spanner_v1/service.rb +2 -2
  386. data/generated/google/apis/spectrum_v1explorer.rb +1 -1
  387. data/generated/google/apis/spectrum_v1explorer/service.rb +21 -35
  388. data/generated/google/apis/speech_v1.rb +1 -1
  389. data/generated/google/apis/speech_v1/classes.rb +12 -0
  390. data/generated/google/apis/speech_v1/representations.rb +1 -0
  391. data/generated/google/apis/sqladmin_v1beta3.rb +1 -1
  392. data/generated/google/apis/sqladmin_v1beta3/service.rb +75 -125
  393. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  394. data/generated/google/apis/sqladmin_v1beta4/classes.rb +76 -0
  395. data/generated/google/apis/sqladmin_v1beta4/representations.rb +44 -0
  396. data/generated/google/apis/sqladmin_v1beta4/service.rb +246 -210
  397. data/generated/google/apis/storage_v1.rb +1 -1
  398. data/generated/google/apis/storage_v1/classes.rb +3 -6
  399. data/generated/google/apis/storage_v1/service.rb +144 -240
  400. data/generated/google/apis/storage_v1beta1.rb +1 -1
  401. data/generated/google/apis/storage_v1beta1/service.rb +75 -125
  402. data/generated/google/apis/storage_v1beta2.rb +1 -1
  403. data/generated/google/apis/storage_v1beta2/service.rb +105 -175
  404. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  405. data/generated/google/apis/storagetransfer_v1/classes.rb +4 -3
  406. data/generated/google/apis/surveys_v2.rb +1 -1
  407. data/generated/google/apis/surveys_v2/classes.rb +19 -122
  408. data/generated/google/apis/surveys_v2/representations.rb +0 -38
  409. data/generated/google/apis/surveys_v2/service.rb +27 -157
  410. data/generated/google/apis/tagmanager_v1/service.rb +153 -255
  411. data/generated/google/apis/tagmanager_v2/service.rb +222 -370
  412. data/generated/google/apis/tasks_v1/service.rb +45 -75
  413. data/generated/google/apis/testing_v1.rb +1 -1
  414. data/generated/google/apis/texttospeech_v1beta1.rb +2 -2
  415. data/generated/google/apis/texttospeech_v1beta1/service.rb +1 -1
  416. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  417. data/generated/google/apis/toolresults_v1beta3/service.rb +75 -125
  418. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  419. data/generated/google/apis/urlshortener_v1/service.rb +12 -20
  420. data/generated/google/apis/vault_v1.rb +2 -2
  421. data/generated/google/apis/vault_v1/service.rb +1 -1
  422. data/generated/google/apis/videointelligence_v1.rb +34 -0
  423. data/generated/google/apis/videointelligence_v1/classes.rb +2149 -0
  424. data/generated/google/apis/videointelligence_v1/representations.rb +972 -0
  425. data/generated/google/apis/videointelligence_v1/service.rb +246 -0
  426. data/generated/google/apis/videointelligence_v1beta1.rb +1 -1
  427. data/generated/google/apis/videointelligence_v1beta1/classes.rb +18 -18
  428. data/generated/google/apis/{taskqueue_v1beta2.rb → videointelligence_v1beta2.rb} +10 -13
  429. data/generated/google/apis/videointelligence_v1beta2/classes.rb +2092 -0
  430. data/generated/google/apis/videointelligence_v1beta2/representations.rb +933 -0
  431. data/generated/google/apis/videointelligence_v1beta2/service.rb +92 -0
  432. data/generated/google/apis/vision_v1.rb +1 -1
  433. data/generated/google/apis/vision_v1/classes.rb +2001 -105
  434. data/generated/google/apis/vision_v1/representations.rb +1024 -170
  435. data/generated/google/apis/vision_v1/service.rb +35 -0
  436. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  437. data/generated/google/apis/vision_v1p1beta1/classes.rb +4147 -772
  438. data/generated/google/apis/vision_v1p1beta1/representations.rb +1659 -209
  439. data/generated/google/apis/vision_v1p1beta1/service.rb +35 -0
  440. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  441. data/generated/google/apis/vision_v1p2beta1/classes.rb +2603 -844
  442. data/generated/google/apis/vision_v1p2beta1/representations.rb +784 -8
  443. data/generated/google/apis/vision_v1p2beta1/service.rb +3 -3
  444. data/generated/google/apis/webfonts_v1/service.rb +6 -10
  445. data/generated/google/apis/webmasters_v3/service.rb +42 -70
  446. data/generated/google/apis/websecurityscanner_v1alpha.rb +34 -0
  447. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +760 -0
  448. data/generated/google/apis/websecurityscanner_v1alpha/representations.rb +354 -0
  449. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +548 -0
  450. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  451. data/generated/google/apis/youtube_analytics_v1/service.rb +27 -45
  452. data/generated/google/apis/youtube_analytics_v1beta1.rb +1 -1
  453. data/generated/google/apis/youtube_analytics_v1beta1/service.rb +27 -45
  454. data/generated/google/apis/youtube_analytics_v2.rb +46 -0
  455. data/generated/google/apis/youtube_analytics_v2/classes.rb +532 -0
  456. data/generated/google/apis/youtube_analytics_v2/representations.rb +232 -0
  457. data/generated/google/apis/youtube_analytics_v2/service.rb +478 -0
  458. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  459. data/generated/google/apis/youtube_partner_v1/service.rb +225 -375
  460. data/generated/google/apis/youtube_v3.rb +1 -1
  461. data/generated/google/apis/youtube_v3/classes.rb +0 -168
  462. data/generated/google/apis/youtube_v3/representations.rb +0 -62
  463. data/generated/google/apis/youtube_v3/service.rb +216 -415
  464. data/lib/google/apis/generator/helpers.rb +3 -1
  465. data/lib/google/apis/version.rb +1 -1
  466. metadata +55 -39
  467. data/generated/google/apis/dlp_v2beta1/classes.rb +0 -3820
  468. data/generated/google/apis/dlp_v2beta1/representations.rb +0 -1879
  469. data/generated/google/apis/dlp_v2beta1/service.rb +0 -603
  470. data/generated/google/apis/dlp_v2beta2/classes.rb +0 -6386
  471. data/generated/google/apis/dlp_v2beta2/representations.rb +0 -3085
  472. data/generated/google/apis/dlp_v2beta2/service.rb +0 -1332
  473. data/generated/google/apis/prediction_v1_2.rb +0 -44
  474. data/generated/google/apis/prediction_v1_2/classes.rb +0 -237
  475. data/generated/google/apis/prediction_v1_2/representations.rb +0 -133
  476. data/generated/google/apis/prediction_v1_2/service.rb +0 -287
  477. data/generated/google/apis/prediction_v1_3.rb +0 -44
  478. data/generated/google/apis/prediction_v1_3/classes.rb +0 -286
  479. data/generated/google/apis/prediction_v1_3/representations.rb +0 -139
  480. data/generated/google/apis/prediction_v1_3/service.rb +0 -284
  481. data/generated/google/apis/prediction_v1_4.rb +0 -44
  482. data/generated/google/apis/prediction_v1_4/classes.rb +0 -336
  483. data/generated/google/apis/prediction_v1_4/representations.rb +0 -158
  484. data/generated/google/apis/prediction_v1_4/service.rb +0 -284
  485. data/generated/google/apis/prediction_v1_5.rb +0 -44
  486. data/generated/google/apis/prediction_v1_5/classes.rb +0 -708
  487. data/generated/google/apis/prediction_v1_5/representations.rb +0 -352
  488. data/generated/google/apis/prediction_v1_5/service.rb +0 -357
  489. data/generated/google/apis/prediction_v1_6.rb +0 -47
  490. data/generated/google/apis/prediction_v1_6/classes.rb +0 -751
  491. data/generated/google/apis/prediction_v1_6/representations.rb +0 -369
  492. data/generated/google/apis/prediction_v1_6/service.rb +0 -381
  493. data/generated/google/apis/taskqueue_v1beta1.rb +0 -37
  494. data/generated/google/apis/taskqueue_v1beta1/classes.rb +0 -242
  495. data/generated/google/apis/taskqueue_v1beta1/representations.rb +0 -124
  496. data/generated/google/apis/taskqueue_v1beta1/service.rb +0 -269
  497. data/generated/google/apis/taskqueue_v1beta2/classes.rb +0 -254
  498. data/generated/google/apis/taskqueue_v1beta2/representations.rb +0 -126
  499. data/generated/google/apis/taskqueue_v1beta2/service.rb +0 -409
@@ -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_v2/service.rb'
16
+ require 'google/apis/jobs_v2/classes.rb'
17
+ require 'google/apis/jobs_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Job Discovery
22
+ #
23
+ # Cloud Job Discovery 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/job-discovery/docs
27
+ module JobsV2
28
+ VERSION = 'V2'
29
+ REVISION = '20180514'
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,3374 @@
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 JobsV2
24
+
25
+ # Input only.
26
+ # Batch delete jobs request.
27
+ class BatchDeleteJobsRequest
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Required.
31
+ # The filter string specifies the jobs to be deleted.
32
+ # Supported operator: =, AND
33
+ # The fields eligible for filtering are:
34
+ # * `companyName` (Required)
35
+ # * `requisitionId` (Required)
36
+ # Sample Query: companyName = "companies/123" AND requisitionId = "req-1"
37
+ # Corresponds to the JSON property `filter`
38
+ # @return [String]
39
+ attr_accessor :filter
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @filter = args[:filter] if args.key?(:filter)
48
+ end
49
+ end
50
+
51
+ # Represents starting and ending value of a range in double.
52
+ class BucketRange
53
+ include Google::Apis::Core::Hashable
54
+
55
+ # Starting value of the bucket range.
56
+ # Corresponds to the JSON property `from`
57
+ # @return [Float]
58
+ attr_accessor :from
59
+
60
+ # Ending value of the bucket range.
61
+ # Corresponds to the JSON property `to`
62
+ # @return [Float]
63
+ attr_accessor :to
64
+
65
+ def initialize(**args)
66
+ update!(**args)
67
+ end
68
+
69
+ # Update properties of this object
70
+ def update!(**args)
71
+ @from = args[:from] if args.key?(:from)
72
+ @to = args[:to] if args.key?(:to)
73
+ end
74
+ end
75
+
76
+ # Represents count of jobs within one bucket.
77
+ class BucketizedCount
78
+ include Google::Apis::Core::Hashable
79
+
80
+ # Number of jobs whose numeric field value fall into `range`.
81
+ # Corresponds to the JSON property `count`
82
+ # @return [Fixnum]
83
+ attr_accessor :count
84
+
85
+ # Represents starting and ending value of a range in double.
86
+ # Corresponds to the JSON property `range`
87
+ # @return [Google::Apis::JobsV2::BucketRange]
88
+ attr_accessor :range
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @count = args[:count] if args.key?(:count)
97
+ @range = args[:range] if args.key?(:range)
98
+ end
99
+ end
100
+
101
+ # Output only.
102
+ # Commute details related to this job.
103
+ class CommuteInfo
104
+ include Google::Apis::Core::Hashable
105
+
106
+ # Output only.
107
+ # A resource that represents a location with full geographic
108
+ # information.
109
+ # Corresponds to the JSON property `jobLocation`
110
+ # @return [Google::Apis::JobsV2::JobLocation]
111
+ attr_accessor :job_location
112
+
113
+ # Travel time to reach the job.
114
+ # Corresponds to the JSON property `travelDuration`
115
+ # @return [String]
116
+ attr_accessor :travel_duration
117
+
118
+ def initialize(**args)
119
+ update!(**args)
120
+ end
121
+
122
+ # Update properties of this object
123
+ def update!(**args)
124
+ @job_location = args[:job_location] if args.key?(:job_location)
125
+ @travel_duration = args[:travel_duration] if args.key?(:travel_duration)
126
+ end
127
+ end
128
+
129
+ # Input only.
130
+ # Parameters needed for commute search.
131
+ class CommutePreference
132
+ include Google::Apis::Core::Hashable
133
+
134
+ # Optional.
135
+ # If `true`, jobs without street level addresses may also be returned.
136
+ # For city level addresses, the city center is used. For state and coarser
137
+ # level addresses, text matching is used.
138
+ # If this field is set to `false` or is not specified, only jobs that include
139
+ # street level addresses will be returned by commute search.
140
+ # Corresponds to the JSON property `allowNonStreetLevelAddress`
141
+ # @return [Boolean]
142
+ attr_accessor :allow_non_street_level_address
143
+ alias_method :allow_non_street_level_address?, :allow_non_street_level_address
144
+
145
+ # Optional.
146
+ # The departure hour to use to calculate traffic impact. Accepts an
147
+ # integer between 0 and 23, representing the hour in the time zone of the
148
+ # start_location. Must not be present if road_traffic is specified.
149
+ # Corresponds to the JSON property `departureHourLocal`
150
+ # @return [Fixnum]
151
+ attr_accessor :departure_hour_local
152
+
153
+ # Required.
154
+ # The method of transportation for which to calculate the commute time.
155
+ # Corresponds to the JSON property `method`
156
+ # @return [String]
157
+ attr_accessor :method_prop
158
+
159
+ # Optional.
160
+ # Specifies the traffic density to use when caculating commute time.
161
+ # Must not be present if departure_hour_local is specified.
162
+ # Corresponds to the JSON property `roadTraffic`
163
+ # @return [String]
164
+ attr_accessor :road_traffic
165
+
166
+ # An object representing a latitude/longitude pair. This is expressed as a pair
167
+ # of doubles representing degrees latitude and degrees longitude. Unless
168
+ # specified otherwise, this must conform to the
169
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
170
+ # standard</a>. Values must be within normalized ranges.
171
+ # Corresponds to the JSON property `startLocation`
172
+ # @return [Google::Apis::JobsV2::LatLng]
173
+ attr_accessor :start_location
174
+
175
+ # Required.
176
+ # The maximum travel time in seconds. The maximum allowed value is `3600s`
177
+ # (one hour). Format is `123s`.
178
+ # Corresponds to the JSON property `travelTime`
179
+ # @return [String]
180
+ attr_accessor :travel_time
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @allow_non_street_level_address = args[:allow_non_street_level_address] if args.key?(:allow_non_street_level_address)
189
+ @departure_hour_local = args[:departure_hour_local] if args.key?(:departure_hour_local)
190
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
191
+ @road_traffic = args[:road_traffic] if args.key?(:road_traffic)
192
+ @start_location = args[:start_location] if args.key?(:start_location)
193
+ @travel_time = args[:travel_time] if args.key?(:travel_time)
194
+ end
195
+ end
196
+
197
+ # A Company resource represents a company in the service. A company is the
198
+ # entity that owns job listings, that is, the hiring entity responsible for
199
+ # employing applicants for the job position.
200
+ class Company
201
+ include Google::Apis::Core::Hashable
202
+
203
+ # Optional.
204
+ # The URL to employer's career site or careers page on the employer's web
205
+ # site.
206
+ # Corresponds to the JSON property `careerPageLink`
207
+ # @return [String]
208
+ attr_accessor :career_page_link
209
+
210
+ # Optional.
211
+ # Identifiers external to the application that help to further identify
212
+ # the employer.
213
+ # Corresponds to the JSON property `companyInfoSources`
214
+ # @return [Array<Google::Apis::JobsV2::CompanyInfoSource>]
215
+ attr_accessor :company_info_sources
216
+
217
+ # Optional.
218
+ # The employer's company size.
219
+ # Corresponds to the JSON property `companySize`
220
+ # @return [String]
221
+ attr_accessor :company_size
222
+
223
+ # Deprecated. Do not use this field.
224
+ # Optional.
225
+ # This field is no longer used. Any value set to it is ignored.
226
+ # Corresponds to the JSON property `disableLocationOptimization`
227
+ # @return [Boolean]
228
+ attr_accessor :disable_location_optimization
229
+ alias_method :disable_location_optimization?, :disable_location_optimization
230
+
231
+ # Required.
232
+ # The name of the employer to be displayed with the job,
233
+ # for example, "Google, LLC.".
234
+ # Corresponds to the JSON property `displayName`
235
+ # @return [String]
236
+ attr_accessor :display_name
237
+
238
+ # Optional.
239
+ # The unique company identifier provided by the client to identify an
240
+ # employer for billing purposes. Recommended practice is to use
241
+ # the distributor_company_id.
242
+ # Defaults to same value as distributor_company_id when a value
243
+ # is not provided.
244
+ # Corresponds to the JSON property `distributorBillingCompanyId`
245
+ # @return [String]
246
+ attr_accessor :distributor_billing_company_id
247
+
248
+ # Required.
249
+ # A client's company identifier, used to uniquely identify the
250
+ # company. If an employer has a subsidiary or sub-brand, such as "Alphabet"
251
+ # and "Google", which the client wishes to use as the company displayed on
252
+ # the job. Best practice is to create a distinct company identifier for each
253
+ # distinct brand displayed.
254
+ # Corresponds to the JSON property `distributorCompanyId`
255
+ # @return [String]
256
+ attr_accessor :distributor_company_id
257
+
258
+ # Optional.
259
+ # Equal Employment Opportunity legal disclaimer text to be
260
+ # associated with all jobs, and typically to be displayed in all
261
+ # roles.
262
+ # The maximum number of allowed characters is 500.
263
+ # Corresponds to the JSON property `eeoText`
264
+ # @return [String]
265
+ attr_accessor :eeo_text
266
+
267
+ # Optional.
268
+ # Set to true if it is the hiring agency that post jobs for other
269
+ # employers.
270
+ # Defaults to false if not provided.
271
+ # Corresponds to the JSON property `hiringAgency`
272
+ # @return [Boolean]
273
+ attr_accessor :hiring_agency
274
+ alias_method :hiring_agency?, :hiring_agency
275
+
276
+ # Optional.
277
+ # The street address of the company's main headquarters, which may be
278
+ # different from the job location. The service attempts
279
+ # to geolocate the provided address, and populates a more specific
280
+ # location wherever possible in structured_company_hq_location.
281
+ # Corresponds to the JSON property `hqLocation`
282
+ # @return [String]
283
+ attr_accessor :hq_location
284
+
285
+ # Optional.
286
+ # A URL that hosts the employer's company logo. If provided,
287
+ # the logo image should be squared at 80x80 pixels.
288
+ # The url must be a Google Photos or Google Album url.
289
+ # Only images in these Google sub-domains are accepted.
290
+ # Corresponds to the JSON property `imageUrl`
291
+ # @return [String]
292
+ attr_accessor :image_url
293
+
294
+ # Optional.
295
+ # A list of keys of filterable Job.custom_attributes, whose
296
+ # corresponding `string_values` are used in keyword search. Jobs with
297
+ # `string_values` under these specified field keys are returned if any
298
+ # of the values matches the search keyword.
299
+ # Corresponds to the JSON property `keywordSearchableCustomAttributes`
300
+ # @return [Array<String>]
301
+ attr_accessor :keyword_searchable_custom_attributes
302
+
303
+ # Deprecated. Use keyword_searchable_custom_attributes instead.
304
+ # Optional.
305
+ # A list of filterable custom fields that should be used in keyword
306
+ # search. The jobs of this company are returned if any of these custom
307
+ # fields matches the search keyword.
308
+ # Corresponds to the JSON property `keywordSearchableCustomFields`
309
+ # @return [Array<Fixnum>]
310
+ attr_accessor :keyword_searchable_custom_fields
311
+
312
+ # Required during company update.
313
+ # The resource name for a company. This is generated by the service when a
314
+ # company is created, for example,
315
+ # "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd".
316
+ # Corresponds to the JSON property `name`
317
+ # @return [String]
318
+ attr_accessor :name
319
+
320
+ # Output only.
321
+ # A resource that represents a location with full geographic
322
+ # information.
323
+ # Corresponds to the JSON property `structuredCompanyHqLocation`
324
+ # @return [Google::Apis::JobsV2::JobLocation]
325
+ attr_accessor :structured_company_hq_location
326
+
327
+ # Output only.
328
+ # Indicates whether a company is flagged to be suspended from public
329
+ # availability by the service when job content appears suspicious,
330
+ # abusive, or spammy.
331
+ # Corresponds to the JSON property `suspended`
332
+ # @return [Boolean]
333
+ attr_accessor :suspended
334
+ alias_method :suspended?, :suspended
335
+
336
+ # Deprecated. Use display_name instead.
337
+ # Required.
338
+ # The name of the employer to be displayed with the job,
339
+ # for example, "Google, LLC.".
340
+ # Corresponds to the JSON property `title`
341
+ # @return [String]
342
+ attr_accessor :title
343
+
344
+ # Optional.
345
+ # The URL representing the company's primary web site or home page,
346
+ # such as, "www.google.com".
347
+ # Corresponds to the JSON property `website`
348
+ # @return [String]
349
+ attr_accessor :website
350
+
351
+ def initialize(**args)
352
+ update!(**args)
353
+ end
354
+
355
+ # Update properties of this object
356
+ def update!(**args)
357
+ @career_page_link = args[:career_page_link] if args.key?(:career_page_link)
358
+ @company_info_sources = args[:company_info_sources] if args.key?(:company_info_sources)
359
+ @company_size = args[:company_size] if args.key?(:company_size)
360
+ @disable_location_optimization = args[:disable_location_optimization] if args.key?(:disable_location_optimization)
361
+ @display_name = args[:display_name] if args.key?(:display_name)
362
+ @distributor_billing_company_id = args[:distributor_billing_company_id] if args.key?(:distributor_billing_company_id)
363
+ @distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id)
364
+ @eeo_text = args[:eeo_text] if args.key?(:eeo_text)
365
+ @hiring_agency = args[:hiring_agency] if args.key?(:hiring_agency)
366
+ @hq_location = args[:hq_location] if args.key?(:hq_location)
367
+ @image_url = args[:image_url] if args.key?(:image_url)
368
+ @keyword_searchable_custom_attributes = args[:keyword_searchable_custom_attributes] if args.key?(:keyword_searchable_custom_attributes)
369
+ @keyword_searchable_custom_fields = args[:keyword_searchable_custom_fields] if args.key?(:keyword_searchable_custom_fields)
370
+ @name = args[:name] if args.key?(:name)
371
+ @structured_company_hq_location = args[:structured_company_hq_location] if args.key?(:structured_company_hq_location)
372
+ @suspended = args[:suspended] if args.key?(:suspended)
373
+ @title = args[:title] if args.key?(:title)
374
+ @website = args[:website] if args.key?(:website)
375
+ end
376
+ end
377
+
378
+ # A resource that represents an external Google identifier for a company,
379
+ # for example, a Google+ business page or a Google Maps business page.
380
+ # For unsupported types, use `unknown_type_id`.
381
+ class CompanyInfoSource
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # Optional.
385
+ # The Google's Knowledge Graph value for the employer's company.
386
+ # Corresponds to the JSON property `freebaseMid`
387
+ # @return [String]
388
+ attr_accessor :freebase_mid
389
+
390
+ # Optional.
391
+ # The numeric identifier for the employer's Google+ business page.
392
+ # Corresponds to the JSON property `gplusId`
393
+ # @return [String]
394
+ attr_accessor :gplus_id
395
+
396
+ # Optional.
397
+ # The numeric identifier for the employer's headquarters on Google Maps,
398
+ # namely, the Google Maps CID (cell id).
399
+ # Corresponds to the JSON property `mapsCid`
400
+ # @return [String]
401
+ attr_accessor :maps_cid
402
+
403
+ # Optional.
404
+ # A Google identifier that does not match any of the other types.
405
+ # Corresponds to the JSON property `unknownTypeId`
406
+ # @return [String]
407
+ attr_accessor :unknown_type_id
408
+
409
+ def initialize(**args)
410
+ update!(**args)
411
+ end
412
+
413
+ # Update properties of this object
414
+ def update!(**args)
415
+ @freebase_mid = args[:freebase_mid] if args.key?(:freebase_mid)
416
+ @gplus_id = args[:gplus_id] if args.key?(:gplus_id)
417
+ @maps_cid = args[:maps_cid] if args.key?(:maps_cid)
418
+ @unknown_type_id = args[:unknown_type_id] if args.key?(:unknown_type_id)
419
+ end
420
+ end
421
+
422
+ # A compensation entry that represents one component of compensation, such
423
+ # as base pay, bonus, or other compensation type.
424
+ # Annualization: One compensation entry can be annualized if
425
+ # - it contains valid amount or range.
426
+ # - and its expected_units_per_year is set or can be derived.
427
+ # Its annualized range is determined as (amount or range) times
428
+ # expected_units_per_year.
429
+ class CompensationEntry
430
+ include Google::Apis::Core::Hashable
431
+
432
+ # Represents an amount of money with its currency type.
433
+ # Corresponds to the JSON property `amount`
434
+ # @return [Google::Apis::JobsV2::Money]
435
+ attr_accessor :amount
436
+
437
+ # Optional.
438
+ # Compensation description. For example, could
439
+ # indicate equity terms or provide additional context to an estimated
440
+ # bonus.
441
+ # Corresponds to the JSON property `description`
442
+ # @return [String]
443
+ attr_accessor :description
444
+
445
+ # Optional.
446
+ # Expected number of units paid each year. If not specified, when
447
+ # Job.employment_types is FULLTIME, a default value is inferred
448
+ # based on unit. Default values:
449
+ # - HOURLY: 2080
450
+ # - DAILY: 260
451
+ # - WEEKLY: 52
452
+ # - MONTHLY: 12
453
+ # - ANNUAL: 1
454
+ # Corresponds to the JSON property `expectedUnitsPerYear`
455
+ # @return [Float]
456
+ attr_accessor :expected_units_per_year
457
+
458
+ # Compensation range.
459
+ # Corresponds to the JSON property `range`
460
+ # @return [Google::Apis::JobsV2::CompensationRange]
461
+ attr_accessor :range
462
+
463
+ # Required.
464
+ # Compensation type.
465
+ # Corresponds to the JSON property `type`
466
+ # @return [String]
467
+ attr_accessor :type
468
+
469
+ # Optional.
470
+ # Frequency of the specified amount.
471
+ # Default is CompensationUnit.OTHER_COMPENSATION_UNIT.
472
+ # Corresponds to the JSON property `unit`
473
+ # @return [String]
474
+ attr_accessor :unit
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @amount = args[:amount] if args.key?(:amount)
483
+ @description = args[:description] if args.key?(:description)
484
+ @expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year)
485
+ @range = args[:range] if args.key?(:range)
486
+ @type = args[:type] if args.key?(:type)
487
+ @unit = args[:unit] if args.key?(:unit)
488
+ end
489
+ end
490
+
491
+ # Input only.
492
+ # Filter on job compensation type and amount.
493
+ class CompensationFilter
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # Optional.
497
+ # Whether to include jobs whose compensation range is unspecified.
498
+ # Corresponds to the JSON property `includeJobsWithUnspecifiedCompensationRange`
499
+ # @return [Boolean]
500
+ attr_accessor :include_jobs_with_unspecified_compensation_range
501
+ alias_method :include_jobs_with_unspecified_compensation_range?, :include_jobs_with_unspecified_compensation_range
502
+
503
+ # Compensation range.
504
+ # Corresponds to the JSON property `range`
505
+ # @return [Google::Apis::JobsV2::CompensationRange]
506
+ attr_accessor :range
507
+
508
+ # Required.
509
+ # Type of filter.
510
+ # Corresponds to the JSON property `type`
511
+ # @return [String]
512
+ attr_accessor :type
513
+
514
+ # Required.
515
+ # Specify desired ** base compensation entry's **
516
+ # CompensationInfo.CompensationUnit.
517
+ # Corresponds to the JSON property `units`
518
+ # @return [Array<String>]
519
+ attr_accessor :units
520
+
521
+ def initialize(**args)
522
+ update!(**args)
523
+ end
524
+
525
+ # Update properties of this object
526
+ def update!(**args)
527
+ @include_jobs_with_unspecified_compensation_range = args[:include_jobs_with_unspecified_compensation_range] if args.key?(:include_jobs_with_unspecified_compensation_range)
528
+ @range = args[:range] if args.key?(:range)
529
+ @type = args[:type] if args.key?(:type)
530
+ @units = args[:units] if args.key?(:units)
531
+ end
532
+ end
533
+
534
+ # Input only.
535
+ # Compensation based histogram request.
536
+ class CompensationHistogramRequest
537
+ include Google::Apis::Core::Hashable
538
+
539
+ # Input only.
540
+ # Use this field to specify bucketing option for the histogram search response.
541
+ # Corresponds to the JSON property `bucketingOption`
542
+ # @return [Google::Apis::JobsV2::NumericBucketingOption]
543
+ attr_accessor :bucketing_option
544
+
545
+ # Required.
546
+ # Type of the request, representing which field the histogramming should be
547
+ # performed over. A single request can only specify one histogram of each
548
+ # `CompensationHistogramRequestType`.
549
+ # Corresponds to the JSON property `type`
550
+ # @return [String]
551
+ attr_accessor :type
552
+
553
+ def initialize(**args)
554
+ update!(**args)
555
+ end
556
+
557
+ # Update properties of this object
558
+ def update!(**args)
559
+ @bucketing_option = args[:bucketing_option] if args.key?(:bucketing_option)
560
+ @type = args[:type] if args.key?(:type)
561
+ end
562
+ end
563
+
564
+ # Output only.
565
+ # Compensation based histogram result.
566
+ class CompensationHistogramResult
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # Output only.
570
+ # Custom numeric bucketing result.
571
+ # Corresponds to the JSON property `result`
572
+ # @return [Google::Apis::JobsV2::NumericBucketingResult]
573
+ attr_accessor :result
574
+
575
+ # Type of the request, corresponding to
576
+ # CompensationHistogramRequest.type.
577
+ # Corresponds to the JSON property `type`
578
+ # @return [String]
579
+ attr_accessor :type
580
+
581
+ def initialize(**args)
582
+ update!(**args)
583
+ end
584
+
585
+ # Update properties of this object
586
+ def update!(**args)
587
+ @result = args[:result] if args.key?(:result)
588
+ @type = args[:type] if args.key?(:type)
589
+ end
590
+ end
591
+
592
+ # Job compensation details.
593
+ class CompensationInfo
594
+ include Google::Apis::Core::Hashable
595
+
596
+ # Represents an amount of money with its currency type.
597
+ # Corresponds to the JSON property `amount`
598
+ # @return [Google::Apis::JobsV2::Money]
599
+ attr_accessor :amount
600
+
601
+ # Compensation range.
602
+ # Corresponds to the JSON property `annualizedBaseCompensationRange`
603
+ # @return [Google::Apis::JobsV2::CompensationRange]
604
+ attr_accessor :annualized_base_compensation_range
605
+
606
+ # Compensation range.
607
+ # Corresponds to the JSON property `annualizedTotalCompensationRange`
608
+ # @return [Google::Apis::JobsV2::CompensationRange]
609
+ attr_accessor :annualized_total_compensation_range
610
+
611
+ # Optional.
612
+ # Job compensation information.
613
+ # At most one entry can be of type
614
+ # CompensationInfo.CompensationType.BASE, which is
615
+ # referred as ** base compensation entry ** for the job.
616
+ # Corresponds to the JSON property `entries`
617
+ # @return [Array<Google::Apis::JobsV2::CompensationEntry>]
618
+ attr_accessor :entries
619
+
620
+ # Represents an amount of money with its currency type.
621
+ # Corresponds to the JSON property `max`
622
+ # @return [Google::Apis::JobsV2::Money]
623
+ attr_accessor :max
624
+
625
+ # Represents an amount of money with its currency type.
626
+ # Corresponds to the JSON property `min`
627
+ # @return [Google::Apis::JobsV2::Money]
628
+ attr_accessor :min
629
+
630
+ # Deprecated. Use entries instead.
631
+ # Optional.
632
+ # Type of job compensation.
633
+ # Corresponds to the JSON property `type`
634
+ # @return [String]
635
+ attr_accessor :type
636
+
637
+ def initialize(**args)
638
+ update!(**args)
639
+ end
640
+
641
+ # Update properties of this object
642
+ def update!(**args)
643
+ @amount = args[:amount] if args.key?(:amount)
644
+ @annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range)
645
+ @annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range)
646
+ @entries = args[:entries] if args.key?(:entries)
647
+ @max = args[:max] if args.key?(:max)
648
+ @min = args[:min] if args.key?(:min)
649
+ @type = args[:type] if args.key?(:type)
650
+ end
651
+ end
652
+
653
+ # Compensation range.
654
+ class CompensationRange
655
+ include Google::Apis::Core::Hashable
656
+
657
+ # Represents an amount of money with its currency type.
658
+ # Corresponds to the JSON property `max`
659
+ # @return [Google::Apis::JobsV2::Money]
660
+ attr_accessor :max
661
+
662
+ # Represents an amount of money with its currency type.
663
+ # Corresponds to the JSON property `min`
664
+ # @return [Google::Apis::JobsV2::Money]
665
+ attr_accessor :min
666
+
667
+ def initialize(**args)
668
+ update!(**args)
669
+ end
670
+
671
+ # Update properties of this object
672
+ def update!(**args)
673
+ @max = args[:max] if args.key?(:max)
674
+ @min = args[:min] if args.key?(:min)
675
+ end
676
+ end
677
+
678
+ # Output only.
679
+ # Response of auto-complete query.
680
+ class CompleteQueryResponse
681
+ include Google::Apis::Core::Hashable
682
+
683
+ # Results of the matching job/company candidates.
684
+ # Corresponds to the JSON property `completionResults`
685
+ # @return [Array<Google::Apis::JobsV2::CompletionResult>]
686
+ attr_accessor :completion_results
687
+
688
+ # Output only.
689
+ # Additional information returned to client, such as debugging
690
+ # information.
691
+ # Corresponds to the JSON property `metadata`
692
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
693
+ attr_accessor :metadata
694
+
695
+ def initialize(**args)
696
+ update!(**args)
697
+ end
698
+
699
+ # Update properties of this object
700
+ def update!(**args)
701
+ @completion_results = args[:completion_results] if args.key?(:completion_results)
702
+ @metadata = args[:metadata] if args.key?(:metadata)
703
+ end
704
+ end
705
+
706
+ # Output only.
707
+ # Resource that represents completion results.
708
+ class CompletionResult
709
+ include Google::Apis::Core::Hashable
710
+
711
+ # The URL for the company logo if `type=COMPANY_NAME`.
712
+ # Corresponds to the JSON property `imageUrl`
713
+ # @return [String]
714
+ attr_accessor :image_url
715
+
716
+ # The suggestion for the query.
717
+ # Corresponds to the JSON property `suggestion`
718
+ # @return [String]
719
+ attr_accessor :suggestion
720
+
721
+ # The completion topic.
722
+ # Corresponds to the JSON property `type`
723
+ # @return [String]
724
+ attr_accessor :type
725
+
726
+ def initialize(**args)
727
+ update!(**args)
728
+ end
729
+
730
+ # Update properties of this object
731
+ def update!(**args)
732
+ @image_url = args[:image_url] if args.key?(:image_url)
733
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
734
+ @type = args[:type] if args.key?(:type)
735
+ end
736
+ end
737
+
738
+ # Input only.
739
+ # Create job request.
740
+ class CreateJobRequest
741
+ include Google::Apis::Core::Hashable
742
+
743
+ # If set to `true`, the service will not attempt to resolve a
744
+ # more precise address for the job.
745
+ # Corresponds to the JSON property `disableStreetAddressResolution`
746
+ # @return [Boolean]
747
+ attr_accessor :disable_street_address_resolution
748
+ alias_method :disable_street_address_resolution?, :disable_street_address_resolution
749
+
750
+ # A Job resource represents a job posting (also referred to as a "job listing"
751
+ # or "job requisition"). A job belongs to a Company, which is the hiring
752
+ # entity responsible for the job.
753
+ # Corresponds to the JSON property `job`
754
+ # @return [Google::Apis::JobsV2::Job]
755
+ attr_accessor :job
756
+
757
+ def initialize(**args)
758
+ update!(**args)
759
+ end
760
+
761
+ # Update properties of this object
762
+ def update!(**args)
763
+ @disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution)
764
+ @job = args[:job] if args.key?(:job)
765
+ end
766
+ end
767
+
768
+ # Custom attribute values that are either filterable or non-filterable.
769
+ class CustomAttribute
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # Optional.
773
+ # If the `filterable` flag is true, custom field values are searchable.
774
+ # If false, values are not searchable.
775
+ # Default is false.
776
+ # Corresponds to the JSON property `filterable`
777
+ # @return [Boolean]
778
+ attr_accessor :filterable
779
+ alias_method :filterable?, :filterable
780
+
781
+ # Optional but at least one of string_values or long_value must
782
+ # be specified.
783
+ # This field is used to perform number range search.
784
+ # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. For
785
+ # `long_value`, a value between Long.MIN and Long.MIN is allowed.
786
+ # Corresponds to the JSON property `longValue`
787
+ # @return [Fixnum]
788
+ attr_accessor :long_value
789
+
790
+ # Represents array of string values.
791
+ # Corresponds to the JSON property `stringValues`
792
+ # @return [Google::Apis::JobsV2::StringValues]
793
+ attr_accessor :string_values
794
+
795
+ def initialize(**args)
796
+ update!(**args)
797
+ end
798
+
799
+ # Update properties of this object
800
+ def update!(**args)
801
+ @filterable = args[:filterable] if args.key?(:filterable)
802
+ @long_value = args[:long_value] if args.key?(:long_value)
803
+ @string_values = args[:string_values] if args.key?(:string_values)
804
+ end
805
+ end
806
+
807
+ # Custom attributes histogram request. An error will be thrown if neither
808
+ # string_value_histogram or long_value_histogram_bucketing_option has
809
+ # been defined.
810
+ class CustomAttributeHistogramRequest
811
+ include Google::Apis::Core::Hashable
812
+
813
+ # Required.
814
+ # Specifies the custom field key to perform a histogram on. If
815
+ # specified without `long_value_buckets` or `long_value_min_max`, a
816
+ # histogram on string values of the given `key` is triggered,
817
+ # otherwise histogram is performed on long values.
818
+ # Corresponds to the JSON property `key`
819
+ # @return [String]
820
+ attr_accessor :key
821
+
822
+ # Input only.
823
+ # Use this field to specify bucketing option for the histogram search response.
824
+ # Corresponds to the JSON property `longValueHistogramBucketingOption`
825
+ # @return [Google::Apis::JobsV2::NumericBucketingOption]
826
+ attr_accessor :long_value_histogram_bucketing_option
827
+
828
+ # Optional. If set to true, the response will include the histogram value for
829
+ # each key as a string.
830
+ # Corresponds to the JSON property `stringValueHistogram`
831
+ # @return [Boolean]
832
+ attr_accessor :string_value_histogram
833
+ alias_method :string_value_histogram?, :string_value_histogram
834
+
835
+ def initialize(**args)
836
+ update!(**args)
837
+ end
838
+
839
+ # Update properties of this object
840
+ def update!(**args)
841
+ @key = args[:key] if args.key?(:key)
842
+ @long_value_histogram_bucketing_option = args[:long_value_histogram_bucketing_option] if args.key?(:long_value_histogram_bucketing_option)
843
+ @string_value_histogram = args[:string_value_histogram] if args.key?(:string_value_histogram)
844
+ end
845
+ end
846
+
847
+ # Output only.
848
+ # Custom attribute histogram result.
849
+ class CustomAttributeHistogramResult
850
+ include Google::Apis::Core::Hashable
851
+
852
+ # Stores the key of custom attribute the histogram is performed on.
853
+ # Corresponds to the JSON property `key`
854
+ # @return [String]
855
+ attr_accessor :key
856
+
857
+ # Output only.
858
+ # Custom numeric bucketing result.
859
+ # Corresponds to the JSON property `longValueHistogramResult`
860
+ # @return [Google::Apis::JobsV2::NumericBucketingResult]
861
+ attr_accessor :long_value_histogram_result
862
+
863
+ # Stores a map from the values of string custom field associated
864
+ # with `key` to the number of jobs with that value in this histogram result.
865
+ # Corresponds to the JSON property `stringValueHistogramResult`
866
+ # @return [Hash<String,Fixnum>]
867
+ attr_accessor :string_value_histogram_result
868
+
869
+ def initialize(**args)
870
+ update!(**args)
871
+ end
872
+
873
+ # Update properties of this object
874
+ def update!(**args)
875
+ @key = args[:key] if args.key?(:key)
876
+ @long_value_histogram_result = args[:long_value_histogram_result] if args.key?(:long_value_histogram_result)
877
+ @string_value_histogram_result = args[:string_value_histogram_result] if args.key?(:string_value_histogram_result)
878
+ end
879
+ end
880
+
881
+ # Resource that represents the custom data not captured by the standard fields.
882
+ class CustomField
883
+ include Google::Apis::Core::Hashable
884
+
885
+ # Optional.
886
+ # The values of the custom data.
887
+ # Corresponds to the JSON property `values`
888
+ # @return [Array<String>]
889
+ attr_accessor :values
890
+
891
+ def initialize(**args)
892
+ update!(**args)
893
+ end
894
+
895
+ # Update properties of this object
896
+ def update!(**args)
897
+ @values = args[:values] if args.key?(:values)
898
+ end
899
+ end
900
+
901
+ # Input only.
902
+ # Custom field filter of the search.
903
+ class CustomFieldFilter
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # Required.
907
+ # The query strings for the filter.
908
+ # Corresponds to the JSON property `queries`
909
+ # @return [Array<String>]
910
+ attr_accessor :queries
911
+
912
+ # Optional.
913
+ # The type of filter.
914
+ # Defaults to FilterType.OR.
915
+ # Corresponds to the JSON property `type`
916
+ # @return [String]
917
+ attr_accessor :type
918
+
919
+ def initialize(**args)
920
+ update!(**args)
921
+ end
922
+
923
+ # Update properties of this object
924
+ def update!(**args)
925
+ @queries = args[:queries] if args.key?(:queries)
926
+ @type = args[:type] if args.key?(:type)
927
+ end
928
+ end
929
+
930
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
931
+ # time zone are either specified elsewhere or are not significant. The date
932
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
933
+ # represent a year and month where the day is not significant, e.g. credit card
934
+ # expiration date. The year may be 0 to represent a month and day independent
935
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
936
+ # and `google.protobuf.Timestamp`.
937
+ class Date
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
941
+ # if specifying a year/month where the day is not significant.
942
+ # Corresponds to the JSON property `day`
943
+ # @return [Fixnum]
944
+ attr_accessor :day
945
+
946
+ # Month of year. Must be from 1 to 12, or 0 if specifying a date without a
947
+ # month.
948
+ # Corresponds to the JSON property `month`
949
+ # @return [Fixnum]
950
+ attr_accessor :month
951
+
952
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
953
+ # a year.
954
+ # Corresponds to the JSON property `year`
955
+ # @return [Fixnum]
956
+ attr_accessor :year
957
+
958
+ def initialize(**args)
959
+ update!(**args)
960
+ end
961
+
962
+ # Update properties of this object
963
+ def update!(**args)
964
+ @day = args[:day] if args.key?(:day)
965
+ @month = args[:month] if args.key?(:month)
966
+ @year = args[:year] if args.key?(:year)
967
+ end
968
+ end
969
+
970
+ # Deprecated. Use BatchDeleteJobsRequest instead.
971
+ # Input only.
972
+ # Delete job by filter request.
973
+ # The job typically becomes unsearchable within 10 seconds, but it may take
974
+ # up to 5 minutes.
975
+ class DeleteJobsByFilterRequest
976
+ include Google::Apis::Core::Hashable
977
+
978
+ # Optional.
979
+ # If set to true, this call waits for all processing steps to complete
980
+ # before the job is cleaned up. Otherwise, the call returns while some
981
+ # steps are still taking place asynchronously, hence faster.
982
+ # Corresponds to the JSON property `disableFastProcess`
983
+ # @return [Boolean]
984
+ attr_accessor :disable_fast_process
985
+ alias_method :disable_fast_process?, :disable_fast_process
986
+
987
+ # Deprecated. Use BatchDeleteJobsRequest instead.
988
+ # Input only.
989
+ # Filter for jobs to be deleted.
990
+ # Corresponds to the JSON property `filter`
991
+ # @return [Google::Apis::JobsV2::Filter]
992
+ attr_accessor :filter
993
+
994
+ def initialize(**args)
995
+ update!(**args)
996
+ end
997
+
998
+ # Update properties of this object
999
+ def update!(**args)
1000
+ @disable_fast_process = args[:disable_fast_process] if args.key?(:disable_fast_process)
1001
+ @filter = args[:filter] if args.key?(:filter)
1002
+ end
1003
+ end
1004
+
1005
+ # Input only.
1006
+ # Device information collected from the job searcher, candidate, or
1007
+ # other entity conducting the job search. Providing this information improves
1008
+ # the quality of the search results across devices.
1009
+ class DeviceInfo
1010
+ include Google::Apis::Core::Hashable
1011
+
1012
+ # Optional.
1013
+ # Type of the device.
1014
+ # Corresponds to the JSON property `deviceType`
1015
+ # @return [String]
1016
+ attr_accessor :device_type
1017
+
1018
+ # Optional.
1019
+ # A device-specific ID. It must be a unique identifier, which distinguishes
1020
+ # the device from other devices.
1021
+ # Corresponds to the JSON property `id`
1022
+ # @return [String]
1023
+ attr_accessor :id
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @device_type = args[:device_type] if args.key?(:device_type)
1032
+ @id = args[:id] if args.key?(:id)
1033
+ end
1034
+ end
1035
+
1036
+ # A generic empty message that you can re-use to avoid defining duplicated
1037
+ # empty messages in your APIs. A typical example is to use it as the request
1038
+ # or the response type of an API method. For instance:
1039
+ # service Foo `
1040
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1041
+ # `
1042
+ # The JSON representation for `Empty` is empty JSON object ````.
1043
+ class Empty
1044
+ include Google::Apis::Core::Hashable
1045
+
1046
+ def initialize(**args)
1047
+ update!(**args)
1048
+ end
1049
+
1050
+ # Update properties of this object
1051
+ def update!(**args)
1052
+ end
1053
+ end
1054
+
1055
+ # Deprecated. Always use CompensationFilter.
1056
+ # Input only.
1057
+ # Filter on job compensation type and amount.
1058
+ class ExtendedCompensationFilter
1059
+ include Google::Apis::Core::Hashable
1060
+
1061
+ # Deprecated. See CompensationInfo.
1062
+ # Compensation range.
1063
+ # Corresponds to the JSON property `compensationRange`
1064
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
1065
+ attr_accessor :compensation_range
1066
+
1067
+ # Required.
1068
+ # Specify desired ** base compensation entry's **
1069
+ # ExtendedCompensationInfo.CompensationUnit.
1070
+ # Corresponds to the JSON property `compensationUnits`
1071
+ # @return [Array<String>]
1072
+ attr_accessor :compensation_units
1073
+
1074
+ # Optional.
1075
+ # Specify currency in 3-letter
1076
+ # [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. If
1077
+ # unspecified, jobs are returned regardless of currency.
1078
+ # Corresponds to the JSON property `currency`
1079
+ # @return [String]
1080
+ attr_accessor :currency
1081
+
1082
+ # Optional.
1083
+ # Whether to include jobs whose compensation range is unspecified.
1084
+ # Corresponds to the JSON property `includeJobWithUnspecifiedCompensationRange`
1085
+ # @return [Boolean]
1086
+ attr_accessor :include_job_with_unspecified_compensation_range
1087
+ alias_method :include_job_with_unspecified_compensation_range?, :include_job_with_unspecified_compensation_range
1088
+
1089
+ # Required.
1090
+ # Type of filter.
1091
+ # Corresponds to the JSON property `type`
1092
+ # @return [String]
1093
+ attr_accessor :type
1094
+
1095
+ def initialize(**args)
1096
+ update!(**args)
1097
+ end
1098
+
1099
+ # Update properties of this object
1100
+ def update!(**args)
1101
+ @compensation_range = args[:compensation_range] if args.key?(:compensation_range)
1102
+ @compensation_units = args[:compensation_units] if args.key?(:compensation_units)
1103
+ @currency = args[:currency] if args.key?(:currency)
1104
+ @include_job_with_unspecified_compensation_range = args[:include_job_with_unspecified_compensation_range] if args.key?(:include_job_with_unspecified_compensation_range)
1105
+ @type = args[:type] if args.key?(:type)
1106
+ end
1107
+ end
1108
+
1109
+ # Deprecated. Use CompensationInfo.
1110
+ # Describes job compensation.
1111
+ class ExtendedCompensationInfo
1112
+ include Google::Apis::Core::Hashable
1113
+
1114
+ # Deprecated. See CompensationInfo.
1115
+ # Compensation range.
1116
+ # Corresponds to the JSON property `annualizedBaseCompensationRange`
1117
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
1118
+ attr_accessor :annualized_base_compensation_range
1119
+
1120
+ # Output only.
1121
+ # Indicates annualized base compensation range cannot be derived, due to
1122
+ # the job's base compensation entry cannot be annualized.
1123
+ # See CompensationEntry for explanation on annualization and base
1124
+ # compensation entry.
1125
+ # Corresponds to the JSON property `annualizedBaseCompensationUnspecified`
1126
+ # @return [Boolean]
1127
+ attr_accessor :annualized_base_compensation_unspecified
1128
+ alias_method :annualized_base_compensation_unspecified?, :annualized_base_compensation_unspecified
1129
+
1130
+ # Deprecated. See CompensationInfo.
1131
+ # Compensation range.
1132
+ # Corresponds to the JSON property `annualizedTotalCompensationRange`
1133
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
1134
+ attr_accessor :annualized_total_compensation_range
1135
+
1136
+ # Output only.
1137
+ # Indicates annualized total compensation range cannot be derived, due to
1138
+ # the job's all CompensationEntry cannot be annualized.
1139
+ # See CompensationEntry for explanation on annualization and base
1140
+ # compensation entry.
1141
+ # Corresponds to the JSON property `annualizedTotalCompensationUnspecified`
1142
+ # @return [Boolean]
1143
+ attr_accessor :annualized_total_compensation_unspecified
1144
+ alias_method :annualized_total_compensation_unspecified?, :annualized_total_compensation_unspecified
1145
+
1146
+ # Optional.
1147
+ # A 3-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)
1148
+ # currency code.
1149
+ # Corresponds to the JSON property `currency`
1150
+ # @return [String]
1151
+ attr_accessor :currency
1152
+
1153
+ # Optional.
1154
+ # Job compensation information.
1155
+ # At most one entry can be of type
1156
+ # ExtendedCompensationInfo.CompensationType.BASE, which is
1157
+ # referred as ** base compensation entry ** for the job.
1158
+ # Corresponds to the JSON property `entries`
1159
+ # @return [Array<Google::Apis::JobsV2::ExtendedCompensationInfoCompensationEntry>]
1160
+ attr_accessor :entries
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range)
1169
+ @annualized_base_compensation_unspecified = args[:annualized_base_compensation_unspecified] if args.key?(:annualized_base_compensation_unspecified)
1170
+ @annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range)
1171
+ @annualized_total_compensation_unspecified = args[:annualized_total_compensation_unspecified] if args.key?(:annualized_total_compensation_unspecified)
1172
+ @currency = args[:currency] if args.key?(:currency)
1173
+ @entries = args[:entries] if args.key?(:entries)
1174
+ end
1175
+ end
1176
+
1177
+ # Deprecated. See CompensationInfo.
1178
+ # A compensation entry that represents one component of compensation, such
1179
+ # as base pay, bonus, or other compensation type.
1180
+ # Annualization: One compensation entry can be annualized if
1181
+ # - it contains valid amount or range.
1182
+ # - and its expected_units_per_year is set or can be derived.
1183
+ # Its annualized range is determined as (amount or range) times
1184
+ # expected_units_per_year.
1185
+ class ExtendedCompensationInfoCompensationEntry
1186
+ include Google::Apis::Core::Hashable
1187
+
1188
+ # Deprecated. See CompensationInfo.
1189
+ # Decimal number.
1190
+ # Corresponds to the JSON property `amount`
1191
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
1192
+ attr_accessor :amount
1193
+
1194
+ # Optional.
1195
+ # Compensation description.
1196
+ # Corresponds to the JSON property `description`
1197
+ # @return [String]
1198
+ attr_accessor :description
1199
+
1200
+ # Deprecated. See CompensationInfo.
1201
+ # Decimal number.
1202
+ # Corresponds to the JSON property `expectedUnitsPerYear`
1203
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
1204
+ attr_accessor :expected_units_per_year
1205
+
1206
+ # Deprecated. See CompensationInfo.
1207
+ # Compensation range.
1208
+ # Corresponds to the JSON property `range`
1209
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange]
1210
+ attr_accessor :range
1211
+
1212
+ # Required.
1213
+ # Compensation type.
1214
+ # Corresponds to the JSON property `type`
1215
+ # @return [String]
1216
+ attr_accessor :type
1217
+
1218
+ # Optional.
1219
+ # Frequency of the specified amount.
1220
+ # Default is CompensationUnit.OTHER_COMPENSATION_UNIT.
1221
+ # Corresponds to the JSON property `unit`
1222
+ # @return [String]
1223
+ attr_accessor :unit
1224
+
1225
+ # Optional.
1226
+ # Indicates compensation amount and range are unset.
1227
+ # Corresponds to the JSON property `unspecified`
1228
+ # @return [Boolean]
1229
+ attr_accessor :unspecified
1230
+ alias_method :unspecified?, :unspecified
1231
+
1232
+ def initialize(**args)
1233
+ update!(**args)
1234
+ end
1235
+
1236
+ # Update properties of this object
1237
+ def update!(**args)
1238
+ @amount = args[:amount] if args.key?(:amount)
1239
+ @description = args[:description] if args.key?(:description)
1240
+ @expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year)
1241
+ @range = args[:range] if args.key?(:range)
1242
+ @type = args[:type] if args.key?(:type)
1243
+ @unit = args[:unit] if args.key?(:unit)
1244
+ @unspecified = args[:unspecified] if args.key?(:unspecified)
1245
+ end
1246
+ end
1247
+
1248
+ # Deprecated. See CompensationInfo.
1249
+ # Compensation range.
1250
+ class ExtendedCompensationInfoCompensationRange
1251
+ include Google::Apis::Core::Hashable
1252
+
1253
+ # Deprecated. See CompensationInfo.
1254
+ # Decimal number.
1255
+ # Corresponds to the JSON property `max`
1256
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
1257
+ attr_accessor :max
1258
+
1259
+ # Deprecated. See CompensationInfo.
1260
+ # Decimal number.
1261
+ # Corresponds to the JSON property `min`
1262
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal]
1263
+ attr_accessor :min
1264
+
1265
+ def initialize(**args)
1266
+ update!(**args)
1267
+ end
1268
+
1269
+ # Update properties of this object
1270
+ def update!(**args)
1271
+ @max = args[:max] if args.key?(:max)
1272
+ @min = args[:min] if args.key?(:min)
1273
+ end
1274
+ end
1275
+
1276
+ # Deprecated. See CompensationInfo.
1277
+ # Decimal number.
1278
+ class ExtendedCompensationInfoDecimal
1279
+ include Google::Apis::Core::Hashable
1280
+
1281
+ # Micro (10^-6) units.
1282
+ # The value must be between -999,999 and +999,999 inclusive.
1283
+ # If `units` is positive, `micros` must be positive or zero.
1284
+ # If `units` is zero, `micros` can be positive, zero, or negative.
1285
+ # If `units` is negative, `micros` must be negative or zero.
1286
+ # For example -1.75 is represented as `units`=-1 and `micros`=-750,000.
1287
+ # Corresponds to the JSON property `micros`
1288
+ # @return [Fixnum]
1289
+ attr_accessor :micros
1290
+
1291
+ # Whole units.
1292
+ # Corresponds to the JSON property `units`
1293
+ # @return [Fixnum]
1294
+ attr_accessor :units
1295
+
1296
+ def initialize(**args)
1297
+ update!(**args)
1298
+ end
1299
+
1300
+ # Update properties of this object
1301
+ def update!(**args)
1302
+ @micros = args[:micros] if args.key?(:micros)
1303
+ @units = args[:units] if args.key?(:units)
1304
+ end
1305
+ end
1306
+
1307
+ # Deprecated. Use BatchDeleteJobsRequest instead.
1308
+ # Input only.
1309
+ # Filter for jobs to be deleted.
1310
+ class Filter
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # Required.
1314
+ # The requisition ID (or posting ID) assigned by the client to identify a
1315
+ # job. This is intended for client identification and tracking of
1316
+ # listings.
1317
+ # name takes precedence over this field
1318
+ # The maximum number of allowed characters is 225.
1319
+ # Corresponds to the JSON property `requisitionId`
1320
+ # @return [String]
1321
+ attr_accessor :requisition_id
1322
+
1323
+ def initialize(**args)
1324
+ update!(**args)
1325
+ end
1326
+
1327
+ # Update properties of this object
1328
+ def update!(**args)
1329
+ @requisition_id = args[:requisition_id] if args.key?(:requisition_id)
1330
+ end
1331
+ end
1332
+
1333
+ # Deprecated. Use SearchJobsRequest.histogram_facets instead to make
1334
+ # a single call with both search and histogram.
1335
+ # Input only.
1336
+ # A request for the `GetHistogram` method.
1337
+ class GetHistogramRequest
1338
+ include Google::Apis::Core::Hashable
1339
+
1340
+ # Optional.
1341
+ # Controls whether to broaden the search to avoid too few results for a
1342
+ # given query in instances where a search has sparse results. Results from a
1343
+ # broadened query is a superset of the results from the original query.
1344
+ # Defaults to false.
1345
+ # Corresponds to the JSON property `allowBroadening`
1346
+ # @return [Boolean]
1347
+ attr_accessor :allow_broadening
1348
+ alias_method :allow_broadening?, :allow_broadening
1349
+
1350
+ # Input only.
1351
+ # Deprecated. Use JobQuery instead.
1352
+ # The filters required to perform a search query or histogram.
1353
+ # Corresponds to the JSON property `filters`
1354
+ # @return [Google::Apis::JobsV2::JobFilters]
1355
+ attr_accessor :filters
1356
+
1357
+ # Input only.
1358
+ # The query required to perform a search query or histogram.
1359
+ # Corresponds to the JSON property `query`
1360
+ # @return [Google::Apis::JobsV2::JobQuery]
1361
+ attr_accessor :query
1362
+
1363
+ # Input only.
1364
+ # Meta information related to the job searcher or entity
1365
+ # conducting the job search. This information is used to improve the
1366
+ # performance of the service.
1367
+ # Corresponds to the JSON property `requestMetadata`
1368
+ # @return [Google::Apis::JobsV2::RequestMetadata]
1369
+ attr_accessor :request_metadata
1370
+
1371
+ # Required.
1372
+ # A list of facets that specify the histogram data to be calculated
1373
+ # against and returned.
1374
+ # Histogram response times can be slow, and counts
1375
+ # can be approximations. This call may be temporarily or permanently removed
1376
+ # prior to the production release of Cloud Job Discovery.
1377
+ # Corresponds to the JSON property `searchTypes`
1378
+ # @return [Array<String>]
1379
+ attr_accessor :search_types
1380
+
1381
+ def initialize(**args)
1382
+ update!(**args)
1383
+ end
1384
+
1385
+ # Update properties of this object
1386
+ def update!(**args)
1387
+ @allow_broadening = args[:allow_broadening] if args.key?(:allow_broadening)
1388
+ @filters = args[:filters] if args.key?(:filters)
1389
+ @query = args[:query] if args.key?(:query)
1390
+ @request_metadata = args[:request_metadata] if args.key?(:request_metadata)
1391
+ @search_types = args[:search_types] if args.key?(:search_types)
1392
+ end
1393
+ end
1394
+
1395
+ # Deprecated. Use SearchJobsRequest.histogram_facets instead to make
1396
+ # a single call with both search and histogram.
1397
+ # Output only.
1398
+ # The response of the GetHistogram method.
1399
+ class GetHistogramResponse
1400
+ include Google::Apis::Core::Hashable
1401
+
1402
+ # Output only.
1403
+ # Additional information returned to client, such as debugging
1404
+ # information.
1405
+ # Corresponds to the JSON property `metadata`
1406
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
1407
+ attr_accessor :metadata
1408
+
1409
+ # The Histogram results.
1410
+ # Corresponds to the JSON property `results`
1411
+ # @return [Array<Google::Apis::JobsV2::HistogramResult>]
1412
+ attr_accessor :results
1413
+
1414
+ def initialize(**args)
1415
+ update!(**args)
1416
+ end
1417
+
1418
+ # Update properties of this object
1419
+ def update!(**args)
1420
+ @metadata = args[:metadata] if args.key?(:metadata)
1421
+ @results = args[:results] if args.key?(:results)
1422
+ end
1423
+ end
1424
+
1425
+ # Input only.
1426
+ # Histogram facets to be specified in SearchJobsRequest.
1427
+ class HistogramFacets
1428
+ include Google::Apis::Core::Hashable
1429
+
1430
+ # Optional.
1431
+ # Specifies compensation field-based histogram requests.
1432
+ # Duplicate CompensationHistogramRequest.types are not allowed.
1433
+ # Corresponds to the JSON property `compensationHistogramFacets`
1434
+ # @return [Array<Google::Apis::JobsV2::CompensationHistogramRequest>]
1435
+ attr_accessor :compensation_histogram_facets
1436
+
1437
+ # Optional.
1438
+ # Specifies the custom attributes histogram requests.
1439
+ # Duplicate CustomAttributeHistogramRequest.keys are not allowed.
1440
+ # Corresponds to the JSON property `customAttributeHistogramFacets`
1441
+ # @return [Array<Google::Apis::JobsV2::CustomAttributeHistogramRequest>]
1442
+ attr_accessor :custom_attribute_histogram_facets
1443
+
1444
+ # Optional. Specifies the simple type of histogram facets, e.g,
1445
+ # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent to
1446
+ # GetHistogramRequest.
1447
+ # Corresponds to the JSON property `simpleHistogramFacets`
1448
+ # @return [Array<String>]
1449
+ attr_accessor :simple_histogram_facets
1450
+
1451
+ def initialize(**args)
1452
+ update!(**args)
1453
+ end
1454
+
1455
+ # Update properties of this object
1456
+ def update!(**args)
1457
+ @compensation_histogram_facets = args[:compensation_histogram_facets] if args.key?(:compensation_histogram_facets)
1458
+ @custom_attribute_histogram_facets = args[:custom_attribute_histogram_facets] if args.key?(:custom_attribute_histogram_facets)
1459
+ @simple_histogram_facets = args[:simple_histogram_facets] if args.key?(:simple_histogram_facets)
1460
+ end
1461
+ end
1462
+
1463
+ # Output only.
1464
+ # Result of a histogram call. The response contains the histogram map for the
1465
+ # search type specified by HistogramResult.field.
1466
+ # The response is a map of each filter value to the corresponding count of
1467
+ # jobs for that filter.
1468
+ class HistogramResult
1469
+ include Google::Apis::Core::Hashable
1470
+
1471
+ # The Histogram search filters.
1472
+ # Corresponds to the JSON property `searchType`
1473
+ # @return [String]
1474
+ attr_accessor :search_type
1475
+
1476
+ # A map from the values of field to the number of jobs with that value
1477
+ # in this search result.
1478
+ # Key: search type (filter names, such as the companyName).
1479
+ # Values: the count of jobs that match the filter for this search.
1480
+ # Corresponds to the JSON property `values`
1481
+ # @return [Hash<String,Fixnum>]
1482
+ attr_accessor :values
1483
+
1484
+ def initialize(**args)
1485
+ update!(**args)
1486
+ end
1487
+
1488
+ # Update properties of this object
1489
+ def update!(**args)
1490
+ @search_type = args[:search_type] if args.key?(:search_type)
1491
+ @values = args[:values] if args.key?(:values)
1492
+ end
1493
+ end
1494
+
1495
+ # Output only.
1496
+ # Histogram results that matches HistogramFacets specified in
1497
+ # SearchJobsRequest.
1498
+ class HistogramResults
1499
+ include Google::Apis::Core::Hashable
1500
+
1501
+ # Specifies compensation field-based histogram results that matches
1502
+ # HistogramFacets.compensation_histogram_requests.
1503
+ # Corresponds to the JSON property `compensationHistogramResults`
1504
+ # @return [Array<Google::Apis::JobsV2::CompensationHistogramResult>]
1505
+ attr_accessor :compensation_histogram_results
1506
+
1507
+ # Specifies histogram results for custom attributes that
1508
+ # matches HistogramFacets.custom_attribute_histogram_facets.
1509
+ # Corresponds to the JSON property `customAttributeHistogramResults`
1510
+ # @return [Array<Google::Apis::JobsV2::CustomAttributeHistogramResult>]
1511
+ attr_accessor :custom_attribute_histogram_results
1512
+
1513
+ # Specifies histogram results that matches
1514
+ # HistogramFacets.simple_histogram_facets.
1515
+ # Corresponds to the JSON property `simpleHistogramResults`
1516
+ # @return [Array<Google::Apis::JobsV2::HistogramResult>]
1517
+ attr_accessor :simple_histogram_results
1518
+
1519
+ def initialize(**args)
1520
+ update!(**args)
1521
+ end
1522
+
1523
+ # Update properties of this object
1524
+ def update!(**args)
1525
+ @compensation_histogram_results = args[:compensation_histogram_results] if args.key?(:compensation_histogram_results)
1526
+ @custom_attribute_histogram_results = args[:custom_attribute_histogram_results] if args.key?(:custom_attribute_histogram_results)
1527
+ @simple_histogram_results = args[:simple_histogram_results] if args.key?(:simple_histogram_results)
1528
+ end
1529
+ end
1530
+
1531
+ # A Job resource represents a job posting (also referred to as a "job listing"
1532
+ # or "job requisition"). A job belongs to a Company, which is the hiring
1533
+ # entity responsible for the job.
1534
+ class Job
1535
+ include Google::Apis::Core::Hashable
1536
+
1537
+ # Optional but at least one of application_urls,
1538
+ # application_email_list or application_instruction must be
1539
+ # specified.
1540
+ # Use this field to specify email address(es) to which resumes or
1541
+ # applications can be sent.
1542
+ # The maximum number of allowed characters is 255.
1543
+ # Corresponds to the JSON property `applicationEmailList`
1544
+ # @return [Array<String>]
1545
+ attr_accessor :application_email_list
1546
+
1547
+ # Optional but at least one of application_urls,
1548
+ # application_email_list or application_instruction must be
1549
+ # specified.
1550
+ # Use this field to provide instructions, such as "Mail your application
1551
+ # to ...", that a candidate can follow to apply for the job.
1552
+ # This field accepts and sanitizes HTML input, and also accepts
1553
+ # bold, italic, ordered list, and unordered list markup tags.
1554
+ # The maximum number of allowed characters is 3,000.
1555
+ # Corresponds to the JSON property `applicationInstruction`
1556
+ # @return [String]
1557
+ attr_accessor :application_instruction
1558
+
1559
+ # Optional but at least one of application_urls,
1560
+ # application_email_list or application_instruction must be
1561
+ # specified.
1562
+ # Use this URL field to direct an applicant to a website, for example to
1563
+ # link to an online application form.
1564
+ # The maximum number of allowed characters is 2,000.
1565
+ # Corresponds to the JSON property `applicationUrls`
1566
+ # @return [Array<String>]
1567
+ attr_accessor :application_urls
1568
+
1569
+ # Optional.
1570
+ # The benefits included with the job.
1571
+ # Corresponds to the JSON property `benefits`
1572
+ # @return [Array<String>]
1573
+ attr_accessor :benefits
1574
+
1575
+ # Output only.
1576
+ # The name of the company listing the job.
1577
+ # Corresponds to the JSON property `companyDisplayName`
1578
+ # @return [String]
1579
+ attr_accessor :company_display_name
1580
+
1581
+ # Optional but one of company_name or distributor_company_id must be
1582
+ # provided.
1583
+ # The resource name of the company listing the job, such as
1584
+ # /companies/foo. This field takes precedence over the
1585
+ # distributor-assigned company identifier, distributor_company_id.
1586
+ # Corresponds to the JSON property `companyName`
1587
+ # @return [String]
1588
+ attr_accessor :company_name
1589
+
1590
+ # Deprecated. Use company_display_name instead.
1591
+ # Output only.
1592
+ # The name of the company listing the job.
1593
+ # Corresponds to the JSON property `companyTitle`
1594
+ # @return [String]
1595
+ attr_accessor :company_title
1596
+
1597
+ # Job compensation details.
1598
+ # Corresponds to the JSON property `compensationInfo`
1599
+ # @return [Google::Apis::JobsV2::CompensationInfo]
1600
+ attr_accessor :compensation_info
1601
+
1602
+ # Output only.
1603
+ # The timestamp when this job was created.
1604
+ # Corresponds to the JSON property `createTime`
1605
+ # @return [String]
1606
+ attr_accessor :create_time
1607
+
1608
+ # Optional.
1609
+ # A map of fields to hold both filterable and non-filterable custom job
1610
+ # attributes that are not covered by the provided structured fields.
1611
+ # This field is a more general combination of the deprecated id-based
1612
+ # filterable_custom_fields and string-based
1613
+ # non_filterable_custom_fields.
1614
+ # The keys of the map are strings up to 64 bytes and must match the
1615
+ # pattern: a-zA-Z*.
1616
+ # At most 100 filterable and at most 100 unfilterable keys are supported.
1617
+ # For filterable `string_values`, across all keys at most 200 values are
1618
+ # allowed, with each string no more than 255 characters. For unfilterable
1619
+ # `string_values`, the maximum total size of `string_values` across all keys
1620
+ # is 50KB.
1621
+ # Corresponds to the JSON property `customAttributes`
1622
+ # @return [Hash<String,Google::Apis::JobsV2::CustomAttribute>]
1623
+ attr_accessor :custom_attributes
1624
+
1625
+ # Optional.
1626
+ # The department or functional area within the company with the open
1627
+ # position.
1628
+ # The maximum number of allowed characters is 255.
1629
+ # Corresponds to the JSON property `department`
1630
+ # @return [String]
1631
+ attr_accessor :department
1632
+
1633
+ # Required.
1634
+ # The description of the job, which typically includes a multi-paragraph
1635
+ # description of the company and related information. Separate fields are
1636
+ # provided on the job object for responsibilities,
1637
+ # qualifications, and other job characteristics. Use of
1638
+ # these separate job fields is recommended.
1639
+ # This field accepts and sanitizes HTML input, and also accepts
1640
+ # bold, italic, ordered list, and unordered list markup tags.
1641
+ # The maximum number of allowed characters is 100,000.
1642
+ # Corresponds to the JSON property `description`
1643
+ # @return [String]
1644
+ attr_accessor :description
1645
+
1646
+ # Optional but one of company_name or distributor_company_id must be
1647
+ # provided.
1648
+ # A unique company identifier that used by job distributors to identify an
1649
+ # employer's company entity. company_name takes precedence over
1650
+ # this field, and is the recommended field to use to identify companies.
1651
+ # The maximum number of allowed characters is 255.
1652
+ # Corresponds to the JSON property `distributorCompanyId`
1653
+ # @return [String]
1654
+ attr_accessor :distributor_company_id
1655
+
1656
+ # Optional.
1657
+ # The desired education level for the job, such as
1658
+ # "Bachelors", "Masters", "Doctorate".
1659
+ # Corresponds to the JSON property `educationLevels`
1660
+ # @return [Array<String>]
1661
+ attr_accessor :education_levels
1662
+
1663
+ # Optional.
1664
+ # The employment type(s) of a job, for example,
1665
+ # full time or
1666
+ # part time.
1667
+ # Corresponds to the JSON property `employmentTypes`
1668
+ # @return [Array<String>]
1669
+ attr_accessor :employment_types
1670
+
1671
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
1672
+ # time zone are either specified elsewhere or are not significant. The date
1673
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1674
+ # represent a year and month where the day is not significant, e.g. credit card
1675
+ # expiration date. The year may be 0 to represent a month and day independent
1676
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1677
+ # and `google.protobuf.Timestamp`.
1678
+ # Corresponds to the JSON property `endDate`
1679
+ # @return [Google::Apis::JobsV2::Date]
1680
+ attr_accessor :end_date
1681
+
1682
+ # Optional but strongly recommended to be provided for the best service
1683
+ # experience.
1684
+ # The expiration timestamp of the job. After this timestamp, the
1685
+ # job is marked as expired, and it no longer appears in search results. The
1686
+ # expired job can't be deleted or listed by the DeleteJob and
1687
+ # ListJobs APIs, but it can be retrieved with the GetJob API or
1688
+ # updated with the UpdateJob API. An expired job can be updated and
1689
+ # opened again by using a future expiration timestamp. It can also remain
1690
+ # expired. Updating an expired job to be open fails if there is another
1691
+ # existing open job with same requisition_id, company_name and
1692
+ # language_code.
1693
+ # The expired jobs are retained in our system for 90 days. However, the
1694
+ # overall expired job count cannot exceed 3 times the maximum of open jobs
1695
+ # count over the past week, otherwise jobs with earlier expire time are
1696
+ # cleaned first. Expired jobs are no longer accessible after they are cleaned
1697
+ # out.
1698
+ # The format of this field is RFC 3339 date strings. Example:
1699
+ # 2000-01-01T00:00:00.999999999Z
1700
+ # See
1701
+ # [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
1702
+ # A valid date range is between 1970-01-01T00:00:00.0Z and
1703
+ # 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as expire
1704
+ # time not provided.
1705
+ # If this value is not provided on job creation or invalid, the job posting
1706
+ # expires after 30 days from the job's creation time. For example, if the
1707
+ # job was created on 2017/01/01 13:00AM UTC with an unspecified expiration
1708
+ # date, the job expires after 2017/01/31 13:00AM UTC.
1709
+ # If this value is not provided but expiry_date is, expiry_date is
1710
+ # used.
1711
+ # If this value is not provided on job update, it depends on the field masks
1712
+ # set by UpdateJobRequest.update_job_fields. If the field masks include
1713
+ # expiry_time, or the masks are empty meaning that every field is
1714
+ # updated, the job posting expires after 30 days from the job's last
1715
+ # update time. Otherwise the expiration date isn't updated.
1716
+ # Corresponds to the JSON property `expireTime`
1717
+ # @return [String]
1718
+ attr_accessor :expire_time
1719
+
1720
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
1721
+ # time zone are either specified elsewhere or are not significant. The date
1722
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1723
+ # represent a year and month where the day is not significant, e.g. credit card
1724
+ # expiration date. The year may be 0 to represent a month and day independent
1725
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1726
+ # and `google.protobuf.Timestamp`.
1727
+ # Corresponds to the JSON property `expiryDate`
1728
+ # @return [Google::Apis::JobsV2::Date]
1729
+ attr_accessor :expiry_date
1730
+
1731
+ # Deprecated. Use CompensationInfo.
1732
+ # Describes job compensation.
1733
+ # Corresponds to the JSON property `extendedCompensationInfo`
1734
+ # @return [Google::Apis::JobsV2::ExtendedCompensationInfo]
1735
+ attr_accessor :extended_compensation_info
1736
+
1737
+ # Deprecated. Use custom_attributes instead.
1738
+ # Optional.
1739
+ # A map of fields to hold filterable custom job attributes not captured by
1740
+ # the standard fields such as job_title, company_name, or
1741
+ # level. These custom fields store arbitrary
1742
+ # string values, and can be used for purposes not covered by
1743
+ # the structured fields. For the best search experience, use of the
1744
+ # structured rather than custom fields is recommended.
1745
+ # Data stored in these custom fields fields are indexed and
1746
+ # searched against by keyword searches (see
1747
+ # SearchJobsRequest.custom_field_filters][]). To list jobs by
1748
+ # custom fields, see ListCustomFieldsRequest.field_id.
1749
+ # The map key must be a number between 1-20. If an invalid key is
1750
+ # provided on job create or update, an error is returned.
1751
+ # Corresponds to the JSON property `filterableCustomFields`
1752
+ # @return [Hash<String,Google::Apis::JobsV2::CustomField>]
1753
+ attr_accessor :filterable_custom_fields
1754
+
1755
+ # Optional.
1756
+ # A description of bonus, commission, and other compensation
1757
+ # incentives associated with the job not including salary or pay.
1758
+ # The maximum number of allowed characters is 10,000.
1759
+ # Corresponds to the JSON property `incentives`
1760
+ # @return [String]
1761
+ attr_accessor :incentives
1762
+
1763
+ # Output only.
1764
+ # Structured locations of the job, resolved from locations.
1765
+ # Corresponds to the JSON property `jobLocations`
1766
+ # @return [Array<Google::Apis::JobsV2::JobLocation>]
1767
+ attr_accessor :job_locations
1768
+
1769
+ # Required.
1770
+ # The title of the job, such as "Software Engineer"
1771
+ # The maximum number of allowed characters is 500.
1772
+ # Corresponds to the JSON property `jobTitle`
1773
+ # @return [String]
1774
+ attr_accessor :job_title
1775
+
1776
+ # Optional.
1777
+ # The language of the posting. This field is distinct from
1778
+ # any requirements for fluency that are associated with the job.
1779
+ # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
1780
+ # For more information, see
1781
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1782
+ # The default value is `en-US`.
1783
+ # Corresponds to the JSON property `languageCode`
1784
+ # @return [String]
1785
+ attr_accessor :language_code
1786
+
1787
+ # Optional.
1788
+ # The experience level associated with the job, such as "Entry Level".
1789
+ # Corresponds to the JSON property `level`
1790
+ # @return [String]
1791
+ attr_accessor :level
1792
+
1793
+ # Optional but strongly recommended to be provided for the best service
1794
+ # experience.
1795
+ # Location(s) where the job is hiring.
1796
+ # Providing the full street address(es) of the hiring
1797
+ # location is recommended to enable better API results, including
1798
+ # job searches by commute time.
1799
+ # At most 50 locations are allowed for best search performance. If a job has
1800
+ # more locations, it is suggested to split it into multiple jobs with unique
1801
+ # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
1802
+ # multiple jobs with the same requisition_id, company_name and
1803
+ # language_code are not allowed. If the original requisition_id must
1804
+ # be preserved, a custom field should be used for storage. It is also
1805
+ # suggested to group the locations that close to each other in the same job
1806
+ # for better search experience.
1807
+ # The maximum number of allowed characters is 500.
1808
+ # Corresponds to the JSON property `locations`
1809
+ # @return [Array<String>]
1810
+ attr_accessor :locations
1811
+
1812
+ # Required during job update.
1813
+ # Resource name assigned to a job by the API, for example, "/jobs/foo". Use
1814
+ # of this field in job queries and API calls is preferred over the use of
1815
+ # requisition_id since this value is unique.
1816
+ # Corresponds to the JSON property `name`
1817
+ # @return [String]
1818
+ attr_accessor :name
1819
+
1820
+ # Optional.
1821
+ # A promotion value of the job, as determined by the client.
1822
+ # The value determines the sort order of the jobs returned when searching for
1823
+ # jobs using the featured jobs search call, with higher promotional values
1824
+ # being returned first and ties being resolved by relevance sort. Only the
1825
+ # jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
1826
+ # Default value is 0, and negative values are treated as 0.
1827
+ # Corresponds to the JSON property `promotionValue`
1828
+ # @return [Fixnum]
1829
+ attr_accessor :promotion_value
1830
+
1831
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
1832
+ # time zone are either specified elsewhere or are not significant. The date
1833
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1834
+ # represent a year and month where the day is not significant, e.g. credit card
1835
+ # expiration date. The year may be 0 to represent a month and day independent
1836
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1837
+ # and `google.protobuf.Timestamp`.
1838
+ # Corresponds to the JSON property `publishDate`
1839
+ # @return [Google::Apis::JobsV2::Date]
1840
+ attr_accessor :publish_date
1841
+
1842
+ # Optional.
1843
+ # A description of the qualifications required to perform the
1844
+ # job. The use of this field is recommended
1845
+ # as an alternative to using the more general description field.
1846
+ # This field accepts and sanitizes HTML input, and also accepts
1847
+ # bold, italic, ordered list, and unordered list markup tags.
1848
+ # The maximum number of allowed characters is 10,000.
1849
+ # Corresponds to the JSON property `qualifications`
1850
+ # @return [String]
1851
+ attr_accessor :qualifications
1852
+
1853
+ # Output only.
1854
+ # The URL of a web page that displays job details.
1855
+ # Corresponds to the JSON property `referenceUrl`
1856
+ # @return [String]
1857
+ attr_accessor :reference_url
1858
+
1859
+ # Optional.
1860
+ # The job Region (for example, state, country) throughout which the job
1861
+ # is available. If this field is set, a
1862
+ # LocationFilter in a search query within the job region
1863
+ # finds this job if an exact location match is not specified.
1864
+ # If this field is set, setting job locations
1865
+ # to the same location level as this field is strongly recommended.
1866
+ # Corresponds to the JSON property `region`
1867
+ # @return [String]
1868
+ attr_accessor :region
1869
+
1870
+ # Required.
1871
+ # The requisition ID, also referred to as the posting ID, assigned by the
1872
+ # client to identify a job. This field is intended to be used by clients
1873
+ # for client identification and tracking of listings. A job is not allowed
1874
+ # to be created if there is another job with the same requisition_id,
1875
+ # company_name and language_code.
1876
+ # The maximum number of allowed characters is 225.
1877
+ # Corresponds to the JSON property `requisitionId`
1878
+ # @return [String]
1879
+ attr_accessor :requisition_id
1880
+
1881
+ # Optional.
1882
+ # A description of job responsibilities. The use of this field is
1883
+ # recommended as an alternative to using the more general description
1884
+ # field.
1885
+ # This field accepts and sanitizes HTML input, and also accepts
1886
+ # bold, italic, ordered list, and unordered list markup tags.
1887
+ # The maximum number of allowed characters is 10,000.
1888
+ # Corresponds to the JSON property `responsibilities`
1889
+ # @return [String]
1890
+ attr_accessor :responsibilities
1891
+
1892
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
1893
+ # time zone are either specified elsewhere or are not significant. The date
1894
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1895
+ # represent a year and month where the day is not significant, e.g. credit card
1896
+ # expiration date. The year may be 0 to represent a month and day independent
1897
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1898
+ # and `google.protobuf.Timestamp`.
1899
+ # Corresponds to the JSON property `startDate`
1900
+ # @return [Google::Apis::JobsV2::Date]
1901
+ attr_accessor :start_date
1902
+
1903
+ # Deprecated. Use custom_attributes instead.
1904
+ # Optional.
1905
+ # A map of fields to hold non-filterable custom job attributes, similar to
1906
+ # filterable_custom_fields. These fields are distinct in that the data
1907
+ # in these fields are not indexed. Therefore, the client cannot search
1908
+ # against them, nor can the client use them to list jobs.
1909
+ # The key of the map can be any valid string.
1910
+ # Corresponds to the JSON property `unindexedCustomFields`
1911
+ # @return [Hash<String,Google::Apis::JobsV2::CustomField>]
1912
+ attr_accessor :unindexed_custom_fields
1913
+
1914
+ # Output only.
1915
+ # The timestamp when this job was last updated.
1916
+ # Corresponds to the JSON property `updateTime`
1917
+ # @return [String]
1918
+ attr_accessor :update_time
1919
+
1920
+ # Optional.
1921
+ # The visibility of the job.
1922
+ # Defaults to JobVisibility.PRIVATE if not specified.
1923
+ # Currently only JobVisibility.PRIVATE is supported.
1924
+ # Corresponds to the JSON property `visibility`
1925
+ # @return [String]
1926
+ attr_accessor :visibility
1927
+
1928
+ def initialize(**args)
1929
+ update!(**args)
1930
+ end
1931
+
1932
+ # Update properties of this object
1933
+ def update!(**args)
1934
+ @application_email_list = args[:application_email_list] if args.key?(:application_email_list)
1935
+ @application_instruction = args[:application_instruction] if args.key?(:application_instruction)
1936
+ @application_urls = args[:application_urls] if args.key?(:application_urls)
1937
+ @benefits = args[:benefits] if args.key?(:benefits)
1938
+ @company_display_name = args[:company_display_name] if args.key?(:company_display_name)
1939
+ @company_name = args[:company_name] if args.key?(:company_name)
1940
+ @company_title = args[:company_title] if args.key?(:company_title)
1941
+ @compensation_info = args[:compensation_info] if args.key?(:compensation_info)
1942
+ @create_time = args[:create_time] if args.key?(:create_time)
1943
+ @custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes)
1944
+ @department = args[:department] if args.key?(:department)
1945
+ @description = args[:description] if args.key?(:description)
1946
+ @distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id)
1947
+ @education_levels = args[:education_levels] if args.key?(:education_levels)
1948
+ @employment_types = args[:employment_types] if args.key?(:employment_types)
1949
+ @end_date = args[:end_date] if args.key?(:end_date)
1950
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1951
+ @expiry_date = args[:expiry_date] if args.key?(:expiry_date)
1952
+ @extended_compensation_info = args[:extended_compensation_info] if args.key?(:extended_compensation_info)
1953
+ @filterable_custom_fields = args[:filterable_custom_fields] if args.key?(:filterable_custom_fields)
1954
+ @incentives = args[:incentives] if args.key?(:incentives)
1955
+ @job_locations = args[:job_locations] if args.key?(:job_locations)
1956
+ @job_title = args[:job_title] if args.key?(:job_title)
1957
+ @language_code = args[:language_code] if args.key?(:language_code)
1958
+ @level = args[:level] if args.key?(:level)
1959
+ @locations = args[:locations] if args.key?(:locations)
1960
+ @name = args[:name] if args.key?(:name)
1961
+ @promotion_value = args[:promotion_value] if args.key?(:promotion_value)
1962
+ @publish_date = args[:publish_date] if args.key?(:publish_date)
1963
+ @qualifications = args[:qualifications] if args.key?(:qualifications)
1964
+ @reference_url = args[:reference_url] if args.key?(:reference_url)
1965
+ @region = args[:region] if args.key?(:region)
1966
+ @requisition_id = args[:requisition_id] if args.key?(:requisition_id)
1967
+ @responsibilities = args[:responsibilities] if args.key?(:responsibilities)
1968
+ @start_date = args[:start_date] if args.key?(:start_date)
1969
+ @unindexed_custom_fields = args[:unindexed_custom_fields] if args.key?(:unindexed_custom_fields)
1970
+ @update_time = args[:update_time] if args.key?(:update_time)
1971
+ @visibility = args[:visibility] if args.key?(:visibility)
1972
+ end
1973
+ end
1974
+
1975
+ # Input only.
1976
+ # Deprecated. Use JobQuery instead.
1977
+ # The filters required to perform a search query or histogram.
1978
+ class JobFilters
1979
+ include Google::Apis::Core::Hashable
1980
+
1981
+ # Optional.
1982
+ # The category filter specifies the categories of jobs to search against.
1983
+ # See Category for more information.
1984
+ # If a value is not specified, jobs from any category are searched against.
1985
+ # If multiple values are specified, jobs from any of the specified
1986
+ # categories are searched against.
1987
+ # Corresponds to the JSON property `categories`
1988
+ # @return [Array<String>]
1989
+ attr_accessor :categories
1990
+
1991
+ # Input only.
1992
+ # Parameters needed for commute search.
1993
+ # Corresponds to the JSON property `commuteFilter`
1994
+ # @return [Google::Apis::JobsV2::CommutePreference]
1995
+ attr_accessor :commute_filter
1996
+
1997
+ # Optional.
1998
+ # The company names filter specifies the company entities to search
1999
+ # against.
2000
+ # If a value is not specified, jobs are searched for against all companies.
2001
+ # If multiple values are specified, jobs are searched against the
2002
+ # specified companies.
2003
+ # At most 20 company filters are allowed.
2004
+ # Corresponds to the JSON property `companyNames`
2005
+ # @return [Array<String>]
2006
+ attr_accessor :company_names
2007
+
2008
+ # Optional.
2009
+ # This filter specifies the exact company titles
2010
+ # of jobs to search against.
2011
+ # If a value is not specified, jobs within the search results can be
2012
+ # associated with any company.
2013
+ # If multiple values are specified, jobs within the search results may be
2014
+ # associated with any of the specified companies.
2015
+ # At most 20 company title filters are allowed.
2016
+ # Corresponds to the JSON property `companyTitles`
2017
+ # @return [Array<String>]
2018
+ attr_accessor :company_titles
2019
+
2020
+ # Input only.
2021
+ # Filter on job compensation type and amount.
2022
+ # Corresponds to the JSON property `compensationFilter`
2023
+ # @return [Google::Apis::JobsV2::CompensationFilter]
2024
+ attr_accessor :compensation_filter
2025
+
2026
+ # Optional.
2027
+ # This filter specifies a structured syntax to match against the
2028
+ # Job.custom_attributes that are marked as `filterable`.
2029
+ # The syntax for this expression is a subset of Google SQL syntax.
2030
+ # Supported operators are: =, !=, <, <=, >, >= where the left of the operator
2031
+ # is a custom field key and the right of the operator is a number or string
2032
+ # (surrounded by quotes) value.
2033
+ # Supported functions are LOWER(<field_name>) to
2034
+ # perform case insensitive match and EMPTY(<field_name>) to filter on the
2035
+ # existence of a key.
2036
+ # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
2037
+ # nesting (For example, "((A AND B AND C) OR NOT D) AND E"), and there can
2038
+ # be a maximum of 50 comparisons/functions in the expression. The expression
2039
+ # must be < 2000 characters in length.
2040
+ # Sample Query:
2041
+ # (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100
2042
+ # Corresponds to the JSON property `customAttributeFilter`
2043
+ # @return [String]
2044
+ attr_accessor :custom_attribute_filter
2045
+
2046
+ # Deprecated. Use custom_attribute_filter instead.
2047
+ # Optional.
2048
+ # This filter specifies searching against
2049
+ # custom field values. See Job.filterable_custom_fields for information.
2050
+ # The key value specifies a number between 1-20 (the service
2051
+ # supports 20 custom fields) corresponding to the desired custom field map
2052
+ # value. If an invalid key is provided or specified together with
2053
+ # custom_attribute_filter, an error is thrown.
2054
+ # Corresponds to the JSON property `customFieldFilters`
2055
+ # @return [Hash<String,Google::Apis::JobsV2::CustomFieldFilter>]
2056
+ attr_accessor :custom_field_filters
2057
+
2058
+ # Optional.
2059
+ # This flag controls the spell-check feature. If false, the
2060
+ # service attempts to correct a misspelled query,
2061
+ # for example, "enginee" is corrected to "engineer".
2062
+ # Defaults to false: a spell check is performed.
2063
+ # Corresponds to the JSON property `disableSpellCheck`
2064
+ # @return [Boolean]
2065
+ attr_accessor :disable_spell_check
2066
+ alias_method :disable_spell_check?, :disable_spell_check
2067
+
2068
+ # Optional.
2069
+ # The employment type filter specifies the employment type of jobs to
2070
+ # search against, such as EmploymentType.FULL_TIME.
2071
+ # If a value is not specified, jobs in the search results include any
2072
+ # employment type.
2073
+ # If multiple values are specified, jobs in the search results include any
2074
+ # of the specified employment types.
2075
+ # Corresponds to the JSON property `employmentTypes`
2076
+ # @return [Array<String>]
2077
+ attr_accessor :employment_types
2078
+
2079
+ # Deprecated. Always use CompensationFilter.
2080
+ # Input only.
2081
+ # Filter on job compensation type and amount.
2082
+ # Corresponds to the JSON property `extendedCompensationFilter`
2083
+ # @return [Google::Apis::JobsV2::ExtendedCompensationFilter]
2084
+ attr_accessor :extended_compensation_filter
2085
+
2086
+ # Optional.
2087
+ # This filter specifies the locale of jobs to search against,
2088
+ # for example, "en-US".
2089
+ # If a value is not specified, the search results can contain jobs in any
2090
+ # locale.
2091
+ # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
2092
+ # For more information, see
2093
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2094
+ # At most 10 language code filters are allowed.
2095
+ # Corresponds to the JSON property `languageCodes`
2096
+ # @return [Array<String>]
2097
+ attr_accessor :language_codes
2098
+
2099
+ # Optional.
2100
+ # The location filter specifies geo-regions containing the jobs to
2101
+ # search against. See LocationFilter for more information.
2102
+ # If a location value is not specified, jobs are be retrieved
2103
+ # from all locations.
2104
+ # If multiple values are specified, jobs are retrieved from any of the
2105
+ # specified locations, and, if different values are specified
2106
+ # for the LocationFilter.distance_in_miles parameter, the maximum
2107
+ # provided distance is used for all locations.
2108
+ # At most 5 location filters are allowed.
2109
+ # Corresponds to the JSON property `locationFilters`
2110
+ # @return [Array<Google::Apis::JobsV2::LocationFilter>]
2111
+ attr_accessor :location_filters
2112
+
2113
+ # Optional.
2114
+ # Jobs published within a range specified by this filter are searched
2115
+ # against, for example, DateRange.PAST_MONTH. If a value is not
2116
+ # specified, all open jobs are searched against regardless of the
2117
+ # date on which they were published.
2118
+ # Corresponds to the JSON property `publishDateRange`
2119
+ # @return [String]
2120
+ attr_accessor :publish_date_range
2121
+
2122
+ # Optional.
2123
+ # The query filter contains the keywords that match against the job
2124
+ # title, description, and location fields.
2125
+ # The maximum query size is 255 bytes.
2126
+ # Corresponds to the JSON property `query`
2127
+ # @return [String]
2128
+ attr_accessor :query
2129
+
2130
+ # Optional.
2131
+ # This flag controls whether the job search should be restricted to jobs
2132
+ # owned by the current user.
2133
+ # Defaults to false that all jobs accessible to the
2134
+ # user are searched against.
2135
+ # Corresponds to the JSON property `tenantJobOnly`
2136
+ # @return [Boolean]
2137
+ attr_accessor :tenant_job_only
2138
+ alias_method :tenant_job_only?, :tenant_job_only
2139
+
2140
+ def initialize(**args)
2141
+ update!(**args)
2142
+ end
2143
+
2144
+ # Update properties of this object
2145
+ def update!(**args)
2146
+ @categories = args[:categories] if args.key?(:categories)
2147
+ @commute_filter = args[:commute_filter] if args.key?(:commute_filter)
2148
+ @company_names = args[:company_names] if args.key?(:company_names)
2149
+ @company_titles = args[:company_titles] if args.key?(:company_titles)
2150
+ @compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter)
2151
+ @custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter)
2152
+ @custom_field_filters = args[:custom_field_filters] if args.key?(:custom_field_filters)
2153
+ @disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check)
2154
+ @employment_types = args[:employment_types] if args.key?(:employment_types)
2155
+ @extended_compensation_filter = args[:extended_compensation_filter] if args.key?(:extended_compensation_filter)
2156
+ @language_codes = args[:language_codes] if args.key?(:language_codes)
2157
+ @location_filters = args[:location_filters] if args.key?(:location_filters)
2158
+ @publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range)
2159
+ @query = args[:query] if args.key?(:query)
2160
+ @tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only)
2161
+ end
2162
+ end
2163
+
2164
+ # Output only.
2165
+ # A resource that represents a location with full geographic
2166
+ # information.
2167
+ class JobLocation
2168
+ include Google::Apis::Core::Hashable
2169
+
2170
+ # An object representing a latitude/longitude pair. This is expressed as a pair
2171
+ # of doubles representing degrees latitude and degrees longitude. Unless
2172
+ # specified otherwise, this must conform to the
2173
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2174
+ # standard</a>. Values must be within normalized ranges.
2175
+ # Corresponds to the JSON property `latLng`
2176
+ # @return [Google::Apis::JobsV2::LatLng]
2177
+ attr_accessor :lat_lng
2178
+
2179
+ # The type of a location, which corresponds to the address lines field of
2180
+ # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
2181
+ # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
2182
+ # LocationType#LOCALITY.
2183
+ # Corresponds to the JSON property `locationType`
2184
+ # @return [String]
2185
+ attr_accessor :location_type
2186
+
2187
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
2188
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
2189
+ # Box or similar.
2190
+ # It is not intended to model geographical locations (roads, towns,
2191
+ # mountains).
2192
+ # In typical usage an address would be created via user input or from importing
2193
+ # existing data, depending on the type of process.
2194
+ # Advice on address input / editing:
2195
+ # - Use an i18n-ready address widget such as
2196
+ # https://github.com/googlei18n/libaddressinput)
2197
+ # - Users should not be presented with UI elements for input or editing of
2198
+ # fields outside countries where that field is used.
2199
+ # For more guidance on how to use this schema, please see:
2200
+ # https://support.google.com/business/answer/6397478
2201
+ # Corresponds to the JSON property `postalAddress`
2202
+ # @return [Google::Apis::JobsV2::PostalAddress]
2203
+ attr_accessor :postal_address
2204
+
2205
+ # Radius in meters of the job location. This value is derived from the
2206
+ # location bounding box in which a circle with the specified radius
2207
+ # centered from LatLng coves the area associated with the job location.
2208
+ # For example, currently, "Mountain View, CA, USA" has a radius of
2209
+ # 7885.79 meters.
2210
+ # Corresponds to the JSON property `radiusMeters`
2211
+ # @return [Float]
2212
+ attr_accessor :radius_meters
2213
+
2214
+ def initialize(**args)
2215
+ update!(**args)
2216
+ end
2217
+
2218
+ # Update properties of this object
2219
+ def update!(**args)
2220
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
2221
+ @location_type = args[:location_type] if args.key?(:location_type)
2222
+ @postal_address = args[:postal_address] if args.key?(:postal_address)
2223
+ @radius_meters = args[:radius_meters] if args.key?(:radius_meters)
2224
+ end
2225
+ end
2226
+
2227
+ # Input only.
2228
+ # The query required to perform a search query or histogram.
2229
+ class JobQuery
2230
+ include Google::Apis::Core::Hashable
2231
+
2232
+ # Optional.
2233
+ # The category filter specifies the categories of jobs to search against.
2234
+ # See Category for more information.
2235
+ # If a value is not specified, jobs from any category are searched against.
2236
+ # If multiple values are specified, jobs from any of the specified
2237
+ # categories are searched against.
2238
+ # Corresponds to the JSON property `categories`
2239
+ # @return [Array<String>]
2240
+ attr_accessor :categories
2241
+
2242
+ # Input only.
2243
+ # Parameters needed for commute search.
2244
+ # Corresponds to the JSON property `commuteFilter`
2245
+ # @return [Google::Apis::JobsV2::CommutePreference]
2246
+ attr_accessor :commute_filter
2247
+
2248
+ # Optional.
2249
+ # This filter specifies the exact company display
2250
+ # name of jobs to search against.
2251
+ # If a value is not specified, jobs within the search results can be
2252
+ # associated with any company.
2253
+ # If multiple values are specified, jobs within the search results may be
2254
+ # associated with any of the specified companies.
2255
+ # At most 20 company display name filters are allowed.
2256
+ # Corresponds to the JSON property `companyDisplayNames`
2257
+ # @return [Array<String>]
2258
+ attr_accessor :company_display_names
2259
+
2260
+ # Optional.
2261
+ # The company names filter specifies the company entities to search
2262
+ # against.
2263
+ # If a value is not specified, jobs are searched for against all
2264
+ # companies.
2265
+ # If multiple values are specified, jobs are searched against the
2266
+ # specified companies.
2267
+ # At most 20 company filters are allowed.
2268
+ # Corresponds to the JSON property `companyNames`
2269
+ # @return [Array<String>]
2270
+ attr_accessor :company_names
2271
+
2272
+ # Input only.
2273
+ # Filter on job compensation type and amount.
2274
+ # Corresponds to the JSON property `compensationFilter`
2275
+ # @return [Google::Apis::JobsV2::CompensationFilter]
2276
+ attr_accessor :compensation_filter
2277
+
2278
+ # Optional.
2279
+ # This filter specifies a structured syntax to match against the
2280
+ # Job.custom_attributes that are marked as `filterable`.
2281
+ # The syntax for this expression is a subset of Google SQL syntax.
2282
+ # Supported operators are: =, !=, <, <=, >, >= where the left of the operator
2283
+ # is a custom field key and the right of the operator is a number or string
2284
+ # (surrounded by quotes) value.
2285
+ # Supported functions are LOWER(<field_name>) to
2286
+ # perform case insensitive match and EMPTY(<field_name>) to filter on the
2287
+ # existence of a key.
2288
+ # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
2289
+ # nesting (for example, "((A AND B AND C) OR NOT D) AND E"), and there can
2290
+ # be a maximum of 50 comparisons/functions in the expression. The expression
2291
+ # must be < 2000 characters in length.
2292
+ # Sample Query:
2293
+ # (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100
2294
+ # Corresponds to the JSON property `customAttributeFilter`
2295
+ # @return [String]
2296
+ attr_accessor :custom_attribute_filter
2297
+
2298
+ # Optional.
2299
+ # This flag controls the spell-check feature. If false, the
2300
+ # service attempts to correct a misspelled query,
2301
+ # for example, "enginee" is corrected to "engineer".
2302
+ # Defaults to false: a spell check is performed.
2303
+ # Corresponds to the JSON property `disableSpellCheck`
2304
+ # @return [Boolean]
2305
+ attr_accessor :disable_spell_check
2306
+ alias_method :disable_spell_check?, :disable_spell_check
2307
+
2308
+ # Optional.
2309
+ # The employment type filter specifies the employment type of jobs to
2310
+ # search against, such as EmploymentType.FULL_TIME.
2311
+ # If a value is not specified, jobs in the search results will include any
2312
+ # employment type.
2313
+ # If multiple values are specified, jobs in the search results include
2314
+ # any of the specified employment types.
2315
+ # Corresponds to the JSON property `employmentTypes`
2316
+ # @return [Array<String>]
2317
+ attr_accessor :employment_types
2318
+
2319
+ # Optional.
2320
+ # This filter specifies the locale of jobs to search against,
2321
+ # for example, "en-US".
2322
+ # If a value is not specified, the search results can contain jobs in any
2323
+ # locale.
2324
+ # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
2325
+ # For more information, see
2326
+ # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2327
+ # At most 10 language code filters are allowed.
2328
+ # Corresponds to the JSON property `languageCodes`
2329
+ # @return [Array<String>]
2330
+ attr_accessor :language_codes
2331
+
2332
+ # Optional.
2333
+ # The location filter specifies geo-regions containing the jobs to
2334
+ # search against. See LocationFilter for more information.
2335
+ # If a location value is not specified, jobs that fit the other search
2336
+ # criteria are retrieved regardless of where they're located.
2337
+ # If multiple values are specified, jobs are retrieved from any of the
2338
+ # specified locations, and, if different values are specified
2339
+ # for the LocationFilter.distance_in_miles parameter, the maximum
2340
+ # provided distance is used for all locations.
2341
+ # At most 5 location filters are allowed.
2342
+ # Corresponds to the JSON property `locationFilters`
2343
+ # @return [Array<Google::Apis::JobsV2::LocationFilter>]
2344
+ attr_accessor :location_filters
2345
+
2346
+ # Optional.
2347
+ # Jobs published within a range specified by this filter are searched
2348
+ # against, for example, DateRange.PAST_MONTH. If a value is not
2349
+ # specified, all open jobs are searched against regardless of the
2350
+ # date on which they were published.
2351
+ # Corresponds to the JSON property `publishDateRange`
2352
+ # @return [String]
2353
+ attr_accessor :publish_date_range
2354
+
2355
+ # Optional.
2356
+ # The query string that matches against the job title, description, and
2357
+ # location fields.
2358
+ # The maximum query size is 255 bytes.
2359
+ # Corresponds to the JSON property `query`
2360
+ # @return [String]
2361
+ attr_accessor :query
2362
+
2363
+ # Optional.
2364
+ # This flag controls whether the job search should be restricted to jobs
2365
+ # owned by the current user.
2366
+ # Defaults to false: all jobs accessible to the
2367
+ # user are searched against.
2368
+ # Corresponds to the JSON property `tenantJobOnly`
2369
+ # @return [Boolean]
2370
+ attr_accessor :tenant_job_only
2371
+ alias_method :tenant_job_only?, :tenant_job_only
2372
+
2373
+ def initialize(**args)
2374
+ update!(**args)
2375
+ end
2376
+
2377
+ # Update properties of this object
2378
+ def update!(**args)
2379
+ @categories = args[:categories] if args.key?(:categories)
2380
+ @commute_filter = args[:commute_filter] if args.key?(:commute_filter)
2381
+ @company_display_names = args[:company_display_names] if args.key?(:company_display_names)
2382
+ @company_names = args[:company_names] if args.key?(:company_names)
2383
+ @compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter)
2384
+ @custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter)
2385
+ @disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check)
2386
+ @employment_types = args[:employment_types] if args.key?(:employment_types)
2387
+ @language_codes = args[:language_codes] if args.key?(:language_codes)
2388
+ @location_filters = args[:location_filters] if args.key?(:location_filters)
2389
+ @publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range)
2390
+ @query = args[:query] if args.key?(:query)
2391
+ @tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only)
2392
+ end
2393
+ end
2394
+
2395
+ # An object representing a latitude/longitude pair. This is expressed as a pair
2396
+ # of doubles representing degrees latitude and degrees longitude. Unless
2397
+ # specified otherwise, this must conform to the
2398
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2399
+ # standard</a>. Values must be within normalized ranges.
2400
+ class LatLng
2401
+ include Google::Apis::Core::Hashable
2402
+
2403
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
2404
+ # Corresponds to the JSON property `latitude`
2405
+ # @return [Float]
2406
+ attr_accessor :latitude
2407
+
2408
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
2409
+ # Corresponds to the JSON property `longitude`
2410
+ # @return [Float]
2411
+ attr_accessor :longitude
2412
+
2413
+ def initialize(**args)
2414
+ update!(**args)
2415
+ end
2416
+
2417
+ # Update properties of this object
2418
+ def update!(**args)
2419
+ @latitude = args[:latitude] if args.key?(:latitude)
2420
+ @longitude = args[:longitude] if args.key?(:longitude)
2421
+ end
2422
+ end
2423
+
2424
+ # Output only.
2425
+ # The List companies response object.
2426
+ class ListCompaniesResponse
2427
+ include Google::Apis::Core::Hashable
2428
+
2429
+ # Companies for the current client.
2430
+ # Corresponds to the JSON property `companies`
2431
+ # @return [Array<Google::Apis::JobsV2::Company>]
2432
+ attr_accessor :companies
2433
+
2434
+ # Output only.
2435
+ # Additional information returned to client, such as debugging
2436
+ # information.
2437
+ # Corresponds to the JSON property `metadata`
2438
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
2439
+ attr_accessor :metadata
2440
+
2441
+ # A token to retrieve the next page of results.
2442
+ # Corresponds to the JSON property `nextPageToken`
2443
+ # @return [String]
2444
+ attr_accessor :next_page_token
2445
+
2446
+ def initialize(**args)
2447
+ update!(**args)
2448
+ end
2449
+
2450
+ # Update properties of this object
2451
+ def update!(**args)
2452
+ @companies = args[:companies] if args.key?(:companies)
2453
+ @metadata = args[:metadata] if args.key?(:metadata)
2454
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2455
+ end
2456
+ end
2457
+
2458
+ # Deprecated. Use ListJobsResponse instead.
2459
+ # Output only.
2460
+ # The List jobs response object.
2461
+ class ListCompanyJobsResponse
2462
+ include Google::Apis::Core::Hashable
2463
+
2464
+ # The Jobs for a given company.
2465
+ # The maximum number of items returned is based on the limit field
2466
+ # provided in the request.
2467
+ # Corresponds to the JSON property `jobs`
2468
+ # @return [Array<Google::Apis::JobsV2::Job>]
2469
+ attr_accessor :jobs
2470
+
2471
+ # Output only.
2472
+ # Additional information returned to client, such as debugging
2473
+ # information.
2474
+ # Corresponds to the JSON property `metadata`
2475
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
2476
+ attr_accessor :metadata
2477
+
2478
+ # A token to retrieve the next page of results.
2479
+ # Corresponds to the JSON property `nextPageToken`
2480
+ # @return [String]
2481
+ attr_accessor :next_page_token
2482
+
2483
+ # The total number of open jobs. The result will be
2484
+ # empty if ListCompanyJobsRequest.include_jobs_count is not enabled
2485
+ # or if no open jobs are available.
2486
+ # Corresponds to the JSON property `totalSize`
2487
+ # @return [Fixnum]
2488
+ attr_accessor :total_size
2489
+
2490
+ def initialize(**args)
2491
+ update!(**args)
2492
+ end
2493
+
2494
+ # Update properties of this object
2495
+ def update!(**args)
2496
+ @jobs = args[:jobs] if args.key?(:jobs)
2497
+ @metadata = args[:metadata] if args.key?(:metadata)
2498
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2499
+ @total_size = args[:total_size] if args.key?(:total_size)
2500
+ end
2501
+ end
2502
+
2503
+ # Output only.
2504
+ # List jobs response.
2505
+ class ListJobsResponse
2506
+ include Google::Apis::Core::Hashable
2507
+
2508
+ # The Jobs for a given company.
2509
+ # The maximum number of items returned is based on the limit field
2510
+ # provided in the request.
2511
+ # Corresponds to the JSON property `jobs`
2512
+ # @return [Array<Google::Apis::JobsV2::Job>]
2513
+ attr_accessor :jobs
2514
+
2515
+ # Output only.
2516
+ # Additional information returned to client, such as debugging
2517
+ # information.
2518
+ # Corresponds to the JSON property `metadata`
2519
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
2520
+ attr_accessor :metadata
2521
+
2522
+ # A token to retrieve the next page of results.
2523
+ # Corresponds to the JSON property `nextPageToken`
2524
+ # @return [String]
2525
+ attr_accessor :next_page_token
2526
+
2527
+ def initialize(**args)
2528
+ update!(**args)
2529
+ end
2530
+
2531
+ # Update properties of this object
2532
+ def update!(**args)
2533
+ @jobs = args[:jobs] if args.key?(:jobs)
2534
+ @metadata = args[:metadata] if args.key?(:metadata)
2535
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2536
+ end
2537
+ end
2538
+
2539
+ # Input only.
2540
+ # Geographic region of the search.
2541
+ class LocationFilter
2542
+ include Google::Apis::Core::Hashable
2543
+
2544
+ # Optional.
2545
+ # The distance from the address in miles to search.
2546
+ # The default distance is 20 miles and maximum distance is 5,000 miles.
2547
+ # Corresponds to the JSON property `distanceInMiles`
2548
+ # @return [Float]
2549
+ attr_accessor :distance_in_miles
2550
+
2551
+ # Optional.
2552
+ # Allows the client to return jobs without a
2553
+ # set location, specifically, telecommuting jobs (telecomuting is considered
2554
+ # by the service as a special location.
2555
+ # Job.allow_telecommute indicates if a job permits telecommuting.
2556
+ # If this field is true, telecommuting jobs are searched, and
2557
+ # name and lat_lng are
2558
+ # ignored.
2559
+ # This filter can be used by itself to search exclusively for telecommuting
2560
+ # jobs, or it can be combined with another location
2561
+ # filter to search for a combination of job locations,
2562
+ # such as "Mountain View" or "telecommuting" jobs. However, when used in
2563
+ # combination with other location filters, telecommuting jobs can be
2564
+ # treated as less relevant than other jobs in the search response.
2565
+ # Corresponds to the JSON property `isTelecommute`
2566
+ # @return [Boolean]
2567
+ attr_accessor :is_telecommute
2568
+ alias_method :is_telecommute?, :is_telecommute
2569
+
2570
+ # An object representing a latitude/longitude pair. This is expressed as a pair
2571
+ # of doubles representing degrees latitude and degrees longitude. Unless
2572
+ # specified otherwise, this must conform to the
2573
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
2574
+ # standard</a>. Values must be within normalized ranges.
2575
+ # Corresponds to the JSON property `latLng`
2576
+ # @return [Google::Apis::JobsV2::LatLng]
2577
+ attr_accessor :lat_lng
2578
+
2579
+ # Optional.
2580
+ # The address name, such as "Mountain View" or "Bay Area".
2581
+ # Corresponds to the JSON property `name`
2582
+ # @return [String]
2583
+ attr_accessor :name
2584
+
2585
+ # Optional.
2586
+ # CLDR region code of the country/region of the address. This will be used
2587
+ # to address ambiguity of the user-input location, e.g. "Liverpool"
2588
+ # against "Liverpool, NY, US" or "Liverpool, UK".
2589
+ # Set this field if all the jobs to search against are from a same region,
2590
+ # or jobs are world-wide but the job seeker is from a specific region.
2591
+ # See http://cldr.unicode.org/ and
2592
+ # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
2593
+ # for details. Example: "CH" for Switzerland.
2594
+ # Corresponds to the JSON property `regionCode`
2595
+ # @return [String]
2596
+ attr_accessor :region_code
2597
+
2598
+ def initialize(**args)
2599
+ update!(**args)
2600
+ end
2601
+
2602
+ # Update properties of this object
2603
+ def update!(**args)
2604
+ @distance_in_miles = args[:distance_in_miles] if args.key?(:distance_in_miles)
2605
+ @is_telecommute = args[:is_telecommute] if args.key?(:is_telecommute)
2606
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
2607
+ @name = args[:name] if args.key?(:name)
2608
+ @region_code = args[:region_code] if args.key?(:region_code)
2609
+ end
2610
+ end
2611
+
2612
+ # Output only.
2613
+ # Job entry with metadata inside SearchJobsResponse.
2614
+ class MatchingJob
2615
+ include Google::Apis::Core::Hashable
2616
+
2617
+ # Output only.
2618
+ # Commute details related to this job.
2619
+ # Corresponds to the JSON property `commuteInfo`
2620
+ # @return [Google::Apis::JobsV2::CommuteInfo]
2621
+ attr_accessor :commute_info
2622
+
2623
+ # A Job resource represents a job posting (also referred to as a "job listing"
2624
+ # or "job requisition"). A job belongs to a Company, which is the hiring
2625
+ # entity responsible for the job.
2626
+ # Corresponds to the JSON property `job`
2627
+ # @return [Google::Apis::JobsV2::Job]
2628
+ attr_accessor :job
2629
+
2630
+ # A summary of the job with core information that's displayed on the search
2631
+ # results listing page.
2632
+ # Corresponds to the JSON property `jobSummary`
2633
+ # @return [String]
2634
+ attr_accessor :job_summary
2635
+
2636
+ # Contains snippets of text from the Job.job_title field that most
2637
+ # closely match a search query's keywords, if available. The matching query
2638
+ # keywords are enclosed in HTML bold tags.
2639
+ # Corresponds to the JSON property `jobTitleSnippet`
2640
+ # @return [String]
2641
+ attr_accessor :job_title_snippet
2642
+
2643
+ # Contains snippets of text from the Job.description and similar
2644
+ # fields that most closely match a search query's keywords, if available.
2645
+ # All HTML tags in the original fields are stripped when returned in this
2646
+ # field, and matching query keywords are enclosed in HTML bold tags.
2647
+ # Corresponds to the JSON property `searchTextSnippet`
2648
+ # @return [String]
2649
+ attr_accessor :search_text_snippet
2650
+
2651
+ def initialize(**args)
2652
+ update!(**args)
2653
+ end
2654
+
2655
+ # Update properties of this object
2656
+ def update!(**args)
2657
+ @commute_info = args[:commute_info] if args.key?(:commute_info)
2658
+ @job = args[:job] if args.key?(:job)
2659
+ @job_summary = args[:job_summary] if args.key?(:job_summary)
2660
+ @job_title_snippet = args[:job_title_snippet] if args.key?(:job_title_snippet)
2661
+ @search_text_snippet = args[:search_text_snippet] if args.key?(:search_text_snippet)
2662
+ end
2663
+ end
2664
+
2665
+ # Represents an amount of money with its currency type.
2666
+ class Money
2667
+ include Google::Apis::Core::Hashable
2668
+
2669
+ # The 3-letter currency code defined in ISO 4217.
2670
+ # Corresponds to the JSON property `currencyCode`
2671
+ # @return [String]
2672
+ attr_accessor :currency_code
2673
+
2674
+ # Number of nano (10^-9) units of the amount.
2675
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
2676
+ # If `units` is positive, `nanos` must be positive or zero.
2677
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
2678
+ # If `units` is negative, `nanos` must be negative or zero.
2679
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
2680
+ # Corresponds to the JSON property `nanos`
2681
+ # @return [Fixnum]
2682
+ attr_accessor :nanos
2683
+
2684
+ # The whole units of the amount.
2685
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
2686
+ # Corresponds to the JSON property `units`
2687
+ # @return [Fixnum]
2688
+ attr_accessor :units
2689
+
2690
+ def initialize(**args)
2691
+ update!(**args)
2692
+ end
2693
+
2694
+ # Update properties of this object
2695
+ def update!(**args)
2696
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2697
+ @nanos = args[:nanos] if args.key?(:nanos)
2698
+ @units = args[:units] if args.key?(:units)
2699
+ end
2700
+ end
2701
+
2702
+ # Input only.
2703
+ # Use this field to specify bucketing option for the histogram search response.
2704
+ class NumericBucketingOption
2705
+ include Google::Apis::Core::Hashable
2706
+
2707
+ # Required.
2708
+ # Two adjacent values form a histogram bucket. Values should be in
2709
+ # ascending order. For example, if [5, 10, 15] are provided, four buckets are
2710
+ # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
2711
+ # [buckets_bound is supported.
2712
+ # Corresponds to the JSON property `bucketBounds`
2713
+ # @return [Array<Float>]
2714
+ attr_accessor :bucket_bounds
2715
+
2716
+ # Optional.
2717
+ # If set to true, the histogram result includes minimum/maximum
2718
+ # value of the numeric field.
2719
+ # Corresponds to the JSON property `requiresMinMax`
2720
+ # @return [Boolean]
2721
+ attr_accessor :requires_min_max
2722
+ alias_method :requires_min_max?, :requires_min_max
2723
+
2724
+ def initialize(**args)
2725
+ update!(**args)
2726
+ end
2727
+
2728
+ # Update properties of this object
2729
+ def update!(**args)
2730
+ @bucket_bounds = args[:bucket_bounds] if args.key?(:bucket_bounds)
2731
+ @requires_min_max = args[:requires_min_max] if args.key?(:requires_min_max)
2732
+ end
2733
+ end
2734
+
2735
+ # Output only.
2736
+ # Custom numeric bucketing result.
2737
+ class NumericBucketingResult
2738
+ include Google::Apis::Core::Hashable
2739
+
2740
+ # Count within each bucket. Its size is the length of
2741
+ # NumericBucketingOption.bucket_bounds plus 1.
2742
+ # Corresponds to the JSON property `counts`
2743
+ # @return [Array<Google::Apis::JobsV2::BucketizedCount>]
2744
+ attr_accessor :counts
2745
+
2746
+ # Stores the maximum value of the numeric field. Will be populated only if
2747
+ # [NumericBucketingOption.requires_min_max] is set to true.
2748
+ # Corresponds to the JSON property `maxValue`
2749
+ # @return [Float]
2750
+ attr_accessor :max_value
2751
+
2752
+ # Stores the minimum value of the numeric field. Will be populated only if
2753
+ # [NumericBucketingOption.requires_min_max] is set to true.
2754
+ # Corresponds to the JSON property `minValue`
2755
+ # @return [Float]
2756
+ attr_accessor :min_value
2757
+
2758
+ def initialize(**args)
2759
+ update!(**args)
2760
+ end
2761
+
2762
+ # Update properties of this object
2763
+ def update!(**args)
2764
+ @counts = args[:counts] if args.key?(:counts)
2765
+ @max_value = args[:max_value] if args.key?(:max_value)
2766
+ @min_value = args[:min_value] if args.key?(:min_value)
2767
+ end
2768
+ end
2769
+
2770
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
2771
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
2772
+ # Box or similar.
2773
+ # It is not intended to model geographical locations (roads, towns,
2774
+ # mountains).
2775
+ # In typical usage an address would be created via user input or from importing
2776
+ # existing data, depending on the type of process.
2777
+ # Advice on address input / editing:
2778
+ # - Use an i18n-ready address widget such as
2779
+ # https://github.com/googlei18n/libaddressinput)
2780
+ # - Users should not be presented with UI elements for input or editing of
2781
+ # fields outside countries where that field is used.
2782
+ # For more guidance on how to use this schema, please see:
2783
+ # https://support.google.com/business/answer/6397478
2784
+ class PostalAddress
2785
+ include Google::Apis::Core::Hashable
2786
+
2787
+ # Unstructured address lines describing the lower levels of an address.
2788
+ # Because values in address_lines do not have type information and may
2789
+ # sometimes contain multiple values in a single field (e.g.
2790
+ # "Austin, TX"), it is important that the line order is clear. The order of
2791
+ # address lines should be "envelope order" for the country/region of the
2792
+ # address. In places where this can vary (e.g. Japan), address_language is
2793
+ # used to make it explicit (e.g. "ja" for large-to-small ordering and
2794
+ # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
2795
+ # an address can be selected based on the language.
2796
+ # The minimum permitted structural representation of an address consists
2797
+ # of a region_code with all remaining information placed in the
2798
+ # address_lines. It would be possible to format such an address very
2799
+ # approximately without geocoding, but no semantic reasoning could be
2800
+ # made about any of the address components until it was at least
2801
+ # partially resolved.
2802
+ # Creating an address only containing a region_code and address_lines, and
2803
+ # then geocoding is the recommended way to handle completely unstructured
2804
+ # addresses (as opposed to guessing which parts of the address should be
2805
+ # localities or administrative areas).
2806
+ # Corresponds to the JSON property `addressLines`
2807
+ # @return [Array<String>]
2808
+ attr_accessor :address_lines
2809
+
2810
+ # Optional. Highest administrative subdivision which is used for postal
2811
+ # addresses of a country or region.
2812
+ # For example, this can be a state, a province, an oblast, or a prefecture.
2813
+ # Specifically, for Spain this is the province and not the autonomous
2814
+ # community (e.g. "Barcelona" and not "Catalonia").
2815
+ # Many countries don't use an administrative area in postal addresses. E.g.
2816
+ # in Switzerland this should be left unpopulated.
2817
+ # Corresponds to the JSON property `administrativeArea`
2818
+ # @return [String]
2819
+ attr_accessor :administrative_area
2820
+
2821
+ # Optional. BCP-47 language code of the contents of this address (if
2822
+ # known). This is often the UI language of the input form or is expected
2823
+ # to match one of the languages used in the address' country/region, or their
2824
+ # transliterated equivalents.
2825
+ # This can affect formatting in certain countries, but is not critical
2826
+ # to the correctness of the data and will never affect any validation or
2827
+ # other non-formatting related operations.
2828
+ # If this value is not known, it should be omitted (rather than specifying a
2829
+ # possibly incorrect default).
2830
+ # Examples: "zh-Hant", "ja", "ja-Latn", "en".
2831
+ # Corresponds to the JSON property `languageCode`
2832
+ # @return [String]
2833
+ attr_accessor :language_code
2834
+
2835
+ # Optional. Generally refers to the city/town portion of the address.
2836
+ # Examples: US city, IT comune, UK post town.
2837
+ # In regions of the world where localities are not well defined or do not fit
2838
+ # into this structure well, leave locality empty and use address_lines.
2839
+ # Corresponds to the JSON property `locality`
2840
+ # @return [String]
2841
+ attr_accessor :locality
2842
+
2843
+ # Optional. The name of the organization at the address.
2844
+ # Corresponds to the JSON property `organization`
2845
+ # @return [String]
2846
+ attr_accessor :organization
2847
+
2848
+ # Optional. Postal code of the address. Not all countries use or require
2849
+ # postal codes to be present, but where they are used, they may trigger
2850
+ # additional validation with other parts of the address (e.g. state/zip
2851
+ # validation in the U.S.A.).
2852
+ # Corresponds to the JSON property `postalCode`
2853
+ # @return [String]
2854
+ attr_accessor :postal_code
2855
+
2856
+ # Optional. The recipient at the address.
2857
+ # This field may, under certain circumstances, contain multiline information.
2858
+ # For example, it might contain "care of" information.
2859
+ # Corresponds to the JSON property `recipients`
2860
+ # @return [Array<String>]
2861
+ attr_accessor :recipients
2862
+
2863
+ # Required. CLDR region code of the country/region of the address. This
2864
+ # is never inferred and it is up to the user to ensure the value is
2865
+ # correct. See http://cldr.unicode.org/ and
2866
+ # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
2867
+ # for details. Example: "CH" for Switzerland.
2868
+ # Corresponds to the JSON property `regionCode`
2869
+ # @return [String]
2870
+ attr_accessor :region_code
2871
+
2872
+ # The schema revision of the `PostalAddress`. This must be set to 0, which is
2873
+ # the latest revision.
2874
+ # All new revisions **must** be backward compatible with old revisions.
2875
+ # Corresponds to the JSON property `revision`
2876
+ # @return [Fixnum]
2877
+ attr_accessor :revision
2878
+
2879
+ # Optional. Additional, country-specific, sorting code. This is not used
2880
+ # in most regions. Where it is used, the value is either a string like
2881
+ # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
2882
+ # alone, representing the "sector code" (Jamaica), "delivery area indicator"
2883
+ # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
2884
+ # Corresponds to the JSON property `sortingCode`
2885
+ # @return [String]
2886
+ attr_accessor :sorting_code
2887
+
2888
+ # Optional. Sublocality of the address.
2889
+ # For example, this can be neighborhoods, boroughs, districts.
2890
+ # Corresponds to the JSON property `sublocality`
2891
+ # @return [String]
2892
+ attr_accessor :sublocality
2893
+
2894
+ def initialize(**args)
2895
+ update!(**args)
2896
+ end
2897
+
2898
+ # Update properties of this object
2899
+ def update!(**args)
2900
+ @address_lines = args[:address_lines] if args.key?(:address_lines)
2901
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
2902
+ @language_code = args[:language_code] if args.key?(:language_code)
2903
+ @locality = args[:locality] if args.key?(:locality)
2904
+ @organization = args[:organization] if args.key?(:organization)
2905
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
2906
+ @recipients = args[:recipients] if args.key?(:recipients)
2907
+ @region_code = args[:region_code] if args.key?(:region_code)
2908
+ @revision = args[:revision] if args.key?(:revision)
2909
+ @sorting_code = args[:sorting_code] if args.key?(:sorting_code)
2910
+ @sublocality = args[:sublocality] if args.key?(:sublocality)
2911
+ end
2912
+ end
2913
+
2914
+ # Input only.
2915
+ # Meta information related to the job searcher or entity
2916
+ # conducting the job search. This information is used to improve the
2917
+ # performance of the service.
2918
+ class RequestMetadata
2919
+ include Google::Apis::Core::Hashable
2920
+
2921
+ # Input only.
2922
+ # Device information collected from the job searcher, candidate, or
2923
+ # other entity conducting the job search. Providing this information improves
2924
+ # the quality of the search results across devices.
2925
+ # Corresponds to the JSON property `deviceInfo`
2926
+ # @return [Google::Apis::JobsV2::DeviceInfo]
2927
+ attr_accessor :device_info
2928
+
2929
+ # Required.
2930
+ # The client-defined scope or source of the service call, which typically
2931
+ # is the domain on
2932
+ # which the service has been implemented and is currently being run.
2933
+ # For example, if the service is being run by client <em>Foo, Inc.</em>, on
2934
+ # job board www.foo.com and career site www.bar.com, then this field is
2935
+ # set to "foo.com" for use on the job board, and "bar.com" for use on the
2936
+ # career site.
2937
+ # If this field is not available for some reason, please send "UNKNOWN".
2938
+ # Corresponds to the JSON property `domain`
2939
+ # @return [String]
2940
+ attr_accessor :domain
2941
+
2942
+ # Required.
2943
+ # A unique session identification string. A session is defined as the
2944
+ # duration of an end user's interaction with the service over a period.
2945
+ # Obfuscate this field for privacy concerns before
2946
+ # providing it to the API.
2947
+ # If this field is not available for some reason, please send "UNKNOWN".
2948
+ # Corresponds to the JSON property `sessionId`
2949
+ # @return [String]
2950
+ attr_accessor :session_id
2951
+
2952
+ # Required.
2953
+ # A unique user identification string, as determined by the client. The
2954
+ # client is responsible for ensuring client-level uniqueness of this value
2955
+ # in order to have the strongest positive impact on search quality.
2956
+ # Obfuscate this field for privacy concerns before
2957
+ # providing it to the service.
2958
+ # If this field is not available for some reason, please send "UNKNOWN".
2959
+ # Corresponds to the JSON property `userId`
2960
+ # @return [String]
2961
+ attr_accessor :user_id
2962
+
2963
+ def initialize(**args)
2964
+ update!(**args)
2965
+ end
2966
+
2967
+ # Update properties of this object
2968
+ def update!(**args)
2969
+ @device_info = args[:device_info] if args.key?(:device_info)
2970
+ @domain = args[:domain] if args.key?(:domain)
2971
+ @session_id = args[:session_id] if args.key?(:session_id)
2972
+ @user_id = args[:user_id] if args.key?(:user_id)
2973
+ end
2974
+ end
2975
+
2976
+ # Output only.
2977
+ # Additional information returned to client, such as debugging
2978
+ # information.
2979
+ class ResponseMetadata
2980
+ include Google::Apis::Core::Hashable
2981
+
2982
+ # Identifiers for the versions of the search algorithm used during
2983
+ # this API invocation if multiple algorithms are used.
2984
+ # The default value is empty.
2985
+ # For search response only.
2986
+ # Corresponds to the JSON property `experimentIdList`
2987
+ # @return [Array<Fixnum>]
2988
+ attr_accessor :experiment_id_list
2989
+
2990
+ # For search response only. Indicates the mode of a performed search.
2991
+ # Corresponds to the JSON property `mode`
2992
+ # @return [String]
2993
+ attr_accessor :mode
2994
+
2995
+ # A unique id associated with this call.
2996
+ # This id is logged for tracking purposes.
2997
+ # Corresponds to the JSON property `requestId`
2998
+ # @return [String]
2999
+ attr_accessor :request_id
3000
+
3001
+ def initialize(**args)
3002
+ update!(**args)
3003
+ end
3004
+
3005
+ # Update properties of this object
3006
+ def update!(**args)
3007
+ @experiment_id_list = args[:experiment_id_list] if args.key?(:experiment_id_list)
3008
+ @mode = args[:mode] if args.key?(:mode)
3009
+ @request_id = args[:request_id] if args.key?(:request_id)
3010
+ end
3011
+ end
3012
+
3013
+ # Input only.
3014
+ # The Request body of the `SearchJobs` call.
3015
+ class SearchJobsRequest
3016
+ include Google::Apis::Core::Hashable
3017
+
3018
+ # Deprecated. Any value provided in this field will be ignored.
3019
+ # Optional.
3020
+ # Controls whether to disable relevance thresholding. Relevance
3021
+ # thresholding removes jobs that have low relevance in search results,
3022
+ # for example, removing "Assistant to the CEO" positions from the search
3023
+ # results of a search for "CEO".
3024
+ # Disabling relevance thresholding improves the accuracy of subsequent
3025
+ # search requests.
3026
+ # Defaults to false.
3027
+ # Corresponds to the JSON property `disableRelevanceThresholding`
3028
+ # @return [Boolean]
3029
+ attr_accessor :disable_relevance_thresholding
3030
+ alias_method :disable_relevance_thresholding?, :disable_relevance_thresholding
3031
+
3032
+ # Optional.
3033
+ # Controls whether to broaden the search when it produces sparse results.
3034
+ # Broadened queries append results to the end of the matching results
3035
+ # list.
3036
+ # Defaults to false.
3037
+ # Corresponds to the JSON property `enableBroadening`
3038
+ # @return [Boolean]
3039
+ attr_accessor :enable_broadening
3040
+ alias_method :enable_broadening?, :enable_broadening
3041
+
3042
+ # Optional.
3043
+ # Controls if the search job request requires the return of a precise
3044
+ # count of the first 300 results. Setting this to `true` ensures
3045
+ # consistency in the number of results per page. Best practice is to set this
3046
+ # value to true if a client allows users to jump directly to a
3047
+ # non-sequential search results page.
3048
+ # Enabling this flag may adversely impact performance.
3049
+ # Defaults to false.
3050
+ # Corresponds to the JSON property `enablePreciseResultSize`
3051
+ # @return [Boolean]
3052
+ attr_accessor :enable_precise_result_size
3053
+ alias_method :enable_precise_result_size?, :enable_precise_result_size
3054
+
3055
+ # Input only.
3056
+ # Deprecated. Use JobQuery instead.
3057
+ # The filters required to perform a search query or histogram.
3058
+ # Corresponds to the JSON property `filters`
3059
+ # @return [Google::Apis::JobsV2::JobFilters]
3060
+ attr_accessor :filters
3061
+
3062
+ # Input only.
3063
+ # Histogram facets to be specified in SearchJobsRequest.
3064
+ # Corresponds to the JSON property `histogramFacets`
3065
+ # @return [Google::Apis::JobsV2::HistogramFacets]
3066
+ attr_accessor :histogram_facets
3067
+
3068
+ # Optional.
3069
+ # The number of job attributes that is returned for jobs in the
3070
+ # search response. Defaults to JobView.SMALL if no value is specified.
3071
+ # Corresponds to the JSON property `jobView`
3072
+ # @return [String]
3073
+ attr_accessor :job_view
3074
+
3075
+ # Required.
3076
+ # Mode of a search.
3077
+ # Corresponds to the JSON property `mode`
3078
+ # @return [String]
3079
+ attr_accessor :mode
3080
+
3081
+ # Optional.
3082
+ # An integer that specifies the current offset (i.e. starting result) in
3083
+ # search results. This field is only considered if page_token is unset.
3084
+ # For example, 0 means to return results starting from the first matching
3085
+ # job, and 10 means to return from the 11th job. This can be used for
3086
+ # pagination, (for example, pageSize = 10 and offset = 10 means to return
3087
+ # from the second page).
3088
+ # Corresponds to the JSON property `offset`
3089
+ # @return [Fixnum]
3090
+ attr_accessor :offset
3091
+
3092
+ # Deprecated. Use sort_by instead.
3093
+ # Optional.
3094
+ # The criteria that determine how search results are sorted.
3095
+ # Defaults to SortBy.RELEVANCE_DESC if no value is specified.
3096
+ # Corresponds to the JSON property `orderBy`
3097
+ # @return [String]
3098
+ attr_accessor :order_by
3099
+
3100
+ # Optional.
3101
+ # A limit on the number of jobs returned in the search results.
3102
+ # Increasing this value above the default value of 10 can increase search
3103
+ # response time. The value can be between 1 and 100.
3104
+ # Corresponds to the JSON property `pageSize`
3105
+ # @return [Fixnum]
3106
+ attr_accessor :page_size
3107
+
3108
+ # Optional.
3109
+ # The token that specifies the current offset within
3110
+ # search results. See SearchJobsResponse.next_page_token for
3111
+ # an explanation of how to obtain the next set of query results.
3112
+ # Corresponds to the JSON property `pageToken`
3113
+ # @return [String]
3114
+ attr_accessor :page_token
3115
+
3116
+ # Input only.
3117
+ # The query required to perform a search query or histogram.
3118
+ # Corresponds to the JSON property `query`
3119
+ # @return [Google::Apis::JobsV2::JobQuery]
3120
+ attr_accessor :query
3121
+
3122
+ # Input only.
3123
+ # Meta information related to the job searcher or entity
3124
+ # conducting the job search. This information is used to improve the
3125
+ # performance of the service.
3126
+ # Corresponds to the JSON property `requestMetadata`
3127
+ # @return [Google::Apis::JobsV2::RequestMetadata]
3128
+ attr_accessor :request_metadata
3129
+
3130
+ # Optional.
3131
+ # The criteria that determine how search results are sorted.
3132
+ # Defaults to SortBy.RELEVANCE_DESC if no value is specified.
3133
+ # Corresponds to the JSON property `sortBy`
3134
+ # @return [String]
3135
+ attr_accessor :sort_by
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @disable_relevance_thresholding = args[:disable_relevance_thresholding] if args.key?(:disable_relevance_thresholding)
3144
+ @enable_broadening = args[:enable_broadening] if args.key?(:enable_broadening)
3145
+ @enable_precise_result_size = args[:enable_precise_result_size] if args.key?(:enable_precise_result_size)
3146
+ @filters = args[:filters] if args.key?(:filters)
3147
+ @histogram_facets = args[:histogram_facets] if args.key?(:histogram_facets)
3148
+ @job_view = args[:job_view] if args.key?(:job_view)
3149
+ @mode = args[:mode] if args.key?(:mode)
3150
+ @offset = args[:offset] if args.key?(:offset)
3151
+ @order_by = args[:order_by] if args.key?(:order_by)
3152
+ @page_size = args[:page_size] if args.key?(:page_size)
3153
+ @page_token = args[:page_token] if args.key?(:page_token)
3154
+ @query = args[:query] if args.key?(:query)
3155
+ @request_metadata = args[:request_metadata] if args.key?(:request_metadata)
3156
+ @sort_by = args[:sort_by] if args.key?(:sort_by)
3157
+ end
3158
+ end
3159
+
3160
+ # Output only.
3161
+ # Response for SearchJob method.
3162
+ class SearchJobsResponse
3163
+ include Google::Apis::Core::Hashable
3164
+
3165
+ # Input only.
3166
+ # Parameters needed for commute search.
3167
+ # Corresponds to the JSON property `appliedCommuteFilter`
3168
+ # @return [Google::Apis::JobsV2::CommutePreference]
3169
+ attr_accessor :applied_commute_filter
3170
+
3171
+ # The location filters that the service applied to the specified query. If
3172
+ # any filters are lat-lng based, the JobLocation.location_type is
3173
+ # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
3174
+ # Corresponds to the JSON property `appliedJobLocationFilters`
3175
+ # @return [Array<Google::Apis::JobsV2::JobLocation>]
3176
+ attr_accessor :applied_job_location_filters
3177
+
3178
+ # An estimation of the number of jobs that match the specified query.
3179
+ # This number is not guaranteed to be accurate. For accurate results,
3180
+ # seenenable_precise_result_size.
3181
+ # Corresponds to the JSON property `estimatedTotalSize`
3182
+ # @return [Fixnum]
3183
+ attr_accessor :estimated_total_size
3184
+
3185
+ # Output only.
3186
+ # Histogram results that matches HistogramFacets specified in
3187
+ # SearchJobsRequest.
3188
+ # Corresponds to the JSON property `histogramResults`
3189
+ # @return [Google::Apis::JobsV2::HistogramResults]
3190
+ attr_accessor :histogram_results
3191
+
3192
+ # Corresponds to SearchJobsRequest.job_view.
3193
+ # Corresponds to the JSON property `jobView`
3194
+ # @return [String]
3195
+ attr_accessor :job_view
3196
+
3197
+ # The Job entities that match the specified SearchJobsRequest.
3198
+ # Corresponds to the JSON property `matchingJobs`
3199
+ # @return [Array<Google::Apis::JobsV2::MatchingJob>]
3200
+ attr_accessor :matching_jobs
3201
+
3202
+ # Output only.
3203
+ # Additional information returned to client, such as debugging
3204
+ # information.
3205
+ # Corresponds to the JSON property `metadata`
3206
+ # @return [Google::Apis::JobsV2::ResponseMetadata]
3207
+ attr_accessor :metadata
3208
+
3209
+ # The token that specifies the starting position of the next page of results.
3210
+ # This field is empty if there are no more results.
3211
+ # Corresponds to the JSON property `nextPageToken`
3212
+ # @return [String]
3213
+ attr_accessor :next_page_token
3214
+
3215
+ # If query broadening is enabled, we may append additional results from the
3216
+ # broadened query. This number indicates how many of the jobs returned in the
3217
+ # jobs field are from the broadened query. These results are always at the
3218
+ # end of the jobs list. In particular, a value of 0 means all the jobs in the
3219
+ # jobs list are from the original (without broadening) query. If this
3220
+ # field is non-zero, subsequent requests with offset after this result set
3221
+ # should contain all broadened results.
3222
+ # Corresponds to the JSON property `numJobsFromBroadenedQuery`
3223
+ # @return [Fixnum]
3224
+ attr_accessor :num_jobs_from_broadened_query
3225
+
3226
+ # Output only.
3227
+ # Spell check result.
3228
+ # Corresponds to the JSON property `spellResult`
3229
+ # @return [Google::Apis::JobsV2::SpellingCorrection]
3230
+ attr_accessor :spell_result
3231
+
3232
+ # The precise result count, which is available only if the client set
3233
+ # enable_precise_result_size to `true` or if the response
3234
+ # is the last page of results. Otherwise, the value will be `-1`.
3235
+ # Corresponds to the JSON property `totalSize`
3236
+ # @return [Fixnum]
3237
+ attr_accessor :total_size
3238
+
3239
+ def initialize(**args)
3240
+ update!(**args)
3241
+ end
3242
+
3243
+ # Update properties of this object
3244
+ def update!(**args)
3245
+ @applied_commute_filter = args[:applied_commute_filter] if args.key?(:applied_commute_filter)
3246
+ @applied_job_location_filters = args[:applied_job_location_filters] if args.key?(:applied_job_location_filters)
3247
+ @estimated_total_size = args[:estimated_total_size] if args.key?(:estimated_total_size)
3248
+ @histogram_results = args[:histogram_results] if args.key?(:histogram_results)
3249
+ @job_view = args[:job_view] if args.key?(:job_view)
3250
+ @matching_jobs = args[:matching_jobs] if args.key?(:matching_jobs)
3251
+ @metadata = args[:metadata] if args.key?(:metadata)
3252
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3253
+ @num_jobs_from_broadened_query = args[:num_jobs_from_broadened_query] if args.key?(:num_jobs_from_broadened_query)
3254
+ @spell_result = args[:spell_result] if args.key?(:spell_result)
3255
+ @total_size = args[:total_size] if args.key?(:total_size)
3256
+ end
3257
+ end
3258
+
3259
+ # Output only.
3260
+ # Spell check result.
3261
+ class SpellingCorrection
3262
+ include Google::Apis::Core::Hashable
3263
+
3264
+ # Indicates if the query was corrected by the spell checker.
3265
+ # Corresponds to the JSON property `corrected`
3266
+ # @return [Boolean]
3267
+ attr_accessor :corrected
3268
+ alias_method :corrected?, :corrected
3269
+
3270
+ # Correction output consisting of the corrected keyword string.
3271
+ # Corresponds to the JSON property `correctedText`
3272
+ # @return [String]
3273
+ attr_accessor :corrected_text
3274
+
3275
+ def initialize(**args)
3276
+ update!(**args)
3277
+ end
3278
+
3279
+ # Update properties of this object
3280
+ def update!(**args)
3281
+ @corrected = args[:corrected] if args.key?(:corrected)
3282
+ @corrected_text = args[:corrected_text] if args.key?(:corrected_text)
3283
+ end
3284
+ end
3285
+
3286
+ # Represents array of string values.
3287
+ class StringValues
3288
+ include Google::Apis::Core::Hashable
3289
+
3290
+ # Required.
3291
+ # String values.
3292
+ # Corresponds to the JSON property `values`
3293
+ # @return [Array<String>]
3294
+ attr_accessor :values
3295
+
3296
+ def initialize(**args)
3297
+ update!(**args)
3298
+ end
3299
+
3300
+ # Update properties of this object
3301
+ def update!(**args)
3302
+ @values = args[:values] if args.key?(:values)
3303
+ end
3304
+ end
3305
+
3306
+ # Input only.
3307
+ # Update job request.
3308
+ class UpdateJobRequest
3309
+ include Google::Apis::Core::Hashable
3310
+
3311
+ # If set to `true`, the service will not attempt resolve a more precise
3312
+ # address for the job.
3313
+ # Corresponds to the JSON property `disableStreetAddressResolution`
3314
+ # @return [Boolean]
3315
+ attr_accessor :disable_street_address_resolution
3316
+ alias_method :disable_street_address_resolution?, :disable_street_address_resolution
3317
+
3318
+ # A Job resource represents a job posting (also referred to as a "job listing"
3319
+ # or "job requisition"). A job belongs to a Company, which is the hiring
3320
+ # entity responsible for the job.
3321
+ # Corresponds to the JSON property `job`
3322
+ # @return [Google::Apis::JobsV2::Job]
3323
+ attr_accessor :job
3324
+
3325
+ # Optional but strongly recommended to be provided for the best service
3326
+ # experience.
3327
+ # If update_job_fields is provided, only the specified fields in
3328
+ # job are updated. Otherwise all the fields are updated.
3329
+ # A field mask to restrict the fields that are updated. Valid values are:
3330
+ # * jobTitle
3331
+ # * employmentTypes
3332
+ # * description
3333
+ # * applicationUrls
3334
+ # * applicationEmailList
3335
+ # * applicationInstruction
3336
+ # * responsibilities
3337
+ # * qualifications
3338
+ # * educationLevels
3339
+ # * level
3340
+ # * department
3341
+ # * startDate
3342
+ # * endDate
3343
+ # * compensationInfo
3344
+ # * incentives
3345
+ # * languageCode
3346
+ # * benefits
3347
+ # * expireTime
3348
+ # * customAttributes
3349
+ # * visibility
3350
+ # * publishDate
3351
+ # * promotionValue
3352
+ # * locations
3353
+ # * region
3354
+ # * expiryDate (deprecated)
3355
+ # * filterableCustomFields (deprecated)
3356
+ # * unindexedCustomFields (deprecated)
3357
+ # Corresponds to the JSON property `updateJobFields`
3358
+ # @return [String]
3359
+ attr_accessor :update_job_fields
3360
+
3361
+ def initialize(**args)
3362
+ update!(**args)
3363
+ end
3364
+
3365
+ # Update properties of this object
3366
+ def update!(**args)
3367
+ @disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution)
3368
+ @job = args[:job] if args.key?(:job)
3369
+ @update_job_fields = args[:update_job_fields] if args.key?(:update_job_fields)
3370
+ end
3371
+ end
3372
+ end
3373
+ end
3374
+ end