google-api-client 0.24.3 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
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