google-api-client 0.24.3 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -2
  3. data/CHANGELOG.md +99 -0
  4. data/Gemfile +1 -0
  5. data/generated/google/apis/abusiveexperiencereport_v1.rb +2 -2
  6. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +0 -1
  7. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +1 -1
  8. data/generated/google/apis/{content_v2sandbox.rb → accesscontextmanager_v1beta.rb} +11 -12
  9. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +697 -0
  10. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +240 -0
  11. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +666 -0
  12. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +16 -0
  14. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +2 -0
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +2 -2
  16. data/generated/google/apis/adexperiencereport_v1.rb +2 -2
  17. data/generated/google/apis/adexperiencereport_v1/service.rb +1 -1
  18. data/generated/google/apis/alertcenter_v1beta1.rb +4 -3
  19. data/generated/google/apis/alertcenter_v1beta1/classes.rb +9 -2
  20. data/generated/google/apis/alertcenter_v1beta1/representations.rb +1 -0
  21. data/generated/google/apis/alertcenter_v1beta1/service.rb +3 -2
  22. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  23. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +3 -2
  24. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  25. data/generated/google/apis/androidenterprise_v1/classes.rb +68 -6
  26. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -0
  27. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  28. data/generated/google/apis/androidmanagement_v1/classes.rb +92 -0
  29. data/generated/google/apis/androidmanagement_v1/representations.rb +36 -0
  30. data/generated/google/apis/androidpublisher_v1.rb +2 -2
  31. data/generated/google/apis/androidpublisher_v1/service.rb +1 -1
  32. data/generated/google/apis/androidpublisher_v1_1.rb +2 -2
  33. data/generated/google/apis/androidpublisher_v1_1/service.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2/service.rb +3 -2
  36. data/generated/google/apis/androidpublisher_v3.rb +2 -2
  37. data/generated/google/apis/androidpublisher_v3/service.rb +3 -2
  38. data/generated/google/apis/appengine_v1.rb +2 -3
  39. data/generated/google/apis/appengine_v1/service.rb +1 -2
  40. data/generated/google/apis/appengine_v1alpha.rb +2 -3
  41. data/generated/google/apis/appengine_v1alpha/service.rb +1 -2
  42. data/generated/google/apis/appengine_v1beta.rb +2 -3
  43. data/generated/google/apis/appengine_v1beta/service.rb +1 -2
  44. data/generated/google/apis/appengine_v1beta4.rb +2 -3
  45. data/generated/google/apis/appengine_v1beta4/service.rb +1 -2
  46. data/generated/google/apis/appengine_v1beta5.rb +2 -3
  47. data/generated/google/apis/appengine_v1beta5/service.rb +1 -2
  48. data/generated/google/apis/bigquery_v2.rb +1 -1
  49. data/generated/google/apis/bigquery_v2/classes.rb +98 -7
  50. data/generated/google/apis/bigquery_v2/representations.rb +35 -0
  51. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  52. data/generated/google/apis/civicinfo_v2.rb +1 -1
  53. data/generated/google/apis/civicinfo_v2/classes.rb +18 -0
  54. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  55. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudasset_v1beta1/classes.rb +5 -5
  57. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  58. data/generated/google/apis/cloudbuild_v1/classes.rb +10 -1
  59. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  60. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  61. data/generated/google/apis/cloudfunctions_v1/classes.rb +418 -0
  62. data/generated/google/apis/cloudfunctions_v1/representations.rb +121 -0
  63. data/generated/google/apis/cloudfunctions_v1/service.rb +107 -0
  64. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  65. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +16 -0
  66. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  67. data/generated/google/apis/cloudkms_v1.rb +1 -1
  68. data/generated/google/apis/cloudresourcemanager_v1.rb +3 -3
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -1
  70. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  71. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +3 -3
  72. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +2 -1
  73. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  74. data/generated/google/apis/cloudresourcemanager_v2.rb +3 -3
  75. data/generated/google/apis/cloudresourcemanager_v2/service.rb +2 -2
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +3 -3
  77. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +2 -2
  78. data/generated/google/apis/cloudsearch_v1.rb +59 -0
  79. data/generated/google/apis/cloudsearch_v1/classes.rb +4697 -0
  80. data/generated/google/apis/cloudsearch_v1/representations.rb +2151 -0
  81. data/generated/google/apis/cloudsearch_v1/service.rb +1351 -0
  82. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  83. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +34 -0
  84. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  85. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +34 -30
  86. data/generated/google/apis/composer_v1beta1.rb +1 -1
  87. data/generated/google/apis/composer_v1beta1/classes.rb +5 -8
  88. data/generated/google/apis/compute_alpha.rb +1 -1
  89. data/generated/google/apis/compute_beta.rb +1 -1
  90. data/generated/google/apis/compute_v1.rb +1 -1
  91. data/generated/google/apis/content_v2.rb +1 -1
  92. data/generated/google/apis/content_v2/classes.rb +197 -69
  93. data/generated/google/apis/content_v2/representations.rb +64 -33
  94. data/generated/google/apis/content_v2/service.rb +1 -1
  95. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  96. data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
  97. data/generated/google/apis/dataflow_v1b3/representations.rb +17 -0
  98. data/generated/google/apis/dataproc_v1.rb +1 -1
  99. data/generated/google/apis/dataproc_v1/classes.rb +19 -19
  100. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  101. data/generated/google/apis/dataproc_v1beta2/classes.rb +19 -19
  102. data/generated/google/apis/dialogflow_v2.rb +6 -3
  103. data/generated/google/apis/dialogflow_v2/classes.rb +112 -8
  104. data/generated/google/apis/dialogflow_v2/representations.rb +30 -0
  105. data/generated/google/apis/dialogflow_v2/service.rb +7 -2
  106. data/generated/google/apis/dialogflow_v2beta1.rb +6 -3
  107. data/generated/google/apis/dialogflow_v2beta1/classes.rb +116 -8
  108. data/generated/google/apis/dialogflow_v2beta1/representations.rb +30 -0
  109. data/generated/google/apis/dialogflow_v2beta1/service.rb +19 -8
  110. data/generated/google/apis/digitalassetlinks_v1.rb +2 -3
  111. data/generated/google/apis/digitalassetlinks_v1/service.rb +1 -2
  112. data/generated/google/apis/dlp_v2.rb +1 -1
  113. data/generated/google/apis/dlp_v2/classes.rb +17 -5
  114. data/generated/google/apis/dlp_v2/representations.rb +2 -0
  115. data/generated/google/apis/dns_v1beta2.rb +1 -1
  116. data/generated/google/apis/dns_v1beta2/classes.rb +81 -0
  117. data/generated/google/apis/dns_v1beta2/representations.rb +34 -0
  118. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  119. data/generated/google/apis/doubleclicksearch_v2/classes.rb +1 -1
  120. data/generated/google/apis/drive_v2.rb +1 -1
  121. data/generated/google/apis/drive_v2/classes.rb +3 -1
  122. data/generated/google/apis/firebaserules_v1.rb +1 -1
  123. data/generated/google/apis/firestore_v1.rb +1 -1
  124. data/generated/google/apis/firestore_v1/classes.rb +637 -0
  125. data/generated/google/apis/firestore_v1/representations.rb +260 -0
  126. data/generated/google/apis/firestore_v1/service.rb +377 -0
  127. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  128. data/generated/google/apis/firestore_v1beta2/classes.rb +205 -0
  129. data/generated/google/apis/firestore_v1beta2/representations.rb +83 -0
  130. data/generated/google/apis/firestore_v1beta2/service.rb +79 -0
  131. data/generated/google/apis/genomics_v1.rb +2 -2
  132. data/generated/google/apis/genomics_v1/service.rb +1 -1
  133. data/generated/google/apis/genomics_v1alpha2.rb +2 -2
  134. data/generated/google/apis/genomics_v1alpha2/service.rb +1 -1
  135. data/generated/google/apis/genomics_v2alpha1.rb +2 -2
  136. data/generated/google/apis/genomics_v2alpha1/service.rb +1 -1
  137. data/generated/google/apis/iam_v1.rb +1 -1
  138. data/generated/google/apis/iam_v1/classes.rb +4 -3
  139. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  140. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  141. data/generated/google/apis/indexing_v3.rb +2 -3
  142. data/generated/google/apis/indexing_v3/service.rb +1 -2
  143. data/generated/google/apis/jobs_v2.rb +1 -1
  144. data/generated/google/apis/jobs_v2/classes.rb +2 -2
  145. data/generated/google/apis/jobs_v3.rb +1 -1
  146. data/generated/google/apis/jobs_v3/classes.rb +3 -3
  147. data/generated/google/apis/jobs_v3/service.rb +20 -2
  148. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  149. data/generated/google/apis/jobs_v3p1beta1/classes.rb +3 -3
  150. data/generated/google/apis/jobs_v3p1beta1/service.rb +20 -2
  151. data/generated/google/apis/language_v1.rb +4 -4
  152. data/generated/google/apis/language_v1/service.rb +3 -3
  153. data/generated/google/apis/language_v1beta1.rb +4 -4
  154. data/generated/google/apis/language_v1beta1/service.rb +3 -3
  155. data/generated/google/apis/language_v1beta2.rb +4 -4
  156. data/generated/google/apis/language_v1beta2/service.rb +3 -3
  157. data/generated/google/apis/logging_v2.rb +1 -1
  158. data/generated/google/apis/logging_v2/classes.rb +2 -13
  159. data/generated/google/apis/logging_v2/representations.rb +0 -2
  160. data/generated/google/apis/logging_v2beta1.rb +1 -1
  161. data/generated/google/apis/logging_v2beta1/classes.rb +2 -41
  162. data/generated/google/apis/logging_v2beta1/representations.rb +0 -16
  163. data/generated/google/apis/logging_v2beta1/service.rb +0 -255
  164. data/generated/google/apis/monitoring_v3.rb +1 -1
  165. data/generated/google/apis/monitoring_v3/classes.rb +25 -15
  166. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  167. data/generated/google/apis/monitoring_v3/service.rb +366 -1
  168. data/generated/google/apis/oslogin_v1.rb +1 -1
  169. data/generated/google/apis/oslogin_v1/service.rb +7 -1
  170. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  171. data/generated/google/apis/oslogin_v1alpha/service.rb +10 -1
  172. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  173. data/generated/google/apis/oslogin_v1beta/service.rb +7 -1
  174. data/generated/google/apis/redis_v1.rb +1 -1
  175. data/generated/google/apis/redis_v1/classes.rb +6 -0
  176. data/generated/google/apis/redis_v1/representations.rb +1 -0
  177. data/generated/google/apis/redis_v1beta1.rb +1 -1
  178. data/generated/google/apis/redis_v1beta1/classes.rb +6 -0
  179. data/generated/google/apis/redis_v1beta1/representations.rb +1 -0
  180. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  181. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +7 -6
  182. data/generated/google/apis/script_v1.rb +2 -2
  183. data/generated/google/apis/script_v1/service.rb +7 -3
  184. data/generated/google/apis/serviceconsumermanagement_v1.rb +2 -3
  185. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +7 -0
  186. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  187. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +1 -2
  188. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  189. data/generated/google/apis/servicecontrol_v1/classes.rb +18 -230
  190. data/generated/google/apis/servicecontrol_v1/representations.rb +2 -99
  191. data/generated/google/apis/servicecontrol_v1/service.rb +2 -140
  192. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  194. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  195. data/generated/google/apis/servicenetworking_v1beta/classes.rb +24 -0
  196. data/generated/google/apis/servicenetworking_v1beta/representations.rb +3 -0
  197. data/generated/google/apis/serviceusage_v1.rb +1 -1
  198. data/generated/google/apis/serviceusage_v1/classes.rb +7 -0
  199. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  200. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  201. data/generated/google/apis/serviceusage_v1beta1/classes.rb +7 -0
  202. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  203. data/generated/google/apis/slides_v1.rb +2 -2
  204. data/generated/google/apis/slides_v1/classes.rb +4 -3
  205. data/generated/google/apis/slides_v1/service.rb +1 -1
  206. data/generated/google/apis/storage_v1.rb +1 -1
  207. data/generated/google/apis/storage_v1/service.rb +2 -3
  208. data/generated/google/apis/testing_v1.rb +1 -1
  209. data/generated/google/apis/testing_v1/classes.rb +9 -0
  210. data/generated/google/apis/testing_v1/representations.rb +1 -0
  211. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  212. data/generated/google/apis/toolresults_v1beta3/service.rb +1 -1
  213. data/generated/google/apis/tpu_v1.rb +1 -1
  214. data/generated/google/apis/tpu_v1/classes.rb +6 -0
  215. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  216. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  217. data/generated/google/apis/tpu_v1alpha1/classes.rb +6 -0
  218. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  219. data/generated/google/apis/vault_v1.rb +1 -1
  220. data/generated/google/apis/vault_v1/classes.rb +7 -0
  221. data/generated/google/apis/vault_v1/representations.rb +1 -0
  222. data/generated/google/apis/videointelligence_v1.rb +3 -2
  223. data/generated/google/apis/videointelligence_v1/classes.rb +547 -12
  224. data/generated/google/apis/videointelligence_v1/representations.rb +190 -2
  225. data/generated/google/apis/videointelligence_v1/service.rb +2 -1
  226. data/generated/google/apis/videointelligence_v1beta2.rb +3 -2
  227. data/generated/google/apis/videointelligence_v1beta2/classes.rb +547 -12
  228. data/generated/google/apis/videointelligence_v1beta2/representations.rb +190 -2
  229. data/generated/google/apis/videointelligence_v1beta2/service.rb +2 -1
  230. data/generated/google/apis/videointelligence_v1p1beta1.rb +3 -2
  231. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +418 -13
  232. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +153 -2
  233. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +2 -1
  234. data/generated/google/apis/vision_v1.rb +1 -1
  235. data/generated/google/apis/vision_v1/classes.rb +1139 -54
  236. data/generated/google/apis/vision_v1/representations.rb +478 -0
  237. data/generated/google/apis/vision_v1/service.rb +744 -0
  238. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  239. data/generated/google/apis/vision_v1p1beta1/classes.rb +761 -16
  240. data/generated/google/apis/vision_v1p1beta1/representations.rb +333 -0
  241. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  242. data/generated/google/apis/vision_v1p2beta1/classes.rb +758 -13
  243. data/generated/google/apis/vision_v1p2beta1/representations.rb +333 -0
  244. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  245. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  246. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  247. data/generated/google/apis/youtube_v3.rb +1 -1
  248. data/lib/google/apis/core/http_command.rb +83 -10
  249. data/lib/google/apis/options.rb +5 -1
  250. data/lib/google/apis/version.rb +1 -1
  251. metadata +10 -14
  252. data/generated/google/apis/content_v2sandbox/classes.rb +0 -4436
  253. data/generated/google/apis/content_v2sandbox/representations.rb +0 -1956
  254. data/generated/google/apis/content_v2sandbox/service.rb +0 -1296
  255. data/generated/google/apis/dfareporting_v2_8.rb +0 -40
  256. data/generated/google/apis/dfareporting_v2_8/classes.rb +0 -12043
  257. data/generated/google/apis/dfareporting_v2_8/representations.rb +0 -4311
  258. data/generated/google/apis/dfareporting_v2_8/service.rb +0 -8727
  259. data/generated/google/apis/serviceuser_v1.rb +0 -42
  260. data/generated/google/apis/serviceuser_v1/classes.rb +0 -3472
  261. data/generated/google/apis/serviceuser_v1/representations.rb +0 -1030
  262. data/generated/google/apis/serviceuser_v1/service.rb +0 -215
@@ -20,13 +20,13 @@ module Google
20
20
  module Apis
21
21
  # Cloud Resource Manager API
22
22
  #
23
- # The Google Cloud Resource Manager API provides methods for creating, reading,
24
- # and updating project metadata.
23
+ # Creates, reads, and updates metadata for Google Cloud Platform resource
24
+ # containers.
25
25
  #
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV2
28
28
  VERSION = 'V2'
29
- REVISION = '20180815'
29
+ REVISION = '20181015'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,8 +22,8 @@ module Google
22
22
  module CloudresourcemanagerV2
23
23
  # Cloud Resource Manager API
24
24
  #
25
- # The Google Cloud Resource Manager API provides methods for creating, reading,
26
- # and updating project metadata.
25
+ # Creates, reads, and updates metadata for Google Cloud Platform resource
26
+ # containers.
27
27
  #
28
28
  # @example
29
29
  # require 'google/apis/cloudresourcemanager_v2'
@@ -20,13 +20,13 @@ module Google
20
20
  module Apis
21
21
  # Cloud Resource Manager API
22
22
  #
23
- # The Google Cloud Resource Manager API provides methods for creating, reading,
24
- # and updating project metadata.
23
+ # Creates, reads, and updates metadata for Google Cloud Platform resource
24
+ # containers.
25
25
  #
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV2beta1
28
28
  VERSION = 'V2beta1'
29
- REVISION = '20180815'
29
+ REVISION = '20181015'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,8 +22,8 @@ module Google
22
22
  module CloudresourcemanagerV2beta1
23
23
  # Cloud Resource Manager API
24
24
  #
25
- # The Google Cloud Resource Manager API provides methods for creating, reading,
26
- # and updating project metadata.
25
+ # Creates, reads, and updates metadata for Google Cloud Platform resource
26
+ # containers.
27
27
  #
28
28
  # @example
29
29
  # require 'google/apis/cloudresourcemanager_v2beta1'
@@ -0,0 +1,59 @@
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/cloudsearch_v1/service.rb'
16
+ require 'google/apis/cloudsearch_v1/classes.rb'
17
+ require 'google/apis/cloudsearch_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Search API
22
+ #
23
+ # Cloud Search provides cloud-based search capabilities over G Suite data. The
24
+ # Cloud Search API allows indexing of non-G Suite data into Cloud Search.
25
+ #
26
+ # @see https://gsuite.google.com/products/cloud-search/
27
+ module CloudsearchV1
28
+ VERSION = 'V1'
29
+ REVISION = '20181029'
30
+
31
+ # Index and serve your organization's data with Cloud Search
32
+ AUTH_CLOUD_SEARCH = 'https://www.googleapis.com/auth/cloud_search'
33
+
34
+ # New Service: https://www.googleapis.com/auth/cloud_search.debug
35
+ AUTH_CLOUD_SEARCH_DEBUG = 'https://www.googleapis.com/auth/cloud_search.debug'
36
+
37
+ # New Service: https://www.googleapis.com/auth/cloud_search.indexing
38
+ AUTH_CLOUD_SEARCH_INDEXING = 'https://www.googleapis.com/auth/cloud_search.indexing'
39
+
40
+ # Search your organization's data in the Cloud Search index
41
+ AUTH_CLOUD_SEARCH_QUERY = 'https://www.googleapis.com/auth/cloud_search.query'
42
+
43
+ # New Service: https://www.googleapis.com/auth/cloud_search.settings
44
+ AUTH_CLOUD_SEARCH_SETTINGS = 'https://www.googleapis.com/auth/cloud_search.settings'
45
+
46
+ # New Service: https://www.googleapis.com/auth/cloud_search.settings.indexing
47
+ AUTH_CLOUD_SEARCH_SETTINGS_INDEXING = 'https://www.googleapis.com/auth/cloud_search.settings.indexing'
48
+
49
+ # New Service: https://www.googleapis.com/auth/cloud_search.settings.query
50
+ AUTH_CLOUD_SEARCH_SETTINGS_QUERY = 'https://www.googleapis.com/auth/cloud_search.settings.query'
51
+
52
+ # New Service: https://www.googleapis.com/auth/cloud_search.stats
53
+ AUTH_CLOUD_SEARCH_STATS = 'https://www.googleapis.com/auth/cloud_search.stats'
54
+
55
+ # New Service: https://www.googleapis.com/auth/cloud_search.stats.indexing
56
+ AUTH_CLOUD_SEARCH_STATS_INDEXING = 'https://www.googleapis.com/auth/cloud_search.stats.indexing'
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,4697 @@
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 CloudsearchV1
24
+
25
+ # Used to provide a search operator for boolean properties. This is
26
+ # optional. Search operators let users restrict the query to specific fields
27
+ # relevant to the type of item being searched.
28
+ class BooleanOperatorOptions
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # Indicates the operator name required in the query in order to isolate the
32
+ # boolean property. For example, if operatorName is *closed* and the
33
+ # property's name is *isClosed*, then queries like
34
+ # *closed:<value>* will show results only where the value of the
35
+ # property named *isClosed* matches *<value>*. By contrast, a
36
+ # search that uses the same *<value>* without an operator will return
37
+ # all items where *<value>* matches the value of any
38
+ # String properties or text within the content field for the item.
39
+ # The operator name can only contain lowercase letters (a-z).
40
+ # The maximum length is 32 characters.
41
+ # Corresponds to the JSON property `operatorName`
42
+ # @return [String]
43
+ attr_accessor :operator_name
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
52
+ end
53
+ end
54
+
55
+ # Options for boolean properties.
56
+ class BooleanPropertyOptions
57
+ include Google::Apis::Core::Hashable
58
+
59
+ # Used to provide a search operator for boolean properties. This is
60
+ # optional. Search operators let users restrict the query to specific fields
61
+ # relevant to the type of item being searched.
62
+ # Corresponds to the JSON property `operatorOptions`
63
+ # @return [Google::Apis::CloudsearchV1::BooleanOperatorOptions]
64
+ attr_accessor :operator_options
65
+
66
+ def initialize(**args)
67
+ update!(**args)
68
+ end
69
+
70
+ # Update properties of this object
71
+ def update!(**args)
72
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
73
+ end
74
+ end
75
+
76
+ #
77
+ class CompositeFilter
78
+ include Google::Apis::Core::Hashable
79
+
80
+ # The logic operator of the sub filter.
81
+ # Corresponds to the JSON property `logicOperator`
82
+ # @return [String]
83
+ attr_accessor :logic_operator
84
+
85
+ # Sub filters.
86
+ # Corresponds to the JSON property `subFilters`
87
+ # @return [Array<Google::Apis::CloudsearchV1::Filter>]
88
+ attr_accessor :sub_filters
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @logic_operator = args[:logic_operator] if args.key?(:logic_operator)
97
+ @sub_filters = args[:sub_filters] if args.key?(:sub_filters)
98
+ end
99
+ end
100
+
101
+ # Aggregation of items by status code as of the specified date.
102
+ class CustomerIndexStats
103
+ include Google::Apis::Core::Hashable
104
+
105
+ # Represents a whole calendar date, for example a date of birth. The time of day
106
+ # and time zone are either specified elsewhere or are not significant. The date
107
+ # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/
108
+ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date
109
+ # between the year 1 and 9999.
110
+ # Corresponds to the JSON property `date`
111
+ # @return [Google::Apis::CloudsearchV1::Date]
112
+ attr_accessor :date
113
+
114
+ # Number of items aggregrated by status code.
115
+ # Corresponds to the JSON property `itemCountByStatus`
116
+ # @return [Array<Google::Apis::CloudsearchV1::ItemCountByStatus>]
117
+ attr_accessor :item_count_by_status
118
+
119
+ def initialize(**args)
120
+ update!(**args)
121
+ end
122
+
123
+ # Update properties of this object
124
+ def update!(**args)
125
+ @date = args[:date] if args.key?(:date)
126
+ @item_count_by_status = args[:item_count_by_status] if args.key?(:item_count_by_status)
127
+ end
128
+ end
129
+
130
+ # Data source is a logical namespace for items to be indexed.
131
+ # All items must belong to a data source. This is the prerequisite before
132
+ # items can be indexed into Cloud Search.
133
+ class DataSource
134
+ include Google::Apis::Core::Hashable
135
+
136
+ # If true, Indexing API rejects any modification calls to this data source
137
+ # such as create, update, and delete.
138
+ # Disabling this does not imply halting process of previously
139
+ # accepted data.
140
+ # Corresponds to the JSON property `disableModifications`
141
+ # @return [Boolean]
142
+ attr_accessor :disable_modifications
143
+ alias_method :disable_modifications?, :disable_modifications
144
+
145
+ # Disable serving any search or assist results.
146
+ # Corresponds to the JSON property `disableServing`
147
+ # @return [Boolean]
148
+ attr_accessor :disable_serving
149
+ alias_method :disable_serving?, :disable_serving
150
+
151
+ # Required. Display name of the data source
152
+ # The maximum length is 300 characters.
153
+ # Corresponds to the JSON property `displayName`
154
+ # @return [String]
155
+ attr_accessor :display_name
156
+
157
+ # List of service accounts that have indexing access.
158
+ # Corresponds to the JSON property `indexingServiceAccounts`
159
+ # @return [Array<String>]
160
+ attr_accessor :indexing_service_accounts
161
+
162
+ # This restricts visibility to items at a data source level to the
163
+ # disjunction of users/groups mentioned with the field. Note that, this
164
+ # does not ensure access to a specific item, as users need to have ACL
165
+ # permissions on the contained items. This ensures a high level access
166
+ # on the entire data source, and that the individual items are not shared
167
+ # outside this visibility.
168
+ # Corresponds to the JSON property `itemsVisibility`
169
+ # @return [Array<Google::Apis::CloudsearchV1::GSuitePrincipal>]
170
+ attr_accessor :items_visibility
171
+
172
+ # Name of the data source resource.
173
+ # Format: datasources/`source_id`.
174
+ # <br />The name is ignored when creating a data source.
175
+ # Corresponds to the JSON property `name`
176
+ # @return [String]
177
+ attr_accessor :name
178
+
179
+ # IDs of the Long Running Operations (LROs) currently running for this schema.
180
+ # Corresponds to the JSON property `operationIds`
181
+ # @return [Array<String>]
182
+ attr_accessor :operation_ids
183
+
184
+ # A short name or alias for the source. This value will be used to match the
185
+ # 'source' operator. For example, if the short name is *&lt;value&gt;* then
186
+ # queries like *source:&lt;value&gt;* will only return results for this
187
+ # source. The value must be unique across all data sources. The value must
188
+ # only contain alphanumeric characters (a-zA-Z0-9). The value cannot start
189
+ # with 'google' and cannot be one of the following: mail, gmail, docs, drive,
190
+ # groups, sites, calendar, hangouts, gplus, keep.
191
+ # Its maximum length is 32 characters.
192
+ # Corresponds to the JSON property `shortName`
193
+ # @return [String]
194
+ attr_accessor :short_name
195
+
196
+ def initialize(**args)
197
+ update!(**args)
198
+ end
199
+
200
+ # Update properties of this object
201
+ def update!(**args)
202
+ @disable_modifications = args[:disable_modifications] if args.key?(:disable_modifications)
203
+ @disable_serving = args[:disable_serving] if args.key?(:disable_serving)
204
+ @display_name = args[:display_name] if args.key?(:display_name)
205
+ @indexing_service_accounts = args[:indexing_service_accounts] if args.key?(:indexing_service_accounts)
206
+ @items_visibility = args[:items_visibility] if args.key?(:items_visibility)
207
+ @name = args[:name] if args.key?(:name)
208
+ @operation_ids = args[:operation_ids] if args.key?(:operation_ids)
209
+ @short_name = args[:short_name] if args.key?(:short_name)
210
+ end
211
+ end
212
+
213
+ # Aggregation of items by status code as of the specified date.
214
+ class DataSourceIndexStats
215
+ include Google::Apis::Core::Hashable
216
+
217
+ # Represents a whole calendar date, for example a date of birth. The time of day
218
+ # and time zone are either specified elsewhere or are not significant. The date
219
+ # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/
220
+ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date
221
+ # between the year 1 and 9999.
222
+ # Corresponds to the JSON property `date`
223
+ # @return [Google::Apis::CloudsearchV1::Date]
224
+ attr_accessor :date
225
+
226
+ # Number of items aggregrated by status code.
227
+ # Corresponds to the JSON property `itemCountByStatus`
228
+ # @return [Array<Google::Apis::CloudsearchV1::ItemCountByStatus>]
229
+ attr_accessor :item_count_by_status
230
+
231
+ def initialize(**args)
232
+ update!(**args)
233
+ end
234
+
235
+ # Update properties of this object
236
+ def update!(**args)
237
+ @date = args[:date] if args.key?(:date)
238
+ @item_count_by_status = args[:item_count_by_status] if args.key?(:item_count_by_status)
239
+ end
240
+ end
241
+
242
+ # Restriction on Datasource.
243
+ class DataSourceRestriction
244
+ include Google::Apis::Core::Hashable
245
+
246
+ # Filter options restricting the results. If multiple filters
247
+ # are present, they are grouped by object type before joining.
248
+ # Filters with the same object type are joined conjunctively, then
249
+ # the resulting expressions are joined disjunctively.
250
+ # The maximum number of elements is 20.
251
+ # Corresponds to the JSON property `filterOptions`
252
+ # @return [Array<Google::Apis::CloudsearchV1::FilterOptions>]
253
+ attr_accessor :filter_options
254
+
255
+ # Defines sources for the suggest/search APIs.
256
+ # Corresponds to the JSON property `source`
257
+ # @return [Google::Apis::CloudsearchV1::Source]
258
+ attr_accessor :source
259
+
260
+ def initialize(**args)
261
+ update!(**args)
262
+ end
263
+
264
+ # Update properties of this object
265
+ def update!(**args)
266
+ @filter_options = args[:filter_options] if args.key?(:filter_options)
267
+ @source = args[:source] if args.key?(:source)
268
+ end
269
+ end
270
+
271
+ # Represents a whole calendar date, for example a date of birth. The time of day
272
+ # and time zone are either specified elsewhere or are not significant. The date
273
+ # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/
274
+ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date
275
+ # between the year 1 and 9999.
276
+ class Date
277
+ include Google::Apis::Core::Hashable
278
+
279
+ # Day of month. Must be from 1 to 31 and valid for the year and month.
280
+ # Corresponds to the JSON property `day`
281
+ # @return [Fixnum]
282
+ attr_accessor :day
283
+
284
+ # Month of date. Must be from 1 to 12.
285
+ # Corresponds to the JSON property `month`
286
+ # @return [Fixnum]
287
+ attr_accessor :month
288
+
289
+ # Year of date. Must be from 1 to 9999.
290
+ # Corresponds to the JSON property `year`
291
+ # @return [Fixnum]
292
+ attr_accessor :year
293
+
294
+ def initialize(**args)
295
+ update!(**args)
296
+ end
297
+
298
+ # Update properties of this object
299
+ def update!(**args)
300
+ @day = args[:day] if args.key?(:day)
301
+ @month = args[:month] if args.key?(:month)
302
+ @year = args[:year] if args.key?(:year)
303
+ end
304
+ end
305
+
306
+ # Optional. Provides a search operator for date properties.
307
+ # Search operators let users restrict the query to specific fields relevant
308
+ # to the type of item being searched.
309
+ class DateOperatorOptions
310
+ include Google::Apis::Core::Hashable
311
+
312
+ # Indicates the operator name required in the query in order to isolate the
313
+ # date property using the greater-than operator. For example, if
314
+ # greaterThanOperatorName is *closedafter* and the property's name is
315
+ # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
316
+ # show results only where the value of the property named *closeDate* is
317
+ # later than *&lt;value&gt;*.
318
+ # The operator name can only contain lowercase letters (a-z).
319
+ # The maximum length is 32 characters.
320
+ # Corresponds to the JSON property `greaterThanOperatorName`
321
+ # @return [String]
322
+ attr_accessor :greater_than_operator_name
323
+
324
+ # Indicates the operator name required in the query in order to isolate the
325
+ # date property using the less-than operator. For example, if
326
+ # lessThanOperatorName is *closedbefore* and the property's name is
327
+ # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
328
+ # show results only where the value of the property named *closeDate* is
329
+ # earlier than *&lt;value&gt;*.
330
+ # The operator name can only contain lowercase letters (a-z).
331
+ # The maximum length is 32 characters.
332
+ # Corresponds to the JSON property `lessThanOperatorName`
333
+ # @return [String]
334
+ attr_accessor :less_than_operator_name
335
+
336
+ # Indicates the actual string required in the query in order to isolate the
337
+ # date property. For example, suppose an issue tracking schema object
338
+ # has a property named *closeDate* that specifies an operator with an
339
+ # operatorName of *closedon*. For searches on that data, queries like
340
+ # *closedon:&lt;value&gt;* will show results only where the value of the
341
+ # *closeDate* property matches *&lt;value&gt;*. By contrast, a
342
+ # search that uses the same *&lt;value&gt;* without an operator will return
343
+ # all items where *&lt;value&gt;* matches the value of any String
344
+ # properties or text within the content field for the indexed datasource.
345
+ # The operator name can only contain lowercase letters (a-z).
346
+ # The maximum length is 32 characters.
347
+ # Corresponds to the JSON property `operatorName`
348
+ # @return [String]
349
+ attr_accessor :operator_name
350
+
351
+ def initialize(**args)
352
+ update!(**args)
353
+ end
354
+
355
+ # Update properties of this object
356
+ def update!(**args)
357
+ @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name)
358
+ @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name)
359
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
360
+ end
361
+ end
362
+
363
+ # Options for date properties.
364
+ class DatePropertyOptions
365
+ include Google::Apis::Core::Hashable
366
+
367
+ # Optional. Provides a search operator for date properties.
368
+ # Search operators let users restrict the query to specific fields relevant
369
+ # to the type of item being searched.
370
+ # Corresponds to the JSON property `operatorOptions`
371
+ # @return [Google::Apis::CloudsearchV1::DateOperatorOptions]
372
+ attr_accessor :operator_options
373
+
374
+ def initialize(**args)
375
+ update!(**args)
376
+ end
377
+
378
+ # Update properties of this object
379
+ def update!(**args)
380
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
381
+ end
382
+ end
383
+
384
+ # List of date values.
385
+ class DateValues
386
+ include Google::Apis::Core::Hashable
387
+
388
+ # The maximum number of elements is 100.
389
+ # Corresponds to the JSON property `values`
390
+ # @return [Array<Google::Apis::CloudsearchV1::Date>]
391
+ attr_accessor :values
392
+
393
+ def initialize(**args)
394
+ update!(**args)
395
+ end
396
+
397
+ # Update properties of this object
398
+ def update!(**args)
399
+ @values = args[:values] if args.key?(:values)
400
+ end
401
+ end
402
+
403
+ # Shared request debug options for all cloudsearch RPC methods.
404
+ class DebugOptions
405
+ include Google::Apis::Core::Hashable
406
+
407
+ # If set, the request will enable debugging features of Cloud Search.
408
+ # Only turn on this field, if asked by Google to help with debugging.
409
+ # Corresponds to the JSON property `enableDebugging`
410
+ # @return [Boolean]
411
+ attr_accessor :enable_debugging
412
+ alias_method :enable_debugging?, :enable_debugging
413
+
414
+ def initialize(**args)
415
+ update!(**args)
416
+ end
417
+
418
+ # Update properties of this object
419
+ def update!(**args)
420
+ @enable_debugging = args[:enable_debugging] if args.key?(:enable_debugging)
421
+ end
422
+ end
423
+
424
+ #
425
+ class DeleteQueueItemsRequest
426
+ include Google::Apis::Core::Hashable
427
+
428
+ # Name of connector making this call.
429
+ # <br />Format: datasources/`source_id`/connectors/`ID`
430
+ # Corresponds to the JSON property `connectorName`
431
+ # @return [String]
432
+ attr_accessor :connector_name
433
+
434
+ # Shared request debug options for all cloudsearch RPC methods.
435
+ # Corresponds to the JSON property `debugOptions`
436
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
437
+ attr_accessor :debug_options
438
+
439
+ # Name of a queue to delete items from.
440
+ # Corresponds to the JSON property `queue`
441
+ # @return [String]
442
+ attr_accessor :queue
443
+
444
+ def initialize(**args)
445
+ update!(**args)
446
+ end
447
+
448
+ # Update properties of this object
449
+ def update!(**args)
450
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
451
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
452
+ @queue = args[:queue] if args.key?(:queue)
453
+ end
454
+ end
455
+
456
+ # A reference to a top-level property within the object that should be
457
+ # displayed in search results. The values of the chosen properties will be
458
+ # displayed in the search results along with the
459
+ # dislpay label
460
+ # for that property if one is specified. If a display label is not specified,
461
+ # only the values will be shown.
462
+ class DisplayedProperty
463
+ include Google::Apis::Core::Hashable
464
+
465
+ # The name of the top-level property as defined in a property definition
466
+ # for the object. If the name is not a defined property in the schema, an
467
+ # error will be given when attempting to update the schema.
468
+ # Corresponds to the JSON property `propertyName`
469
+ # @return [String]
470
+ attr_accessor :property_name
471
+
472
+ def initialize(**args)
473
+ update!(**args)
474
+ end
475
+
476
+ # Update properties of this object
477
+ def update!(**args)
478
+ @property_name = args[:property_name] if args.key?(:property_name)
479
+ end
480
+ end
481
+
482
+ # Used to provide a search operator for double properties. This is
483
+ # optional. Search operators let users restrict the query to specific fields
484
+ # relevant to the type of item being searched.
485
+ class DoubleOperatorOptions
486
+ include Google::Apis::Core::Hashable
487
+
488
+ # Indicates the operator name required in the query in order to use the
489
+ # double property in sorting or as a facet.
490
+ # The operator name can only contain lowercase letters (a-z).
491
+ # The maximum length is 32 characters.
492
+ # Corresponds to the JSON property `operatorName`
493
+ # @return [String]
494
+ attr_accessor :operator_name
495
+
496
+ def initialize(**args)
497
+ update!(**args)
498
+ end
499
+
500
+ # Update properties of this object
501
+ def update!(**args)
502
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
503
+ end
504
+ end
505
+
506
+ # Options for double properties.
507
+ class DoublePropertyOptions
508
+ include Google::Apis::Core::Hashable
509
+
510
+ # Used to provide a search operator for double properties. This is
511
+ # optional. Search operators let users restrict the query to specific fields
512
+ # relevant to the type of item being searched.
513
+ # Corresponds to the JSON property `operatorOptions`
514
+ # @return [Google::Apis::CloudsearchV1::DoubleOperatorOptions]
515
+ attr_accessor :operator_options
516
+
517
+ def initialize(**args)
518
+ update!(**args)
519
+ end
520
+
521
+ # Update properties of this object
522
+ def update!(**args)
523
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
524
+ end
525
+ end
526
+
527
+ # List of double values.
528
+ class DoubleValues
529
+ include Google::Apis::Core::Hashable
530
+
531
+ # The maximum number of elements is 100.
532
+ # Corresponds to the JSON property `values`
533
+ # @return [Array<Float>]
534
+ attr_accessor :values
535
+
536
+ def initialize(**args)
537
+ update!(**args)
538
+ end
539
+
540
+ # Update properties of this object
541
+ def update!(**args)
542
+ @values = args[:values] if args.key?(:values)
543
+ end
544
+ end
545
+
546
+ # Drive follow-up search restricts (e.g. "followup:suggestions").
547
+ class DriveFollowUpRestrict
548
+ include Google::Apis::Core::Hashable
549
+
550
+ #
551
+ # Corresponds to the JSON property `type`
552
+ # @return [String]
553
+ attr_accessor :type
554
+
555
+ def initialize(**args)
556
+ update!(**args)
557
+ end
558
+
559
+ # Update properties of this object
560
+ def update!(**args)
561
+ @type = args[:type] if args.key?(:type)
562
+ end
563
+ end
564
+
565
+ # Drive location search restricts (e.g. "is:starred").
566
+ class DriveLocationRestrict
567
+ include Google::Apis::Core::Hashable
568
+
569
+ #
570
+ # Corresponds to the JSON property `type`
571
+ # @return [String]
572
+ attr_accessor :type
573
+
574
+ def initialize(**args)
575
+ update!(**args)
576
+ end
577
+
578
+ # Update properties of this object
579
+ def update!(**args)
580
+ @type = args[:type] if args.key?(:type)
581
+ end
582
+ end
583
+
584
+ # Drive mime-type search restricts (e.g. "type:pdf").
585
+ class DriveMimeTypeRestrict
586
+ include Google::Apis::Core::Hashable
587
+
588
+ #
589
+ # Corresponds to the JSON property `type`
590
+ # @return [String]
591
+ attr_accessor :type
592
+
593
+ def initialize(**args)
594
+ update!(**args)
595
+ end
596
+
597
+ # Update properties of this object
598
+ def update!(**args)
599
+ @type = args[:type] if args.key?(:type)
600
+ end
601
+ end
602
+
603
+ # The time span search restrict (e.g. "after:2017-09-11 before:2017-09-12").
604
+ class DriveTimeSpanRestrict
605
+ include Google::Apis::Core::Hashable
606
+
607
+ #
608
+ # Corresponds to the JSON property `type`
609
+ # @return [String]
610
+ attr_accessor :type
611
+
612
+ def initialize(**args)
613
+ update!(**args)
614
+ end
615
+
616
+ # Update properties of this object
617
+ def update!(**args)
618
+ @type = args[:type] if args.key?(:type)
619
+ end
620
+ end
621
+
622
+ # A person's email address.
623
+ class EmailAddress
624
+ include Google::Apis::Core::Hashable
625
+
626
+ # The email address.
627
+ # Corresponds to the JSON property `emailAddress`
628
+ # @return [String]
629
+ attr_accessor :email_address
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @email_address = args[:email_address] if args.key?(:email_address)
638
+ end
639
+ end
640
+
641
+ # Used to provide a search operator for enum properties. This is
642
+ # optional. Search operators let users restrict the query to specific fields
643
+ # relevant to the type of item being searched. For example, if you provide no
644
+ # operator for a *priority* enum property with possible values *p0* and *p1*,
645
+ # a query that contains the term *p0* will return items that have *p0* as the
646
+ # value of the *priority* property, as well as any items that contain the
647
+ # string *p0* in other fields. If you provide an operator name for the enum,
648
+ # such as *priority*, then search users can use that operator to refine
649
+ # results to only items that have *p0* as this property's value, with the
650
+ # query *priority:p0*.
651
+ class EnumOperatorOptions
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # Indicates the operator name required in the query in order to isolate the
655
+ # enum property. For example, if operatorName is *priority* and the
656
+ # property's name is *priorityVal*, then queries like
657
+ # *priority:&lt;value&gt;* will show results only where the value of the
658
+ # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
659
+ # search that uses the same *&lt;value&gt;* without an operator will return
660
+ # all items where *&lt;value&gt;* matches the value of any String
661
+ # properties or text within the content field for the item.
662
+ # The operator name can only contain lowercase letters (a-z).
663
+ # The maximum length is 32 characters.
664
+ # Corresponds to the JSON property `operatorName`
665
+ # @return [String]
666
+ attr_accessor :operator_name
667
+
668
+ def initialize(**args)
669
+ update!(**args)
670
+ end
671
+
672
+ # Update properties of this object
673
+ def update!(**args)
674
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
675
+ end
676
+ end
677
+
678
+ # Options for enum properties, which allow you to define a restricted set of
679
+ # strings to match user queries, set rankings for those string values, and
680
+ # define an operator name to be paired with those strings so that users can
681
+ # narrow results to only items with a specific value. For example, for items in
682
+ # a request tracking system with priority information, you could define *p0* as
683
+ # an allowable enum value and tie this enum to the operator name *priority* so
684
+ # that search users could add *priority:p0* to their query to restrict the set
685
+ # of results to only those items indexed with the value *p0*.
686
+ class EnumPropertyOptions
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # Used to provide a search operator for enum properties. This is
690
+ # optional. Search operators let users restrict the query to specific fields
691
+ # relevant to the type of item being searched. For example, if you provide no
692
+ # operator for a *priority* enum property with possible values *p0* and *p1*,
693
+ # a query that contains the term *p0* will return items that have *p0* as the
694
+ # value of the *priority* property, as well as any items that contain the
695
+ # string *p0* in other fields. If you provide an operator name for the enum,
696
+ # such as *priority*, then search users can use that operator to refine
697
+ # results to only items that have *p0* as this property's value, with the
698
+ # query *priority:p0*.
699
+ # Corresponds to the JSON property `operatorOptions`
700
+ # @return [Google::Apis::CloudsearchV1::EnumOperatorOptions]
701
+ attr_accessor :operator_options
702
+
703
+ # Used to specify the ordered ranking for the enumeration that determines how
704
+ # the integer values provided in the possible EnumValuePairs are used to rank
705
+ # results. If specified, integer values must be provided for all possible
706
+ # EnumValuePair values given for this property. Can only be used if
707
+ # isRepeatable
708
+ # is false.
709
+ # Corresponds to the JSON property `orderedRanking`
710
+ # @return [String]
711
+ attr_accessor :ordered_ranking
712
+
713
+ # The list of possible values for the enumeration property. All
714
+ # EnumValuePairs must provide a string value. If you specify an integer value
715
+ # for one EnumValuePair, then all possible EnumValuePairs must provide an
716
+ # integer value. Both the string value and integer value must be unique over
717
+ # all possible values. Once set, possible values cannot be removed or
718
+ # modified. If you supply an ordered ranking and think you might insert
719
+ # additional enum values in the future, leave gaps in the initial integer
720
+ # values to allow adding a value in between previously registered values.
721
+ # The maximum number of elements is 100.
722
+ # Corresponds to the JSON property `possibleValues`
723
+ # @return [Array<Google::Apis::CloudsearchV1::EnumValuePair>]
724
+ attr_accessor :possible_values
725
+
726
+ def initialize(**args)
727
+ update!(**args)
728
+ end
729
+
730
+ # Update properties of this object
731
+ def update!(**args)
732
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
733
+ @ordered_ranking = args[:ordered_ranking] if args.key?(:ordered_ranking)
734
+ @possible_values = args[:possible_values] if args.key?(:possible_values)
735
+ end
736
+ end
737
+
738
+ # The enumeration value pair defines two things: a required string value and
739
+ # an optional integer value. The string value defines the necessary query
740
+ # term required to retrieve that item, such as *p0* for a priority item.
741
+ # The integer value determines the ranking of that string value relative
742
+ # to other enumerated values for the same property. For example, you might
743
+ # associate *p0* with *0* and define another enum pair such as *p1* and *1*.
744
+ # You must use the integer value in combination with
745
+ # ordered
746
+ # ranking to
747
+ # set the ranking of a given value relative to other enumerated values for
748
+ # the same property name. Here, a ranking order of DESCENDING for *priority*
749
+ # properties results in a ranking boost for items indexed with a value of
750
+ # *p0* compared to items indexed with a value of *p1*. Without a specified
751
+ # ranking order, the integer value has no effect on item ranking.
752
+ class EnumValuePair
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # The integer value of the EnumValuePair which must be non-negative.
756
+ # Optional.
757
+ # Corresponds to the JSON property `integerValue`
758
+ # @return [Fixnum]
759
+ attr_accessor :integer_value
760
+
761
+ # The string value of the EnumValuePair.
762
+ # The maximum length is 32 characters.
763
+ # Corresponds to the JSON property `stringValue`
764
+ # @return [String]
765
+ attr_accessor :string_value
766
+
767
+ def initialize(**args)
768
+ update!(**args)
769
+ end
770
+
771
+ # Update properties of this object
772
+ def update!(**args)
773
+ @integer_value = args[:integer_value] if args.key?(:integer_value)
774
+ @string_value = args[:string_value] if args.key?(:string_value)
775
+ end
776
+ end
777
+
778
+ # List of enum values.
779
+ class EnumValues
780
+ include Google::Apis::Core::Hashable
781
+
782
+ # The maximum allowable length for string values is 32 characters.
783
+ # The maximum number of elements is 100.
784
+ # Corresponds to the JSON property `values`
785
+ # @return [Array<String>]
786
+ attr_accessor :values
787
+
788
+ def initialize(**args)
789
+ update!(**args)
790
+ end
791
+
792
+ # Update properties of this object
793
+ def update!(**args)
794
+ @values = args[:values] if args.key?(:values)
795
+ end
796
+ end
797
+
798
+ # Error information about the response.
799
+ class ErrorInfo
800
+ include Google::Apis::Core::Hashable
801
+
802
+ #
803
+ # Corresponds to the JSON property `errorMessages`
804
+ # @return [Array<Google::Apis::CloudsearchV1::ErrorMessage>]
805
+ attr_accessor :error_messages
806
+
807
+ def initialize(**args)
808
+ update!(**args)
809
+ end
810
+
811
+ # Update properties of this object
812
+ def update!(**args)
813
+ @error_messages = args[:error_messages] if args.key?(:error_messages)
814
+ end
815
+ end
816
+
817
+ # Error message per source response.
818
+ class ErrorMessage
819
+ include Google::Apis::Core::Hashable
820
+
821
+ #
822
+ # Corresponds to the JSON property `errorMessage`
823
+ # @return [String]
824
+ attr_accessor :error_message
825
+
826
+ # Defines sources for the suggest/search APIs.
827
+ # Corresponds to the JSON property `source`
828
+ # @return [Google::Apis::CloudsearchV1::Source]
829
+ attr_accessor :source
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @error_message = args[:error_message] if args.key?(:error_message)
838
+ @source = args[:source] if args.key?(:source)
839
+ end
840
+ end
841
+
842
+ # A bucket in a facet is the basic unit of operation. A bucket can comprise
843
+ # either a single value OR a contiguous range of values, depending on the
844
+ # type of the field bucketed.
845
+ # FacetBucket is currently used only for returning the response object.
846
+ class FacetBucket
847
+ include Google::Apis::Core::Hashable
848
+
849
+ # Number of results that match the bucket value.
850
+ # Corresponds to the JSON property `count`
851
+ # @return [Fixnum]
852
+ attr_accessor :count
853
+
854
+ # Percent of results that match the bucket value. This value is between
855
+ # (0-100].
856
+ # This may not be accurate and is a best effort estimate.
857
+ # Corresponds to the JSON property `percentage`
858
+ # @return [Fixnum]
859
+ attr_accessor :percentage
860
+
861
+ # Definition of a single value with generic type.
862
+ # Corresponds to the JSON property `value`
863
+ # @return [Google::Apis::CloudsearchV1::Value]
864
+ attr_accessor :value
865
+
866
+ def initialize(**args)
867
+ update!(**args)
868
+ end
869
+
870
+ # Update properties of this object
871
+ def update!(**args)
872
+ @count = args[:count] if args.key?(:count)
873
+ @percentage = args[:percentage] if args.key?(:percentage)
874
+ @value = args[:value] if args.key?(:value)
875
+ end
876
+ end
877
+
878
+ # Specifies operators to return facet results for. There will be one
879
+ # FacetResult for every source_name/object_type/operator_name combination.
880
+ class FacetOptions
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # If object_type is set, only those objects of that type will be used to
884
+ # compute facets. If empty, then all objects will be used to compute facets.
885
+ # Corresponds to the JSON property `objectType`
886
+ # @return [String]
887
+ attr_accessor :object_type
888
+
889
+ # Name of the operator chosen for faceting. @see
890
+ # cloudsearch.SchemaPropertyOptions
891
+ # Corresponds to the JSON property `operatorName`
892
+ # @return [String]
893
+ attr_accessor :operator_name
894
+
895
+ # Source name to facet on. Format: datasources/`source_id`
896
+ # If empty, all data sources will be used.
897
+ # Corresponds to the JSON property `sourceName`
898
+ # @return [String]
899
+ attr_accessor :source_name
900
+
901
+ def initialize(**args)
902
+ update!(**args)
903
+ end
904
+
905
+ # Update properties of this object
906
+ def update!(**args)
907
+ @object_type = args[:object_type] if args.key?(:object_type)
908
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
909
+ @source_name = args[:source_name] if args.key?(:source_name)
910
+ end
911
+ end
912
+
913
+ # Source specific facet response
914
+ class FacetResult
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # FacetBuckets for values in response containing atleast a single result.
918
+ # Corresponds to the JSON property `buckets`
919
+ # @return [Array<Google::Apis::CloudsearchV1::FacetBucket>]
920
+ attr_accessor :buckets
921
+
922
+ # Object type for which facet results are returned. Can be empty.
923
+ # Corresponds to the JSON property `objectType`
924
+ # @return [String]
925
+ attr_accessor :object_type
926
+
927
+ # Name of the operator chosen for faceting. @see
928
+ # cloudsearch.SchemaPropertyOptions
929
+ # Corresponds to the JSON property `operatorName`
930
+ # @return [String]
931
+ attr_accessor :operator_name
932
+
933
+ # Source name for which facet results are returned. Will not be empty.
934
+ # Corresponds to the JSON property `sourceName`
935
+ # @return [String]
936
+ attr_accessor :source_name
937
+
938
+ def initialize(**args)
939
+ update!(**args)
940
+ end
941
+
942
+ # Update properties of this object
943
+ def update!(**args)
944
+ @buckets = args[:buckets] if args.key?(:buckets)
945
+ @object_type = args[:object_type] if args.key?(:object_type)
946
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
947
+ @source_name = args[:source_name] if args.key?(:source_name)
948
+ end
949
+ end
950
+
951
+ #
952
+ class FieldViolation
953
+ include Google::Apis::Core::Hashable
954
+
955
+ # Description of the error.
956
+ # Corresponds to the JSON property `description`
957
+ # @return [String]
958
+ attr_accessor :description
959
+
960
+ # Path of field with violation.
961
+ # Corresponds to the JSON property `field`
962
+ # @return [String]
963
+ attr_accessor :field
964
+
965
+ def initialize(**args)
966
+ update!(**args)
967
+ end
968
+
969
+ # Update properties of this object
970
+ def update!(**args)
971
+ @description = args[:description] if args.key?(:description)
972
+ @field = args[:field] if args.key?(:field)
973
+ end
974
+ end
975
+
976
+ # A generic way of expressing filters in a query, which supports two
977
+ # approaches: <br/><br/>
978
+ # **1. Setting a ValueFilter.** The name must match an operator_name defined in
979
+ # the schema for your data source.
980
+ # <br/>
981
+ # **2. Setting a CompositeFilter.** The filters are evaluated
982
+ # using the logical operator. The top-level operators can only be either an AND
983
+ # or a NOT. AND can appear only at the top-most level. OR can appear only under
984
+ # a top-level AND.
985
+ class Filter
986
+ include Google::Apis::Core::Hashable
987
+
988
+ #
989
+ # Corresponds to the JSON property `compositeFilter`
990
+ # @return [Google::Apis::CloudsearchV1::CompositeFilter]
991
+ attr_accessor :composite_filter
992
+
993
+ #
994
+ # Corresponds to the JSON property `valueFilter`
995
+ # @return [Google::Apis::CloudsearchV1::ValueFilter]
996
+ attr_accessor :value_filter
997
+
998
+ def initialize(**args)
999
+ update!(**args)
1000
+ end
1001
+
1002
+ # Update properties of this object
1003
+ def update!(**args)
1004
+ @composite_filter = args[:composite_filter] if args.key?(:composite_filter)
1005
+ @value_filter = args[:value_filter] if args.key?(:value_filter)
1006
+ end
1007
+ end
1008
+
1009
+ # Filter options to be applied on query.
1010
+ class FilterOptions
1011
+ include Google::Apis::Core::Hashable
1012
+
1013
+ # A generic way of expressing filters in a query, which supports two
1014
+ # approaches: <br/><br/>
1015
+ # **1. Setting a ValueFilter.** The name must match an operator_name defined in
1016
+ # the schema for your data source.
1017
+ # <br/>
1018
+ # **2. Setting a CompositeFilter.** The filters are evaluated
1019
+ # using the logical operator. The top-level operators can only be either an AND
1020
+ # or a NOT. AND can appear only at the top-most level. OR can appear only under
1021
+ # a top-level AND.
1022
+ # Corresponds to the JSON property `filter`
1023
+ # @return [Google::Apis::CloudsearchV1::Filter]
1024
+ attr_accessor :filter
1025
+
1026
+ # If object_type is set, only objects of that type are returned. This should
1027
+ # correspond to the name of the object that was registered within the
1028
+ # definition of schema. The maximum length is 256 characters.
1029
+ # Corresponds to the JSON property `objectType`
1030
+ # @return [String]
1031
+ attr_accessor :object_type
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @filter = args[:filter] if args.key?(:filter)
1040
+ @object_type = args[:object_type] if args.key?(:object_type)
1041
+ end
1042
+ end
1043
+
1044
+ # Indicates which freshness property to use when adjusting search ranking for
1045
+ # an item. Fresher, more recent dates indicate higher quality. Use the
1046
+ # freshness option property that best works with your data. For fileshare
1047
+ # documents, last modified time is most relevant. For calendar event data,
1048
+ # the time when the event occurs is a more relevant freshness indicator. In
1049
+ # this way, calendar events that occur closer to the time of the search query
1050
+ # are considered higher quality and ranked accordingly.
1051
+ class FreshnessOptions
1052
+ include Google::Apis::Core::Hashable
1053
+
1054
+ # The duration (in seconds) after which an object should be considered
1055
+ # stale.
1056
+ # Corresponds to the JSON property `freshnessDuration`
1057
+ # @return [String]
1058
+ attr_accessor :freshness_duration
1059
+
1060
+ # This property indicates the freshness level of the object in the index.
1061
+ # If set, this property must be a top-level property within the
1062
+ # PropertyDefinitions
1063
+ # and it must be a
1064
+ # timestamp type
1065
+ # or
1066
+ # date type.
1067
+ # Otherwise, the Indexing API uses
1068
+ # updateTime
1069
+ # as the freshness indicator.
1070
+ # The maximum length is 256 characters.
1071
+ # Corresponds to the JSON property `freshnessProperty`
1072
+ # @return [String]
1073
+ attr_accessor :freshness_property
1074
+
1075
+ def initialize(**args)
1076
+ update!(**args)
1077
+ end
1078
+
1079
+ # Update properties of this object
1080
+ def update!(**args)
1081
+ @freshness_duration = args[:freshness_duration] if args.key?(:freshness_duration)
1082
+ @freshness_property = args[:freshness_property] if args.key?(:freshness_property)
1083
+ end
1084
+ end
1085
+
1086
+ #
1087
+ class GSuitePrincipal
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ # This principal represents all users of the G Suite domain of the
1091
+ # customer.
1092
+ # Corresponds to the JSON property `gsuiteDomain`
1093
+ # @return [Boolean]
1094
+ attr_accessor :gsuite_domain
1095
+ alias_method :gsuite_domain?, :gsuite_domain
1096
+
1097
+ # This principal references a G Suite group account
1098
+ # Corresponds to the JSON property `gsuiteGroupEmail`
1099
+ # @return [String]
1100
+ attr_accessor :gsuite_group_email
1101
+
1102
+ # This principal references a G Suite user account
1103
+ # Corresponds to the JSON property `gsuiteUserEmail`
1104
+ # @return [String]
1105
+ attr_accessor :gsuite_user_email
1106
+
1107
+ def initialize(**args)
1108
+ update!(**args)
1109
+ end
1110
+
1111
+ # Update properties of this object
1112
+ def update!(**args)
1113
+ @gsuite_domain = args[:gsuite_domain] if args.key?(:gsuite_domain)
1114
+ @gsuite_group_email = args[:gsuite_group_email] if args.key?(:gsuite_group_email)
1115
+ @gsuite_user_email = args[:gsuite_user_email] if args.key?(:gsuite_user_email)
1116
+ end
1117
+ end
1118
+
1119
+ #
1120
+ class GetCustomerIndexStatsResponse
1121
+ include Google::Apis::Core::Hashable
1122
+
1123
+ # Summary of indexed item counts, one for each day in the requested range.
1124
+ # Corresponds to the JSON property `stats`
1125
+ # @return [Array<Google::Apis::CloudsearchV1::CustomerIndexStats>]
1126
+ attr_accessor :stats
1127
+
1128
+ def initialize(**args)
1129
+ update!(**args)
1130
+ end
1131
+
1132
+ # Update properties of this object
1133
+ def update!(**args)
1134
+ @stats = args[:stats] if args.key?(:stats)
1135
+ end
1136
+ end
1137
+
1138
+ #
1139
+ class GetDataSourceIndexStatsResponse
1140
+ include Google::Apis::Core::Hashable
1141
+
1142
+ # Summary of indexed item counts, one for each day in the requested range.
1143
+ # Corresponds to the JSON property `stats`
1144
+ # @return [Array<Google::Apis::CloudsearchV1::DataSourceIndexStats>]
1145
+ attr_accessor :stats
1146
+
1147
+ def initialize(**args)
1148
+ update!(**args)
1149
+ end
1150
+
1151
+ # Update properties of this object
1152
+ def update!(**args)
1153
+ @stats = args[:stats] if args.key?(:stats)
1154
+ end
1155
+ end
1156
+
1157
+ # Used to provide a search operator for html properties. This is optional.
1158
+ # Search operators let users restrict the query to specific fields relevant
1159
+ # to the type of item being searched.
1160
+ class HtmlOperatorOptions
1161
+ include Google::Apis::Core::Hashable
1162
+
1163
+ # Indicates the operator name required in the query in order to isolate the
1164
+ # html property. For example, if operatorName is *subject* and the
1165
+ # property's name is *subjectLine*, then queries like
1166
+ # *subject:&lt;value&gt;* will show results only where the value of the
1167
+ # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
1168
+ # search that uses the same *&lt;value&gt;* without an operator will return
1169
+ # all items where *&lt;value&gt;* matches the value of any
1170
+ # html properties or text within the content field for the item.
1171
+ # The operator name can only contain lowercase letters (a-z).
1172
+ # The maximum length is 32 characters.
1173
+ # Corresponds to the JSON property `operatorName`
1174
+ # @return [String]
1175
+ attr_accessor :operator_name
1176
+
1177
+ def initialize(**args)
1178
+ update!(**args)
1179
+ end
1180
+
1181
+ # Update properties of this object
1182
+ def update!(**args)
1183
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
1184
+ end
1185
+ end
1186
+
1187
+ # Options for html properties.
1188
+ class HtmlPropertyOptions
1189
+ include Google::Apis::Core::Hashable
1190
+
1191
+ # Used to provide a search operator for html properties. This is optional.
1192
+ # Search operators let users restrict the query to specific fields relevant
1193
+ # to the type of item being searched.
1194
+ # Corresponds to the JSON property `operatorOptions`
1195
+ # @return [Google::Apis::CloudsearchV1::HtmlOperatorOptions]
1196
+ attr_accessor :operator_options
1197
+
1198
+ # Indicates the search quality importance of the tokens within the
1199
+ # field when used for retrieval. Can only be set to DEFAULT or NONE.
1200
+ # Corresponds to the JSON property `retrievalImportance`
1201
+ # @return [Google::Apis::CloudsearchV1::RetrievalImportance]
1202
+ attr_accessor :retrieval_importance
1203
+
1204
+ def initialize(**args)
1205
+ update!(**args)
1206
+ end
1207
+
1208
+ # Update properties of this object
1209
+ def update!(**args)
1210
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
1211
+ @retrieval_importance = args[:retrieval_importance] if args.key?(:retrieval_importance)
1212
+ end
1213
+ end
1214
+
1215
+ # List of html values.
1216
+ class HtmlValues
1217
+ include Google::Apis::Core::Hashable
1218
+
1219
+ # The maximum allowable length for html values is 2048 characters.
1220
+ # The maximum number of string elements is 100.
1221
+ # Corresponds to the JSON property `values`
1222
+ # @return [Array<String>]
1223
+ attr_accessor :values
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @values = args[:values] if args.key?(:values)
1232
+ end
1233
+ end
1234
+
1235
+ #
1236
+ class IndexItemRequest
1237
+ include Google::Apis::Core::Hashable
1238
+
1239
+ # Name of connector making this call.
1240
+ # <br />Format: datasources/`source_id`/connectors/`ID`
1241
+ # Corresponds to the JSON property `connectorName`
1242
+ # @return [String]
1243
+ attr_accessor :connector_name
1244
+
1245
+ # Shared request debug options for all cloudsearch RPC methods.
1246
+ # Corresponds to the JSON property `debugOptions`
1247
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
1248
+ attr_accessor :debug_options
1249
+
1250
+ # Represents a single object that is an item in the search index, such as a
1251
+ # file, folder, or a database record.
1252
+ # Corresponds to the JSON property `item`
1253
+ # @return [Google::Apis::CloudsearchV1::Item]
1254
+ attr_accessor :item
1255
+
1256
+ # Required. The RequestMode for this request.
1257
+ # Corresponds to the JSON property `mode`
1258
+ # @return [String]
1259
+ attr_accessor :mode
1260
+
1261
+ def initialize(**args)
1262
+ update!(**args)
1263
+ end
1264
+
1265
+ # Update properties of this object
1266
+ def update!(**args)
1267
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
1268
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
1269
+ @item = args[:item] if args.key?(:item)
1270
+ @mode = args[:mode] if args.key?(:mode)
1271
+ end
1272
+ end
1273
+
1274
+ # Used to provide a search operator for integer properties. This is
1275
+ # optional. Search operators let users restrict the query to specific fields
1276
+ # relevant to the type of item being searched.
1277
+ class IntegerOperatorOptions
1278
+ include Google::Apis::Core::Hashable
1279
+
1280
+ # Indicates the operator name required in the query in order to isolate the
1281
+ # integer property using the greater-than operator. For example, if
1282
+ # greaterThanOperatorName is *priorityabove* and the property's name is
1283
+ # *priorityVal*, then queries like *priorityabove:&lt;value&gt;* will
1284
+ # show results only where the value of the property named *priorityVal* is
1285
+ # greater than *&lt;value&gt;*.
1286
+ # The operator name can only contain lowercase letters (a-z).
1287
+ # The maximum length is 32 characters.
1288
+ # Corresponds to the JSON property `greaterThanOperatorName`
1289
+ # @return [String]
1290
+ attr_accessor :greater_than_operator_name
1291
+
1292
+ # Indicates the operator name required in the query in order to isolate the
1293
+ # integer property using the less-than operator. For example, if
1294
+ # lessThanOperatorName is *prioritybelow* and the property's name is
1295
+ # *priorityVal*, then queries like *prioritybelow:&lt;value&gt;* will
1296
+ # show results only where the value of the property named *priorityVal* is
1297
+ # less than *&lt;value&gt;*.
1298
+ # The operator name can only contain lowercase letters (a-z).
1299
+ # The maximum length is 32 characters.
1300
+ # Corresponds to the JSON property `lessThanOperatorName`
1301
+ # @return [String]
1302
+ attr_accessor :less_than_operator_name
1303
+
1304
+ # Indicates the operator name required in the query in order to isolate the
1305
+ # integer property. For example, if operatorName is *priority* and the
1306
+ # property's name is *priorityVal*, then queries like
1307
+ # *priority:&lt;value&gt;* will show results only where the value of the
1308
+ # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
1309
+ # search that uses the same *&lt;value&gt;* without an operator will return
1310
+ # all items where *&lt;value&gt;* matches the value of any String
1311
+ # properties or text within the content field for the item.
1312
+ # The operator name can only contain lowercase letters (a-z).
1313
+ # The maximum length is 32 characters.
1314
+ # Corresponds to the JSON property `operatorName`
1315
+ # @return [String]
1316
+ attr_accessor :operator_name
1317
+
1318
+ def initialize(**args)
1319
+ update!(**args)
1320
+ end
1321
+
1322
+ # Update properties of this object
1323
+ def update!(**args)
1324
+ @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name)
1325
+ @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name)
1326
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
1327
+ end
1328
+ end
1329
+
1330
+ # Options for integer properties.
1331
+ class IntegerPropertyOptions
1332
+ include Google::Apis::Core::Hashable
1333
+
1334
+ # The maximum value of the property. The minimum and maximum values for the
1335
+ # property are used to rank results according to the
1336
+ # ordered ranking.
1337
+ # Indexing requests with values greater than the maximum are accepted and
1338
+ # ranked with the same weight as items indexed with the maximum value.
1339
+ # Corresponds to the JSON property `maximumValue`
1340
+ # @return [Fixnum]
1341
+ attr_accessor :maximum_value
1342
+
1343
+ # The minimum value of the property. The minimum and maximum values for the
1344
+ # property are used to rank results according to the
1345
+ # ordered ranking.
1346
+ # Indexing requests with values less than the minimum are accepted and
1347
+ # ranked with the same weight as items indexed with the minimum value.
1348
+ # Corresponds to the JSON property `minimumValue`
1349
+ # @return [Fixnum]
1350
+ attr_accessor :minimum_value
1351
+
1352
+ # Used to provide a search operator for integer properties. This is
1353
+ # optional. Search operators let users restrict the query to specific fields
1354
+ # relevant to the type of item being searched.
1355
+ # Corresponds to the JSON property `operatorOptions`
1356
+ # @return [Google::Apis::CloudsearchV1::IntegerOperatorOptions]
1357
+ attr_accessor :operator_options
1358
+
1359
+ # Used to specify the ordered ranking for the integer. Can only be used if
1360
+ # isRepeatable
1361
+ # is false.
1362
+ # Corresponds to the JSON property `orderedRanking`
1363
+ # @return [String]
1364
+ attr_accessor :ordered_ranking
1365
+
1366
+ def initialize(**args)
1367
+ update!(**args)
1368
+ end
1369
+
1370
+ # Update properties of this object
1371
+ def update!(**args)
1372
+ @maximum_value = args[:maximum_value] if args.key?(:maximum_value)
1373
+ @minimum_value = args[:minimum_value] if args.key?(:minimum_value)
1374
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
1375
+ @ordered_ranking = args[:ordered_ranking] if args.key?(:ordered_ranking)
1376
+ end
1377
+ end
1378
+
1379
+ # List of integer values.
1380
+ class IntegerValues
1381
+ include Google::Apis::Core::Hashable
1382
+
1383
+ # The maximum number of elements is 100.
1384
+ # Corresponds to the JSON property `values`
1385
+ # @return [Array<Fixnum>]
1386
+ attr_accessor :values
1387
+
1388
+ def initialize(**args)
1389
+ update!(**args)
1390
+ end
1391
+
1392
+ # Update properties of this object
1393
+ def update!(**args)
1394
+ @values = args[:values] if args.key?(:values)
1395
+ end
1396
+ end
1397
+
1398
+ # Represents an interaction between a user and an item.
1399
+ class Interaction
1400
+ include Google::Apis::Core::Hashable
1401
+
1402
+ # The time when the user acted on the item. If multiple actions of the same
1403
+ # type exist for a single user, only the most recent action is recorded.
1404
+ # Corresponds to the JSON property `interactionTime`
1405
+ # @return [String]
1406
+ attr_accessor :interaction_time
1407
+
1408
+ # Reference to a user, group, or domain.
1409
+ # Corresponds to the JSON property `principal`
1410
+ # @return [Google::Apis::CloudsearchV1::Principal]
1411
+ attr_accessor :principal
1412
+
1413
+ #
1414
+ # Corresponds to the JSON property `type`
1415
+ # @return [String]
1416
+ attr_accessor :type
1417
+
1418
+ def initialize(**args)
1419
+ update!(**args)
1420
+ end
1421
+
1422
+ # Update properties of this object
1423
+ def update!(**args)
1424
+ @interaction_time = args[:interaction_time] if args.key?(:interaction_time)
1425
+ @principal = args[:principal] if args.key?(:principal)
1426
+ @type = args[:type] if args.key?(:type)
1427
+ end
1428
+ end
1429
+
1430
+ # Represents a single object that is an item in the search index, such as a
1431
+ # file, folder, or a database record.
1432
+ class Item
1433
+ include Google::Apis::Core::Hashable
1434
+
1435
+ # Access control list information for the item. For more information see
1436
+ # https://developers.google.com/cloud-search/docs/guides/index-your-data#acls
1437
+ # Corresponds to the JSON property `acl`
1438
+ # @return [Google::Apis::CloudsearchV1::ItemAcl]
1439
+ attr_accessor :acl
1440
+
1441
+ # Content of an item to be indexed and surfaced by Cloud Search.
1442
+ # Corresponds to the JSON property `content`
1443
+ # @return [Google::Apis::CloudsearchV1::ItemContent]
1444
+ attr_accessor :content
1445
+
1446
+ # Type for this item.
1447
+ # Corresponds to the JSON property `itemType`
1448
+ # @return [String]
1449
+ attr_accessor :item_type
1450
+
1451
+ # Available metadata fields for the item.
1452
+ # Corresponds to the JSON property `metadata`
1453
+ # @return [Google::Apis::CloudsearchV1::ItemMetadata]
1454
+ attr_accessor :metadata
1455
+
1456
+ # Name of the Item. Format:
1457
+ # datasources/`source_id`/items/`item_id`
1458
+ # <br />This is a required field.
1459
+ # The maximum length is 1536 characters.
1460
+ # Corresponds to the JSON property `name`
1461
+ # @return [String]
1462
+ attr_accessor :name
1463
+
1464
+ # Additional state connector can store for this item.
1465
+ # The maximum length is 10000 bytes.
1466
+ # Corresponds to the JSON property `payload`
1467
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1468
+ # @return [String]
1469
+ attr_accessor :payload
1470
+
1471
+ # Queue this item belongs to.
1472
+ # The maximum length is 100 characters.
1473
+ # Corresponds to the JSON property `queue`
1474
+ # @return [String]
1475
+ attr_accessor :queue
1476
+
1477
+ # This contains item's status and any errors.
1478
+ # Corresponds to the JSON property `status`
1479
+ # @return [Google::Apis::CloudsearchV1::ItemStatus]
1480
+ attr_accessor :status
1481
+
1482
+ # Available structured data fields for the item.
1483
+ # Corresponds to the JSON property `structuredData`
1484
+ # @return [Google::Apis::CloudsearchV1::ItemStructuredData]
1485
+ attr_accessor :structured_data
1486
+
1487
+ # Required. The indexing system stores the version from the datasource as a
1488
+ # byte string and compares the Item version in the index
1489
+ # to the version of the queued Item using lexical ordering.
1490
+ # <br /><br />
1491
+ # Cloud Search Indexing won't index or delete any queued item with
1492
+ # a version value that is less than or equal to the version of the
1493
+ # currently indexed item.
1494
+ # The maximum length for this field is 1024 bytes.
1495
+ # Corresponds to the JSON property `version`
1496
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1497
+ # @return [String]
1498
+ attr_accessor :version
1499
+
1500
+ def initialize(**args)
1501
+ update!(**args)
1502
+ end
1503
+
1504
+ # Update properties of this object
1505
+ def update!(**args)
1506
+ @acl = args[:acl] if args.key?(:acl)
1507
+ @content = args[:content] if args.key?(:content)
1508
+ @item_type = args[:item_type] if args.key?(:item_type)
1509
+ @metadata = args[:metadata] if args.key?(:metadata)
1510
+ @name = args[:name] if args.key?(:name)
1511
+ @payload = args[:payload] if args.key?(:payload)
1512
+ @queue = args[:queue] if args.key?(:queue)
1513
+ @status = args[:status] if args.key?(:status)
1514
+ @structured_data = args[:structured_data] if args.key?(:structured_data)
1515
+ @version = args[:version] if args.key?(:version)
1516
+ end
1517
+ end
1518
+
1519
+ # Access control list information for the item. For more information see
1520
+ # https://developers.google.com/cloud-search/docs/guides/index-your-data#acls
1521
+ class ItemAcl
1522
+ include Google::Apis::Core::Hashable
1523
+
1524
+ # Sets the type of access rules to apply when an item inherits its ACL from a
1525
+ # parent. This should always be set in tandem with the
1526
+ # inheritAclFrom
1527
+ # field. Also, when the
1528
+ # inheritAclFrom field
1529
+ # is set, this field should be set to a valid AclInheritanceType.
1530
+ # Corresponds to the JSON property `aclInheritanceType`
1531
+ # @return [String]
1532
+ attr_accessor :acl_inheritance_type
1533
+
1534
+ # List of principals who are explicitly denied access to the item in search
1535
+ # results. While principals are denied access by default, use denied readers
1536
+ # to handle exceptions and override the list allowed readers.
1537
+ # The maximum number of elements is 100.
1538
+ # Corresponds to the JSON property `deniedReaders`
1539
+ # @return [Array<Google::Apis::CloudsearchV1::Principal>]
1540
+ attr_accessor :denied_readers
1541
+
1542
+ # Name of the item to inherit the Access Permission List (ACL) from.
1543
+ # Note: ACL inheritance *only* provides access permissions
1544
+ # to child items and does not define structural relationships, nor does it
1545
+ # provide convenient ways to delete large groups of items.
1546
+ # Deleting an ACL parent from the index only alters the access permissions of
1547
+ # child items that reference the parent in the
1548
+ # inheritAclFrom
1549
+ # field. The item is still in the index, but may not
1550
+ # visible in search results. By contrast, deletion of a container item
1551
+ # also deletes all items that reference the container via the
1552
+ # containerName
1553
+ # field.
1554
+ # The maximum length for this field is 1536 characters.
1555
+ # Corresponds to the JSON property `inheritAclFrom`
1556
+ # @return [String]
1557
+ attr_accessor :inherit_acl_from
1558
+
1559
+ # Optional. List of owners for the item. This field has no bearing on
1560
+ # document access permissions. It does, however, offer
1561
+ # a slight ranking boosts items where the querying user is an owner.
1562
+ # The maximum number of elements is 5.
1563
+ # Corresponds to the JSON property `owners`
1564
+ # @return [Array<Google::Apis::CloudsearchV1::Principal>]
1565
+ attr_accessor :owners
1566
+
1567
+ # List of principals who are allowed to see the item in search results.
1568
+ # Optional if inheriting permissions from another item or if the item
1569
+ # is not intended to be visible, such as
1570
+ # virtual containers.
1571
+ # The maximum number of elements is 1000.
1572
+ # Corresponds to the JSON property `readers`
1573
+ # @return [Array<Google::Apis::CloudsearchV1::Principal>]
1574
+ attr_accessor :readers
1575
+
1576
+ def initialize(**args)
1577
+ update!(**args)
1578
+ end
1579
+
1580
+ # Update properties of this object
1581
+ def update!(**args)
1582
+ @acl_inheritance_type = args[:acl_inheritance_type] if args.key?(:acl_inheritance_type)
1583
+ @denied_readers = args[:denied_readers] if args.key?(:denied_readers)
1584
+ @inherit_acl_from = args[:inherit_acl_from] if args.key?(:inherit_acl_from)
1585
+ @owners = args[:owners] if args.key?(:owners)
1586
+ @readers = args[:readers] if args.key?(:readers)
1587
+ end
1588
+ end
1589
+
1590
+ # Content of an item to be indexed and surfaced by Cloud Search.
1591
+ class ItemContent
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Represents an upload session reference.
1595
+ # This reference is created via upload
1596
+ # method.
1597
+ # Updating of item content may refer to this uploaded content via
1598
+ # contentDataRef.
1599
+ # Corresponds to the JSON property `contentDataRef`
1600
+ # @return [Google::Apis::CloudsearchV1::UploadItemRef]
1601
+ attr_accessor :content_data_ref
1602
+
1603
+ #
1604
+ # Corresponds to the JSON property `contentFormat`
1605
+ # @return [String]
1606
+ attr_accessor :content_format
1607
+
1608
+ # Hashing info calculated and provided by the API client for content.
1609
+ # Can be used with the items.push method to calculate modified state.
1610
+ # The maximum length is 2048 characters.
1611
+ # Corresponds to the JSON property `hash`
1612
+ # @return [String]
1613
+ attr_accessor :hash_prop
1614
+
1615
+ # Content that is supplied inlined within the update method.
1616
+ # The maximum length is 102400 bytes (100 KiB).
1617
+ # Corresponds to the JSON property `inlineContent`
1618
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1619
+ # @return [String]
1620
+ attr_accessor :inline_content
1621
+
1622
+ def initialize(**args)
1623
+ update!(**args)
1624
+ end
1625
+
1626
+ # Update properties of this object
1627
+ def update!(**args)
1628
+ @content_data_ref = args[:content_data_ref] if args.key?(:content_data_ref)
1629
+ @content_format = args[:content_format] if args.key?(:content_format)
1630
+ @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
1631
+ @inline_content = args[:inline_content] if args.key?(:inline_content)
1632
+ end
1633
+ end
1634
+
1635
+ #
1636
+ class ItemCountByStatus
1637
+ include Google::Apis::Core::Hashable
1638
+
1639
+ # Number of items matching the status code.
1640
+ # Corresponds to the JSON property `count`
1641
+ # @return [Fixnum]
1642
+ attr_accessor :count
1643
+
1644
+ # Status of the items.
1645
+ # Corresponds to the JSON property `statusCode`
1646
+ # @return [String]
1647
+ attr_accessor :status_code
1648
+
1649
+ def initialize(**args)
1650
+ update!(**args)
1651
+ end
1652
+
1653
+ # Update properties of this object
1654
+ def update!(**args)
1655
+ @count = args[:count] if args.key?(:count)
1656
+ @status_code = args[:status_code] if args.key?(:status_code)
1657
+ end
1658
+ end
1659
+
1660
+ # Available metadata fields for the item.
1661
+ class ItemMetadata
1662
+ include Google::Apis::Core::Hashable
1663
+
1664
+ # The name of the container for this item.
1665
+ # Deletion of the container item leads to automatic deletion of this
1666
+ # item. Note: ACLs are not inherited from a container item.
1667
+ # To provide ACL inheritance for an item, use the
1668
+ # inheritAclFrom
1669
+ # field. The maximum length is 1536 characters.
1670
+ # Corresponds to the JSON property `containerName`
1671
+ # @return [String]
1672
+ attr_accessor :container_name
1673
+
1674
+ # The BCP-47 language code for the item, such as "en-US" or "sr-Latn". For
1675
+ # more information, see
1676
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
1677
+ # The maximum length is 32 characters.
1678
+ # Corresponds to the JSON property `contentLanguage`
1679
+ # @return [String]
1680
+ attr_accessor :content_language
1681
+
1682
+ # The time when the item was created in the source repository.
1683
+ # Corresponds to the JSON property `createTime`
1684
+ # @return [String]
1685
+ attr_accessor :create_time
1686
+
1687
+ # Hashing value provided by the API caller.
1688
+ # This can be used with the
1689
+ # items.push
1690
+ # method to calculate modified state.
1691
+ # The maximum length is 2048 characters.
1692
+ # Corresponds to the JSON property `hash`
1693
+ # @return [String]
1694
+ attr_accessor :hash_prop
1695
+
1696
+ # A list of interactions for the item. Interactions are used to improve
1697
+ # Search quality, but are not exposed to end users.
1698
+ # The maximum number of elements is 1000.
1699
+ # Corresponds to the JSON property `interactions`
1700
+ # @return [Array<Google::Apis::CloudsearchV1::Interaction>]
1701
+ attr_accessor :interactions
1702
+
1703
+ # Additional keywords or phrases that should match the item.
1704
+ # Used internally for user generated content.
1705
+ # The maximum number of elements is 100.
1706
+ # The maximum length is 8192 characters.
1707
+ # Corresponds to the JSON property `keywords`
1708
+ # @return [Array<String>]
1709
+ attr_accessor :keywords
1710
+
1711
+ # The original mime-type of
1712
+ # ItemContent.content
1713
+ # in the source repository.
1714
+ # The maximum length is 256 characters.
1715
+ # Corresponds to the JSON property `mimeType`
1716
+ # @return [String]
1717
+ attr_accessor :mime_type
1718
+
1719
+ # The type of the item. This should correspond to the name of an object
1720
+ # definition in the schema registered for the data source. For example, if
1721
+ # the schema for the data source contains an object definition with name
1722
+ # 'document', then item indexing requests for objects of that type should set
1723
+ # objectType to 'document'.
1724
+ # The maximum length is 256 characters.
1725
+ # Corresponds to the JSON property `objectType`
1726
+ # @return [String]
1727
+ attr_accessor :object_type
1728
+
1729
+ # Additional search quality metadata of the item.
1730
+ # Corresponds to the JSON property `searchQualityMetadata`
1731
+ # @return [Google::Apis::CloudsearchV1::SearchQualityMetadata]
1732
+ attr_accessor :search_quality_metadata
1733
+
1734
+ # Link to the source repository serving the data. &#83;earch results apply
1735
+ # this link to the title.
1736
+ # The maximum length is 2048 characters.
1737
+ # Corresponds to the JSON property `sourceRepositoryUrl`
1738
+ # @return [String]
1739
+ attr_accessor :source_repository_url
1740
+
1741
+ # The title of the item. If given, this will be the displayed title of the
1742
+ # Search result.
1743
+ # The maximum length is 2048 characters.
1744
+ # Corresponds to the JSON property `title`
1745
+ # @return [String]
1746
+ attr_accessor :title
1747
+
1748
+ # The time when the item was last modified in the source repository.
1749
+ # Corresponds to the JSON property `updateTime`
1750
+ # @return [String]
1751
+ attr_accessor :update_time
1752
+
1753
+ def initialize(**args)
1754
+ update!(**args)
1755
+ end
1756
+
1757
+ # Update properties of this object
1758
+ def update!(**args)
1759
+ @container_name = args[:container_name] if args.key?(:container_name)
1760
+ @content_language = args[:content_language] if args.key?(:content_language)
1761
+ @create_time = args[:create_time] if args.key?(:create_time)
1762
+ @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
1763
+ @interactions = args[:interactions] if args.key?(:interactions)
1764
+ @keywords = args[:keywords] if args.key?(:keywords)
1765
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1766
+ @object_type = args[:object_type] if args.key?(:object_type)
1767
+ @search_quality_metadata = args[:search_quality_metadata] if args.key?(:search_quality_metadata)
1768
+ @source_repository_url = args[:source_repository_url] if args.key?(:source_repository_url)
1769
+ @title = args[:title] if args.key?(:title)
1770
+ @update_time = args[:update_time] if args.key?(:update_time)
1771
+ end
1772
+ end
1773
+
1774
+ # This contains item's status and any errors.
1775
+ class ItemStatus
1776
+ include Google::Apis::Core::Hashable
1777
+
1778
+ # Status code.
1779
+ # Corresponds to the JSON property `code`
1780
+ # @return [String]
1781
+ attr_accessor :code
1782
+
1783
+ # Error details in case the item is in ERROR state.
1784
+ # Corresponds to the JSON property `processingErrors`
1785
+ # @return [Array<Google::Apis::CloudsearchV1::ProcessingError>]
1786
+ attr_accessor :processing_errors
1787
+
1788
+ # Repository error reported by connector.
1789
+ # Corresponds to the JSON property `repositoryErrors`
1790
+ # @return [Array<Google::Apis::CloudsearchV1::RepositoryError>]
1791
+ attr_accessor :repository_errors
1792
+
1793
+ def initialize(**args)
1794
+ update!(**args)
1795
+ end
1796
+
1797
+ # Update properties of this object
1798
+ def update!(**args)
1799
+ @code = args[:code] if args.key?(:code)
1800
+ @processing_errors = args[:processing_errors] if args.key?(:processing_errors)
1801
+ @repository_errors = args[:repository_errors] if args.key?(:repository_errors)
1802
+ end
1803
+ end
1804
+
1805
+ # Available structured data fields for the item.
1806
+ class ItemStructuredData
1807
+ include Google::Apis::Core::Hashable
1808
+
1809
+ # Hashing value provided by the API caller.
1810
+ # This can be used with the
1811
+ # items.push
1812
+ # method to calculate modified state.
1813
+ # The maximum length is 2048 characters.
1814
+ # Corresponds to the JSON property `hash`
1815
+ # @return [String]
1816
+ attr_accessor :hash_prop
1817
+
1818
+ # A structured data object consisting of named properties.
1819
+ # Corresponds to the JSON property `object`
1820
+ # @return [Google::Apis::CloudsearchV1::StructuredDataObject]
1821
+ attr_accessor :object
1822
+
1823
+ def initialize(**args)
1824
+ update!(**args)
1825
+ end
1826
+
1827
+ # Update properties of this object
1828
+ def update!(**args)
1829
+ @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
1830
+ @object = args[:object] if args.key?(:object)
1831
+ end
1832
+ end
1833
+
1834
+ #
1835
+ class ListDataSourceResponse
1836
+ include Google::Apis::Core::Hashable
1837
+
1838
+ # Token to retrieve the next page of results, or empty if there are no
1839
+ # more results in the list.
1840
+ # Corresponds to the JSON property `nextPageToken`
1841
+ # @return [String]
1842
+ attr_accessor :next_page_token
1843
+
1844
+ #
1845
+ # Corresponds to the JSON property `sources`
1846
+ # @return [Array<Google::Apis::CloudsearchV1::DataSource>]
1847
+ attr_accessor :sources
1848
+
1849
+ def initialize(**args)
1850
+ update!(**args)
1851
+ end
1852
+
1853
+ # Update properties of this object
1854
+ def update!(**args)
1855
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1856
+ @sources = args[:sources] if args.key?(:sources)
1857
+ end
1858
+ end
1859
+
1860
+ #
1861
+ class ListItemNamesForUnmappedIdentityResponse
1862
+ include Google::Apis::Core::Hashable
1863
+
1864
+ #
1865
+ # Corresponds to the JSON property `itemNames`
1866
+ # @return [Array<String>]
1867
+ attr_accessor :item_names
1868
+
1869
+ # Token to retrieve the next page of results, or empty if there are no
1870
+ # more results in the list.
1871
+ # Corresponds to the JSON property `nextPageToken`
1872
+ # @return [String]
1873
+ attr_accessor :next_page_token
1874
+
1875
+ def initialize(**args)
1876
+ update!(**args)
1877
+ end
1878
+
1879
+ # Update properties of this object
1880
+ def update!(**args)
1881
+ @item_names = args[:item_names] if args.key?(:item_names)
1882
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1883
+ end
1884
+ end
1885
+
1886
+ #
1887
+ class ListItemsResponse
1888
+ include Google::Apis::Core::Hashable
1889
+
1890
+ #
1891
+ # Corresponds to the JSON property `items`
1892
+ # @return [Array<Google::Apis::CloudsearchV1::Item>]
1893
+ attr_accessor :items
1894
+
1895
+ # Token to retrieve the next page of results, or empty if there are no
1896
+ # more results in the list.
1897
+ # Corresponds to the JSON property `nextPageToken`
1898
+ # @return [String]
1899
+ attr_accessor :next_page_token
1900
+
1901
+ def initialize(**args)
1902
+ update!(**args)
1903
+ end
1904
+
1905
+ # Update properties of this object
1906
+ def update!(**args)
1907
+ @items = args[:items] if args.key?(:items)
1908
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1909
+ end
1910
+ end
1911
+
1912
+ # List sources response.
1913
+ class ListQuerySourcesResponse
1914
+ include Google::Apis::Core::Hashable
1915
+
1916
+ #
1917
+ # Corresponds to the JSON property `nextPageToken`
1918
+ # @return [String]
1919
+ attr_accessor :next_page_token
1920
+
1921
+ #
1922
+ # Corresponds to the JSON property `sources`
1923
+ # @return [Array<Google::Apis::CloudsearchV1::QuerySource>]
1924
+ attr_accessor :sources
1925
+
1926
+ def initialize(**args)
1927
+ update!(**args)
1928
+ end
1929
+
1930
+ # Update properties of this object
1931
+ def update!(**args)
1932
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1933
+ @sources = args[:sources] if args.key?(:sources)
1934
+ end
1935
+ end
1936
+
1937
+ #
1938
+ class ListSearchApplicationsResponse
1939
+ include Google::Apis::Core::Hashable
1940
+
1941
+ # Token to retrieve the next page of results, or empty if there are no
1942
+ # more results in the list.
1943
+ # Corresponds to the JSON property `nextPageToken`
1944
+ # @return [String]
1945
+ attr_accessor :next_page_token
1946
+
1947
+ #
1948
+ # Corresponds to the JSON property `searchApplications`
1949
+ # @return [Array<Google::Apis::CloudsearchV1::SearchApplication>]
1950
+ attr_accessor :search_applications
1951
+
1952
+ def initialize(**args)
1953
+ update!(**args)
1954
+ end
1955
+
1956
+ # Update properties of this object
1957
+ def update!(**args)
1958
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1959
+ @search_applications = args[:search_applications] if args.key?(:search_applications)
1960
+ end
1961
+ end
1962
+
1963
+ #
1964
+ class ListUnmappedIdentitiesResponse
1965
+ include Google::Apis::Core::Hashable
1966
+
1967
+ # Token to retrieve the next page of results, or empty if there are no
1968
+ # more results in the list.
1969
+ # Corresponds to the JSON property `nextPageToken`
1970
+ # @return [String]
1971
+ attr_accessor :next_page_token
1972
+
1973
+ #
1974
+ # Corresponds to the JSON property `unmappedIdentities`
1975
+ # @return [Array<Google::Apis::CloudsearchV1::UnmappedIdentity>]
1976
+ attr_accessor :unmapped_identities
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1985
+ @unmapped_identities = args[:unmapped_identities] if args.key?(:unmapped_identities)
1986
+ end
1987
+ end
1988
+
1989
+ # Matched range of a snippet [start, end).
1990
+ class MatchRange
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ # End of the match in the snippet.
1994
+ # Corresponds to the JSON property `end`
1995
+ # @return [Fixnum]
1996
+ attr_accessor :end
1997
+
1998
+ # Starting position of the match in the snippet.
1999
+ # Corresponds to the JSON property `start`
2000
+ # @return [Fixnum]
2001
+ attr_accessor :start
2002
+
2003
+ def initialize(**args)
2004
+ update!(**args)
2005
+ end
2006
+
2007
+ # Update properties of this object
2008
+ def update!(**args)
2009
+ @end = args[:end] if args.key?(:end)
2010
+ @start = args[:start] if args.key?(:start)
2011
+ end
2012
+ end
2013
+
2014
+ # Media resource.
2015
+ class Media
2016
+ include Google::Apis::Core::Hashable
2017
+
2018
+ # Name of the media resource.
2019
+ # Corresponds to the JSON property `resourceName`
2020
+ # @return [String]
2021
+ attr_accessor :resource_name
2022
+
2023
+ def initialize(**args)
2024
+ update!(**args)
2025
+ end
2026
+
2027
+ # Update properties of this object
2028
+ def update!(**args)
2029
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
2030
+ end
2031
+ end
2032
+
2033
+ # Metadata of a matched search result.
2034
+ class Metadata
2035
+ include Google::Apis::Core::Hashable
2036
+
2037
+ # The creation time for this document or object in the search result.
2038
+ # Corresponds to the JSON property `createTime`
2039
+ # @return [String]
2040
+ attr_accessor :create_time
2041
+
2042
+ # Options that specify how to display a structured data search result.
2043
+ # Corresponds to the JSON property `displayOptions`
2044
+ # @return [Google::Apis::CloudsearchV1::ResultDisplayMetadata]
2045
+ attr_accessor :display_options
2046
+
2047
+ # Indexed fields in structured data, returned as a generic named property.
2048
+ # Corresponds to the JSON property `fields`
2049
+ # @return [Array<Google::Apis::CloudsearchV1::NamedProperty>]
2050
+ attr_accessor :fields
2051
+
2052
+ # Mime type of the search result.
2053
+ # Corresponds to the JSON property `mimeType`
2054
+ # @return [String]
2055
+ attr_accessor :mime_type
2056
+
2057
+ # Object type of the search result.
2058
+ # Corresponds to the JSON property `objectType`
2059
+ # @return [String]
2060
+ attr_accessor :object_type
2061
+
2062
+ # Object to represent a person.
2063
+ # Corresponds to the JSON property `owner`
2064
+ # @return [Google::Apis::CloudsearchV1::Person]
2065
+ attr_accessor :owner
2066
+
2067
+ # Defines sources for the suggest/search APIs.
2068
+ # Corresponds to the JSON property `source`
2069
+ # @return [Google::Apis::CloudsearchV1::Source]
2070
+ attr_accessor :source
2071
+
2072
+ # The last modified date for the object in the search result.
2073
+ # Corresponds to the JSON property `updateTime`
2074
+ # @return [String]
2075
+ attr_accessor :update_time
2076
+
2077
+ def initialize(**args)
2078
+ update!(**args)
2079
+ end
2080
+
2081
+ # Update properties of this object
2082
+ def update!(**args)
2083
+ @create_time = args[:create_time] if args.key?(:create_time)
2084
+ @display_options = args[:display_options] if args.key?(:display_options)
2085
+ @fields = args[:fields] if args.key?(:fields)
2086
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
2087
+ @object_type = args[:object_type] if args.key?(:object_type)
2088
+ @owner = args[:owner] if args.key?(:owner)
2089
+ @source = args[:source] if args.key?(:source)
2090
+ @update_time = args[:update_time] if args.key?(:update_time)
2091
+ end
2092
+ end
2093
+
2094
+ # A metaline is a list of properties that are displayed along with the search
2095
+ # result to provide context.
2096
+ class Metaline
2097
+ include Google::Apis::Core::Hashable
2098
+
2099
+ # The list of displayed properties for the metaline.
2100
+ # Corresponds to the JSON property `properties`
2101
+ # @return [Array<Google::Apis::CloudsearchV1::DisplayedProperty>]
2102
+ attr_accessor :properties
2103
+
2104
+ def initialize(**args)
2105
+ update!(**args)
2106
+ end
2107
+
2108
+ # Update properties of this object
2109
+ def update!(**args)
2110
+ @properties = args[:properties] if args.key?(:properties)
2111
+ end
2112
+ end
2113
+
2114
+ # A person's name.
2115
+ class Name
2116
+ include Google::Apis::Core::Hashable
2117
+
2118
+ # The read-only display name formatted according to the locale specified by
2119
+ # the viewer's account or the <code>Accept-Language</code> HTTP header.
2120
+ # Corresponds to the JSON property `displayName`
2121
+ # @return [String]
2122
+ attr_accessor :display_name
2123
+
2124
+ def initialize(**args)
2125
+ update!(**args)
2126
+ end
2127
+
2128
+ # Update properties of this object
2129
+ def update!(**args)
2130
+ @display_name = args[:display_name] if args.key?(:display_name)
2131
+ end
2132
+ end
2133
+
2134
+ # A typed name-value pair for structured data. The type of the value should
2135
+ # be the same as the registered type for the `name` property in the object
2136
+ # definition of `objectType`.
2137
+ class NamedProperty
2138
+ include Google::Apis::Core::Hashable
2139
+
2140
+ #
2141
+ # Corresponds to the JSON property `booleanValue`
2142
+ # @return [Boolean]
2143
+ attr_accessor :boolean_value
2144
+ alias_method :boolean_value?, :boolean_value
2145
+
2146
+ # List of date values.
2147
+ # Corresponds to the JSON property `dateValues`
2148
+ # @return [Google::Apis::CloudsearchV1::DateValues]
2149
+ attr_accessor :date_values
2150
+
2151
+ # List of double values.
2152
+ # Corresponds to the JSON property `doubleValues`
2153
+ # @return [Google::Apis::CloudsearchV1::DoubleValues]
2154
+ attr_accessor :double_values
2155
+
2156
+ # List of enum values.
2157
+ # Corresponds to the JSON property `enumValues`
2158
+ # @return [Google::Apis::CloudsearchV1::EnumValues]
2159
+ attr_accessor :enum_values
2160
+
2161
+ # List of html values.
2162
+ # Corresponds to the JSON property `htmlValues`
2163
+ # @return [Google::Apis::CloudsearchV1::HtmlValues]
2164
+ attr_accessor :html_values
2165
+
2166
+ # List of integer values.
2167
+ # Corresponds to the JSON property `integerValues`
2168
+ # @return [Google::Apis::CloudsearchV1::IntegerValues]
2169
+ attr_accessor :integer_values
2170
+
2171
+ # The name of the property. This name should correspond to the name of the
2172
+ # property that was registered for object definition in the schema.
2173
+ # The maximum allowable length for this property is 256 characters.
2174
+ # Corresponds to the JSON property `name`
2175
+ # @return [String]
2176
+ attr_accessor :name
2177
+
2178
+ # List of object values.
2179
+ # Corresponds to the JSON property `objectValues`
2180
+ # @return [Google::Apis::CloudsearchV1::ObjectValues]
2181
+ attr_accessor :object_values
2182
+
2183
+ # List of text values.
2184
+ # Corresponds to the JSON property `textValues`
2185
+ # @return [Google::Apis::CloudsearchV1::TextValues]
2186
+ attr_accessor :text_values
2187
+
2188
+ # List of timestamp values.
2189
+ # Corresponds to the JSON property `timestampValues`
2190
+ # @return [Google::Apis::CloudsearchV1::TimestampValues]
2191
+ attr_accessor :timestamp_values
2192
+
2193
+ def initialize(**args)
2194
+ update!(**args)
2195
+ end
2196
+
2197
+ # Update properties of this object
2198
+ def update!(**args)
2199
+ @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
2200
+ @date_values = args[:date_values] if args.key?(:date_values)
2201
+ @double_values = args[:double_values] if args.key?(:double_values)
2202
+ @enum_values = args[:enum_values] if args.key?(:enum_values)
2203
+ @html_values = args[:html_values] if args.key?(:html_values)
2204
+ @integer_values = args[:integer_values] if args.key?(:integer_values)
2205
+ @name = args[:name] if args.key?(:name)
2206
+ @object_values = args[:object_values] if args.key?(:object_values)
2207
+ @text_values = args[:text_values] if args.key?(:text_values)
2208
+ @timestamp_values = args[:timestamp_values] if args.key?(:timestamp_values)
2209
+ end
2210
+ end
2211
+
2212
+ # The definition for an object within a data source.
2213
+ class ObjectDefinition
2214
+ include Google::Apis::Core::Hashable
2215
+
2216
+ # Name for the object, which then defines its type. Item indexing requests
2217
+ # should set the
2218
+ # objectType field
2219
+ # equal to this value. For example, if *name* is *Document*, then indexing
2220
+ # requests for items of type Document should set
2221
+ # objectType equal to
2222
+ # *Document*. Each object definition must be uniquely named within a schema.
2223
+ # The name must start with a letter and can only contain letters (A-Z, a-z)
2224
+ # or numbers (0-9).
2225
+ # The maximum length is 256 characters.
2226
+ # Corresponds to the JSON property `name`
2227
+ # @return [String]
2228
+ attr_accessor :name
2229
+
2230
+ # The options for an object.
2231
+ # Corresponds to the JSON property `options`
2232
+ # @return [Google::Apis::CloudsearchV1::ObjectOptions]
2233
+ attr_accessor :options
2234
+
2235
+ # The property definitions for the object.
2236
+ # The maximum number of elements is 1000.
2237
+ # Corresponds to the JSON property `propertyDefinitions`
2238
+ # @return [Array<Google::Apis::CloudsearchV1::PropertyDefinition>]
2239
+ attr_accessor :property_definitions
2240
+
2241
+ def initialize(**args)
2242
+ update!(**args)
2243
+ end
2244
+
2245
+ # Update properties of this object
2246
+ def update!(**args)
2247
+ @name = args[:name] if args.key?(:name)
2248
+ @options = args[:options] if args.key?(:options)
2249
+ @property_definitions = args[:property_definitions] if args.key?(:property_definitions)
2250
+ end
2251
+ end
2252
+
2253
+ # The display options for an object.
2254
+ class ObjectDisplayOptions
2255
+ include Google::Apis::Core::Hashable
2256
+
2257
+ # Defines the properties that will be displayed in the metalines of the
2258
+ # search results. The property values will be displayed in the order given
2259
+ # here. If a property holds multiple values, all of the values will be
2260
+ # diplayed before the next properties. For this reason, it is a good practice
2261
+ # to specify singular properties before repeated properties in this list. All
2262
+ # of the properties must set
2263
+ # is_returnable
2264
+ # to true. The maximum number of elements is 3.
2265
+ # Corresponds to the JSON property `metalines`
2266
+ # @return [Array<Google::Apis::CloudsearchV1::Metaline>]
2267
+ attr_accessor :metalines
2268
+
2269
+ # The user friendly label to display in the search result to inidicate the
2270
+ # type of the item. This is OPTIONAL; if not given, an object label will not
2271
+ # be displayed on the context line of the search results. The maximum length
2272
+ # is 32 characters.
2273
+ # Corresponds to the JSON property `objectDisplayLabel`
2274
+ # @return [String]
2275
+ attr_accessor :object_display_label
2276
+
2277
+ def initialize(**args)
2278
+ update!(**args)
2279
+ end
2280
+
2281
+ # Update properties of this object
2282
+ def update!(**args)
2283
+ @metalines = args[:metalines] if args.key?(:metalines)
2284
+ @object_display_label = args[:object_display_label] if args.key?(:object_display_label)
2285
+ end
2286
+ end
2287
+
2288
+ # The options for an object.
2289
+ class ObjectOptions
2290
+ include Google::Apis::Core::Hashable
2291
+
2292
+ # The display options for an object.
2293
+ # Corresponds to the JSON property `displayOptions`
2294
+ # @return [Google::Apis::CloudsearchV1::ObjectDisplayOptions]
2295
+ attr_accessor :display_options
2296
+
2297
+ # Indicates which freshness property to use when adjusting search ranking for
2298
+ # an item. Fresher, more recent dates indicate higher quality. Use the
2299
+ # freshness option property that best works with your data. For fileshare
2300
+ # documents, last modified time is most relevant. For calendar event data,
2301
+ # the time when the event occurs is a more relevant freshness indicator. In
2302
+ # this way, calendar events that occur closer to the time of the search query
2303
+ # are considered higher quality and ranked accordingly.
2304
+ # Corresponds to the JSON property `freshnessOptions`
2305
+ # @return [Google::Apis::CloudsearchV1::FreshnessOptions]
2306
+ attr_accessor :freshness_options
2307
+
2308
+ def initialize(**args)
2309
+ update!(**args)
2310
+ end
2311
+
2312
+ # Update properties of this object
2313
+ def update!(**args)
2314
+ @display_options = args[:display_options] if args.key?(:display_options)
2315
+ @freshness_options = args[:freshness_options] if args.key?(:freshness_options)
2316
+ end
2317
+ end
2318
+
2319
+ # Options for object properties.
2320
+ class ObjectPropertyOptions
2321
+ include Google::Apis::Core::Hashable
2322
+
2323
+ # The properties of the sub-object. These properties represent a nested
2324
+ # object. For example, if this property represents a postal address, the
2325
+ # subobjectProperties might be named *street*, *city*, and *state*.
2326
+ # The maximum number of elements is 1000.
2327
+ # Corresponds to the JSON property `subobjectProperties`
2328
+ # @return [Array<Google::Apis::CloudsearchV1::PropertyDefinition>]
2329
+ attr_accessor :subobject_properties
2330
+
2331
+ def initialize(**args)
2332
+ update!(**args)
2333
+ end
2334
+
2335
+ # Update properties of this object
2336
+ def update!(**args)
2337
+ @subobject_properties = args[:subobject_properties] if args.key?(:subobject_properties)
2338
+ end
2339
+ end
2340
+
2341
+ # List of object values.
2342
+ class ObjectValues
2343
+ include Google::Apis::Core::Hashable
2344
+
2345
+ # The maximum number of elements is 100.
2346
+ # Corresponds to the JSON property `values`
2347
+ # @return [Array<Google::Apis::CloudsearchV1::StructuredDataObject>]
2348
+ attr_accessor :values
2349
+
2350
+ def initialize(**args)
2351
+ update!(**args)
2352
+ end
2353
+
2354
+ # Update properties of this object
2355
+ def update!(**args)
2356
+ @values = args[:values] if args.key?(:values)
2357
+ end
2358
+ end
2359
+
2360
+ # This resource represents a long-running operation that is the result of a
2361
+ # network API call.
2362
+ class Operation
2363
+ include Google::Apis::Core::Hashable
2364
+
2365
+ # If the value is `false`, it means the operation is still in progress.
2366
+ # If `true`, the operation is completed, and either `error` or `response` is
2367
+ # available.
2368
+ # Corresponds to the JSON property `done`
2369
+ # @return [Boolean]
2370
+ attr_accessor :done
2371
+ alias_method :done?, :done
2372
+
2373
+ # The `Status` type defines a logical error model that is suitable for different
2374
+ # programming environments, including REST APIs and RPC APIs. It is used by
2375
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
2376
+ # - Simple to use and understand for most users
2377
+ # - Flexible enough to meet unexpected needs
2378
+ # # Overview
2379
+ # The `Status` message contains three pieces of data: error code, error message,
2380
+ # and error details. The error code should be an enum value of
2381
+ # google.rpc.Code, but it may accept additional error codes if needed. The
2382
+ # error message should be a developer-facing English message that helps
2383
+ # developers *understand* and *resolve* the error. If a localized user-facing
2384
+ # error message is needed, put the localized message in the error details or
2385
+ # localize it in the client. The optional error details may contain arbitrary
2386
+ # information about the error. There is a predefined set of error detail types
2387
+ # in the package `google.rpc` that can be used for common error conditions.
2388
+ # # Language mapping
2389
+ # The `Status` message is the logical representation of the error model, but it
2390
+ # is not necessarily the actual wire format. When the `Status` message is
2391
+ # exposed in different client libraries and different wire protocols, it can be
2392
+ # mapped differently. For example, it will likely be mapped to some exceptions
2393
+ # in Java, but more likely mapped to some error codes in C.
2394
+ # # Other uses
2395
+ # The error model and the `Status` message can be used in a variety of
2396
+ # environments, either with or without APIs, to provide a
2397
+ # consistent developer experience across different environments.
2398
+ # Example uses of this error model include:
2399
+ # - Partial errors. If a service needs to return partial errors to the client,
2400
+ # it may embed the `Status` in the normal response to indicate the partial
2401
+ # errors.
2402
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
2403
+ # have a `Status` message for error reporting.
2404
+ # - Batch operations. If a client uses batch request and batch response, the
2405
+ # `Status` message should be used directly inside batch response, one for
2406
+ # each error sub-response.
2407
+ # - Asynchronous operations. If an API call embeds asynchronous operation
2408
+ # results in its response, the status of those operations should be
2409
+ # represented directly using the `Status` message.
2410
+ # - Logging. If some API errors are stored in logs, the message `Status` could
2411
+ # be used directly after any stripping needed for security/privacy reasons.
2412
+ # Corresponds to the JSON property `error`
2413
+ # @return [Google::Apis::CloudsearchV1::Status]
2414
+ attr_accessor :error
2415
+
2416
+ # Service-specific metadata associated with the operation. It typically
2417
+ # contains progress information and common metadata such as create time.
2418
+ # Some services might not provide such metadata. Any method that returns a
2419
+ # long-running operation should document the metadata type, if any.
2420
+ # Corresponds to the JSON property `metadata`
2421
+ # @return [Hash<String,Object>]
2422
+ attr_accessor :metadata
2423
+
2424
+ # The server-assigned name, which is only unique within the same service that
2425
+ # originally returns it. If you use the default HTTP mapping, the
2426
+ # `name` should have the format of `operations/some/unique/name`.
2427
+ # Corresponds to the JSON property `name`
2428
+ # @return [String]
2429
+ attr_accessor :name
2430
+
2431
+ # The normal response of the operation in case of success. If the original
2432
+ # method returns no data on success, such as `Delete`, the response is
2433
+ # `google.protobuf.Empty`. If the original method is standard
2434
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
2435
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
2436
+ # is the original method name. For example, if the original method name
2437
+ # is `TakeSnapshot()`, the inferred response type is
2438
+ # `TakeSnapshotResponse`.
2439
+ # Corresponds to the JSON property `response`
2440
+ # @return [Hash<String,Object>]
2441
+ attr_accessor :response
2442
+
2443
+ def initialize(**args)
2444
+ update!(**args)
2445
+ end
2446
+
2447
+ # Update properties of this object
2448
+ def update!(**args)
2449
+ @done = args[:done] if args.key?(:done)
2450
+ @error = args[:error] if args.key?(:error)
2451
+ @metadata = args[:metadata] if args.key?(:metadata)
2452
+ @name = args[:name] if args.key?(:name)
2453
+ @response = args[:response] if args.key?(:response)
2454
+ end
2455
+ end
2456
+
2457
+ # A people suggestion.
2458
+ class PeopleSuggestion
2459
+ include Google::Apis::Core::Hashable
2460
+
2461
+ # Object to represent a person.
2462
+ # Corresponds to the JSON property `person`
2463
+ # @return [Google::Apis::CloudsearchV1::Person]
2464
+ attr_accessor :person
2465
+
2466
+ def initialize(**args)
2467
+ update!(**args)
2468
+ end
2469
+
2470
+ # Update properties of this object
2471
+ def update!(**args)
2472
+ @person = args[:person] if args.key?(:person)
2473
+ end
2474
+ end
2475
+
2476
+ # Object to represent a person.
2477
+ class Person
2478
+ include Google::Apis::Core::Hashable
2479
+
2480
+ # The person's email addresses
2481
+ # Corresponds to the JSON property `emailAddresses`
2482
+ # @return [Array<Google::Apis::CloudsearchV1::EmailAddress>]
2483
+ attr_accessor :email_addresses
2484
+
2485
+ # The resource name of the person to provide information about.
2486
+ # See <a href="https://developers.google.com/people/api/rest/v1/people/get">
2487
+ # People.get</a> from Google People API.
2488
+ # Corresponds to the JSON property `name`
2489
+ # @return [String]
2490
+ attr_accessor :name
2491
+
2492
+ # Obfuscated ID of a person.
2493
+ # Corresponds to the JSON property `obfuscatedId`
2494
+ # @return [String]
2495
+ attr_accessor :obfuscated_id
2496
+
2497
+ # The person's name
2498
+ # Corresponds to the JSON property `personNames`
2499
+ # @return [Array<Google::Apis::CloudsearchV1::Name>]
2500
+ attr_accessor :person_names
2501
+
2502
+ # A person's read-only photo. A picture shown next to the person's name to
2503
+ # help others recognize the person in search results.
2504
+ # Corresponds to the JSON property `photos`
2505
+ # @return [Array<Google::Apis::CloudsearchV1::Photo>]
2506
+ attr_accessor :photos
2507
+
2508
+ def initialize(**args)
2509
+ update!(**args)
2510
+ end
2511
+
2512
+ # Update properties of this object
2513
+ def update!(**args)
2514
+ @email_addresses = args[:email_addresses] if args.key?(:email_addresses)
2515
+ @name = args[:name] if args.key?(:name)
2516
+ @obfuscated_id = args[:obfuscated_id] if args.key?(:obfuscated_id)
2517
+ @person_names = args[:person_names] if args.key?(:person_names)
2518
+ @photos = args[:photos] if args.key?(:photos)
2519
+ end
2520
+ end
2521
+
2522
+ # A person's photo.
2523
+ class Photo
2524
+ include Google::Apis::Core::Hashable
2525
+
2526
+ # The URL of the photo.
2527
+ # Corresponds to the JSON property `url`
2528
+ # @return [String]
2529
+ attr_accessor :url
2530
+
2531
+ def initialize(**args)
2532
+ update!(**args)
2533
+ end
2534
+
2535
+ # Update properties of this object
2536
+ def update!(**args)
2537
+ @url = args[:url] if args.key?(:url)
2538
+ end
2539
+ end
2540
+
2541
+ #
2542
+ class PollItemsRequest
2543
+ include Google::Apis::Core::Hashable
2544
+
2545
+ # Name of connector making this call.
2546
+ # <br />Format: datasources/`source_id`/connectors/`ID`
2547
+ # Corresponds to the JSON property `connectorName`
2548
+ # @return [String]
2549
+ attr_accessor :connector_name
2550
+
2551
+ # Shared request debug options for all cloudsearch RPC methods.
2552
+ # Corresponds to the JSON property `debugOptions`
2553
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
2554
+ attr_accessor :debug_options
2555
+
2556
+ # Maximum number of items to return.
2557
+ # <br />The maximum and the default value is 1000
2558
+ # Corresponds to the JSON property `limit`
2559
+ # @return [Fixnum]
2560
+ attr_accessor :limit
2561
+
2562
+ # Queue name to fetch items from. If unspecified, PollItems will
2563
+ # fetch from 'default' queue.
2564
+ # The maximum length is 100 characters.
2565
+ # Corresponds to the JSON property `queue`
2566
+ # @return [String]
2567
+ attr_accessor :queue
2568
+
2569
+ # Limit the items polled to the ones with these statuses.
2570
+ # Corresponds to the JSON property `statusCodes`
2571
+ # @return [Array<String>]
2572
+ attr_accessor :status_codes
2573
+
2574
+ def initialize(**args)
2575
+ update!(**args)
2576
+ end
2577
+
2578
+ # Update properties of this object
2579
+ def update!(**args)
2580
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
2581
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
2582
+ @limit = args[:limit] if args.key?(:limit)
2583
+ @queue = args[:queue] if args.key?(:queue)
2584
+ @status_codes = args[:status_codes] if args.key?(:status_codes)
2585
+ end
2586
+ end
2587
+
2588
+ #
2589
+ class PollItemsResponse
2590
+ include Google::Apis::Core::Hashable
2591
+
2592
+ # Set of items from the queue available for connector to process.
2593
+ # <br />These items have the following subset of fields populated: <br />
2594
+ # <br />version
2595
+ # <br />metadata.hash
2596
+ # <br />structured_data.hash
2597
+ # <br />content.hash
2598
+ # <br />payload
2599
+ # <br />status
2600
+ # <br />queue
2601
+ # Corresponds to the JSON property `items`
2602
+ # @return [Array<Google::Apis::CloudsearchV1::Item>]
2603
+ attr_accessor :items
2604
+
2605
+ def initialize(**args)
2606
+ update!(**args)
2607
+ end
2608
+
2609
+ # Update properties of this object
2610
+ def update!(**args)
2611
+ @items = args[:items] if args.key?(:items)
2612
+ end
2613
+ end
2614
+
2615
+ # Reference to a user, group, or domain.
2616
+ class Principal
2617
+ include Google::Apis::Core::Hashable
2618
+
2619
+ # This principal is a group identified using an external identity.
2620
+ # The name field must specify the group resource name with this format:
2621
+ # identitysources/`source_id`/groups/`ID`
2622
+ # Corresponds to the JSON property `groupResourceName`
2623
+ # @return [String]
2624
+ attr_accessor :group_resource_name
2625
+
2626
+ # This principal is a GSuite user, group or domain.
2627
+ # Corresponds to the JSON property `gsuitePrincipal`
2628
+ # @return [Google::Apis::CloudsearchV1::GSuitePrincipal]
2629
+ attr_accessor :gsuite_principal
2630
+
2631
+ # This principal is a user identified using an external identity.
2632
+ # The name field must specify the user resource name with this format:
2633
+ # identitysources/`source_id`/users/`ID`
2634
+ # Corresponds to the JSON property `userResourceName`
2635
+ # @return [String]
2636
+ attr_accessor :user_resource_name
2637
+
2638
+ def initialize(**args)
2639
+ update!(**args)
2640
+ end
2641
+
2642
+ # Update properties of this object
2643
+ def update!(**args)
2644
+ @group_resource_name = args[:group_resource_name] if args.key?(:group_resource_name)
2645
+ @gsuite_principal = args[:gsuite_principal] if args.key?(:gsuite_principal)
2646
+ @user_resource_name = args[:user_resource_name] if args.key?(:user_resource_name)
2647
+ end
2648
+ end
2649
+
2650
+ #
2651
+ class ProcessingError
2652
+ include Google::Apis::Core::Hashable
2653
+
2654
+ # Error code indicating the nature of the error.
2655
+ # Corresponds to the JSON property `code`
2656
+ # @return [String]
2657
+ attr_accessor :code
2658
+
2659
+ # Description of the error.
2660
+ # Corresponds to the JSON property `errorMessage`
2661
+ # @return [String]
2662
+ attr_accessor :error_message
2663
+
2664
+ # In case the item fields are invalid, this field contains the details
2665
+ # about the validation errors.
2666
+ # Corresponds to the JSON property `fieldViolations`
2667
+ # @return [Array<Google::Apis::CloudsearchV1::FieldViolation>]
2668
+ attr_accessor :field_violations
2669
+
2670
+ def initialize(**args)
2671
+ update!(**args)
2672
+ end
2673
+
2674
+ # Update properties of this object
2675
+ def update!(**args)
2676
+ @code = args[:code] if args.key?(:code)
2677
+ @error_message = args[:error_message] if args.key?(:error_message)
2678
+ @field_violations = args[:field_violations] if args.key?(:field_violations)
2679
+ end
2680
+ end
2681
+
2682
+ # The definition of a property within an object.
2683
+ class PropertyDefinition
2684
+ include Google::Apis::Core::Hashable
2685
+
2686
+ # Options for boolean properties.
2687
+ # Corresponds to the JSON property `booleanPropertyOptions`
2688
+ # @return [Google::Apis::CloudsearchV1::BooleanPropertyOptions]
2689
+ attr_accessor :boolean_property_options
2690
+
2691
+ # Options for date properties.
2692
+ # Corresponds to the JSON property `datePropertyOptions`
2693
+ # @return [Google::Apis::CloudsearchV1::DatePropertyOptions]
2694
+ attr_accessor :date_property_options
2695
+
2696
+ # The display options for a property.
2697
+ # Corresponds to the JSON property `displayOptions`
2698
+ # @return [Google::Apis::CloudsearchV1::PropertyDisplayOptions]
2699
+ attr_accessor :display_options
2700
+
2701
+ # Options for double properties.
2702
+ # Corresponds to the JSON property `doublePropertyOptions`
2703
+ # @return [Google::Apis::CloudsearchV1::DoublePropertyOptions]
2704
+ attr_accessor :double_property_options
2705
+
2706
+ # Options for enum properties, which allow you to define a restricted set of
2707
+ # strings to match user queries, set rankings for those string values, and
2708
+ # define an operator name to be paired with those strings so that users can
2709
+ # narrow results to only items with a specific value. For example, for items in
2710
+ # a request tracking system with priority information, you could define *p0* as
2711
+ # an allowable enum value and tie this enum to the operator name *priority* so
2712
+ # that search users could add *priority:p0* to their query to restrict the set
2713
+ # of results to only those items indexed with the value *p0*.
2714
+ # Corresponds to the JSON property `enumPropertyOptions`
2715
+ # @return [Google::Apis::CloudsearchV1::EnumPropertyOptions]
2716
+ attr_accessor :enum_property_options
2717
+
2718
+ # Options for html properties.
2719
+ # Corresponds to the JSON property `htmlPropertyOptions`
2720
+ # @return [Google::Apis::CloudsearchV1::HtmlPropertyOptions]
2721
+ attr_accessor :html_property_options
2722
+
2723
+ # Options for integer properties.
2724
+ # Corresponds to the JSON property `integerPropertyOptions`
2725
+ # @return [Google::Apis::CloudsearchV1::IntegerPropertyOptions]
2726
+ attr_accessor :integer_property_options
2727
+
2728
+ # Indicates that the property can be used for generating facets. Cannot be
2729
+ # true for properties whose type is object. IsReturnable must be true to set
2730
+ # this option.
2731
+ # Only supported for Boolean, Enum, and Text properties.
2732
+ # Corresponds to the JSON property `isFacetable`
2733
+ # @return [Boolean]
2734
+ attr_accessor :is_facetable
2735
+ alias_method :is_facetable?, :is_facetable
2736
+
2737
+ # Indicates that multiple values are allowed for the property. For example, a
2738
+ # document only has one description but can have multiple comments. Cannot be
2739
+ # true for properties whose type is a boolean.
2740
+ # If set to false, properties that contain more than one value will cause the
2741
+ # indexing request for that item to be rejected.
2742
+ # Corresponds to the JSON property `isRepeatable`
2743
+ # @return [Boolean]
2744
+ attr_accessor :is_repeatable
2745
+ alias_method :is_repeatable?, :is_repeatable
2746
+
2747
+ # Indicates that the property identifies data that should be returned in search
2748
+ # results via the Query API. If set to *true*, indicates that Query API
2749
+ # users can use matching property fields in results. However, storing fields
2750
+ # requires more space allocation and uses more bandwidth for search queries,
2751
+ # which impacts performance over large datasets. Set to *true* here only if
2752
+ # the field is needed for search results. Cannot be true for properties
2753
+ # whose type is an object.
2754
+ # Corresponds to the JSON property `isReturnable`
2755
+ # @return [Boolean]
2756
+ attr_accessor :is_returnable
2757
+ alias_method :is_returnable?, :is_returnable
2758
+
2759
+ # Indicates that the property can be used for sorting. Cannot be true for
2760
+ # properties that are repeatable. Cannot be true for properties whose type
2761
+ # is object or user identifier. IsReturnable must be true to set this option.
2762
+ # Only supported for Boolean, Date, Double, Integer, and Timestamp
2763
+ # properties.
2764
+ # Corresponds to the JSON property `isSortable`
2765
+ # @return [Boolean]
2766
+ attr_accessor :is_sortable
2767
+ alias_method :is_sortable?, :is_sortable
2768
+
2769
+ # The name of the property. Item indexing requests sent to the Indexing API
2770
+ # should set the property name
2771
+ # equal to this value. For example, if name is *subject_line*, then indexing
2772
+ # requests for document items with subject fields should set the
2773
+ # name for that field equal to
2774
+ # *subject_line*. Use the name as the identifier for the object property.
2775
+ # Once registered as a property for an object, you cannot re-use this name
2776
+ # for another property within that object.
2777
+ # The name must start with a letter and can only contain letters (A-Z, a-z)
2778
+ # or numbers (0-9).
2779
+ # The maximum length is 256 characters.
2780
+ # Corresponds to the JSON property `name`
2781
+ # @return [String]
2782
+ attr_accessor :name
2783
+
2784
+ # Options for object properties.
2785
+ # Corresponds to the JSON property `objectPropertyOptions`
2786
+ # @return [Google::Apis::CloudsearchV1::ObjectPropertyOptions]
2787
+ attr_accessor :object_property_options
2788
+
2789
+ # Options for text properties.
2790
+ # Corresponds to the JSON property `textPropertyOptions`
2791
+ # @return [Google::Apis::CloudsearchV1::TextPropertyOptions]
2792
+ attr_accessor :text_property_options
2793
+
2794
+ # Options for timestamp properties.
2795
+ # Corresponds to the JSON property `timestampPropertyOptions`
2796
+ # @return [Google::Apis::CloudsearchV1::TimestampPropertyOptions]
2797
+ attr_accessor :timestamp_property_options
2798
+
2799
+ def initialize(**args)
2800
+ update!(**args)
2801
+ end
2802
+
2803
+ # Update properties of this object
2804
+ def update!(**args)
2805
+ @boolean_property_options = args[:boolean_property_options] if args.key?(:boolean_property_options)
2806
+ @date_property_options = args[:date_property_options] if args.key?(:date_property_options)
2807
+ @display_options = args[:display_options] if args.key?(:display_options)
2808
+ @double_property_options = args[:double_property_options] if args.key?(:double_property_options)
2809
+ @enum_property_options = args[:enum_property_options] if args.key?(:enum_property_options)
2810
+ @html_property_options = args[:html_property_options] if args.key?(:html_property_options)
2811
+ @integer_property_options = args[:integer_property_options] if args.key?(:integer_property_options)
2812
+ @is_facetable = args[:is_facetable] if args.key?(:is_facetable)
2813
+ @is_repeatable = args[:is_repeatable] if args.key?(:is_repeatable)
2814
+ @is_returnable = args[:is_returnable] if args.key?(:is_returnable)
2815
+ @is_sortable = args[:is_sortable] if args.key?(:is_sortable)
2816
+ @name = args[:name] if args.key?(:name)
2817
+ @object_property_options = args[:object_property_options] if args.key?(:object_property_options)
2818
+ @text_property_options = args[:text_property_options] if args.key?(:text_property_options)
2819
+ @timestamp_property_options = args[:timestamp_property_options] if args.key?(:timestamp_property_options)
2820
+ end
2821
+ end
2822
+
2823
+ # The display options for a property.
2824
+ class PropertyDisplayOptions
2825
+ include Google::Apis::Core::Hashable
2826
+
2827
+ # The user friendly label for the property that will be used if the property
2828
+ # is specified to be displayed in ObjectDisplayOptions. If given, the display
2829
+ # label will be shown in front of the property values when the property is
2830
+ # part of the object display options. For example, if the property value is
2831
+ # '1', the value by itself may not be useful context for the user. If the
2832
+ # display name given was 'priority', then the user will see 'priority : 1' in
2833
+ # the search results which provides clear conext to search users. This is
2834
+ # OPTIONAL; if not given, only the property values will be displayed.
2835
+ # The maximum length is 32 characters.
2836
+ # Corresponds to the JSON property `displayLabel`
2837
+ # @return [String]
2838
+ attr_accessor :display_label
2839
+
2840
+ def initialize(**args)
2841
+ update!(**args)
2842
+ end
2843
+
2844
+ # Update properties of this object
2845
+ def update!(**args)
2846
+ @display_label = args[:display_label] if args.key?(:display_label)
2847
+ end
2848
+ end
2849
+
2850
+ # Represents an item to be pushed to the indexing queue.
2851
+ class PushItem
2852
+ include Google::Apis::Core::Hashable
2853
+
2854
+ # Content hash of the item according to the repository. If specified, this is
2855
+ # used to determine how to modify this
2856
+ # item's status. Setting this field and the
2857
+ # type field results in argument
2858
+ # error.
2859
+ # The maximum length is 2048 characters.
2860
+ # Corresponds to the JSON property `contentHash`
2861
+ # @return [String]
2862
+ attr_accessor :content_hash
2863
+
2864
+ # Metadata hash of the item according to the repository. If specified, this
2865
+ # is used to determine how to modify this
2866
+ # item's status. Setting this field and the
2867
+ # type field results in argument
2868
+ # error.
2869
+ # The maximum length is 2048 characters.
2870
+ # Corresponds to the JSON property `metadataHash`
2871
+ # @return [String]
2872
+ attr_accessor :metadata_hash
2873
+
2874
+ # Provides additional document state information for the connector,
2875
+ # such as an alternate repository ID and other metadata.
2876
+ # The maximum length is 8192 bytes.
2877
+ # Corresponds to the JSON property `payload`
2878
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2879
+ # @return [String]
2880
+ attr_accessor :payload
2881
+
2882
+ # Queue to which this item belongs to. The <code>default</code> queue is
2883
+ # chosen if this field is not specified. The maximum length is
2884
+ # 512 characters.
2885
+ # Corresponds to the JSON property `queue`
2886
+ # @return [String]
2887
+ attr_accessor :queue
2888
+
2889
+ # Errors when the connector is communicating to the source repository.
2890
+ # Corresponds to the JSON property `repositoryError`
2891
+ # @return [Google::Apis::CloudsearchV1::RepositoryError]
2892
+ attr_accessor :repository_error
2893
+
2894
+ # Structured data hash of the item according to the repository. If specified,
2895
+ # this is used to determine how to modify this item's status. Setting this
2896
+ # field and the type field
2897
+ # results in argument error.
2898
+ # The maximum length is 2048 characters.
2899
+ # Corresponds to the JSON property `structuredDataHash`
2900
+ # @return [String]
2901
+ attr_accessor :structured_data_hash
2902
+
2903
+ # The type of the push operation that defines the push behavior.
2904
+ # Corresponds to the JSON property `type`
2905
+ # @return [String]
2906
+ attr_accessor :type
2907
+
2908
+ def initialize(**args)
2909
+ update!(**args)
2910
+ end
2911
+
2912
+ # Update properties of this object
2913
+ def update!(**args)
2914
+ @content_hash = args[:content_hash] if args.key?(:content_hash)
2915
+ @metadata_hash = args[:metadata_hash] if args.key?(:metadata_hash)
2916
+ @payload = args[:payload] if args.key?(:payload)
2917
+ @queue = args[:queue] if args.key?(:queue)
2918
+ @repository_error = args[:repository_error] if args.key?(:repository_error)
2919
+ @structured_data_hash = args[:structured_data_hash] if args.key?(:structured_data_hash)
2920
+ @type = args[:type] if args.key?(:type)
2921
+ end
2922
+ end
2923
+
2924
+ #
2925
+ class PushItemRequest
2926
+ include Google::Apis::Core::Hashable
2927
+
2928
+ # Name of connector making this call.
2929
+ # <br />Format: datasources/`source_id`/connectors/`ID`
2930
+ # Corresponds to the JSON property `connectorName`
2931
+ # @return [String]
2932
+ attr_accessor :connector_name
2933
+
2934
+ # Shared request debug options for all cloudsearch RPC methods.
2935
+ # Corresponds to the JSON property `debugOptions`
2936
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
2937
+ attr_accessor :debug_options
2938
+
2939
+ # Represents an item to be pushed to the indexing queue.
2940
+ # Corresponds to the JSON property `item`
2941
+ # @return [Google::Apis::CloudsearchV1::PushItem]
2942
+ attr_accessor :item
2943
+
2944
+ def initialize(**args)
2945
+ update!(**args)
2946
+ end
2947
+
2948
+ # Update properties of this object
2949
+ def update!(**args)
2950
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
2951
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
2952
+ @item = args[:item] if args.key?(:item)
2953
+ end
2954
+ end
2955
+
2956
+ #
2957
+ class QueryInterpretation
2958
+ include Google::Apis::Core::Hashable
2959
+
2960
+ #
2961
+ # Corresponds to the JSON property `interpretationType`
2962
+ # @return [String]
2963
+ attr_accessor :interpretation_type
2964
+
2965
+ # The interpretation of the query used in search. For example, query "email
2966
+ # from john" will be interpreted as "from:john source:mail"
2967
+ # Corresponds to the JSON property `interpretedQuery`
2968
+ # @return [String]
2969
+ attr_accessor :interpreted_query
2970
+
2971
+ def initialize(**args)
2972
+ update!(**args)
2973
+ end
2974
+
2975
+ # Update properties of this object
2976
+ def update!(**args)
2977
+ @interpretation_type = args[:interpretation_type] if args.key?(:interpretation_type)
2978
+ @interpreted_query = args[:interpreted_query] if args.key?(:interpreted_query)
2979
+ end
2980
+ end
2981
+
2982
+ # Options to interpret user query.
2983
+ class QueryInterpretationOptions
2984
+ include Google::Apis::Core::Hashable
2985
+
2986
+ # Flag to disable natural language (NL) interpretation of queries. Default is
2987
+ # false, Set to true to disable natural language interpretation. NL
2988
+ # interpretation only applies to predefined datasources.
2989
+ # Corresponds to the JSON property `disableNlInterpretation`
2990
+ # @return [Boolean]
2991
+ attr_accessor :disable_nl_interpretation
2992
+ alias_method :disable_nl_interpretation?, :disable_nl_interpretation
2993
+
2994
+ def initialize(**args)
2995
+ update!(**args)
2996
+ end
2997
+
2998
+ # Update properties of this object
2999
+ def update!(**args)
3000
+ @disable_nl_interpretation = args[:disable_nl_interpretation] if args.key?(:disable_nl_interpretation)
3001
+ end
3002
+ end
3003
+
3004
+ # Information relevant only to a query entry.
3005
+ class QueryItem
3006
+ include Google::Apis::Core::Hashable
3007
+
3008
+ # True if the text was generated by means other than a previous user search.
3009
+ # Corresponds to the JSON property `isSynthetic`
3010
+ # @return [Boolean]
3011
+ attr_accessor :is_synthetic
3012
+ alias_method :is_synthetic?, :is_synthetic
3013
+
3014
+ def initialize(**args)
3015
+ update!(**args)
3016
+ end
3017
+
3018
+ # Update properties of this object
3019
+ def update!(**args)
3020
+ @is_synthetic = args[:is_synthetic] if args.key?(:is_synthetic)
3021
+ end
3022
+ end
3023
+
3024
+ # The definition of a operator that can be used in a Search/Suggest request.
3025
+ class QueryOperator
3026
+ include Google::Apis::Core::Hashable
3027
+
3028
+ # Display name of the operator
3029
+ # Corresponds to the JSON property `displayName`
3030
+ # @return [String]
3031
+ attr_accessor :display_name
3032
+
3033
+ # Potential list of values for the opeatror field. This field is only filled
3034
+ # when we can safely enumerate all the possible values of this operator.
3035
+ # Corresponds to the JSON property `enumValues`
3036
+ # @return [Array<String>]
3037
+ attr_accessor :enum_values
3038
+
3039
+ # Indicates the operator name that can be used to isolate the property using
3040
+ # the greater-than operator.
3041
+ # Corresponds to the JSON property `greaterThanOperatorName`
3042
+ # @return [String]
3043
+ attr_accessor :greater_than_operator_name
3044
+
3045
+ # Can this operator be used to get facets.
3046
+ # Corresponds to the JSON property `isFacetable`
3047
+ # @return [Boolean]
3048
+ attr_accessor :is_facetable
3049
+ alias_method :is_facetable?, :is_facetable
3050
+
3051
+ # Indicates if multiple values can be set for this property.
3052
+ # Corresponds to the JSON property `isRepeatable`
3053
+ # @return [Boolean]
3054
+ attr_accessor :is_repeatable
3055
+ alias_method :is_repeatable?, :is_repeatable
3056
+
3057
+ # Will the property associated with this facet be returned as part of search
3058
+ # results.
3059
+ # Corresponds to the JSON property `isReturnable`
3060
+ # @return [Boolean]
3061
+ attr_accessor :is_returnable
3062
+ alias_method :is_returnable?, :is_returnable
3063
+
3064
+ # Can this operator be used to sort results.
3065
+ # Corresponds to the JSON property `isSortable`
3066
+ # @return [Boolean]
3067
+ attr_accessor :is_sortable
3068
+ alias_method :is_sortable?, :is_sortable
3069
+
3070
+ # Can get suggestions for this field.
3071
+ # Corresponds to the JSON property `isSuggestable`
3072
+ # @return [Boolean]
3073
+ attr_accessor :is_suggestable
3074
+ alias_method :is_suggestable?, :is_suggestable
3075
+
3076
+ # Indicates the operator name that can be used to isolate the property using
3077
+ # the less-than operator.
3078
+ # Corresponds to the JSON property `lessThanOperatorName`
3079
+ # @return [String]
3080
+ attr_accessor :less_than_operator_name
3081
+
3082
+ # The name of the operator.
3083
+ # Corresponds to the JSON property `operatorName`
3084
+ # @return [String]
3085
+ attr_accessor :operator_name
3086
+
3087
+ # Type of the operator.
3088
+ # Corresponds to the JSON property `type`
3089
+ # @return [String]
3090
+ attr_accessor :type
3091
+
3092
+ def initialize(**args)
3093
+ update!(**args)
3094
+ end
3095
+
3096
+ # Update properties of this object
3097
+ def update!(**args)
3098
+ @display_name = args[:display_name] if args.key?(:display_name)
3099
+ @enum_values = args[:enum_values] if args.key?(:enum_values)
3100
+ @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name)
3101
+ @is_facetable = args[:is_facetable] if args.key?(:is_facetable)
3102
+ @is_repeatable = args[:is_repeatable] if args.key?(:is_repeatable)
3103
+ @is_returnable = args[:is_returnable] if args.key?(:is_returnable)
3104
+ @is_sortable = args[:is_sortable] if args.key?(:is_sortable)
3105
+ @is_suggestable = args[:is_suggestable] if args.key?(:is_suggestable)
3106
+ @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name)
3107
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
3108
+ @type = args[:type] if args.key?(:type)
3109
+ end
3110
+ end
3111
+
3112
+ # List of sources that the user can search using the query API.
3113
+ class QuerySource
3114
+ include Google::Apis::Core::Hashable
3115
+
3116
+ # Display name of the data source.
3117
+ # Corresponds to the JSON property `displayName`
3118
+ # @return [String]
3119
+ attr_accessor :display_name
3120
+
3121
+ # List of all operators applicable for this source.
3122
+ # Corresponds to the JSON property `operators`
3123
+ # @return [Array<Google::Apis::CloudsearchV1::QueryOperator>]
3124
+ attr_accessor :operators
3125
+
3126
+ # A short name or alias for the source. This value can be used with the
3127
+ # 'source' operator.
3128
+ # Corresponds to the JSON property `shortName`
3129
+ # @return [String]
3130
+ attr_accessor :short_name
3131
+
3132
+ # Defines sources for the suggest/search APIs.
3133
+ # Corresponds to the JSON property `source`
3134
+ # @return [Google::Apis::CloudsearchV1::Source]
3135
+ attr_accessor :source
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @display_name = args[:display_name] if args.key?(:display_name)
3144
+ @operators = args[:operators] if args.key?(:operators)
3145
+ @short_name = args[:short_name] if args.key?(:short_name)
3146
+ @source = args[:source] if args.key?(:source)
3147
+ end
3148
+ end
3149
+
3150
+ # A completed query suggestion.
3151
+ class QuerySuggestion
3152
+ include Google::Apis::Core::Hashable
3153
+
3154
+ def initialize(**args)
3155
+ update!(**args)
3156
+ end
3157
+
3158
+ # Update properties of this object
3159
+ def update!(**args)
3160
+ end
3161
+ end
3162
+
3163
+ # Errors when the connector is communicating to the source repository.
3164
+ class RepositoryError
3165
+ include Google::Apis::Core::Hashable
3166
+
3167
+ # Message that describes the error. The maximum allowable length
3168
+ # of the message is 8192 characters.
3169
+ # Corresponds to the JSON property `errorMessage`
3170
+ # @return [String]
3171
+ attr_accessor :error_message
3172
+
3173
+ # Error codes. Matches the definition of HTTP status codes.
3174
+ # Corresponds to the JSON property `httpStatusCode`
3175
+ # @return [Fixnum]
3176
+ attr_accessor :http_status_code
3177
+
3178
+ # Type of error.
3179
+ # Corresponds to the JSON property `type`
3180
+ # @return [String]
3181
+ attr_accessor :type
3182
+
3183
+ def initialize(**args)
3184
+ update!(**args)
3185
+ end
3186
+
3187
+ # Update properties of this object
3188
+ def update!(**args)
3189
+ @error_message = args[:error_message] if args.key?(:error_message)
3190
+ @http_status_code = args[:http_status_code] if args.key?(:http_status_code)
3191
+ @type = args[:type] if args.key?(:type)
3192
+ end
3193
+ end
3194
+
3195
+ # Shared request options for all RPC methods.
3196
+ class RequestOptions
3197
+ include Google::Apis::Core::Hashable
3198
+
3199
+ # Shared request debug options for all cloudsearch RPC methods.
3200
+ # Corresponds to the JSON property `debugOptions`
3201
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
3202
+ attr_accessor :debug_options
3203
+
3204
+ # The BCP-47 language code, such as "en-US" or "sr-Latn".
3205
+ # For more information, see
3206
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
3207
+ # For translations.
3208
+ # Corresponds to the JSON property `languageCode`
3209
+ # @return [String]
3210
+ attr_accessor :language_code
3211
+
3212
+ # Id of the application created using SearchApplicationsService.
3213
+ # Corresponds to the JSON property `searchApplicationId`
3214
+ # @return [String]
3215
+ attr_accessor :search_application_id
3216
+
3217
+ # Current user's time zone id, such as "America/Los_Angeles" or
3218
+ # "Australia/Sydney". These IDs are defined by
3219
+ # [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/)
3220
+ # project, and currently available in the file
3221
+ # [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml)
3222
+ # Corresponds to the JSON property `timeZone`
3223
+ # @return [String]
3224
+ attr_accessor :time_zone
3225
+
3226
+ def initialize(**args)
3227
+ update!(**args)
3228
+ end
3229
+
3230
+ # Update properties of this object
3231
+ def update!(**args)
3232
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
3233
+ @language_code = args[:language_code] if args.key?(:language_code)
3234
+ @search_application_id = args[:search_application_id] if args.key?(:search_application_id)
3235
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
3236
+ end
3237
+ end
3238
+
3239
+ #
3240
+ class ResetSearchApplicationRequest
3241
+ include Google::Apis::Core::Hashable
3242
+
3243
+ # Shared request debug options for all cloudsearch RPC methods.
3244
+ # Corresponds to the JSON property `debugOptions`
3245
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
3246
+ attr_accessor :debug_options
3247
+
3248
+ def initialize(**args)
3249
+ update!(**args)
3250
+ end
3251
+
3252
+ # Update properties of this object
3253
+ def update!(**args)
3254
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
3255
+ end
3256
+ end
3257
+
3258
+ # Debugging information about the response.
3259
+ class ResponseDebugInfo
3260
+ include Google::Apis::Core::Hashable
3261
+
3262
+ # General debug info formatted for display.
3263
+ # Corresponds to the JSON property `formattedDebugInfo`
3264
+ # @return [String]
3265
+ attr_accessor :formatted_debug_info
3266
+
3267
+ def initialize(**args)
3268
+ update!(**args)
3269
+ end
3270
+
3271
+ # Update properties of this object
3272
+ def update!(**args)
3273
+ @formatted_debug_info = args[:formatted_debug_info] if args.key?(:formatted_debug_info)
3274
+ end
3275
+ end
3276
+
3277
+ # Information relevant only to a restrict entry.
3278
+ # NextId: 7
3279
+ class RestrictItem
3280
+ include Google::Apis::Core::Hashable
3281
+
3282
+ # Drive follow-up search restricts (e.g. "followup:suggestions").
3283
+ # Corresponds to the JSON property `driveFollowUpRestrict`
3284
+ # @return [Google::Apis::CloudsearchV1::DriveFollowUpRestrict]
3285
+ attr_accessor :drive_follow_up_restrict
3286
+
3287
+ # Drive location search restricts (e.g. "is:starred").
3288
+ # Corresponds to the JSON property `driveLocationRestrict`
3289
+ # @return [Google::Apis::CloudsearchV1::DriveLocationRestrict]
3290
+ attr_accessor :drive_location_restrict
3291
+
3292
+ # Drive mime-type search restricts (e.g. "type:pdf").
3293
+ # Corresponds to the JSON property `driveMimeTypeRestrict`
3294
+ # @return [Google::Apis::CloudsearchV1::DriveMimeTypeRestrict]
3295
+ attr_accessor :drive_mime_type_restrict
3296
+
3297
+ # The time span search restrict (e.g. "after:2017-09-11 before:2017-09-12").
3298
+ # Corresponds to the JSON property `driveTimeSpanRestrict`
3299
+ # @return [Google::Apis::CloudsearchV1::DriveTimeSpanRestrict]
3300
+ attr_accessor :drive_time_span_restrict
3301
+
3302
+ # The search restrict (e.g. "after:2017-09-11 before:2017-09-12").
3303
+ # Corresponds to the JSON property `searchOperator`
3304
+ # @return [String]
3305
+ attr_accessor :search_operator
3306
+
3307
+ def initialize(**args)
3308
+ update!(**args)
3309
+ end
3310
+
3311
+ # Update properties of this object
3312
+ def update!(**args)
3313
+ @drive_follow_up_restrict = args[:drive_follow_up_restrict] if args.key?(:drive_follow_up_restrict)
3314
+ @drive_location_restrict = args[:drive_location_restrict] if args.key?(:drive_location_restrict)
3315
+ @drive_mime_type_restrict = args[:drive_mime_type_restrict] if args.key?(:drive_mime_type_restrict)
3316
+ @drive_time_span_restrict = args[:drive_time_span_restrict] if args.key?(:drive_time_span_restrict)
3317
+ @search_operator = args[:search_operator] if args.key?(:search_operator)
3318
+ end
3319
+ end
3320
+
3321
+ # Result count information
3322
+ class ResultCounts
3323
+ include Google::Apis::Core::Hashable
3324
+
3325
+ # Result count information for each source with results.
3326
+ # Corresponds to the JSON property `sourceResultCounts`
3327
+ # @return [Array<Google::Apis::CloudsearchV1::SourceResultCount>]
3328
+ attr_accessor :source_result_counts
3329
+
3330
+ def initialize(**args)
3331
+ update!(**args)
3332
+ end
3333
+
3334
+ # Update properties of this object
3335
+ def update!(**args)
3336
+ @source_result_counts = args[:source_result_counts] if args.key?(:source_result_counts)
3337
+ end
3338
+ end
3339
+
3340
+ # Debugging information about the result.
3341
+ class ResultDebugInfo
3342
+ include Google::Apis::Core::Hashable
3343
+
3344
+ # General debug info formatted for display.
3345
+ # Corresponds to the JSON property `formattedDebugInfo`
3346
+ # @return [String]
3347
+ attr_accessor :formatted_debug_info
3348
+
3349
+ def initialize(**args)
3350
+ update!(**args)
3351
+ end
3352
+
3353
+ # Update properties of this object
3354
+ def update!(**args)
3355
+ @formatted_debug_info = args[:formatted_debug_info] if args.key?(:formatted_debug_info)
3356
+ end
3357
+ end
3358
+
3359
+ # Display Fields for Search Results
3360
+ class ResultDisplayField
3361
+ include Google::Apis::Core::Hashable
3362
+
3363
+ # The display label for the property.
3364
+ # Corresponds to the JSON property `label`
3365
+ # @return [String]
3366
+ attr_accessor :label
3367
+
3368
+ # The operator name of the property.
3369
+ # Corresponds to the JSON property `operatorName`
3370
+ # @return [String]
3371
+ attr_accessor :operator_name
3372
+
3373
+ # A typed name-value pair for structured data. The type of the value should
3374
+ # be the same as the registered type for the `name` property in the object
3375
+ # definition of `objectType`.
3376
+ # Corresponds to the JSON property `property`
3377
+ # @return [Google::Apis::CloudsearchV1::NamedProperty]
3378
+ attr_accessor :property
3379
+
3380
+ def initialize(**args)
3381
+ update!(**args)
3382
+ end
3383
+
3384
+ # Update properties of this object
3385
+ def update!(**args)
3386
+ @label = args[:label] if args.key?(:label)
3387
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
3388
+ @property = args[:property] if args.key?(:property)
3389
+ end
3390
+ end
3391
+
3392
+ # The collection of fields that make up a displayed line
3393
+ class ResultDisplayLine
3394
+ include Google::Apis::Core::Hashable
3395
+
3396
+ #
3397
+ # Corresponds to the JSON property `fields`
3398
+ # @return [Array<Google::Apis::CloudsearchV1::ResultDisplayField>]
3399
+ attr_accessor :fields
3400
+
3401
+ def initialize(**args)
3402
+ update!(**args)
3403
+ end
3404
+
3405
+ # Update properties of this object
3406
+ def update!(**args)
3407
+ @fields = args[:fields] if args.key?(:fields)
3408
+ end
3409
+ end
3410
+
3411
+ #
3412
+ class ResultDisplayMetadata
3413
+ include Google::Apis::Core::Hashable
3414
+
3415
+ # The metalines content to be displayed with the result.
3416
+ # Corresponds to the JSON property `metalines`
3417
+ # @return [Array<Google::Apis::CloudsearchV1::ResultDisplayLine>]
3418
+ attr_accessor :metalines
3419
+
3420
+ # The display label for the object.
3421
+ # Corresponds to the JSON property `objectTypeLabel`
3422
+ # @return [String]
3423
+ attr_accessor :object_type_label
3424
+
3425
+ def initialize(**args)
3426
+ update!(**args)
3427
+ end
3428
+
3429
+ # Update properties of this object
3430
+ def update!(**args)
3431
+ @metalines = args[:metalines] if args.key?(:metalines)
3432
+ @object_type_label = args[:object_type_label] if args.key?(:object_type_label)
3433
+ end
3434
+ end
3435
+
3436
+ #
3437
+ class RetrievalImportance
3438
+ include Google::Apis::Core::Hashable
3439
+
3440
+ # Indicates the ranking importance given to property when it is matched
3441
+ # during retrieval. Once set, the token importance of a property cannot be
3442
+ # changed.
3443
+ # Corresponds to the JSON property `importance`
3444
+ # @return [String]
3445
+ attr_accessor :importance
3446
+
3447
+ def initialize(**args)
3448
+ update!(**args)
3449
+ end
3450
+
3451
+ # Update properties of this object
3452
+ def update!(**args)
3453
+ @importance = args[:importance] if args.key?(:importance)
3454
+ end
3455
+ end
3456
+
3457
+ # The schema definition for a data source.
3458
+ class Schema
3459
+ include Google::Apis::Core::Hashable
3460
+
3461
+ # The list of top-level objects for the data source.
3462
+ # The maximum number of elements is 10.
3463
+ # Corresponds to the JSON property `objectDefinitions`
3464
+ # @return [Array<Google::Apis::CloudsearchV1::ObjectDefinition>]
3465
+ attr_accessor :object_definitions
3466
+
3467
+ # IDs of the Long Running Operations (LROs) currently running for this
3468
+ # schema. After modifying the schema, wait for opeations to complete
3469
+ # before indexing additional content.
3470
+ # Corresponds to the JSON property `operationIds`
3471
+ # @return [Array<String>]
3472
+ attr_accessor :operation_ids
3473
+
3474
+ def initialize(**args)
3475
+ update!(**args)
3476
+ end
3477
+
3478
+ # Update properties of this object
3479
+ def update!(**args)
3480
+ @object_definitions = args[:object_definitions] if args.key?(:object_definitions)
3481
+ @operation_ids = args[:operation_ids] if args.key?(:operation_ids)
3482
+ end
3483
+ end
3484
+
3485
+ # Scoring configurations for a source while processing a
3486
+ # Search or
3487
+ # Suggest request.
3488
+ class ScoringConfig
3489
+ include Google::Apis::Core::Hashable
3490
+
3491
+ # Whether to use freshness as a ranking signal. By default, freshness is used
3492
+ # as a ranking signal.
3493
+ # Corresponds to the JSON property `disableFreshness`
3494
+ # @return [Boolean]
3495
+ attr_accessor :disable_freshness
3496
+ alias_method :disable_freshness?, :disable_freshness
3497
+
3498
+ # Whether to personalize the results. By default, personal signals will
3499
+ # be used to boost results.
3500
+ # Corresponds to the JSON property `disablePersonalization`
3501
+ # @return [Boolean]
3502
+ attr_accessor :disable_personalization
3503
+ alias_method :disable_personalization?, :disable_personalization
3504
+
3505
+ def initialize(**args)
3506
+ update!(**args)
3507
+ end
3508
+
3509
+ # Update properties of this object
3510
+ def update!(**args)
3511
+ @disable_freshness = args[:disable_freshness] if args.key?(:disable_freshness)
3512
+ @disable_personalization = args[:disable_personalization] if args.key?(:disable_personalization)
3513
+ end
3514
+ end
3515
+
3516
+ # SearchApplication
3517
+ class SearchApplication
3518
+ include Google::Apis::Core::Hashable
3519
+
3520
+ # Retrictions applied to the configurations.
3521
+ # The maximum number of elements is 10.
3522
+ # Corresponds to the JSON property `dataSourceRestrictions`
3523
+ # @return [Array<Google::Apis::CloudsearchV1::DataSourceRestriction>]
3524
+ attr_accessor :data_source_restrictions
3525
+
3526
+ # The default fields for returning facet results.
3527
+ # The sources specified here also have been included in
3528
+ # data_source_restrictions
3529
+ # above.
3530
+ # Corresponds to the JSON property `defaultFacetOptions`
3531
+ # @return [Array<Google::Apis::CloudsearchV1::FacetOptions>]
3532
+ attr_accessor :default_facet_options
3533
+
3534
+ # The default options for sorting the search results
3535
+ # Corresponds to the JSON property `defaultSortOptions`
3536
+ # @return [Google::Apis::CloudsearchV1::SortOptions]
3537
+ attr_accessor :default_sort_options
3538
+
3539
+ # Display name of the Search Application.
3540
+ # The maximum length is 300 characters.
3541
+ # Corresponds to the JSON property `displayName`
3542
+ # @return [String]
3543
+ attr_accessor :display_name
3544
+
3545
+ # Name of the Search Application.
3546
+ # <br />Format: searchapplications/`application_id`.
3547
+ # Corresponds to the JSON property `name`
3548
+ # @return [String]
3549
+ attr_accessor :name
3550
+
3551
+ # IDs of the Long Running Operations (LROs) currently running for this schema.
3552
+ # Output only field.
3553
+ # Corresponds to the JSON property `operationIds`
3554
+ # @return [Array<String>]
3555
+ attr_accessor :operation_ids
3556
+
3557
+ # Scoring configurations for a source while processing a
3558
+ # Search or
3559
+ # Suggest request.
3560
+ # Corresponds to the JSON property `scoringConfig`
3561
+ # @return [Google::Apis::CloudsearchV1::ScoringConfig]
3562
+ attr_accessor :scoring_config
3563
+
3564
+ # Configuration for a sources specified in data_source_restrictions.
3565
+ # Corresponds to the JSON property `sourceConfig`
3566
+ # @return [Array<Google::Apis::CloudsearchV1::SourceConfig>]
3567
+ attr_accessor :source_config
3568
+
3569
+ def initialize(**args)
3570
+ update!(**args)
3571
+ end
3572
+
3573
+ # Update properties of this object
3574
+ def update!(**args)
3575
+ @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions)
3576
+ @default_facet_options = args[:default_facet_options] if args.key?(:default_facet_options)
3577
+ @default_sort_options = args[:default_sort_options] if args.key?(:default_sort_options)
3578
+ @display_name = args[:display_name] if args.key?(:display_name)
3579
+ @name = args[:name] if args.key?(:name)
3580
+ @operation_ids = args[:operation_ids] if args.key?(:operation_ids)
3581
+ @scoring_config = args[:scoring_config] if args.key?(:scoring_config)
3582
+ @source_config = args[:source_config] if args.key?(:source_config)
3583
+ end
3584
+ end
3585
+
3586
+ # Additional search quality metadata of the item.
3587
+ class SearchQualityMetadata
3588
+ include Google::Apis::Core::Hashable
3589
+
3590
+ # An indication of the quality of the item, used to influence search quality.
3591
+ # Value should be between 0.0 (lowest quality) and 1.0 (highest quality).
3592
+ # Corresponds to the JSON property `quality`
3593
+ # @return [Float]
3594
+ attr_accessor :quality
3595
+
3596
+ def initialize(**args)
3597
+ update!(**args)
3598
+ end
3599
+
3600
+ # Update properties of this object
3601
+ def update!(**args)
3602
+ @quality = args[:quality] if args.key?(:quality)
3603
+ end
3604
+ end
3605
+
3606
+ # The search API request.
3607
+ class SearchRequest
3608
+ include Google::Apis::Core::Hashable
3609
+
3610
+ # The sources to use for querying. If not specified, all data sources
3611
+ # from the current search application are used.
3612
+ # Corresponds to the JSON property `dataSourceRestrictions`
3613
+ # @return [Array<Google::Apis::CloudsearchV1::DataSourceRestriction>]
3614
+ attr_accessor :data_source_restrictions
3615
+
3616
+ #
3617
+ # Corresponds to the JSON property `facetOptions`
3618
+ # @return [Array<Google::Apis::CloudsearchV1::FacetOptions>]
3619
+ attr_accessor :facet_options
3620
+
3621
+ # Maximum number of search results to return in one page.
3622
+ # Valid values are between 1 and 100, inclusive.
3623
+ # Default value is 10.
3624
+ # Corresponds to the JSON property `pageSize`
3625
+ # @return [Fixnum]
3626
+ attr_accessor :page_size
3627
+
3628
+ # The raw query string.
3629
+ # See supported search operators in the [Cloud search
3630
+ # Cheat
3631
+ # Sheet](https://gsuite.google.com/learning-center/products/cloudsearch/cheat-
3632
+ # sheet/)
3633
+ # Corresponds to the JSON property `query`
3634
+ # @return [String]
3635
+ attr_accessor :query
3636
+
3637
+ # Options to interpret user query.
3638
+ # Corresponds to the JSON property `queryInterpretationOptions`
3639
+ # @return [Google::Apis::CloudsearchV1::QueryInterpretationOptions]
3640
+ attr_accessor :query_interpretation_options
3641
+
3642
+ # Shared request options for all RPC methods.
3643
+ # Corresponds to the JSON property `requestOptions`
3644
+ # @return [Google::Apis::CloudsearchV1::RequestOptions]
3645
+ attr_accessor :request_options
3646
+
3647
+ # The options for sorting the search results
3648
+ # Corresponds to the JSON property `sortOptions`
3649
+ # @return [Google::Apis::CloudsearchV1::SortOptions]
3650
+ attr_accessor :sort_options
3651
+
3652
+ # Starting index of the results.
3653
+ # Corresponds to the JSON property `start`
3654
+ # @return [Fixnum]
3655
+ attr_accessor :start
3656
+
3657
+ def initialize(**args)
3658
+ update!(**args)
3659
+ end
3660
+
3661
+ # Update properties of this object
3662
+ def update!(**args)
3663
+ @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions)
3664
+ @facet_options = args[:facet_options] if args.key?(:facet_options)
3665
+ @page_size = args[:page_size] if args.key?(:page_size)
3666
+ @query = args[:query] if args.key?(:query)
3667
+ @query_interpretation_options = args[:query_interpretation_options] if args.key?(:query_interpretation_options)
3668
+ @request_options = args[:request_options] if args.key?(:request_options)
3669
+ @sort_options = args[:sort_options] if args.key?(:sort_options)
3670
+ @start = args[:start] if args.key?(:start)
3671
+ end
3672
+ end
3673
+
3674
+ # The search API response.
3675
+ class SearchResponse
3676
+ include Google::Apis::Core::Hashable
3677
+
3678
+ # Debugging information about the response.
3679
+ # Corresponds to the JSON property `debugInfo`
3680
+ # @return [Google::Apis::CloudsearchV1::ResponseDebugInfo]
3681
+ attr_accessor :debug_info
3682
+
3683
+ # Error information about the response.
3684
+ # Corresponds to the JSON property `errorInfo`
3685
+ # @return [Google::Apis::CloudsearchV1::ErrorInfo]
3686
+ attr_accessor :error_info
3687
+
3688
+ # Repeated facet results.
3689
+ # Corresponds to the JSON property `facetResults`
3690
+ # @return [Array<Google::Apis::CloudsearchV1::FacetResult>]
3691
+ attr_accessor :facet_results
3692
+
3693
+ # Whether there are more search results matching the query.
3694
+ # Corresponds to the JSON property `hasMoreResults`
3695
+ # @return [Boolean]
3696
+ attr_accessor :has_more_results
3697
+ alias_method :has_more_results?, :has_more_results
3698
+
3699
+ # Query interpretation result for user query. Empty if query interpretation
3700
+ # is disabled.
3701
+ # Corresponds to the JSON property `queryInterpretation`
3702
+ # @return [Google::Apis::CloudsearchV1::QueryInterpretation]
3703
+ attr_accessor :query_interpretation
3704
+
3705
+ # The estimated result count for this query.
3706
+ # Corresponds to the JSON property `resultCountEstimate`
3707
+ # @return [Fixnum]
3708
+ attr_accessor :result_count_estimate
3709
+
3710
+ # The exact result count for this query.
3711
+ # Corresponds to the JSON property `resultCountExact`
3712
+ # @return [Fixnum]
3713
+ attr_accessor :result_count_exact
3714
+
3715
+ # Result count information
3716
+ # Corresponds to the JSON property `resultCounts`
3717
+ # @return [Google::Apis::CloudsearchV1::ResultCounts]
3718
+ attr_accessor :result_counts
3719
+
3720
+ # Results from a search query.
3721
+ # Corresponds to the JSON property `results`
3722
+ # @return [Array<Google::Apis::CloudsearchV1::SearchResult>]
3723
+ attr_accessor :results
3724
+
3725
+ # Suggested spelling for the query.
3726
+ # Corresponds to the JSON property `spellResults`
3727
+ # @return [Array<Google::Apis::CloudsearchV1::SpellResult>]
3728
+ attr_accessor :spell_results
3729
+
3730
+ # Structured results for the user query. These results are not counted
3731
+ # against the page_size.
3732
+ # Corresponds to the JSON property `structuredResults`
3733
+ # @return [Array<Google::Apis::CloudsearchV1::StructuredResult>]
3734
+ attr_accessor :structured_results
3735
+
3736
+ def initialize(**args)
3737
+ update!(**args)
3738
+ end
3739
+
3740
+ # Update properties of this object
3741
+ def update!(**args)
3742
+ @debug_info = args[:debug_info] if args.key?(:debug_info)
3743
+ @error_info = args[:error_info] if args.key?(:error_info)
3744
+ @facet_results = args[:facet_results] if args.key?(:facet_results)
3745
+ @has_more_results = args[:has_more_results] if args.key?(:has_more_results)
3746
+ @query_interpretation = args[:query_interpretation] if args.key?(:query_interpretation)
3747
+ @result_count_estimate = args[:result_count_estimate] if args.key?(:result_count_estimate)
3748
+ @result_count_exact = args[:result_count_exact] if args.key?(:result_count_exact)
3749
+ @result_counts = args[:result_counts] if args.key?(:result_counts)
3750
+ @results = args[:results] if args.key?(:results)
3751
+ @spell_results = args[:spell_results] if args.key?(:spell_results)
3752
+ @structured_results = args[:structured_results] if args.key?(:structured_results)
3753
+ end
3754
+ end
3755
+
3756
+ # Results containing indexed information for a document.
3757
+ class SearchResult
3758
+ include Google::Apis::Core::Hashable
3759
+
3760
+ # If source is clustered, provide list of clustered results. There will only
3761
+ # be one level of clustered results. If current source is not enabled for
3762
+ # clustering, this field will be empty.
3763
+ # Corresponds to the JSON property `clusteredResults`
3764
+ # @return [Array<Google::Apis::CloudsearchV1::SearchResult>]
3765
+ attr_accessor :clustered_results
3766
+
3767
+ # Debugging information about the result.
3768
+ # Corresponds to the JSON property `debugInfo`
3769
+ # @return [Google::Apis::CloudsearchV1::ResultDebugInfo]
3770
+ attr_accessor :debug_info
3771
+
3772
+ # Metadata of a matched search result.
3773
+ # Corresponds to the JSON property `metadata`
3774
+ # @return [Google::Apis::CloudsearchV1::Metadata]
3775
+ attr_accessor :metadata
3776
+
3777
+ # Snippet of the search result, which summarizes the content of the resulting
3778
+ # page.
3779
+ # Corresponds to the JSON property `snippet`
3780
+ # @return [Google::Apis::CloudsearchV1::Snippet]
3781
+ attr_accessor :snippet
3782
+
3783
+ # Title of the search result.
3784
+ # Corresponds to the JSON property `title`
3785
+ # @return [String]
3786
+ attr_accessor :title
3787
+
3788
+ # The URL of the result.
3789
+ # Corresponds to the JSON property `url`
3790
+ # @return [String]
3791
+ attr_accessor :url
3792
+
3793
+ def initialize(**args)
3794
+ update!(**args)
3795
+ end
3796
+
3797
+ # Update properties of this object
3798
+ def update!(**args)
3799
+ @clustered_results = args[:clustered_results] if args.key?(:clustered_results)
3800
+ @debug_info = args[:debug_info] if args.key?(:debug_info)
3801
+ @metadata = args[:metadata] if args.key?(:metadata)
3802
+ @snippet = args[:snippet] if args.key?(:snippet)
3803
+ @title = args[:title] if args.key?(:title)
3804
+ @url = args[:url] if args.key?(:url)
3805
+ end
3806
+ end
3807
+
3808
+ # Snippet of the search result, which summarizes the content of the resulting
3809
+ # page.
3810
+ class Snippet
3811
+ include Google::Apis::Core::Hashable
3812
+
3813
+ # The matched ranges in the snippet.
3814
+ # Corresponds to the JSON property `matchRanges`
3815
+ # @return [Array<Google::Apis::CloudsearchV1::MatchRange>]
3816
+ attr_accessor :match_ranges
3817
+
3818
+ # The snippet of the document.
3819
+ # The snippet of the document. May contain escaped HTML character that
3820
+ # should be unescaped prior to rendering.
3821
+ # Corresponds to the JSON property `snippet`
3822
+ # @return [String]
3823
+ attr_accessor :snippet
3824
+
3825
+ def initialize(**args)
3826
+ update!(**args)
3827
+ end
3828
+
3829
+ # Update properties of this object
3830
+ def update!(**args)
3831
+ @match_ranges = args[:match_ranges] if args.key?(:match_ranges)
3832
+ @snippet = args[:snippet] if args.key?(:snippet)
3833
+ end
3834
+ end
3835
+
3836
+ #
3837
+ class SortOptions
3838
+ include Google::Apis::Core::Hashable
3839
+
3840
+ # Name of the operator corresponding to the field to sort on.
3841
+ # The corresponding property must be marked as
3842
+ # sortable.
3843
+ # Corresponds to the JSON property `operatorName`
3844
+ # @return [String]
3845
+ attr_accessor :operator_name
3846
+
3847
+ # Ascending is the default sort order
3848
+ # Corresponds to the JSON property `sortOrder`
3849
+ # @return [String]
3850
+ attr_accessor :sort_order
3851
+
3852
+ def initialize(**args)
3853
+ update!(**args)
3854
+ end
3855
+
3856
+ # Update properties of this object
3857
+ def update!(**args)
3858
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
3859
+ @sort_order = args[:sort_order] if args.key?(:sort_order)
3860
+ end
3861
+ end
3862
+
3863
+ # Defines sources for the suggest/search APIs.
3864
+ class Source
3865
+ include Google::Apis::Core::Hashable
3866
+
3867
+ # Source name for content indexed by the
3868
+ # Indexing API.
3869
+ # Corresponds to the JSON property `name`
3870
+ # @return [String]
3871
+ attr_accessor :name
3872
+
3873
+ # Predefined content source for Google Apps.
3874
+ # Corresponds to the JSON property `predefinedSource`
3875
+ # @return [String]
3876
+ attr_accessor :predefined_source
3877
+
3878
+ def initialize(**args)
3879
+ update!(**args)
3880
+ end
3881
+
3882
+ # Update properties of this object
3883
+ def update!(**args)
3884
+ @name = args[:name] if args.key?(:name)
3885
+ @predefined_source = args[:predefined_source] if args.key?(:predefined_source)
3886
+ end
3887
+ end
3888
+
3889
+ # Configurations for a source while processing a
3890
+ # Search or
3891
+ # Suggest request.
3892
+ class SourceConfig
3893
+ include Google::Apis::Core::Hashable
3894
+
3895
+ # Set search results crowding limits. Crowding is a situation in which
3896
+ # multiple results from the same source or host "crowd out" other results,
3897
+ # diminishing the quality of search for users. To foster better search quality
3898
+ # and source diversity in search results, you can set a condition to reduce
3899
+ # repetitive results by source.
3900
+ # Corresponds to the JSON property `crowdingConfig`
3901
+ # @return [Google::Apis::CloudsearchV1::SourceCrowdingConfig]
3902
+ attr_accessor :crowding_config
3903
+
3904
+ # Set the scoring configuration. This allows modifying the ranking of results
3905
+ # for a source.
3906
+ # Corresponds to the JSON property `scoringConfig`
3907
+ # @return [Google::Apis::CloudsearchV1::SourceScoringConfig]
3908
+ attr_accessor :scoring_config
3909
+
3910
+ # Defines sources for the suggest/search APIs.
3911
+ # Corresponds to the JSON property `source`
3912
+ # @return [Google::Apis::CloudsearchV1::Source]
3913
+ attr_accessor :source
3914
+
3915
+ def initialize(**args)
3916
+ update!(**args)
3917
+ end
3918
+
3919
+ # Update properties of this object
3920
+ def update!(**args)
3921
+ @crowding_config = args[:crowding_config] if args.key?(:crowding_config)
3922
+ @scoring_config = args[:scoring_config] if args.key?(:scoring_config)
3923
+ @source = args[:source] if args.key?(:source)
3924
+ end
3925
+ end
3926
+
3927
+ # Set search results crowding limits. Crowding is a situation in which
3928
+ # multiple results from the same source or host "crowd out" other results,
3929
+ # diminishing the quality of search for users. To foster better search quality
3930
+ # and source diversity in search results, you can set a condition to reduce
3931
+ # repetitive results by source.
3932
+ class SourceCrowdingConfig
3933
+ include Google::Apis::Core::Hashable
3934
+
3935
+ # Use a field to control results crowding. For example, if you want to
3936
+ # control overly similar results from Gmail topics, use `thread_id`.
3937
+ # For similar pages from Google Sites, you can use `webspace_id`.
3938
+ # When matching query results contain the same field value in
3939
+ # `GenericMetadata`, crowding limits are set on those records.
3940
+ # Corresponds to the JSON property `field`
3941
+ # @return [String]
3942
+ attr_accessor :field
3943
+
3944
+ # Maximum number of results allowed from a source.
3945
+ # No limits will be set on results if this value is less than or equal to 0.
3946
+ # Corresponds to the JSON property `numResults`
3947
+ # @return [Fixnum]
3948
+ attr_accessor :num_results
3949
+
3950
+ # Maximum number of suggestions allowed from a source.
3951
+ # No limits will be set on results if this value is less than or equal to 0.
3952
+ # Corresponds to the JSON property `numSuggestions`
3953
+ # @return [Fixnum]
3954
+ attr_accessor :num_suggestions
3955
+
3956
+ # Control results by content source. This option limits the total number
3957
+ # of results from a given source and ignores field-based crowding control.
3958
+ # Corresponds to the JSON property `source`
3959
+ # @return [Boolean]
3960
+ attr_accessor :source
3961
+ alias_method :source?, :source
3962
+
3963
+ def initialize(**args)
3964
+ update!(**args)
3965
+ end
3966
+
3967
+ # Update properties of this object
3968
+ def update!(**args)
3969
+ @field = args[:field] if args.key?(:field)
3970
+ @num_results = args[:num_results] if args.key?(:num_results)
3971
+ @num_suggestions = args[:num_suggestions] if args.key?(:num_suggestions)
3972
+ @source = args[:source] if args.key?(:source)
3973
+ end
3974
+ end
3975
+
3976
+ # Per source result count information.
3977
+ class SourceResultCount
3978
+ include Google::Apis::Core::Hashable
3979
+
3980
+ # Whether there are more search results for this source.
3981
+ # Corresponds to the JSON property `hasMoreResults`
3982
+ # @return [Boolean]
3983
+ attr_accessor :has_more_results
3984
+ alias_method :has_more_results?, :has_more_results
3985
+
3986
+ # The estimated result count for this source.
3987
+ # Corresponds to the JSON property `resultCountEstimate`
3988
+ # @return [Fixnum]
3989
+ attr_accessor :result_count_estimate
3990
+
3991
+ # The exact result count for this source.
3992
+ # Corresponds to the JSON property `resultCountExact`
3993
+ # @return [Fixnum]
3994
+ attr_accessor :result_count_exact
3995
+
3996
+ # Defines sources for the suggest/search APIs.
3997
+ # Corresponds to the JSON property `source`
3998
+ # @return [Google::Apis::CloudsearchV1::Source]
3999
+ attr_accessor :source
4000
+
4001
+ def initialize(**args)
4002
+ update!(**args)
4003
+ end
4004
+
4005
+ # Update properties of this object
4006
+ def update!(**args)
4007
+ @has_more_results = args[:has_more_results] if args.key?(:has_more_results)
4008
+ @result_count_estimate = args[:result_count_estimate] if args.key?(:result_count_estimate)
4009
+ @result_count_exact = args[:result_count_exact] if args.key?(:result_count_exact)
4010
+ @source = args[:source] if args.key?(:source)
4011
+ end
4012
+ end
4013
+
4014
+ # Set the scoring configuration. This allows modifying the ranking of results
4015
+ # for a source.
4016
+ class SourceScoringConfig
4017
+ include Google::Apis::Core::Hashable
4018
+
4019
+ # Importance of the source.
4020
+ # Corresponds to the JSON property `sourceImportance`
4021
+ # @return [String]
4022
+ attr_accessor :source_importance
4023
+
4024
+ def initialize(**args)
4025
+ update!(**args)
4026
+ end
4027
+
4028
+ # Update properties of this object
4029
+ def update!(**args)
4030
+ @source_importance = args[:source_importance] if args.key?(:source_importance)
4031
+ end
4032
+ end
4033
+
4034
+ #
4035
+ class SpellResult
4036
+ include Google::Apis::Core::Hashable
4037
+
4038
+ # The suggested spelling of the query.
4039
+ # Corresponds to the JSON property `suggestedQuery`
4040
+ # @return [String]
4041
+ attr_accessor :suggested_query
4042
+
4043
+ def initialize(**args)
4044
+ update!(**args)
4045
+ end
4046
+
4047
+ # Update properties of this object
4048
+ def update!(**args)
4049
+ @suggested_query = args[:suggested_query] if args.key?(:suggested_query)
4050
+ end
4051
+ end
4052
+
4053
+ # Start upload file request.
4054
+ class StartUploadItemRequest
4055
+ include Google::Apis::Core::Hashable
4056
+
4057
+ # Name of connector making this call.
4058
+ # <br />Format: datasources/`source_id`/connectors/`ID`
4059
+ # Corresponds to the JSON property `connectorName`
4060
+ # @return [String]
4061
+ attr_accessor :connector_name
4062
+
4063
+ # Shared request debug options for all cloudsearch RPC methods.
4064
+ # Corresponds to the JSON property `debugOptions`
4065
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
4066
+ attr_accessor :debug_options
4067
+
4068
+ def initialize(**args)
4069
+ update!(**args)
4070
+ end
4071
+
4072
+ # Update properties of this object
4073
+ def update!(**args)
4074
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
4075
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
4076
+ end
4077
+ end
4078
+
4079
+ # The `Status` type defines a logical error model that is suitable for different
4080
+ # programming environments, including REST APIs and RPC APIs. It is used by
4081
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
4082
+ # - Simple to use and understand for most users
4083
+ # - Flexible enough to meet unexpected needs
4084
+ # # Overview
4085
+ # The `Status` message contains three pieces of data: error code, error message,
4086
+ # and error details. The error code should be an enum value of
4087
+ # google.rpc.Code, but it may accept additional error codes if needed. The
4088
+ # error message should be a developer-facing English message that helps
4089
+ # developers *understand* and *resolve* the error. If a localized user-facing
4090
+ # error message is needed, put the localized message in the error details or
4091
+ # localize it in the client. The optional error details may contain arbitrary
4092
+ # information about the error. There is a predefined set of error detail types
4093
+ # in the package `google.rpc` that can be used for common error conditions.
4094
+ # # Language mapping
4095
+ # The `Status` message is the logical representation of the error model, but it
4096
+ # is not necessarily the actual wire format. When the `Status` message is
4097
+ # exposed in different client libraries and different wire protocols, it can be
4098
+ # mapped differently. For example, it will likely be mapped to some exceptions
4099
+ # in Java, but more likely mapped to some error codes in C.
4100
+ # # Other uses
4101
+ # The error model and the `Status` message can be used in a variety of
4102
+ # environments, either with or without APIs, to provide a
4103
+ # consistent developer experience across different environments.
4104
+ # Example uses of this error model include:
4105
+ # - Partial errors. If a service needs to return partial errors to the client,
4106
+ # it may embed the `Status` in the normal response to indicate the partial
4107
+ # errors.
4108
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
4109
+ # have a `Status` message for error reporting.
4110
+ # - Batch operations. If a client uses batch request and batch response, the
4111
+ # `Status` message should be used directly inside batch response, one for
4112
+ # each error sub-response.
4113
+ # - Asynchronous operations. If an API call embeds asynchronous operation
4114
+ # results in its response, the status of those operations should be
4115
+ # represented directly using the `Status` message.
4116
+ # - Logging. If some API errors are stored in logs, the message `Status` could
4117
+ # be used directly after any stripping needed for security/privacy reasons.
4118
+ class Status
4119
+ include Google::Apis::Core::Hashable
4120
+
4121
+ # The status code, which should be an enum value of google.rpc.Code.
4122
+ # Corresponds to the JSON property `code`
4123
+ # @return [Fixnum]
4124
+ attr_accessor :code
4125
+
4126
+ # A list of messages that carry the error details. There is a common set of
4127
+ # message types for APIs to use.
4128
+ # Corresponds to the JSON property `details`
4129
+ # @return [Array<Hash<String,Object>>]
4130
+ attr_accessor :details
4131
+
4132
+ # A developer-facing error message, which should be in English. Any
4133
+ # user-facing error message should be localized and sent in the
4134
+ # google.rpc.Status.details field, or localized by the client.
4135
+ # Corresponds to the JSON property `message`
4136
+ # @return [String]
4137
+ attr_accessor :message
4138
+
4139
+ def initialize(**args)
4140
+ update!(**args)
4141
+ end
4142
+
4143
+ # Update properties of this object
4144
+ def update!(**args)
4145
+ @code = args[:code] if args.key?(:code)
4146
+ @details = args[:details] if args.key?(:details)
4147
+ @message = args[:message] if args.key?(:message)
4148
+ end
4149
+ end
4150
+
4151
+ # A structured data object consisting of named properties.
4152
+ class StructuredDataObject
4153
+ include Google::Apis::Core::Hashable
4154
+
4155
+ # The properties for the object.
4156
+ # The maximum number of elements is 1000.
4157
+ # Corresponds to the JSON property `properties`
4158
+ # @return [Array<Google::Apis::CloudsearchV1::NamedProperty>]
4159
+ attr_accessor :properties
4160
+
4161
+ def initialize(**args)
4162
+ update!(**args)
4163
+ end
4164
+
4165
+ # Update properties of this object
4166
+ def update!(**args)
4167
+ @properties = args[:properties] if args.key?(:properties)
4168
+ end
4169
+ end
4170
+
4171
+ # Structured results that are returned as part of search request.
4172
+ class StructuredResult
4173
+ include Google::Apis::Core::Hashable
4174
+
4175
+ # Object to represent a person.
4176
+ # Corresponds to the JSON property `person`
4177
+ # @return [Google::Apis::CloudsearchV1::Person]
4178
+ attr_accessor :person
4179
+
4180
+ def initialize(**args)
4181
+ update!(**args)
4182
+ end
4183
+
4184
+ # Update properties of this object
4185
+ def update!(**args)
4186
+ @person = args[:person] if args.key?(:person)
4187
+ end
4188
+ end
4189
+
4190
+ # Request of suggest API.
4191
+ class SuggestRequest
4192
+ include Google::Apis::Core::Hashable
4193
+
4194
+ # The sources to use for suggestions. If not specified, all data sources
4195
+ # from the current search application are used.
4196
+ # Corresponds to the JSON property `dataSourceRestrictions`
4197
+ # @return [Array<Google::Apis::CloudsearchV1::DataSourceRestriction>]
4198
+ attr_accessor :data_source_restrictions
4199
+
4200
+ # Partial query for the completion suggestion.
4201
+ # Corresponds to the JSON property `query`
4202
+ # @return [String]
4203
+ attr_accessor :query
4204
+
4205
+ # Shared request options for all RPC methods.
4206
+ # Corresponds to the JSON property `requestOptions`
4207
+ # @return [Google::Apis::CloudsearchV1::RequestOptions]
4208
+ attr_accessor :request_options
4209
+
4210
+ def initialize(**args)
4211
+ update!(**args)
4212
+ end
4213
+
4214
+ # Update properties of this object
4215
+ def update!(**args)
4216
+ @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions)
4217
+ @query = args[:query] if args.key?(:query)
4218
+ @request_options = args[:request_options] if args.key?(:request_options)
4219
+ end
4220
+ end
4221
+
4222
+ # Response of the suggest API.
4223
+ class SuggestResponse
4224
+ include Google::Apis::Core::Hashable
4225
+
4226
+ # List of suggestion results.
4227
+ # Corresponds to the JSON property `suggestResults`
4228
+ # @return [Array<Google::Apis::CloudsearchV1::SuggestResult>]
4229
+ attr_accessor :suggest_results
4230
+
4231
+ def initialize(**args)
4232
+ update!(**args)
4233
+ end
4234
+
4235
+ # Update properties of this object
4236
+ def update!(**args)
4237
+ @suggest_results = args[:suggest_results] if args.key?(:suggest_results)
4238
+ end
4239
+ end
4240
+
4241
+ # One suggestion result.
4242
+ class SuggestResult
4243
+ include Google::Apis::Core::Hashable
4244
+
4245
+ # A people suggestion.
4246
+ # Corresponds to the JSON property `peopleSuggestion`
4247
+ # @return [Google::Apis::CloudsearchV1::PeopleSuggestion]
4248
+ attr_accessor :people_suggestion
4249
+
4250
+ # A completed query suggestion.
4251
+ # Corresponds to the JSON property `querySuggestion`
4252
+ # @return [Google::Apis::CloudsearchV1::QuerySuggestion]
4253
+ attr_accessor :query_suggestion
4254
+
4255
+ # Defines sources for the suggest/search APIs.
4256
+ # Corresponds to the JSON property `source`
4257
+ # @return [Google::Apis::CloudsearchV1::Source]
4258
+ attr_accessor :source
4259
+
4260
+ # The suggested query that will be used for search, when the user
4261
+ # clicks on the suggestion
4262
+ # Corresponds to the JSON property `suggestedQuery`
4263
+ # @return [String]
4264
+ attr_accessor :suggested_query
4265
+
4266
+ def initialize(**args)
4267
+ update!(**args)
4268
+ end
4269
+
4270
+ # Update properties of this object
4271
+ def update!(**args)
4272
+ @people_suggestion = args[:people_suggestion] if args.key?(:people_suggestion)
4273
+ @query_suggestion = args[:query_suggestion] if args.key?(:query_suggestion)
4274
+ @source = args[:source] if args.key?(:source)
4275
+ @suggested_query = args[:suggested_query] if args.key?(:suggested_query)
4276
+ end
4277
+ end
4278
+
4279
+ # Used to provide a search operator for text properties. This is optional.
4280
+ # Search operators let users restrict the query to specific fields relevant
4281
+ # to the type of item being searched.
4282
+ class TextOperatorOptions
4283
+ include Google::Apis::Core::Hashable
4284
+
4285
+ # If true, the text value will be tokenized as one atomic value in
4286
+ # operator searches and facet matches. For example, if the operator name is
4287
+ # "genre" and the value is "science-fiction" the query restrictions
4288
+ # "genre:science" and "genre:fiction" will not match the item;
4289
+ # "genre:science-fiction" will. Value matching is case-sensitive
4290
+ # and does not remove special characters.
4291
+ # If false, the text will be tokenized. For example, if the value is
4292
+ # "science-fiction" the queries "genre:science" and "genre:fiction" will
4293
+ # match the item.
4294
+ # Corresponds to the JSON property `exactMatchWithOperator`
4295
+ # @return [Boolean]
4296
+ attr_accessor :exact_match_with_operator
4297
+ alias_method :exact_match_with_operator?, :exact_match_with_operator
4298
+
4299
+ # Indicates the operator name required in the query in order to isolate the
4300
+ # text property. For example, if operatorName is *subject* and the
4301
+ # property's name is *subjectLine*, then queries like
4302
+ # *subject:&lt;value&gt;* will show results only where the value of the
4303
+ # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
4304
+ # search that uses the same *&lt;value&gt;* without an operator will return
4305
+ # all items where *&lt;value&gt;* matches the value of any
4306
+ # text properties or text within the content field for the item.
4307
+ # The operator name can only contain lowercase letters (a-z).
4308
+ # The maximum length is 32 characters.
4309
+ # Corresponds to the JSON property `operatorName`
4310
+ # @return [String]
4311
+ attr_accessor :operator_name
4312
+
4313
+ def initialize(**args)
4314
+ update!(**args)
4315
+ end
4316
+
4317
+ # Update properties of this object
4318
+ def update!(**args)
4319
+ @exact_match_with_operator = args[:exact_match_with_operator] if args.key?(:exact_match_with_operator)
4320
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
4321
+ end
4322
+ end
4323
+
4324
+ # Options for text properties.
4325
+ class TextPropertyOptions
4326
+ include Google::Apis::Core::Hashable
4327
+
4328
+ # Used to provide a search operator for text properties. This is optional.
4329
+ # Search operators let users restrict the query to specific fields relevant
4330
+ # to the type of item being searched.
4331
+ # Corresponds to the JSON property `operatorOptions`
4332
+ # @return [Google::Apis::CloudsearchV1::TextOperatorOptions]
4333
+ attr_accessor :operator_options
4334
+
4335
+ # Indicates the search quality importance of the tokens within the
4336
+ # field when used for retrieval.
4337
+ # Corresponds to the JSON property `retrievalImportance`
4338
+ # @return [Google::Apis::CloudsearchV1::RetrievalImportance]
4339
+ attr_accessor :retrieval_importance
4340
+
4341
+ def initialize(**args)
4342
+ update!(**args)
4343
+ end
4344
+
4345
+ # Update properties of this object
4346
+ def update!(**args)
4347
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
4348
+ @retrieval_importance = args[:retrieval_importance] if args.key?(:retrieval_importance)
4349
+ end
4350
+ end
4351
+
4352
+ # List of text values.
4353
+ class TextValues
4354
+ include Google::Apis::Core::Hashable
4355
+
4356
+ # The maximum allowable length for text values is 2048 characters.
4357
+ # The maximum number of string elements is 100.
4358
+ # Corresponds to the JSON property `values`
4359
+ # @return [Array<String>]
4360
+ attr_accessor :values
4361
+
4362
+ def initialize(**args)
4363
+ update!(**args)
4364
+ end
4365
+
4366
+ # Update properties of this object
4367
+ def update!(**args)
4368
+ @values = args[:values] if args.key?(:values)
4369
+ end
4370
+ end
4371
+
4372
+ # Used to provide a search operator for timestamp properties. This is
4373
+ # optional. Search operators let users restrict the query to specific fields
4374
+ # relevant to the type of item being searched.
4375
+ class TimestampOperatorOptions
4376
+ include Google::Apis::Core::Hashable
4377
+
4378
+ # Indicates the operator name required in the query in order to isolate the
4379
+ # timestamp property using the greater-than operator. For example, if
4380
+ # greaterThanOperatorName is *closedafter* and the property's name is
4381
+ # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
4382
+ # show results only where the value of the property named *closeDate* is
4383
+ # later than *&lt;value&gt;*.
4384
+ # The operator name can only contain lowercase letters (a-z).
4385
+ # The maximum length is 32 characters.
4386
+ # Corresponds to the JSON property `greaterThanOperatorName`
4387
+ # @return [String]
4388
+ attr_accessor :greater_than_operator_name
4389
+
4390
+ # Indicates the operator name required in the query in order to isolate the
4391
+ # timestamp property using the less-than operator. For example, if
4392
+ # lessThanOperatorName is *closedbefore* and the property's name is
4393
+ # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
4394
+ # show results only where the value of the property named *closeDate* is
4395
+ # earlier than *&lt;value&gt;*.
4396
+ # The operator name can only contain lowercase letters (a-z).
4397
+ # The maximum length is 32 characters.
4398
+ # Corresponds to the JSON property `lessThanOperatorName`
4399
+ # @return [String]
4400
+ attr_accessor :less_than_operator_name
4401
+
4402
+ # Indicates the operator name required in the query in order to isolate the
4403
+ # timestamp property. For example, if operatorName is *closedon* and the
4404
+ # property's name is *closeDate*, then queries like
4405
+ # *closedon:&lt;value&gt;* will show results only where the value of the
4406
+ # property named *closeDate* matches *&lt;value&gt;*. By contrast, a
4407
+ # search that uses the same *&lt;value&gt;* without an operator will return
4408
+ # all items where *&lt;value&gt;* matches the value of any String
4409
+ # properties or text within the content field for the item. The operator
4410
+ # name can only contain lowercase letters (a-z). The maximum length is 32
4411
+ # characters.
4412
+ # Corresponds to the JSON property `operatorName`
4413
+ # @return [String]
4414
+ attr_accessor :operator_name
4415
+
4416
+ def initialize(**args)
4417
+ update!(**args)
4418
+ end
4419
+
4420
+ # Update properties of this object
4421
+ def update!(**args)
4422
+ @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name)
4423
+ @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name)
4424
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
4425
+ end
4426
+ end
4427
+
4428
+ # Options for timestamp properties.
4429
+ class TimestampPropertyOptions
4430
+ include Google::Apis::Core::Hashable
4431
+
4432
+ # Used to provide a search operator for timestamp properties. This is
4433
+ # optional. Search operators let users restrict the query to specific fields
4434
+ # relevant to the type of item being searched.
4435
+ # Corresponds to the JSON property `operatorOptions`
4436
+ # @return [Google::Apis::CloudsearchV1::TimestampOperatorOptions]
4437
+ attr_accessor :operator_options
4438
+
4439
+ def initialize(**args)
4440
+ update!(**args)
4441
+ end
4442
+
4443
+ # Update properties of this object
4444
+ def update!(**args)
4445
+ @operator_options = args[:operator_options] if args.key?(:operator_options)
4446
+ end
4447
+ end
4448
+
4449
+ # List of timestamp values.
4450
+ class TimestampValues
4451
+ include Google::Apis::Core::Hashable
4452
+
4453
+ # The maximum number of elements is 100.
4454
+ # Corresponds to the JSON property `values`
4455
+ # @return [Array<String>]
4456
+ attr_accessor :values
4457
+
4458
+ def initialize(**args)
4459
+ update!(**args)
4460
+ end
4461
+
4462
+ # Update properties of this object
4463
+ def update!(**args)
4464
+ @values = args[:values] if args.key?(:values)
4465
+ end
4466
+ end
4467
+
4468
+ #
4469
+ class UnmappedIdentity
4470
+ include Google::Apis::Core::Hashable
4471
+
4472
+ # Reference to a user, group, or domain.
4473
+ # Corresponds to the JSON property `externalIdentity`
4474
+ # @return [Google::Apis::CloudsearchV1::Principal]
4475
+ attr_accessor :external_identity
4476
+
4477
+ # The resolution status for the external identity.
4478
+ # Corresponds to the JSON property `resolutionStatusCode`
4479
+ # @return [String]
4480
+ attr_accessor :resolution_status_code
4481
+
4482
+ def initialize(**args)
4483
+ update!(**args)
4484
+ end
4485
+
4486
+ # Update properties of this object
4487
+ def update!(**args)
4488
+ @external_identity = args[:external_identity] if args.key?(:external_identity)
4489
+ @resolution_status_code = args[:resolution_status_code] if args.key?(:resolution_status_code)
4490
+ end
4491
+ end
4492
+
4493
+ #
4494
+ class UnreserveItemsRequest
4495
+ include Google::Apis::Core::Hashable
4496
+
4497
+ # Name of connector making this call.
4498
+ # <br />Format: datasources/`source_id`/connectors/`ID`
4499
+ # Corresponds to the JSON property `connectorName`
4500
+ # @return [String]
4501
+ attr_accessor :connector_name
4502
+
4503
+ # Shared request debug options for all cloudsearch RPC methods.
4504
+ # Corresponds to the JSON property `debugOptions`
4505
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
4506
+ attr_accessor :debug_options
4507
+
4508
+ # Name of a queue to unreserve items from.
4509
+ # Corresponds to the JSON property `queue`
4510
+ # @return [String]
4511
+ attr_accessor :queue
4512
+
4513
+ def initialize(**args)
4514
+ update!(**args)
4515
+ end
4516
+
4517
+ # Update properties of this object
4518
+ def update!(**args)
4519
+ @connector_name = args[:connector_name] if args.key?(:connector_name)
4520
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
4521
+ @queue = args[:queue] if args.key?(:queue)
4522
+ end
4523
+ end
4524
+
4525
+ #
4526
+ class UpdateDataSourceRequest
4527
+ include Google::Apis::Core::Hashable
4528
+
4529
+ # Shared request debug options for all cloudsearch RPC methods.
4530
+ # Corresponds to the JSON property `debugOptions`
4531
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
4532
+ attr_accessor :debug_options
4533
+
4534
+ # Data source is a logical namespace for items to be indexed.
4535
+ # All items must belong to a data source. This is the prerequisite before
4536
+ # items can be indexed into Cloud Search.
4537
+ # Corresponds to the JSON property `source`
4538
+ # @return [Google::Apis::CloudsearchV1::DataSource]
4539
+ attr_accessor :source
4540
+
4541
+ def initialize(**args)
4542
+ update!(**args)
4543
+ end
4544
+
4545
+ # Update properties of this object
4546
+ def update!(**args)
4547
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
4548
+ @source = args[:source] if args.key?(:source)
4549
+ end
4550
+ end
4551
+
4552
+ #
4553
+ class UpdateSchemaRequest
4554
+ include Google::Apis::Core::Hashable
4555
+
4556
+ # Shared request debug options for all cloudsearch RPC methods.
4557
+ # Corresponds to the JSON property `debugOptions`
4558
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
4559
+ attr_accessor :debug_options
4560
+
4561
+ # The schema definition for a data source.
4562
+ # Corresponds to the JSON property `schema`
4563
+ # @return [Google::Apis::CloudsearchV1::Schema]
4564
+ attr_accessor :schema
4565
+
4566
+ # If true, the request will be validated without side effects.
4567
+ # Corresponds to the JSON property `validateOnly`
4568
+ # @return [Boolean]
4569
+ attr_accessor :validate_only
4570
+ alias_method :validate_only?, :validate_only
4571
+
4572
+ def initialize(**args)
4573
+ update!(**args)
4574
+ end
4575
+
4576
+ # Update properties of this object
4577
+ def update!(**args)
4578
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
4579
+ @schema = args[:schema] if args.key?(:schema)
4580
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
4581
+ end
4582
+ end
4583
+
4584
+ # Represents an upload session reference.
4585
+ # This reference is created via upload
4586
+ # method.
4587
+ # Updating of item content may refer to this uploaded content via
4588
+ # contentDataRef.
4589
+ class UploadItemRef
4590
+ include Google::Apis::Core::Hashable
4591
+
4592
+ # Name of the content reference.
4593
+ # The maximum length is 2048 characters.
4594
+ # Corresponds to the JSON property `name`
4595
+ # @return [String]
4596
+ attr_accessor :name
4597
+
4598
+ def initialize(**args)
4599
+ update!(**args)
4600
+ end
4601
+
4602
+ # Update properties of this object
4603
+ def update!(**args)
4604
+ @name = args[:name] if args.key?(:name)
4605
+ end
4606
+ end
4607
+
4608
+ # Definition of a single value with generic type.
4609
+ class Value
4610
+ include Google::Apis::Core::Hashable
4611
+
4612
+ #
4613
+ # Corresponds to the JSON property `booleanValue`
4614
+ # @return [Boolean]
4615
+ attr_accessor :boolean_value
4616
+ alias_method :boolean_value?, :boolean_value
4617
+
4618
+ # Represents a whole calendar date, for example a date of birth. The time of day
4619
+ # and time zone are either specified elsewhere or are not significant. The date
4620
+ # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/
4621
+ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date
4622
+ # between the year 1 and 9999.
4623
+ # Corresponds to the JSON property `dateValue`
4624
+ # @return [Google::Apis::CloudsearchV1::Date]
4625
+ attr_accessor :date_value
4626
+
4627
+ #
4628
+ # Corresponds to the JSON property `doubleValue`
4629
+ # @return [Float]
4630
+ attr_accessor :double_value
4631
+
4632
+ #
4633
+ # Corresponds to the JSON property `integerValue`
4634
+ # @return [Fixnum]
4635
+ attr_accessor :integer_value
4636
+
4637
+ #
4638
+ # Corresponds to the JSON property `stringValue`
4639
+ # @return [String]
4640
+ attr_accessor :string_value
4641
+
4642
+ #
4643
+ # Corresponds to the JSON property `timestampValue`
4644
+ # @return [String]
4645
+ attr_accessor :timestamp_value
4646
+
4647
+ def initialize(**args)
4648
+ update!(**args)
4649
+ end
4650
+
4651
+ # Update properties of this object
4652
+ def update!(**args)
4653
+ @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
4654
+ @date_value = args[:date_value] if args.key?(:date_value)
4655
+ @double_value = args[:double_value] if args.key?(:double_value)
4656
+ @integer_value = args[:integer_value] if args.key?(:integer_value)
4657
+ @string_value = args[:string_value] if args.key?(:string_value)
4658
+ @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
4659
+ end
4660
+ end
4661
+
4662
+ #
4663
+ class ValueFilter
4664
+ include Google::Apis::Core::Hashable
4665
+
4666
+ # The `operator_name` applied to the query, such as *price_greater_than*.
4667
+ # The filter can work against both types of filters defined in the schema
4668
+ # for your data source:
4669
+ # <br/><br/>
4670
+ # 1. `operator_name`, where the query filters results by the property
4671
+ # that matches the value.
4672
+ # <br/>
4673
+ # 2. `greater_than_operator_name` or `less_than_operator_name` in your
4674
+ # schema. The query filters the results for the property values that are
4675
+ # greater than or less than the supplied value in the query.
4676
+ # Corresponds to the JSON property `operatorName`
4677
+ # @return [String]
4678
+ attr_accessor :operator_name
4679
+
4680
+ # Definition of a single value with generic type.
4681
+ # Corresponds to the JSON property `value`
4682
+ # @return [Google::Apis::CloudsearchV1::Value]
4683
+ attr_accessor :value
4684
+
4685
+ def initialize(**args)
4686
+ update!(**args)
4687
+ end
4688
+
4689
+ # Update properties of this object
4690
+ def update!(**args)
4691
+ @operator_name = args[:operator_name] if args.key?(:operator_name)
4692
+ @value = args[:value] if args.key?(:value)
4693
+ end
4694
+ end
4695
+ end
4696
+ end
4697
+ end