google-api-client 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/api_names.yaml +945 -41609
  4. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +12 -12
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +2 -2
  6. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1437 -412
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +516 -71
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +1098 -422
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +6 -6
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +3 -3
  12. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +3 -3
  13. data/generated/google/apis/adexchangeseller_v2_0/service.rb +10 -10
  14. data/generated/google/apis/admin_directory_v1/service.rb +26 -26
  15. data/generated/google/apis/adsense_v1_4.rb +1 -1
  16. data/generated/google/apis/adsense_v1_4/classes.rb +2 -2
  17. data/generated/google/apis/adsense_v1_4/representations.rb +3 -3
  18. data/generated/google/apis/adsense_v1_4/service.rb +44 -44
  19. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  20. data/generated/google/apis/adsensehost_v4_1/service.rb +22 -22
  21. data/generated/google/apis/analytics_v3/classes.rb +3 -3
  22. data/generated/google/apis/analytics_v3/representations.rb +3 -3
  23. data/generated/google/apis/analytics_v3/service.rb +82 -82
  24. data/generated/google/apis/analyticsreporting_v4/classes.rb +937 -937
  25. data/generated/google/apis/analyticsreporting_v4/representations.rb +128 -128
  26. data/generated/google/apis/analyticsreporting_v4/service.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  28. data/generated/google/apis/androidenterprise_v1/classes.rb +10 -10
  29. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -20
  30. data/generated/google/apis/androidenterprise_v1/service.rb +43 -43
  31. data/generated/google/apis/androidpublisher_v2/classes.rb +26 -26
  32. data/generated/google/apis/androidpublisher_v2/representations.rb +46 -46
  33. data/generated/google/apis/androidpublisher_v2/service.rb +95 -95
  34. data/generated/google/apis/appengine_v1.rb +4 -4
  35. data/generated/google/apis/appengine_v1/classes.rb +1570 -1512
  36. data/generated/google/apis/appengine_v1/representations.rb +362 -343
  37. data/generated/google/apis/appengine_v1/service.rb +220 -220
  38. data/generated/google/apis/appstate_v1.rb +1 -1
  39. data/generated/google/apis/bigquery_v2.rb +1 -1
  40. data/generated/google/apis/bigquery_v2/classes.rb +5 -5
  41. data/generated/google/apis/bigquery_v2/representations.rb +8 -8
  42. data/generated/google/apis/bigquery_v2/service.rb +13 -13
  43. data/generated/google/apis/blogger_v3/service.rb +3 -3
  44. data/generated/google/apis/books_v1/classes.rb +55 -55
  45. data/generated/google/apis/books_v1/representations.rb +67 -67
  46. data/generated/google/apis/books_v1/service.rb +82 -82
  47. data/generated/google/apis/calendar_v3.rb +1 -1
  48. data/generated/google/apis/calendar_v3/classes.rb +6 -6
  49. data/generated/google/apis/calendar_v3/representations.rb +3 -3
  50. data/generated/google/apis/calendar_v3/service.rb +2 -2
  51. data/generated/google/apis/civicinfo_v2/classes.rb +2 -2
  52. data/generated/google/apis/civicinfo_v2/representations.rb +4 -4
  53. data/generated/google/apis/civicinfo_v2/service.rb +12 -12
  54. data/generated/google/apis/classroom_v1.rb +7 -7
  55. data/generated/google/apis/classroom_v1/classes.rb +1013 -991
  56. data/generated/google/apis/classroom_v1/representations.rb +207 -204
  57. data/generated/google/apis/classroom_v1/service.rb +709 -709
  58. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  59. data/generated/google/apis/cloudbuild_v1/classes.rb +307 -307
  60. data/generated/google/apis/cloudbuild_v1/representations.rb +84 -84
  61. data/generated/google/apis/cloudbuild_v1/service.rb +125 -125
  62. data/generated/google/apis/clouddebugger_v2/classes.rb +673 -673
  63. data/generated/google/apis/clouddebugger_v2/representations.rb +152 -152
  64. data/generated/google/apis/clouddebugger_v2/service.rb +55 -55
  65. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  66. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +121 -121
  67. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +25 -25
  68. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +74 -74
  69. data/generated/google/apis/cloudkms_v1.rb +1 -1
  70. data/generated/google/apis/cloudkms_v1/classes.rb +668 -613
  71. data/generated/google/apis/cloudkms_v1/representations.rb +151 -133
  72. data/generated/google/apis/cloudkms_v1/service.rb +267 -267
  73. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  74. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1167 -1168
  75. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +193 -193
  76. data/generated/google/apis/cloudresourcemanager_v1/service.rb +470 -469
  77. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +508 -509
  79. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +94 -94
  80. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +157 -156
  81. data/generated/google/apis/cloudtrace_v1/service.rb +34 -34
  82. data/generated/google/apis/compute_beta.rb +1 -1
  83. data/generated/google/apis/compute_beta/classes.rb +163 -15
  84. data/generated/google/apis/compute_beta/representations.rb +54 -14
  85. data/generated/google/apis/compute_beta/service.rb +2258 -482
  86. data/generated/google/apis/compute_v1.rb +1 -1
  87. data/generated/google/apis/compute_v1/classes.rb +465 -13
  88. data/generated/google/apis/compute_v1/representations.rb +202 -16
  89. data/generated/google/apis/compute_v1/service.rb +573 -309
  90. data/generated/google/apis/container_v1.rb +1 -1
  91. data/generated/google/apis/container_v1/classes.rb +635 -589
  92. data/generated/google/apis/container_v1/representations.rb +139 -111
  93. data/generated/google/apis/container_v1/service.rb +272 -227
  94. data/generated/google/apis/content_v2.rb +1 -1
  95. data/generated/google/apis/content_v2/classes.rb +86 -74
  96. data/generated/google/apis/content_v2/representations.rb +107 -105
  97. data/generated/google/apis/content_v2/service.rb +131 -130
  98. data/generated/google/apis/customsearch_v1.rb +2 -2
  99. data/generated/google/apis/customsearch_v1/classes.rb +0 -6
  100. data/generated/google/apis/customsearch_v1/representations.rb +0 -1
  101. data/generated/google/apis/customsearch_v1/service.rb +2 -5
  102. data/generated/google/apis/dataflow_v1b3.rb +7 -4
  103. data/generated/google/apis/dataflow_v1b3/classes.rb +3405 -3405
  104. data/generated/google/apis/dataflow_v1b3/representations.rb +834 -834
  105. data/generated/google/apis/dataflow_v1b3/service.rb +244 -244
  106. data/generated/google/apis/dataproc_v1.rb +1 -1
  107. data/generated/google/apis/dataproc_v1/classes.rb +543 -691
  108. data/generated/google/apis/dataproc_v1/representations.rb +129 -185
  109. data/generated/google/apis/dataproc_v1/service.rb +347 -347
  110. data/generated/google/apis/datastore_v1.rb +4 -4
  111. data/generated/google/apis/datastore_v1/classes.rb +833 -833
  112. data/generated/google/apis/datastore_v1/representations.rb +182 -182
  113. data/generated/google/apis/datastore_v1/service.rb +45 -45
  114. data/generated/google/apis/deploymentmanager_v2/classes.rb +5 -5
  115. data/generated/google/apis/deploymentmanager_v2/representations.rb +10 -10
  116. data/generated/google/apis/deploymentmanager_v2/service.rb +20 -20
  117. data/generated/google/apis/discovery_v1/classes.rb +4 -4
  118. data/generated/google/apis/discovery_v1/representations.rb +2 -2
  119. data/generated/google/apis/discovery_v1/service.rb +1 -1
  120. data/generated/google/apis/dns_v1.rb +1 -1
  121. data/generated/google/apis/dns_v1/classes.rb +3 -3
  122. data/generated/google/apis/dns_v1/representations.rb +6 -6
  123. data/generated/google/apis/dns_v1/service.rb +12 -12
  124. data/generated/google/apis/dns_v2beta1.rb +1 -1
  125. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -8
  126. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  127. data/generated/google/apis/drive_v2.rb +1 -1
  128. data/generated/google/apis/drive_v2/classes.rb +1 -1
  129. data/generated/google/apis/drive_v2/service.rb +1 -1
  130. data/generated/google/apis/drive_v3.rb +1 -1
  131. data/generated/google/apis/drive_v3/service.rb +1 -1
  132. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  133. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +160 -110
  134. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +60 -31
  135. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +38 -3
  136. data/generated/google/apis/firebaserules_v1/classes.rb +354 -354
  137. data/generated/google/apis/firebaserules_v1/representations.rb +87 -87
  138. data/generated/google/apis/firebaserules_v1/service.rb +103 -103
  139. data/generated/google/apis/fusiontables_v2/service.rb +2 -2
  140. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  141. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -2
  142. data/generated/google/apis/games_configuration_v1configuration/representations.rb +4 -4
  143. data/generated/google/apis/games_configuration_v1configuration/service.rb +8 -8
  144. data/generated/google/apis/games_management_v1management.rb +1 -1
  145. data/generated/google/apis/games_v1.rb +1 -1
  146. data/generated/google/apis/games_v1/classes.rb +23 -23
  147. data/generated/google/apis/games_v1/representations.rb +43 -43
  148. data/generated/google/apis/games_v1/service.rb +72 -72
  149. data/generated/google/apis/genomics_v1.rb +1 -1
  150. data/generated/google/apis/genomics_v1/classes.rb +2316 -2316
  151. data/generated/google/apis/genomics_v1/representations.rb +291 -291
  152. data/generated/google/apis/genomics_v1/service.rb +821 -821
  153. data/generated/google/apis/gmail_v1.rb +1 -1
  154. data/generated/google/apis/groupsmigration_v1.rb +1 -1
  155. data/generated/google/apis/groupssettings_v1.rb +1 -1
  156. data/generated/google/apis/groupssettings_v1/classes.rb +2 -2
  157. data/generated/google/apis/groupssettings_v1/service.rb +3 -0
  158. data/generated/google/apis/iam_v1/classes.rb +338 -338
  159. data/generated/google/apis/iam_v1/representations.rb +98 -98
  160. data/generated/google/apis/iam_v1/service.rb +35 -35
  161. data/generated/google/apis/identitytoolkit_v3/classes.rb +15 -15
  162. data/generated/google/apis/identitytoolkit_v3/representations.rb +30 -30
  163. data/generated/google/apis/identitytoolkit_v3/service.rb +64 -64
  164. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  165. data/generated/google/apis/language_v1.rb +1 -1
  166. data/generated/google/apis/language_v1/classes.rb +374 -374
  167. data/generated/google/apis/language_v1/representations.rb +97 -97
  168. data/generated/google/apis/language_v1/service.rb +16 -16
  169. data/generated/google/apis/language_v1beta1.rb +1 -1
  170. data/generated/google/apis/language_v1beta1/classes.rb +441 -441
  171. data/generated/google/apis/language_v1beta1/representations.rb +108 -108
  172. data/generated/google/apis/language_v1beta1/service.rb +30 -30
  173. data/generated/google/apis/licensing_v1/service.rb +2 -2
  174. data/generated/google/apis/logging_v2.rb +1 -1
  175. data/generated/google/apis/logging_v2/classes.rb +712 -712
  176. data/generated/google/apis/logging_v2/representations.rb +109 -109
  177. data/generated/google/apis/logging_v2/service.rb +543 -539
  178. data/generated/google/apis/logging_v2beta1.rb +1 -1
  179. data/generated/google/apis/logging_v2beta1/classes.rb +752 -752
  180. data/generated/google/apis/logging_v2beta1/representations.rb +94 -94
  181. data/generated/google/apis/logging_v2beta1/service.rb +257 -256
  182. data/generated/google/apis/manufacturers_v1/classes.rb +130 -130
  183. data/generated/google/apis/manufacturers_v1/representations.rb +28 -28
  184. data/generated/google/apis/mirror_v1/classes.rb +5 -5
  185. data/generated/google/apis/mirror_v1/representations.rb +10 -10
  186. data/generated/google/apis/mirror_v1/service.rb +20 -20
  187. data/generated/google/apis/ml_v1.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +1830 -1210
  189. data/generated/google/apis/ml_v1/representations.rb +342 -120
  190. data/generated/google/apis/ml_v1/service.rb +365 -258
  191. data/generated/google/apis/monitoring_v3.rb +4 -4
  192. data/generated/google/apis/monitoring_v3/classes.rb +889 -889
  193. data/generated/google/apis/monitoring_v3/representations.rb +174 -174
  194. data/generated/google/apis/monitoring_v3/service.rb +119 -119
  195. data/generated/google/apis/mybusiness_v3/service.rb +5 -5
  196. data/generated/google/apis/oauth2_v2/service.rb +1 -1
  197. data/generated/google/apis/pagespeedonline_v2/classes.rb +11 -11
  198. data/generated/google/apis/pagespeedonline_v2/representations.rb +13 -13
  199. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  200. data/generated/google/apis/partners_v2.rb +1 -1
  201. data/generated/google/apis/partners_v2/classes.rb +550 -536
  202. data/generated/google/apis/partners_v2/representations.rb +118 -116
  203. data/generated/google/apis/partners_v2/service.rb +439 -439
  204. data/generated/google/apis/people_v1.rb +4 -4
  205. data/generated/google/apis/people_v1/classes.rb +414 -413
  206. data/generated/google/apis/people_v1/representations.rb +85 -85
  207. data/generated/google/apis/people_v1/service.rb +111 -18
  208. data/generated/google/apis/plus_domains_v1.rb +1 -1
  209. data/generated/google/apis/plus_domains_v1/service.rb +4 -4
  210. data/generated/google/apis/plus_v1.rb +1 -1
  211. data/generated/google/apis/plus_v1/service.rb +1 -1
  212. data/generated/google/apis/prediction_v1_6/service.rb +8 -8
  213. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  214. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +443 -443
  215. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +92 -92
  216. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +152 -152
  217. data/generated/google/apis/pubsub_v1/classes.rb +249 -249
  218. data/generated/google/apis/pubsub_v1/representations.rb +80 -80
  219. data/generated/google/apis/pubsub_v1/service.rb +415 -415
  220. data/generated/google/apis/qpx_express_v1/classes.rb +2 -2
  221. data/generated/google/apis/qpx_express_v1/representations.rb +4 -4
  222. data/generated/google/apis/qpx_express_v1/service.rb +8 -8
  223. data/generated/google/apis/replicapool_v1beta2/classes.rb +5 -5
  224. data/generated/google/apis/replicapool_v1beta2/representations.rb +10 -10
  225. data/generated/google/apis/replicapool_v1beta2/service.rb +21 -21
  226. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +1 -1
  227. data/generated/google/apis/resourceviews_v1beta2/classes.rb +5 -5
  228. data/generated/google/apis/resourceviews_v1beta2/representations.rb +10 -10
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +20 -20
  230. data/generated/google/apis/runtimeconfig_v1.rb +4 -4
  231. data/generated/google/apis/runtimeconfig_v1/classes.rb +15 -15
  232. data/generated/google/apis/runtimeconfig_v1/representations.rb +2 -2
  233. data/generated/google/apis/runtimeconfig_v1/service.rb +4 -4
  234. data/generated/google/apis/script_v1.rb +17 -17
  235. data/generated/google/apis/script_v1/classes.rb +27 -27
  236. data/generated/google/apis/script_v1/representations.rb +5 -5
  237. data/generated/google/apis/script_v1/service.rb +4 -4
  238. data/generated/google/apis/searchconsole_v1.rb +1 -1
  239. data/generated/google/apis/searchconsole_v1/classes.rb +53 -53
  240. data/generated/google/apis/searchconsole_v1/representations.rb +23 -23
  241. data/generated/google/apis/searchconsole_v1/service.rb +4 -4
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicecontrol_v1/classes.rb +1175 -1175
  244. data/generated/google/apis/servicecontrol_v1/representations.rb +206 -206
  245. data/generated/google/apis/servicecontrol_v1/service.rb +116 -116
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/servicemanagement_v1/classes.rb +1186 -1125
  248. data/generated/google/apis/servicemanagement_v1/representations.rb +241 -223
  249. data/generated/google/apis/servicemanagement_v1/service.rb +201 -201
  250. data/generated/google/apis/serviceuser_v1.rb +1 -1
  251. data/generated/google/apis/serviceuser_v1/classes.rb +2645 -2641
  252. data/generated/google/apis/serviceuser_v1/representations.rb +234 -234
  253. data/generated/google/apis/serviceuser_v1/service.rb +37 -37
  254. data/generated/google/apis/sheets_v4.rb +1 -1
  255. data/generated/google/apis/sheets_v4/classes.rb +5042 -4111
  256. data/generated/google/apis/sheets_v4/representations.rb +994 -824
  257. data/generated/google/apis/sheets_v4/service.rb +80 -80
  258. data/generated/google/apis/site_verification_v1/classes.rb +6 -6
  259. data/generated/google/apis/site_verification_v1/representations.rb +8 -8
  260. data/generated/google/apis/site_verification_v1/service.rb +12 -12
  261. data/generated/google/apis/slides_v1.rb +1 -1
  262. data/generated/google/apis/slides_v1/classes.rb +2885 -2885
  263. data/generated/google/apis/slides_v1/representations.rb +310 -310
  264. data/generated/google/apis/slides_v1/service.rb +54 -54
  265. data/generated/google/apis/sourcerepo_v1/classes.rb +206 -206
  266. data/generated/google/apis/sourcerepo_v1/representations.rb +52 -52
  267. data/generated/google/apis/sourcerepo_v1/service.rb +5 -5
  268. data/generated/google/apis/spanner_v1.rb +1 -1
  269. data/generated/google/apis/spanner_v1/classes.rb +2142 -2141
  270. data/generated/google/apis/spanner_v1/representations.rb +174 -174
  271. data/generated/google/apis/spanner_v1/service.rb +497 -497
  272. data/generated/google/apis/speech_v1beta1.rb +1 -1
  273. data/generated/google/apis/speech_v1beta1/classes.rb +227 -227
  274. data/generated/google/apis/speech_v1beta1/representations.rb +50 -50
  275. data/generated/google/apis/speech_v1beta1/service.rb +33 -33
  276. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  277. data/generated/google/apis/sqladmin_v1beta4/classes.rb +21 -21
  278. data/generated/google/apis/sqladmin_v1beta4/representations.rb +29 -29
  279. data/generated/google/apis/sqladmin_v1beta4/service.rb +56 -56
  280. data/generated/google/apis/storage_v1.rb +1 -1
  281. data/generated/google/apis/storage_v1/classes.rb +40 -6
  282. data/generated/google/apis/storage_v1/representations.rb +20 -4
  283. data/generated/google/apis/storage_v1/service.rb +61 -46
  284. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  285. data/generated/google/apis/storagetransfer_v1/classes.rb +184 -184
  286. data/generated/google/apis/storagetransfer_v1/representations.rb +35 -35
  287. data/generated/google/apis/storagetransfer_v1/service.rb +70 -70
  288. data/generated/google/apis/tagmanager_v1/service.rb +33 -33
  289. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  290. data/generated/google/apis/translate_v2/classes.rb +12 -12
  291. data/generated/google/apis/translate_v2/representations.rb +10 -10
  292. data/generated/google/apis/translate_v2/service.rb +62 -62
  293. data/generated/google/apis/vision_v1.rb +1 -1
  294. data/generated/google/apis/vision_v1/classes.rb +1267 -1267
  295. data/generated/google/apis/vision_v1/representations.rb +200 -200
  296. data/generated/google/apis/vision_v1/service.rb +10 -10
  297. data/generated/google/apis/webmasters_v3.rb +1 -1
  298. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  299. data/generated/google/apis/webmasters_v3/representations.rb +8 -8
  300. data/generated/google/apis/webmasters_v3/service.rb +21 -21
  301. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  302. data/generated/google/apis/youtube_analytics_v1/classes.rb +2 -2
  303. data/generated/google/apis/youtube_analytics_v1/representations.rb +4 -4
  304. data/generated/google/apis/youtube_analytics_v1/service.rb +8 -8
  305. data/generated/google/apis/youtube_v3/classes.rb +20 -20
  306. data/generated/google/apis/youtube_v3/representations.rb +40 -40
  307. data/generated/google/apis/youtube_v3/service.rb +80 -80
  308. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  309. data/generated/google/apis/youtubereporting_v1/classes.rb +129 -129
  310. data/generated/google/apis/youtubereporting_v1/representations.rb +38 -38
  311. data/generated/google/apis/youtubereporting_v1/service.rb +97 -97
  312. data/lib/google/apis/generator/annotator.rb +2 -2
  313. data/lib/google/apis/generator/model.rb +2 -2
  314. data/lib/google/apis/version.rb +1 -1
  315. metadata +2 -2
@@ -26,13 +26,13 @@ module Google
26
26
  # @see https://cloud.google.com/datastore/
27
27
  module DatastoreV1
28
28
  VERSION = 'V1'
29
- REVISION = '20170523'
30
-
31
- # View and manage your Google Cloud Datastore data
32
- AUTH_DATASTORE = 'https://www.googleapis.com/auth/datastore'
29
+ REVISION = '20170606'
33
30
 
34
31
  # View and manage your data across Google Cloud Platform services
35
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # View and manage your Google Cloud Datastore data
35
+ AUTH_DATASTORE = 'https://www.googleapis.com/auth/datastore'
36
36
  end
37
37
  end
38
38
  end
@@ -22,15 +22,44 @@ module Google
22
22
  module Apis
23
23
  module DatastoreV1
24
24
 
25
- # The response for Datastore.BeginTransaction.
26
- class BeginTransactionResponse
25
+ # The request for Datastore.RunQuery.
26
+ class RunQueryRequest
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # The transaction identifier (always present).
30
- # Corresponds to the JSON property `transaction`
31
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
32
- # @return [String]
33
- attr_accessor :transaction
29
+ # A partition ID identifies a grouping of entities. The grouping is always
30
+ # by project and namespace, however the namespace ID may be empty.
31
+ # A partition ID contains several dimensions:
32
+ # project ID and namespace ID.
33
+ # Partition dimensions:
34
+ # - May be `""`.
35
+ # - Must be valid UTF-8 bytes.
36
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
37
+ # If the value of any dimension matches regex `__.*__`, the partition is
38
+ # reserved/read-only.
39
+ # A reserved/read-only partition ID is forbidden in certain documented
40
+ # contexts.
41
+ # Foreign partition IDs (in which the project ID does
42
+ # not match the context project ID ) are discouraged.
43
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
44
+ # active state.
45
+ # Corresponds to the JSON property `partitionId`
46
+ # @return [Google::Apis::DatastoreV1::PartitionId]
47
+ attr_accessor :partition_id
48
+
49
+ # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
50
+ # Corresponds to the JSON property `gqlQuery`
51
+ # @return [Google::Apis::DatastoreV1::GqlQuery]
52
+ attr_accessor :gql_query
53
+
54
+ # The options shared by read requests.
55
+ # Corresponds to the JSON property `readOptions`
56
+ # @return [Google::Apis::DatastoreV1::ReadOptions]
57
+ attr_accessor :read_options
58
+
59
+ # A query for entities.
60
+ # Corresponds to the JSON property `query`
61
+ # @return [Google::Apis::DatastoreV1::Query]
62
+ attr_accessor :query
34
63
 
35
64
  def initialize(**args)
36
65
  update!(**args)
@@ -38,23 +67,23 @@ module Google
38
67
 
39
68
  # Update properties of this object
40
69
  def update!(**args)
41
- @transaction = args[:transaction] if args.key?(:transaction)
70
+ @partition_id = args[:partition_id] if args.key?(:partition_id)
71
+ @gql_query = args[:gql_query] if args.key?(:gql_query)
72
+ @read_options = args[:read_options] if args.key?(:read_options)
73
+ @query = args[:query] if args.key?(:query)
42
74
  end
43
75
  end
44
76
 
45
- # The response for Datastore.RunQuery.
46
- class RunQueryResponse
77
+ # The request for Datastore.Rollback.
78
+ class RollbackRequest
47
79
  include Google::Apis::Core::Hashable
48
80
 
49
- # A query for entities.
50
- # Corresponds to the JSON property `query`
51
- # @return [Google::Apis::DatastoreV1::Query]
52
- attr_accessor :query
53
-
54
- # A batch of results produced by a query.
55
- # Corresponds to the JSON property `batch`
56
- # @return [Google::Apis::DatastoreV1::QueryResultBatch]
57
- attr_accessor :batch
81
+ # The transaction identifier, returned by a call to
82
+ # Datastore.BeginTransaction.
83
+ # Corresponds to the JSON property `transaction`
84
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
85
+ # @return [String]
86
+ attr_accessor :transaction
58
87
 
59
88
  def initialize(**args)
60
89
  update!(**args)
@@ -62,35 +91,24 @@ module Google
62
91
 
63
92
  # Update properties of this object
64
93
  def update!(**args)
65
- @query = args[:query] if args.key?(:query)
66
- @batch = args[:batch] if args.key?(:batch)
94
+ @transaction = args[:transaction] if args.key?(:transaction)
67
95
  end
68
96
  end
69
97
 
70
- # The response for Datastore.Lookup.
71
- class LookupResponse
98
+ # A filter that merges multiple other filters using the given operator.
99
+ class CompositeFilter
72
100
  include Google::Apis::Core::Hashable
73
101
 
74
- # Entities found as `ResultType.FULL` entities. The order of results in this
75
- # field is undefined and has no relation to the order of the keys in the
76
- # input.
77
- # Corresponds to the JSON property `found`
78
- # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
79
- attr_accessor :found
80
-
81
- # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
82
- # in this field is undefined and has no relation to the order of the keys
83
- # in the input.
84
- # Corresponds to the JSON property `missing`
85
- # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
86
- attr_accessor :missing
102
+ # The list of filters to combine.
103
+ # Must contain at least one filter.
104
+ # Corresponds to the JSON property `filters`
105
+ # @return [Array<Google::Apis::DatastoreV1::Filter>]
106
+ attr_accessor :filters
87
107
 
88
- # A list of keys that were not looked up due to resource constraints. The
89
- # order of results in this field is undefined and has no relation to the
90
- # order of the keys in the input.
91
- # Corresponds to the JSON property `deferred`
92
- # @return [Array<Google::Apis::DatastoreV1::Key>]
93
- attr_accessor :deferred
108
+ # The operator for combining multiple filters.
109
+ # Corresponds to the JSON property `op`
110
+ # @return [String]
111
+ attr_accessor :op
94
112
 
95
113
  def initialize(**args)
96
114
  update!(**args)
@@ -98,18 +116,17 @@ module Google
98
116
 
99
117
  # Update properties of this object
100
118
  def update!(**args)
101
- @found = args[:found] if args.key?(:found)
102
- @missing = args[:missing] if args.key?(:missing)
103
- @deferred = args[:deferred] if args.key?(:deferred)
119
+ @filters = args[:filters] if args.key?(:filters)
120
+ @op = args[:op] if args.key?(:op)
104
121
  end
105
122
  end
106
123
 
107
- # The request for Datastore.AllocateIds.
108
- class AllocateIdsRequest
124
+ # The response for Datastore.AllocateIds.
125
+ class AllocateIdsResponse
109
126
  include Google::Apis::Core::Hashable
110
127
 
111
- # A list of keys with incomplete key paths for which to allocate IDs.
112
- # No key may be reserved/read-only.
128
+ # The keys specified in the request (in the same order), each with
129
+ # its key path completed with a newly allocated ID.
113
130
  # Corresponds to the JSON property `keys`
114
131
  # @return [Array<Google::Apis::DatastoreV1::Key>]
115
132
  attr_accessor :keys
@@ -124,52 +141,69 @@ module Google
124
141
  end
125
142
  end
126
143
 
127
- # The request for Datastore.Commit.
128
- class CommitRequest
144
+ # A query for entities.
145
+ class Query
129
146
  include Google::Apis::Core::Hashable
130
147
 
131
- # The identifier of the transaction associated with the commit. A
132
- # transaction identifier is returned by a call to
133
- # Datastore.BeginTransaction.
134
- # Corresponds to the JSON property `transaction`
148
+ # The projection to return. Defaults to returning all properties.
149
+ # Corresponds to the JSON property `projection`
150
+ # @return [Array<Google::Apis::DatastoreV1::Projection>]
151
+ attr_accessor :projection
152
+
153
+ # An ending point for the query results. Query cursors are
154
+ # returned in query result batches and
155
+ # [can only be used to limit the same query](https://cloud.google.com/datastore/
156
+ # docs/concepts/queries#cursors_limits_and_offsets).
157
+ # Corresponds to the JSON property `endCursor`
135
158
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
136
159
  # @return [String]
137
- attr_accessor :transaction
160
+ attr_accessor :end_cursor
138
161
 
139
- # The type of commit to perform. Defaults to `TRANSACTIONAL`.
140
- # Corresponds to the JSON property `mode`
162
+ # The maximum number of results to return. Applies after all other
163
+ # constraints. Optional.
164
+ # Unspecified is interpreted as no limit.
165
+ # Must be >= 0 if specified.
166
+ # Corresponds to the JSON property `limit`
167
+ # @return [Fixnum]
168
+ attr_accessor :limit
169
+
170
+ # A holder for any type of filter.
171
+ # Corresponds to the JSON property `filter`
172
+ # @return [Google::Apis::DatastoreV1::Filter]
173
+ attr_accessor :filter
174
+
175
+ # A starting point for the query results. Query cursors are
176
+ # returned in query result batches and
177
+ # [can only be used to continue the same query](https://cloud.google.com/
178
+ # datastore/docs/concepts/queries#cursors_limits_and_offsets).
179
+ # Corresponds to the JSON property `startCursor`
180
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
141
181
  # @return [String]
142
- attr_accessor :mode
182
+ attr_accessor :start_cursor
143
183
 
144
- # The mutations to perform.
145
- # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
146
- # applied in order. The following sequences of mutations affecting a single
147
- # entity are not permitted in a single `Commit` request:
148
- # - `insert` followed by `insert`
149
- # - `update` followed by `insert`
150
- # - `upsert` followed by `insert`
151
- # - `delete` followed by `update`
152
- # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
153
- # entity.
154
- # Corresponds to the JSON property `mutations`
155
- # @return [Array<Google::Apis::DatastoreV1::Mutation>]
156
- attr_accessor :mutations
184
+ # The number of results to skip. Applies before limit, but after all other
185
+ # constraints. Optional. Must be >= 0 if specified.
186
+ # Corresponds to the JSON property `offset`
187
+ # @return [Fixnum]
188
+ attr_accessor :offset
157
189
 
158
- def initialize(**args)
159
- update!(**args)
160
- end
190
+ # The kinds to query (if empty, returns entities of all kinds).
191
+ # Currently at most 1 kind may be specified.
192
+ # Corresponds to the JSON property `kind`
193
+ # @return [Array<Google::Apis::DatastoreV1::KindExpression>]
194
+ attr_accessor :kind
161
195
 
162
- # Update properties of this object
163
- def update!(**args)
164
- @transaction = args[:transaction] if args.key?(:transaction)
165
- @mode = args[:mode] if args.key?(:mode)
166
- @mutations = args[:mutations] if args.key?(:mutations)
167
- end
168
- end
196
+ # The properties to make distinct. The query results will contain the first
197
+ # result for each distinct combination of values for the given properties
198
+ # (if empty, all results are returned).
199
+ # Corresponds to the JSON property `distinctOn`
200
+ # @return [Array<Google::Apis::DatastoreV1::PropertyReference>]
201
+ attr_accessor :distinct_on
169
202
 
170
- # The request for Datastore.BeginTransaction.
171
- class BeginTransactionRequest
172
- include Google::Apis::Core::Hashable
203
+ # The order to apply to the query results (if empty, order is unspecified).
204
+ # Corresponds to the JSON property `order`
205
+ # @return [Array<Google::Apis::DatastoreV1::PropertyOrder>]
206
+ attr_accessor :order
173
207
 
174
208
  def initialize(**args)
175
209
  update!(**args)
@@ -177,100 +211,79 @@ module Google
177
211
 
178
212
  # Update properties of this object
179
213
  def update!(**args)
214
+ @projection = args[:projection] if args.key?(:projection)
215
+ @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
216
+ @limit = args[:limit] if args.key?(:limit)
217
+ @filter = args[:filter] if args.key?(:filter)
218
+ @start_cursor = args[:start_cursor] if args.key?(:start_cursor)
219
+ @offset = args[:offset] if args.key?(:offset)
220
+ @kind = args[:kind] if args.key?(:kind)
221
+ @distinct_on = args[:distinct_on] if args.key?(:distinct_on)
222
+ @order = args[:order] if args.key?(:order)
180
223
  end
181
224
  end
182
225
 
183
- # The desired order for a specific property.
184
- class PropertyOrder
226
+ # A filter on a specific property.
227
+ class PropertyFilter
185
228
  include Google::Apis::Core::Hashable
186
229
 
230
+ # The operator to filter by.
231
+ # Corresponds to the JSON property `op`
232
+ # @return [String]
233
+ attr_accessor :op
234
+
235
+ # A message that can hold any of the supported value types and associated
236
+ # metadata.
237
+ # Corresponds to the JSON property `value`
238
+ # @return [Google::Apis::DatastoreV1::Value]
239
+ attr_accessor :value
240
+
187
241
  # A reference to a property relative to the kind expressions.
188
242
  # Corresponds to the JSON property `property`
189
243
  # @return [Google::Apis::DatastoreV1::PropertyReference]
190
244
  attr_accessor :property
191
245
 
192
- # The direction to order by. Defaults to `ASCENDING`.
193
- # Corresponds to the JSON property `direction`
194
- # @return [String]
195
- attr_accessor :direction
196
-
197
246
  def initialize(**args)
198
247
  update!(**args)
199
248
  end
200
249
 
201
250
  # Update properties of this object
202
251
  def update!(**args)
252
+ @op = args[:op] if args.key?(:op)
253
+ @value = args[:value] if args.key?(:value)
203
254
  @property = args[:property] if args.key?(:property)
204
- @direction = args[:direction] if args.key?(:direction)
205
255
  end
206
256
  end
207
257
 
208
- # A representation of a kind.
209
- class KindExpression
258
+ # The result of fetching an entity from Datastore.
259
+ class EntityResult
210
260
  include Google::Apis::Core::Hashable
211
261
 
212
- # The name of the kind.
213
- # Corresponds to the JSON property `name`
262
+ # A cursor that points to the position after the result entity.
263
+ # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
264
+ # Corresponds to the JSON property `cursor`
265
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
214
266
  # @return [String]
215
- attr_accessor :name
216
-
217
- def initialize(**args)
218
- update!(**args)
219
- end
267
+ attr_accessor :cursor
220
268
 
221
- # Update properties of this object
222
- def update!(**args)
223
- @name = args[:name] if args.key?(:name)
224
- end
225
- end
226
-
227
- # An object representing a latitude/longitude pair. This is expressed as a pair
228
- # of doubles representing degrees latitude and degrees longitude. Unless
229
- # specified otherwise, this must conform to the
230
- # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
231
- # standard</a>. Values must be within normalized ranges.
232
- # Example of normalization code in Python:
233
- # def NormalizeLongitude(longitude):
234
- # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
235
- # q, r = divmod(longitude, 360.0)
236
- # if r > 180.0 or (r == 180.0 and q <= -1.0):
237
- # return r - 360.0
238
- # return r
239
- # def NormalizeLatLng(latitude, longitude):
240
- # """Wraps decimal degrees latitude and longitude to
241
- # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
242
- # r = latitude % 360.0
243
- # if r <= 90.0:
244
- # return r, NormalizeLongitude(longitude)
245
- # elif r >= 270.0:
246
- # return r - 360, NormalizeLongitude(longitude)
247
- # else:
248
- # return 180 - r, NormalizeLongitude(longitude + 180.0)
249
- # assert 180.0 == NormalizeLongitude(180.0)
250
- # assert -180.0 == NormalizeLongitude(-180.0)
251
- # assert -179.0 == NormalizeLongitude(181.0)
252
- # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
253
- # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
254
- # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
255
- # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
256
- # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
257
- # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
258
- # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
259
- # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
260
- # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
261
- # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
262
- class LatLng
263
- include Google::Apis::Core::Hashable
264
-
265
- # The latitude in degrees. It must be in the range [-90.0, +90.0].
266
- # Corresponds to the JSON property `latitude`
267
- # @return [Float]
268
- attr_accessor :latitude
269
+ # The version of the entity, a strictly positive number that monotonically
270
+ # increases with changes to the entity.
271
+ # This field is set for `FULL` entity
272
+ # results.
273
+ # For missing entities in `LookupResponse`, this
274
+ # is the version of the snapshot that was used to look up the entity, and it
275
+ # is always set except for eventually consistent reads.
276
+ # Corresponds to the JSON property `version`
277
+ # @return [Fixnum]
278
+ attr_accessor :version
269
279
 
270
- # The longitude in degrees. It must be in the range [-180.0, +180.0].
271
- # Corresponds to the JSON property `longitude`
272
- # @return [Float]
273
- attr_accessor :longitude
280
+ # A Datastore data object.
281
+ # An entity is limited to 1 megabyte when stored. That _roughly_
282
+ # corresponds to a limit of 1 megabyte for the serialized form of this
283
+ # message.
284
+ # Corresponds to the JSON property `entity`
285
+ # @return [Google::Apis::DatastoreV1::Entity]
286
+ attr_accessor :entity
274
287
 
275
288
  def initialize(**args)
276
289
  update!(**args)
@@ -278,76 +291,27 @@ module Google
278
291
 
279
292
  # Update properties of this object
280
293
  def update!(**args)
281
- @latitude = args[:latitude] if args.key?(:latitude)
282
- @longitude = args[:longitude] if args.key?(:longitude)
294
+ @cursor = args[:cursor] if args.key?(:cursor)
295
+ @version = args[:version] if args.key?(:version)
296
+ @entity = args[:entity] if args.key?(:entity)
283
297
  end
284
298
  end
285
299
 
286
- # A unique identifier for an entity.
287
- # If a key's partition ID or any of its path kinds or names are
288
- # reserved/read-only, the key is reserved/read-only.
289
- # A reserved/read-only key is forbidden in certain documented contexts.
290
- class Key
300
+ # The response for Datastore.Commit.
301
+ class CommitResponse
291
302
  include Google::Apis::Core::Hashable
292
303
 
293
- # The entity path.
294
- # An entity path consists of one or more elements composed of a kind and a
295
- # string or numerical identifier, which identify entities. The first
296
- # element identifies a _root entity_, the second element identifies
297
- # a _child_ of the root entity, the third element identifies a child of the
298
- # second entity, and so forth. The entities identified by all prefixes of
299
- # the path are called the element's _ancestors_.
300
- # An entity path is always fully complete: *all* of the entity's ancestors
301
- # are required to be in the path along with the entity identifier itself.
302
- # The only exception is that in some documented cases, the identifier in the
303
- # last path element (for the entity) itself may be omitted. For example,
304
- # the last path element of the key of `Mutation.insert` may have no
305
- # identifier.
306
- # A path can never be empty, and a path can have at most 100 elements.
307
- # Corresponds to the JSON property `path`
308
- # @return [Array<Google::Apis::DatastoreV1::PathElement>]
309
- attr_accessor :path
310
-
311
- # A partition ID identifies a grouping of entities. The grouping is always
312
- # by project and namespace, however the namespace ID may be empty.
313
- # A partition ID contains several dimensions:
314
- # project ID and namespace ID.
315
- # Partition dimensions:
316
- # - May be `""`.
317
- # - Must be valid UTF-8 bytes.
318
- # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
319
- # If the value of any dimension matches regex `__.*__`, the partition is
320
- # reserved/read-only.
321
- # A reserved/read-only partition ID is forbidden in certain documented
322
- # contexts.
323
- # Foreign partition IDs (in which the project ID does
324
- # not match the context project ID ) are discouraged.
325
- # Reads and writes of foreign partition IDs may fail if the project is not in an
326
- # active state.
327
- # Corresponds to the JSON property `partitionId`
328
- # @return [Google::Apis::DatastoreV1::PartitionId]
329
- attr_accessor :partition_id
330
-
331
- def initialize(**args)
332
- update!(**args)
333
- end
334
-
335
- # Update properties of this object
336
- def update!(**args)
337
- @path = args[:path] if args.key?(:path)
338
- @partition_id = args[:partition_id] if args.key?(:partition_id)
339
- end
340
- end
341
-
342
- # A reference to a property relative to the kind expressions.
343
- class PropertyReference
344
- include Google::Apis::Core::Hashable
304
+ # The result of performing the mutations.
305
+ # The i-th mutation result corresponds to the i-th mutation in the request.
306
+ # Corresponds to the JSON property `mutationResults`
307
+ # @return [Array<Google::Apis::DatastoreV1::MutationResult>]
308
+ attr_accessor :mutation_results
345
309
 
346
- # The name of the property.
347
- # If name includes "."s, it may be interpreted as a property name path.
348
- # Corresponds to the JSON property `name`
349
- # @return [String]
350
- attr_accessor :name
310
+ # The number of index entries updated during the commit, or zero if none were
311
+ # updated.
312
+ # Corresponds to the JSON property `indexUpdates`
313
+ # @return [Fixnum]
314
+ attr_accessor :index_updates
351
315
 
352
316
  def initialize(**args)
353
317
  update!(**args)
@@ -355,91 +319,132 @@ module Google
355
319
 
356
320
  # Update properties of this object
357
321
  def update!(**args)
358
- @name = args[:name] if args.key?(:name)
322
+ @mutation_results = args[:mutation_results] if args.key?(:mutation_results)
323
+ @index_updates = args[:index_updates] if args.key?(:index_updates)
359
324
  end
360
325
  end
361
326
 
362
- # An array value.
363
- class ArrayValue
327
+ # A message that can hold any of the supported value types and associated
328
+ # metadata.
329
+ class Value
364
330
  include Google::Apis::Core::Hashable
365
331
 
366
- # Values in the array.
367
- # The order of this array may not be preserved if it contains a mix of
368
- # indexed and unindexed values.
369
- # Corresponds to the JSON property `values`
370
- # @return [Array<Google::Apis::DatastoreV1::Value>]
371
- attr_accessor :values
372
-
373
- def initialize(**args)
374
- update!(**args)
375
- end
376
-
377
- # Update properties of this object
378
- def update!(**args)
379
- @values = args[:values] if args.key?(:values)
380
- end
381
- end
382
-
383
- # A representation of a property in a projection.
384
- class Projection
385
- include Google::Apis::Core::Hashable
332
+ # A boolean value.
333
+ # Corresponds to the JSON property `booleanValue`
334
+ # @return [Boolean]
335
+ attr_accessor :boolean_value
336
+ alias_method :boolean_value?, :boolean_value
386
337
 
387
- # A reference to a property relative to the kind expressions.
388
- # Corresponds to the JSON property `property`
389
- # @return [Google::Apis::DatastoreV1::PropertyReference]
390
- attr_accessor :property
338
+ # A null value.
339
+ # Corresponds to the JSON property `nullValue`
340
+ # @return [String]
341
+ attr_accessor :null_value
391
342
 
392
- def initialize(**args)
393
- update!(**args)
394
- end
343
+ # A blob value.
344
+ # May have at most 1,000,000 bytes.
345
+ # When `exclude_from_indexes` is false, may have at most 1500 bytes.
346
+ # In JSON requests, must be base64-encoded.
347
+ # Corresponds to the JSON property `blobValue`
348
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
349
+ # @return [String]
350
+ attr_accessor :blob_value
395
351
 
396
- # Update properties of this object
397
- def update!(**args)
398
- @property = args[:property] if args.key?(:property)
399
- end
400
- end
352
+ # The `meaning` field should only be populated for backwards compatibility.
353
+ # Corresponds to the JSON property `meaning`
354
+ # @return [Fixnum]
355
+ attr_accessor :meaning
401
356
 
402
- # A mutation to apply to an entity.
403
- class Mutation
404
- include Google::Apis::Core::Hashable
357
+ # An array value.
358
+ # Corresponds to the JSON property `arrayValue`
359
+ # @return [Google::Apis::DatastoreV1::ArrayValue]
360
+ attr_accessor :array_value
405
361
 
406
362
  # A Datastore data object.
407
363
  # An entity is limited to 1 megabyte when stored. That _roughly_
408
364
  # corresponds to a limit of 1 megabyte for the serialized form of this
409
365
  # message.
410
- # Corresponds to the JSON property `update`
366
+ # Corresponds to the JSON property `entityValue`
411
367
  # @return [Google::Apis::DatastoreV1::Entity]
412
- attr_accessor :update
368
+ attr_accessor :entity_value
413
369
 
414
- # A Datastore data object.
415
- # An entity is limited to 1 megabyte when stored. That _roughly_
416
- # corresponds to a limit of 1 megabyte for the serialized form of this
417
- # message.
418
- # Corresponds to the JSON property `upsert`
419
- # @return [Google::Apis::DatastoreV1::Entity]
420
- attr_accessor :upsert
370
+ # An object representing a latitude/longitude pair. This is expressed as a pair
371
+ # of doubles representing degrees latitude and degrees longitude. Unless
372
+ # specified otherwise, this must conform to the
373
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
374
+ # standard</a>. Values must be within normalized ranges.
375
+ # Example of normalization code in Python:
376
+ # def NormalizeLongitude(longitude):
377
+ # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
378
+ # q, r = divmod(longitude, 360.0)
379
+ # if r > 180.0 or (r == 180.0 and q <= -1.0):
380
+ # return r - 360.0
381
+ # return r
382
+ # def NormalizeLatLng(latitude, longitude):
383
+ # """Wraps decimal degrees latitude and longitude to
384
+ # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
385
+ # r = latitude % 360.0
386
+ # if r <= 90.0:
387
+ # return r, NormalizeLongitude(longitude)
388
+ # elif r >= 270.0:
389
+ # return r - 360, NormalizeLongitude(longitude)
390
+ # else:
391
+ # return 180 - r, NormalizeLongitude(longitude + 180.0)
392
+ # assert 180.0 == NormalizeLongitude(180.0)
393
+ # assert -180.0 == NormalizeLongitude(-180.0)
394
+ # assert -179.0 == NormalizeLongitude(181.0)
395
+ # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
396
+ # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
397
+ # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
398
+ # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
399
+ # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
400
+ # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
401
+ # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
402
+ # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
403
+ # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
404
+ # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
405
+ # Corresponds to the JSON property `geoPointValue`
406
+ # @return [Google::Apis::DatastoreV1::LatLng]
407
+ attr_accessor :geo_point_value
421
408
 
422
409
  # A unique identifier for an entity.
423
410
  # If a key's partition ID or any of its path kinds or names are
424
411
  # reserved/read-only, the key is reserved/read-only.
425
412
  # A reserved/read-only key is forbidden in certain documented contexts.
426
- # Corresponds to the JSON property `delete`
413
+ # Corresponds to the JSON property `keyValue`
427
414
  # @return [Google::Apis::DatastoreV1::Key]
428
- attr_accessor :delete
429
-
430
- # A Datastore data object.
431
- # An entity is limited to 1 megabyte when stored. That _roughly_
432
- # corresponds to a limit of 1 megabyte for the serialized form of this
433
- # message.
434
- # Corresponds to the JSON property `insert`
435
- # @return [Google::Apis::DatastoreV1::Entity]
436
- attr_accessor :insert
415
+ attr_accessor :key_value
437
416
 
438
- # The version of the entity that this mutation is being applied to. If this
439
- # does not match the current version on the server, the mutation conflicts.
440
- # Corresponds to the JSON property `baseVersion`
417
+ # An integer value.
418
+ # Corresponds to the JSON property `integerValue`
441
419
  # @return [Fixnum]
442
- attr_accessor :base_version
420
+ attr_accessor :integer_value
421
+
422
+ # A UTF-8 encoded string value.
423
+ # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500
424
+ # bytes.
425
+ # Otherwise, may be set to at least 1,000,000 bytes.
426
+ # Corresponds to the JSON property `stringValue`
427
+ # @return [String]
428
+ attr_accessor :string_value
429
+
430
+ # If the value should be excluded from all indexes including those defined
431
+ # explicitly.
432
+ # Corresponds to the JSON property `excludeFromIndexes`
433
+ # @return [Boolean]
434
+ attr_accessor :exclude_from_indexes
435
+ alias_method :exclude_from_indexes?, :exclude_from_indexes
436
+
437
+ # A double value.
438
+ # Corresponds to the JSON property `doubleValue`
439
+ # @return [Float]
440
+ attr_accessor :double_value
441
+
442
+ # A timestamp value.
443
+ # When stored in the Datastore, precise only to microseconds;
444
+ # any additional precision is rounded down.
445
+ # Corresponds to the JSON property `timestampValue`
446
+ # @return [String]
447
+ attr_accessor :timestamp_value
443
448
 
444
449
  def initialize(**args)
445
450
  update!(**args)
@@ -447,31 +452,86 @@ module Google
447
452
 
448
453
  # Update properties of this object
449
454
  def update!(**args)
450
- @update = args[:update] if args.key?(:update)
451
- @upsert = args[:upsert] if args.key?(:upsert)
452
- @delete = args[:delete] if args.key?(:delete)
453
- @insert = args[:insert] if args.key?(:insert)
454
- @base_version = args[:base_version] if args.key?(:base_version)
455
+ @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
456
+ @null_value = args[:null_value] if args.key?(:null_value)
457
+ @blob_value = args[:blob_value] if args.key?(:blob_value)
458
+ @meaning = args[:meaning] if args.key?(:meaning)
459
+ @array_value = args[:array_value] if args.key?(:array_value)
460
+ @entity_value = args[:entity_value] if args.key?(:entity_value)
461
+ @geo_point_value = args[:geo_point_value] if args.key?(:geo_point_value)
462
+ @key_value = args[:key_value] if args.key?(:key_value)
463
+ @integer_value = args[:integer_value] if args.key?(:integer_value)
464
+ @string_value = args[:string_value] if args.key?(:string_value)
465
+ @exclude_from_indexes = args[:exclude_from_indexes] if args.key?(:exclude_from_indexes)
466
+ @double_value = args[:double_value] if args.key?(:double_value)
467
+ @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
455
468
  end
456
469
  end
457
470
 
458
- # The options shared by read requests.
459
- class ReadOptions
471
+ # A partition ID identifies a grouping of entities. The grouping is always
472
+ # by project and namespace, however the namespace ID may be empty.
473
+ # A partition ID contains several dimensions:
474
+ # project ID and namespace ID.
475
+ # Partition dimensions:
476
+ # - May be `""`.
477
+ # - Must be valid UTF-8 bytes.
478
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
479
+ # If the value of any dimension matches regex `__.*__`, the partition is
480
+ # reserved/read-only.
481
+ # A reserved/read-only partition ID is forbidden in certain documented
482
+ # contexts.
483
+ # Foreign partition IDs (in which the project ID does
484
+ # not match the context project ID ) are discouraged.
485
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
486
+ # active state.
487
+ class PartitionId
460
488
  include Google::Apis::Core::Hashable
461
489
 
462
- # The non-transactional read consistency to use.
463
- # Cannot be set to `STRONG` for global queries.
464
- # Corresponds to the JSON property `readConsistency`
490
+ # The ID of the project to which the entities belong.
491
+ # Corresponds to the JSON property `projectId`
465
492
  # @return [String]
466
- attr_accessor :read_consistency
493
+ attr_accessor :project_id
467
494
 
468
- # The identifier of the transaction in which to read. A
469
- # transaction identifier is returned by a call to
470
- # Datastore.BeginTransaction.
471
- # Corresponds to the JSON property `transaction`
472
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
495
+ # If not empty, the ID of the namespace to which the entities belong.
496
+ # Corresponds to the JSON property `namespaceId`
473
497
  # @return [String]
474
- attr_accessor :transaction
498
+ attr_accessor :namespace_id
499
+
500
+ def initialize(**args)
501
+ update!(**args)
502
+ end
503
+
504
+ # Update properties of this object
505
+ def update!(**args)
506
+ @project_id = args[:project_id] if args.key?(:project_id)
507
+ @namespace_id = args[:namespace_id] if args.key?(:namespace_id)
508
+ end
509
+ end
510
+
511
+ # A Datastore data object.
512
+ # An entity is limited to 1 megabyte when stored. That _roughly_
513
+ # corresponds to a limit of 1 megabyte for the serialized form of this
514
+ # message.
515
+ class Entity
516
+ include Google::Apis::Core::Hashable
517
+
518
+ # The entity's properties.
519
+ # The map's keys are property names.
520
+ # A property name matching regex `__.*__` is reserved.
521
+ # A reserved property name is forbidden in certain documented contexts.
522
+ # The name must not contain more than 500 characters.
523
+ # The name cannot be `""`.
524
+ # Corresponds to the JSON property `properties`
525
+ # @return [Hash<String,Google::Apis::DatastoreV1::Value>]
526
+ attr_accessor :properties
527
+
528
+ # A unique identifier for an entity.
529
+ # If a key's partition ID or any of its path kinds or names are
530
+ # reserved/read-only, the key is reserved/read-only.
531
+ # A reserved/read-only key is forbidden in certain documented contexts.
532
+ # Corresponds to the JSON property `key`
533
+ # @return [Google::Apis::DatastoreV1::Key]
534
+ attr_accessor :key
475
535
 
476
536
  def initialize(**args)
477
537
  update!(**args)
@@ -479,52 +539,89 @@ module Google
479
539
 
480
540
  # Update properties of this object
481
541
  def update!(**args)
482
- @read_consistency = args[:read_consistency] if args.key?(:read_consistency)
483
- @transaction = args[:transaction] if args.key?(:transaction)
542
+ @properties = args[:properties] if args.key?(:properties)
543
+ @key = args[:key] if args.key?(:key)
484
544
  end
485
545
  end
486
546
 
487
- # The response for Datastore.Rollback.
488
- # (an empty message).
489
- class RollbackResponse
547
+ # A batch of results produced by a query.
548
+ class QueryResultBatch
490
549
  include Google::Apis::Core::Hashable
491
550
 
551
+ # The results for this batch.
552
+ # Corresponds to the JSON property `entityResults`
553
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
554
+ attr_accessor :entity_results
555
+
556
+ # A cursor that points to the position after the last result in the batch.
557
+ # Corresponds to the JSON property `endCursor`
558
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
559
+ # @return [String]
560
+ attr_accessor :end_cursor
561
+
562
+ # The state of the query after the current batch.
563
+ # Corresponds to the JSON property `moreResults`
564
+ # @return [String]
565
+ attr_accessor :more_results
566
+
567
+ # The version number of the snapshot this batch was returned from.
568
+ # This applies to the range of results from the query's `start_cursor` (or
569
+ # the beginning of the query if no cursor was given) to this batch's
570
+ # `end_cursor` (not the query's `end_cursor`).
571
+ # In a single transaction, subsequent query result batches for the same query
572
+ # can have a greater snapshot version number. Each batch's snapshot version
573
+ # is valid for all preceding batches.
574
+ # The value will be zero for eventually consistent queries.
575
+ # Corresponds to the JSON property `snapshotVersion`
576
+ # @return [Fixnum]
577
+ attr_accessor :snapshot_version
578
+
579
+ # A cursor that points to the position after the last skipped result.
580
+ # Will be set when `skipped_results` != 0.
581
+ # Corresponds to the JSON property `skippedCursor`
582
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
583
+ # @return [String]
584
+ attr_accessor :skipped_cursor
585
+
586
+ # The number of results skipped, typically because of an offset.
587
+ # Corresponds to the JSON property `skippedResults`
588
+ # @return [Fixnum]
589
+ attr_accessor :skipped_results
590
+
591
+ # The result type for every entity in `entity_results`.
592
+ # Corresponds to the JSON property `entityResultType`
593
+ # @return [String]
594
+ attr_accessor :entity_result_type
595
+
492
596
  def initialize(**args)
493
597
  update!(**args)
494
598
  end
495
599
 
496
600
  # Update properties of this object
497
601
  def update!(**args)
602
+ @entity_results = args[:entity_results] if args.key?(:entity_results)
603
+ @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
604
+ @more_results = args[:more_results] if args.key?(:more_results)
605
+ @snapshot_version = args[:snapshot_version] if args.key?(:snapshot_version)
606
+ @skipped_cursor = args[:skipped_cursor] if args.key?(:skipped_cursor)
607
+ @skipped_results = args[:skipped_results] if args.key?(:skipped_results)
608
+ @entity_result_type = args[:entity_result_type] if args.key?(:entity_result_type)
498
609
  end
499
610
  end
500
611
 
501
- # The result of applying a mutation.
502
- class MutationResult
612
+ # The request for Datastore.Lookup.
613
+ class LookupRequest
503
614
  include Google::Apis::Core::Hashable
504
615
 
505
- # The version of the entity on the server after processing the mutation. If
506
- # the mutation doesn't change anything on the server, then the version will
507
- # be the version of the current entity or, if no entity is present, a version
508
- # that is strictly greater than the version of any previous entity and less
509
- # than the version of any possible future entity.
510
- # Corresponds to the JSON property `version`
511
- # @return [Fixnum]
512
- attr_accessor :version
513
-
514
- # Whether a conflict was detected for this mutation. Always false when a
515
- # conflict detection strategy field is not set in the mutation.
516
- # Corresponds to the JSON property `conflictDetected`
517
- # @return [Boolean]
518
- attr_accessor :conflict_detected
519
- alias_method :conflict_detected?, :conflict_detected
616
+ # Keys of entities to look up.
617
+ # Corresponds to the JSON property `keys`
618
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
619
+ attr_accessor :keys
520
620
 
521
- # A unique identifier for an entity.
522
- # If a key's partition ID or any of its path kinds or names are
523
- # reserved/read-only, the key is reserved/read-only.
524
- # A reserved/read-only key is forbidden in certain documented contexts.
525
- # Corresponds to the JSON property `key`
526
- # @return [Google::Apis::DatastoreV1::Key]
527
- attr_accessor :key
621
+ # The options shared by read requests.
622
+ # Corresponds to the JSON property `readOptions`
623
+ # @return [Google::Apis::DatastoreV1::ReadOptions]
624
+ attr_accessor :read_options
528
625
 
529
626
  def initialize(**args)
530
627
  update!(**args)
@@ -532,46 +629,39 @@ module Google
532
629
 
533
630
  # Update properties of this object
534
631
  def update!(**args)
535
- @version = args[:version] if args.key?(:version)
536
- @conflict_detected = args[:conflict_detected] if args.key?(:conflict_detected)
537
- @key = args[:key] if args.key?(:key)
632
+ @keys = args[:keys] if args.key?(:keys)
633
+ @read_options = args[:read_options] if args.key?(:read_options)
538
634
  end
539
635
  end
540
636
 
541
- # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
542
- class GqlQuery
637
+ # A (kind, ID/name) pair used to construct a key path.
638
+ # If either name or ID is set, the element is complete.
639
+ # If neither is set, the element is incomplete.
640
+ class PathElement
543
641
  include Google::Apis::Core::Hashable
544
642
 
545
- # A string of the format described
546
- # [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
547
- # Corresponds to the JSON property `queryString`
643
+ # The name of the entity.
644
+ # A name matching regex `__.*__` is reserved/read-only.
645
+ # A name must not be more than 1500 bytes when UTF-8 encoded.
646
+ # Cannot be `""`.
647
+ # Corresponds to the JSON property `name`
548
648
  # @return [String]
549
- attr_accessor :query_string
550
-
551
- # When false, the query string must not contain any literals and instead must
552
- # bind all values. For example,
553
- # `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
554
- # `SELECT * FROM Kind WHERE a = @value` is.
555
- # Corresponds to the JSON property `allowLiterals`
556
- # @return [Boolean]
557
- attr_accessor :allow_literals
558
- alias_method :allow_literals?, :allow_literals
649
+ attr_accessor :name
559
650
 
560
- # For each non-reserved named binding site in the query string, there must be
561
- # a named parameter with that name, but not necessarily the inverse.
562
- # Key must match regex `A-Za-z_$*`, must not match regex
563
- # `__.*__`, and must not be `""`.
564
- # Corresponds to the JSON property `namedBindings`
565
- # @return [Hash<String,Google::Apis::DatastoreV1::GqlQueryParameter>]
566
- attr_accessor :named_bindings
651
+ # The kind of the entity.
652
+ # A kind matching regex `__.*__` is reserved/read-only.
653
+ # A kind must not contain more than 1500 bytes when UTF-8 encoded.
654
+ # Cannot be `""`.
655
+ # Corresponds to the JSON property `kind`
656
+ # @return [String]
657
+ attr_accessor :kind
567
658
 
568
- # Numbered binding site @1 references the first numbered parameter,
569
- # effectively using 1-based indexing, rather than the usual 0.
570
- # For each binding site numbered i in `query_string`, there must be an i-th
571
- # numbered parameter. The inverse must also be true.
572
- # Corresponds to the JSON property `positionalBindings`
573
- # @return [Array<Google::Apis::DatastoreV1::GqlQueryParameter>]
574
- attr_accessor :positional_bindings
659
+ # The auto-allocated ID of the entity.
660
+ # Never equal to zero. Values less than zero are discouraged and may not
661
+ # be supported in the future.
662
+ # Corresponds to the JSON property `id`
663
+ # @return [Fixnum]
664
+ attr_accessor :id
575
665
 
576
666
  def initialize(**args)
577
667
  update!(**args)
@@ -579,26 +669,28 @@ module Google
579
669
 
580
670
  # Update properties of this object
581
671
  def update!(**args)
582
- @query_string = args[:query_string] if args.key?(:query_string)
583
- @allow_literals = args[:allow_literals] if args.key?(:allow_literals)
584
- @named_bindings = args[:named_bindings] if args.key?(:named_bindings)
585
- @positional_bindings = args[:positional_bindings] if args.key?(:positional_bindings)
672
+ @name = args[:name] if args.key?(:name)
673
+ @kind = args[:kind] if args.key?(:kind)
674
+ @id = args[:id] if args.key?(:id)
586
675
  end
587
676
  end
588
677
 
589
- # A holder for any type of filter.
590
- class Filter
678
+ # A binding parameter for a GQL query.
679
+ class GqlQueryParameter
591
680
  include Google::Apis::Core::Hashable
592
681
 
593
- # A filter that merges multiple other filters using the given operator.
594
- # Corresponds to the JSON property `compositeFilter`
595
- # @return [Google::Apis::DatastoreV1::CompositeFilter]
596
- attr_accessor :composite_filter
682
+ # A message that can hold any of the supported value types and associated
683
+ # metadata.
684
+ # Corresponds to the JSON property `value`
685
+ # @return [Google::Apis::DatastoreV1::Value]
686
+ attr_accessor :value
597
687
 
598
- # A filter on a specific property.
599
- # Corresponds to the JSON property `propertyFilter`
600
- # @return [Google::Apis::DatastoreV1::PropertyFilter]
601
- attr_accessor :property_filter
688
+ # A query cursor. Query cursors are returned in query
689
+ # result batches.
690
+ # Corresponds to the JSON property `cursor`
691
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
692
+ # @return [String]
693
+ attr_accessor :cursor
602
694
 
603
695
  def initialize(**args)
604
696
  update!(**args)
@@ -606,17 +698,16 @@ module Google
606
698
 
607
699
  # Update properties of this object
608
700
  def update!(**args)
609
- @composite_filter = args[:composite_filter] if args.key?(:composite_filter)
610
- @property_filter = args[:property_filter] if args.key?(:property_filter)
701
+ @value = args[:value] if args.key?(:value)
702
+ @cursor = args[:cursor] if args.key?(:cursor)
611
703
  end
612
704
  end
613
705
 
614
- # The request for Datastore.Rollback.
615
- class RollbackRequest
706
+ # The response for Datastore.BeginTransaction.
707
+ class BeginTransactionResponse
616
708
  include Google::Apis::Core::Hashable
617
709
 
618
- # The transaction identifier, returned by a call to
619
- # Datastore.BeginTransaction.
710
+ # The transaction identifier (always present).
620
711
  # Corresponds to the JSON property `transaction`
621
712
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
622
713
  # @return [String]
@@ -632,44 +723,50 @@ module Google
632
723
  end
633
724
  end
634
725
 
635
- # The request for Datastore.RunQuery.
636
- class RunQueryRequest
726
+ # The request for Datastore.AllocateIds.
727
+ class AllocateIdsRequest
637
728
  include Google::Apis::Core::Hashable
638
729
 
639
- # The options shared by read requests.
640
- # Corresponds to the JSON property `readOptions`
641
- # @return [Google::Apis::DatastoreV1::ReadOptions]
642
- attr_accessor :read_options
730
+ # A list of keys with incomplete key paths for which to allocate IDs.
731
+ # No key may be reserved/read-only.
732
+ # Corresponds to the JSON property `keys`
733
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
734
+ attr_accessor :keys
643
735
 
644
- # A query for entities.
645
- # Corresponds to the JSON property `query`
646
- # @return [Google::Apis::DatastoreV1::Query]
647
- attr_accessor :query
736
+ def initialize(**args)
737
+ update!(**args)
738
+ end
648
739
 
649
- # A partition ID identifies a grouping of entities. The grouping is always
650
- # by project and namespace, however the namespace ID may be empty.
651
- # A partition ID contains several dimensions:
652
- # project ID and namespace ID.
653
- # Partition dimensions:
654
- # - May be `""`.
655
- # - Must be valid UTF-8 bytes.
656
- # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
657
- # If the value of any dimension matches regex `__.*__`, the partition is
658
- # reserved/read-only.
659
- # A reserved/read-only partition ID is forbidden in certain documented
660
- # contexts.
661
- # Foreign partition IDs (in which the project ID does
662
- # not match the context project ID ) are discouraged.
663
- # Reads and writes of foreign partition IDs may fail if the project is not in an
664
- # active state.
665
- # Corresponds to the JSON property `partitionId`
666
- # @return [Google::Apis::DatastoreV1::PartitionId]
667
- attr_accessor :partition_id
740
+ # Update properties of this object
741
+ def update!(**args)
742
+ @keys = args[:keys] if args.key?(:keys)
743
+ end
744
+ end
745
+
746
+ # The response for Datastore.Lookup.
747
+ class LookupResponse
748
+ include Google::Apis::Core::Hashable
749
+
750
+ # Entities found as `ResultType.FULL` entities. The order of results in this
751
+ # field is undefined and has no relation to the order of the keys in the
752
+ # input.
753
+ # Corresponds to the JSON property `found`
754
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
755
+ attr_accessor :found
668
756
 
669
- # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
670
- # Corresponds to the JSON property `gqlQuery`
671
- # @return [Google::Apis::DatastoreV1::GqlQuery]
672
- attr_accessor :gql_query
757
+ # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
758
+ # in this field is undefined and has no relation to the order of the keys
759
+ # in the input.
760
+ # Corresponds to the JSON property `missing`
761
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
762
+ attr_accessor :missing
763
+
764
+ # A list of keys that were not looked up due to resource constraints. The
765
+ # order of results in this field is undefined and has no relation to the
766
+ # order of the keys in the input.
767
+ # Corresponds to the JSON property `deferred`
768
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
769
+ attr_accessor :deferred
673
770
 
674
771
  def initialize(**args)
675
772
  update!(**args)
@@ -677,27 +774,25 @@ module Google
677
774
 
678
775
  # Update properties of this object
679
776
  def update!(**args)
680
- @read_options = args[:read_options] if args.key?(:read_options)
681
- @query = args[:query] if args.key?(:query)
682
- @partition_id = args[:partition_id] if args.key?(:partition_id)
683
- @gql_query = args[:gql_query] if args.key?(:gql_query)
777
+ @found = args[:found] if args.key?(:found)
778
+ @missing = args[:missing] if args.key?(:missing)
779
+ @deferred = args[:deferred] if args.key?(:deferred)
684
780
  end
685
781
  end
686
782
 
687
- # A filter that merges multiple other filters using the given operator.
688
- class CompositeFilter
783
+ # The response for Datastore.RunQuery.
784
+ class RunQueryResponse
689
785
  include Google::Apis::Core::Hashable
690
786
 
691
- # The list of filters to combine.
692
- # Must contain at least one filter.
693
- # Corresponds to the JSON property `filters`
694
- # @return [Array<Google::Apis::DatastoreV1::Filter>]
695
- attr_accessor :filters
787
+ # A query for entities.
788
+ # Corresponds to the JSON property `query`
789
+ # @return [Google::Apis::DatastoreV1::Query]
790
+ attr_accessor :query
696
791
 
697
- # The operator for combining multiple filters.
698
- # Corresponds to the JSON property `op`
699
- # @return [String]
700
- attr_accessor :op
792
+ # A batch of results produced by a query.
793
+ # Corresponds to the JSON property `batch`
794
+ # @return [Google::Apis::DatastoreV1::QueryResultBatch]
795
+ attr_accessor :batch
701
796
 
702
797
  def initialize(**args)
703
798
  update!(**args)
@@ -705,20 +800,24 @@ module Google
705
800
 
706
801
  # Update properties of this object
707
802
  def update!(**args)
708
- @filters = args[:filters] if args.key?(:filters)
709
- @op = args[:op] if args.key?(:op)
803
+ @query = args[:query] if args.key?(:query)
804
+ @batch = args[:batch] if args.key?(:batch)
710
805
  end
711
806
  end
712
807
 
713
- # The response for Datastore.AllocateIds.
714
- class AllocateIdsResponse
808
+ # The desired order for a specific property.
809
+ class PropertyOrder
715
810
  include Google::Apis::Core::Hashable
716
811
 
717
- # The keys specified in the request (in the same order), each with
718
- # its key path completed with a newly allocated ID.
719
- # Corresponds to the JSON property `keys`
720
- # @return [Array<Google::Apis::DatastoreV1::Key>]
721
- attr_accessor :keys
812
+ # A reference to a property relative to the kind expressions.
813
+ # Corresponds to the JSON property `property`
814
+ # @return [Google::Apis::DatastoreV1::PropertyReference]
815
+ attr_accessor :property
816
+
817
+ # The direction to order by. Defaults to `ASCENDING`.
818
+ # Corresponds to the JSON property `direction`
819
+ # @return [String]
820
+ attr_accessor :direction
722
821
 
723
822
  def initialize(**args)
724
823
  update!(**args)
@@ -726,73 +825,41 @@ module Google
726
825
 
727
826
  # Update properties of this object
728
827
  def update!(**args)
729
- @keys = args[:keys] if args.key?(:keys)
828
+ @property = args[:property] if args.key?(:property)
829
+ @direction = args[:direction] if args.key?(:direction)
730
830
  end
731
831
  end
732
832
 
733
- # A query for entities.
734
- class Query
833
+ # The request for Datastore.Commit.
834
+ class CommitRequest
735
835
  include Google::Apis::Core::Hashable
736
836
 
737
- # The projection to return. Defaults to returning all properties.
738
- # Corresponds to the JSON property `projection`
739
- # @return [Array<Google::Apis::DatastoreV1::Projection>]
740
- attr_accessor :projection
741
-
742
- # An ending point for the query results. Query cursors are
743
- # returned in query result batches and
744
- # [can only be used to limit the same query](https://cloud.google.com/datastore/
745
- # docs/concepts/queries#cursors_limits_and_offsets).
746
- # Corresponds to the JSON property `endCursor`
837
+ # The identifier of the transaction associated with the commit. A
838
+ # transaction identifier is returned by a call to
839
+ # Datastore.BeginTransaction.
840
+ # Corresponds to the JSON property `transaction`
747
841
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
748
842
  # @return [String]
749
- attr_accessor :end_cursor
750
-
751
- # The maximum number of results to return. Applies after all other
752
- # constraints. Optional.
753
- # Unspecified is interpreted as no limit.
754
- # Must be >= 0 if specified.
755
- # Corresponds to the JSON property `limit`
756
- # @return [Fixnum]
757
- attr_accessor :limit
758
-
759
- # A holder for any type of filter.
760
- # Corresponds to the JSON property `filter`
761
- # @return [Google::Apis::DatastoreV1::Filter]
762
- attr_accessor :filter
763
-
764
- # The number of results to skip. Applies before limit, but after all other
765
- # constraints. Optional. Must be >= 0 if specified.
766
- # Corresponds to the JSON property `offset`
767
- # @return [Fixnum]
768
- attr_accessor :offset
843
+ attr_accessor :transaction
769
844
 
770
- # A starting point for the query results. Query cursors are
771
- # returned in query result batches and
772
- # [can only be used to continue the same query](https://cloud.google.com/
773
- # datastore/docs/concepts/queries#cursors_limits_and_offsets).
774
- # Corresponds to the JSON property `startCursor`
775
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
845
+ # The type of commit to perform. Defaults to `TRANSACTIONAL`.
846
+ # Corresponds to the JSON property `mode`
776
847
  # @return [String]
777
- attr_accessor :start_cursor
778
-
779
- # The kinds to query (if empty, returns entities of all kinds).
780
- # Currently at most 1 kind may be specified.
781
- # Corresponds to the JSON property `kind`
782
- # @return [Array<Google::Apis::DatastoreV1::KindExpression>]
783
- attr_accessor :kind
784
-
785
- # The properties to make distinct. The query results will contain the first
786
- # result for each distinct combination of values for the given properties
787
- # (if empty, all results are returned).
788
- # Corresponds to the JSON property `distinctOn`
789
- # @return [Array<Google::Apis::DatastoreV1::PropertyReference>]
790
- attr_accessor :distinct_on
848
+ attr_accessor :mode
791
849
 
792
- # The order to apply to the query results (if empty, order is unspecified).
793
- # Corresponds to the JSON property `order`
794
- # @return [Array<Google::Apis::DatastoreV1::PropertyOrder>]
795
- attr_accessor :order
850
+ # The mutations to perform.
851
+ # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
852
+ # applied in order. The following sequences of mutations affecting a single
853
+ # entity are not permitted in a single `Commit` request:
854
+ # - `insert` followed by `insert`
855
+ # - `update` followed by `insert`
856
+ # - `upsert` followed by `insert`
857
+ # - `delete` followed by `update`
858
+ # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
859
+ # entity.
860
+ # Corresponds to the JSON property `mutations`
861
+ # @return [Array<Google::Apis::DatastoreV1::Mutation>]
862
+ attr_accessor :mutations
796
863
 
797
864
  def initialize(**args)
798
865
  update!(**args)
@@ -800,37 +867,33 @@ module Google
800
867
 
801
868
  # Update properties of this object
802
869
  def update!(**args)
803
- @projection = args[:projection] if args.key?(:projection)
804
- @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
805
- @limit = args[:limit] if args.key?(:limit)
806
- @filter = args[:filter] if args.key?(:filter)
807
- @offset = args[:offset] if args.key?(:offset)
808
- @start_cursor = args[:start_cursor] if args.key?(:start_cursor)
809
- @kind = args[:kind] if args.key?(:kind)
810
- @distinct_on = args[:distinct_on] if args.key?(:distinct_on)
811
- @order = args[:order] if args.key?(:order)
870
+ @transaction = args[:transaction] if args.key?(:transaction)
871
+ @mode = args[:mode] if args.key?(:mode)
872
+ @mutations = args[:mutations] if args.key?(:mutations)
812
873
  end
813
874
  end
814
875
 
815
- # A filter on a specific property.
816
- class PropertyFilter
876
+ # The request for Datastore.BeginTransaction.
877
+ class BeginTransactionRequest
817
878
  include Google::Apis::Core::Hashable
818
879
 
819
- # A message that can hold any of the supported value types and associated
820
- # metadata.
821
- # Corresponds to the JSON property `value`
822
- # @return [Google::Apis::DatastoreV1::Value]
823
- attr_accessor :value
880
+ def initialize(**args)
881
+ update!(**args)
882
+ end
824
883
 
825
- # A reference to a property relative to the kind expressions.
826
- # Corresponds to the JSON property `property`
827
- # @return [Google::Apis::DatastoreV1::PropertyReference]
828
- attr_accessor :property
884
+ # Update properties of this object
885
+ def update!(**args)
886
+ end
887
+ end
829
888
 
830
- # The operator to filter by.
831
- # Corresponds to the JSON property `op`
889
+ # A representation of a kind.
890
+ class KindExpression
891
+ include Google::Apis::Core::Hashable
892
+
893
+ # The name of the kind.
894
+ # Corresponds to the JSON property `name`
832
895
  # @return [String]
833
- attr_accessor :op
896
+ attr_accessor :name
834
897
 
835
898
  def initialize(**args)
836
899
  update!(**args)
@@ -838,41 +901,57 @@ module Google
838
901
 
839
902
  # Update properties of this object
840
903
  def update!(**args)
841
- @value = args[:value] if args.key?(:value)
842
- @property = args[:property] if args.key?(:property)
843
- @op = args[:op] if args.key?(:op)
904
+ @name = args[:name] if args.key?(:name)
844
905
  end
845
906
  end
846
907
 
847
- # The result of fetching an entity from Datastore.
848
- class EntityResult
908
+ # An object representing a latitude/longitude pair. This is expressed as a pair
909
+ # of doubles representing degrees latitude and degrees longitude. Unless
910
+ # specified otherwise, this must conform to the
911
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
912
+ # standard</a>. Values must be within normalized ranges.
913
+ # Example of normalization code in Python:
914
+ # def NormalizeLongitude(longitude):
915
+ # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
916
+ # q, r = divmod(longitude, 360.0)
917
+ # if r > 180.0 or (r == 180.0 and q <= -1.0):
918
+ # return r - 360.0
919
+ # return r
920
+ # def NormalizeLatLng(latitude, longitude):
921
+ # """Wraps decimal degrees latitude and longitude to
922
+ # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
923
+ # r = latitude % 360.0
924
+ # if r <= 90.0:
925
+ # return r, NormalizeLongitude(longitude)
926
+ # elif r >= 270.0:
927
+ # return r - 360, NormalizeLongitude(longitude)
928
+ # else:
929
+ # return 180 - r, NormalizeLongitude(longitude + 180.0)
930
+ # assert 180.0 == NormalizeLongitude(180.0)
931
+ # assert -180.0 == NormalizeLongitude(-180.0)
932
+ # assert -179.0 == NormalizeLongitude(181.0)
933
+ # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
934
+ # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
935
+ # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
936
+ # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
937
+ # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
938
+ # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
939
+ # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
940
+ # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
941
+ # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
942
+ # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
943
+ class LatLng
849
944
  include Google::Apis::Core::Hashable
850
945
 
851
- # A cursor that points to the position after the result entity.
852
- # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
853
- # Corresponds to the JSON property `cursor`
854
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
855
- # @return [String]
856
- attr_accessor :cursor
857
-
858
- # The version of the entity, a strictly positive number that monotonically
859
- # increases with changes to the entity.
860
- # This field is set for `FULL` entity
861
- # results.
862
- # For missing entities in `LookupResponse`, this
863
- # is the version of the snapshot that was used to look up the entity, and it
864
- # is always set except for eventually consistent reads.
865
- # Corresponds to the JSON property `version`
866
- # @return [Fixnum]
867
- attr_accessor :version
946
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
947
+ # Corresponds to the JSON property `latitude`
948
+ # @return [Float]
949
+ attr_accessor :latitude
868
950
 
869
- # A Datastore data object.
870
- # An entity is limited to 1 megabyte when stored. That _roughly_
871
- # corresponds to a limit of 1 megabyte for the serialized form of this
872
- # message.
873
- # Corresponds to the JSON property `entity`
874
- # @return [Google::Apis::DatastoreV1::Entity]
875
- attr_accessor :entity
951
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
952
+ # Corresponds to the JSON property `longitude`
953
+ # @return [Float]
954
+ attr_accessor :longitude
876
955
 
877
956
  def initialize(**args)
878
957
  update!(**args)
@@ -880,27 +959,55 @@ module Google
880
959
 
881
960
  # Update properties of this object
882
961
  def update!(**args)
883
- @cursor = args[:cursor] if args.key?(:cursor)
884
- @version = args[:version] if args.key?(:version)
885
- @entity = args[:entity] if args.key?(:entity)
962
+ @latitude = args[:latitude] if args.key?(:latitude)
963
+ @longitude = args[:longitude] if args.key?(:longitude)
886
964
  end
887
965
  end
888
966
 
889
- # The response for Datastore.Commit.
890
- class CommitResponse
967
+ # A unique identifier for an entity.
968
+ # If a key's partition ID or any of its path kinds or names are
969
+ # reserved/read-only, the key is reserved/read-only.
970
+ # A reserved/read-only key is forbidden in certain documented contexts.
971
+ class Key
891
972
  include Google::Apis::Core::Hashable
892
973
 
893
- # The number of index entries updated during the commit, or zero if none were
894
- # updated.
895
- # Corresponds to the JSON property `indexUpdates`
896
- # @return [Fixnum]
897
- attr_accessor :index_updates
974
+ # The entity path.
975
+ # An entity path consists of one or more elements composed of a kind and a
976
+ # string or numerical identifier, which identify entities. The first
977
+ # element identifies a _root entity_, the second element identifies
978
+ # a _child_ of the root entity, the third element identifies a child of the
979
+ # second entity, and so forth. The entities identified by all prefixes of
980
+ # the path are called the element's _ancestors_.
981
+ # An entity path is always fully complete: *all* of the entity's ancestors
982
+ # are required to be in the path along with the entity identifier itself.
983
+ # The only exception is that in some documented cases, the identifier in the
984
+ # last path element (for the entity) itself may be omitted. For example,
985
+ # the last path element of the key of `Mutation.insert` may have no
986
+ # identifier.
987
+ # A path can never be empty, and a path can have at most 100 elements.
988
+ # Corresponds to the JSON property `path`
989
+ # @return [Array<Google::Apis::DatastoreV1::PathElement>]
990
+ attr_accessor :path
898
991
 
899
- # The result of performing the mutations.
900
- # The i-th mutation result corresponds to the i-th mutation in the request.
901
- # Corresponds to the JSON property `mutationResults`
902
- # @return [Array<Google::Apis::DatastoreV1::MutationResult>]
903
- attr_accessor :mutation_results
992
+ # A partition ID identifies a grouping of entities. The grouping is always
993
+ # by project and namespace, however the namespace ID may be empty.
994
+ # A partition ID contains several dimensions:
995
+ # project ID and namespace ID.
996
+ # Partition dimensions:
997
+ # - May be `""`.
998
+ # - Must be valid UTF-8 bytes.
999
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
1000
+ # If the value of any dimension matches regex `__.*__`, the partition is
1001
+ # reserved/read-only.
1002
+ # A reserved/read-only partition ID is forbidden in certain documented
1003
+ # contexts.
1004
+ # Foreign partition IDs (in which the project ID does
1005
+ # not match the context project ID ) are discouraged.
1006
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
1007
+ # active state.
1008
+ # Corresponds to the JSON property `partitionId`
1009
+ # @return [Google::Apis::DatastoreV1::PartitionId]
1010
+ attr_accessor :partition_id
904
1011
 
905
1012
  def initialize(**args)
906
1013
  update!(**args)
@@ -908,132 +1015,39 @@ module Google
908
1015
 
909
1016
  # Update properties of this object
910
1017
  def update!(**args)
911
- @index_updates = args[:index_updates] if args.key?(:index_updates)
912
- @mutation_results = args[:mutation_results] if args.key?(:mutation_results)
1018
+ @path = args[:path] if args.key?(:path)
1019
+ @partition_id = args[:partition_id] if args.key?(:partition_id)
913
1020
  end
914
1021
  end
915
1022
 
916
- # A message that can hold any of the supported value types and associated
917
- # metadata.
918
- class Value
1023
+ # A reference to a property relative to the kind expressions.
1024
+ class PropertyReference
919
1025
  include Google::Apis::Core::Hashable
920
1026
 
921
- # A Datastore data object.
922
- # An entity is limited to 1 megabyte when stored. That _roughly_
923
- # corresponds to a limit of 1 megabyte for the serialized form of this
924
- # message.
925
- # Corresponds to the JSON property `entityValue`
926
- # @return [Google::Apis::DatastoreV1::Entity]
927
- attr_accessor :entity_value
928
-
929
- # An object representing a latitude/longitude pair. This is expressed as a pair
930
- # of doubles representing degrees latitude and degrees longitude. Unless
931
- # specified otherwise, this must conform to the
932
- # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
933
- # standard</a>. Values must be within normalized ranges.
934
- # Example of normalization code in Python:
935
- # def NormalizeLongitude(longitude):
936
- # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
937
- # q, r = divmod(longitude, 360.0)
938
- # if r > 180.0 or (r == 180.0 and q <= -1.0):
939
- # return r - 360.0
940
- # return r
941
- # def NormalizeLatLng(latitude, longitude):
942
- # """Wraps decimal degrees latitude and longitude to
943
- # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
944
- # r = latitude % 360.0
945
- # if r <= 90.0:
946
- # return r, NormalizeLongitude(longitude)
947
- # elif r >= 270.0:
948
- # return r - 360, NormalizeLongitude(longitude)
949
- # else:
950
- # return 180 - r, NormalizeLongitude(longitude + 180.0)
951
- # assert 180.0 == NormalizeLongitude(180.0)
952
- # assert -180.0 == NormalizeLongitude(-180.0)
953
- # assert -179.0 == NormalizeLongitude(181.0)
954
- # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
955
- # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
956
- # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
957
- # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
958
- # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
959
- # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
960
- # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
961
- # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
962
- # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
963
- # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
964
- # Corresponds to the JSON property `geoPointValue`
965
- # @return [Google::Apis::DatastoreV1::LatLng]
966
- attr_accessor :geo_point_value
967
-
968
- # A unique identifier for an entity.
969
- # If a key's partition ID or any of its path kinds or names are
970
- # reserved/read-only, the key is reserved/read-only.
971
- # A reserved/read-only key is forbidden in certain documented contexts.
972
- # Corresponds to the JSON property `keyValue`
973
- # @return [Google::Apis::DatastoreV1::Key]
974
- attr_accessor :key_value
975
-
976
- # An integer value.
977
- # Corresponds to the JSON property `integerValue`
978
- # @return [Fixnum]
979
- attr_accessor :integer_value
980
-
981
- # A UTF-8 encoded string value.
982
- # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500
983
- # bytes.
984
- # Otherwise, may be set to at least 1,000,000 bytes.
985
- # Corresponds to the JSON property `stringValue`
986
- # @return [String]
987
- attr_accessor :string_value
988
-
989
- # If the value should be excluded from all indexes including those defined
990
- # explicitly.
991
- # Corresponds to the JSON property `excludeFromIndexes`
992
- # @return [Boolean]
993
- attr_accessor :exclude_from_indexes
994
- alias_method :exclude_from_indexes?, :exclude_from_indexes
995
-
996
- # A double value.
997
- # Corresponds to the JSON property `doubleValue`
998
- # @return [Float]
999
- attr_accessor :double_value
1000
-
1001
- # A timestamp value.
1002
- # When stored in the Datastore, precise only to microseconds;
1003
- # any additional precision is rounded down.
1004
- # Corresponds to the JSON property `timestampValue`
1027
+ # The name of the property.
1028
+ # If name includes "."s, it may be interpreted as a property name path.
1029
+ # Corresponds to the JSON property `name`
1005
1030
  # @return [String]
1006
- attr_accessor :timestamp_value
1007
-
1008
- # A boolean value.
1009
- # Corresponds to the JSON property `booleanValue`
1010
- # @return [Boolean]
1011
- attr_accessor :boolean_value
1012
- alias_method :boolean_value?, :boolean_value
1031
+ attr_accessor :name
1013
1032
 
1014
- # A null value.
1015
- # Corresponds to the JSON property `nullValue`
1016
- # @return [String]
1017
- attr_accessor :null_value
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1018
1036
 
1019
- # A blob value.
1020
- # May have at most 1,000,000 bytes.
1021
- # When `exclude_from_indexes` is false, may have at most 1500 bytes.
1022
- # In JSON requests, must be base64-encoded.
1023
- # Corresponds to the JSON property `blobValue`
1024
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
1025
- # @return [String]
1026
- attr_accessor :blob_value
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @name = args[:name] if args.key?(:name)
1040
+ end
1041
+ end
1027
1042
 
1028
- # The `meaning` field should only be populated for backwards compatibility.
1029
- # Corresponds to the JSON property `meaning`
1030
- # @return [Fixnum]
1031
- attr_accessor :meaning
1043
+ # A representation of a property in a projection.
1044
+ class Projection
1045
+ include Google::Apis::Core::Hashable
1032
1046
 
1033
- # An array value.
1034
- # Corresponds to the JSON property `arrayValue`
1035
- # @return [Google::Apis::DatastoreV1::ArrayValue]
1036
- attr_accessor :array_value
1047
+ # A reference to a property relative to the kind expressions.
1048
+ # Corresponds to the JSON property `property`
1049
+ # @return [Google::Apis::DatastoreV1::PropertyReference]
1050
+ attr_accessor :property
1037
1051
 
1038
1052
  def initialize(**args)
1039
1053
  update!(**args)
@@ -1041,50 +1055,20 @@ module Google
1041
1055
 
1042
1056
  # Update properties of this object
1043
1057
  def update!(**args)
1044
- @entity_value = args[:entity_value] if args.key?(:entity_value)
1045
- @geo_point_value = args[:geo_point_value] if args.key?(:geo_point_value)
1046
- @key_value = args[:key_value] if args.key?(:key_value)
1047
- @integer_value = args[:integer_value] if args.key?(:integer_value)
1048
- @string_value = args[:string_value] if args.key?(:string_value)
1049
- @exclude_from_indexes = args[:exclude_from_indexes] if args.key?(:exclude_from_indexes)
1050
- @double_value = args[:double_value] if args.key?(:double_value)
1051
- @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
1052
- @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
1053
- @null_value = args[:null_value] if args.key?(:null_value)
1054
- @blob_value = args[:blob_value] if args.key?(:blob_value)
1055
- @meaning = args[:meaning] if args.key?(:meaning)
1056
- @array_value = args[:array_value] if args.key?(:array_value)
1058
+ @property = args[:property] if args.key?(:property)
1057
1059
  end
1058
1060
  end
1059
1061
 
1060
- # A partition ID identifies a grouping of entities. The grouping is always
1061
- # by project and namespace, however the namespace ID may be empty.
1062
- # A partition ID contains several dimensions:
1063
- # project ID and namespace ID.
1064
- # Partition dimensions:
1065
- # - May be `""`.
1066
- # - Must be valid UTF-8 bytes.
1067
- # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
1068
- # If the value of any dimension matches regex `__.*__`, the partition is
1069
- # reserved/read-only.
1070
- # A reserved/read-only partition ID is forbidden in certain documented
1071
- # contexts.
1072
- # Foreign partition IDs (in which the project ID does
1073
- # not match the context project ID ) are discouraged.
1074
- # Reads and writes of foreign partition IDs may fail if the project is not in an
1075
- # active state.
1076
- class PartitionId
1062
+ # An array value.
1063
+ class ArrayValue
1077
1064
  include Google::Apis::Core::Hashable
1078
1065
 
1079
- # If not empty, the ID of the namespace to which the entities belong.
1080
- # Corresponds to the JSON property `namespaceId`
1081
- # @return [String]
1082
- attr_accessor :namespace_id
1083
-
1084
- # The ID of the project to which the entities belong.
1085
- # Corresponds to the JSON property `projectId`
1086
- # @return [String]
1087
- attr_accessor :project_id
1066
+ # Values in the array.
1067
+ # The order of this array may not be preserved if it contains a mix of
1068
+ # indexed and unindexed values.
1069
+ # Corresponds to the JSON property `values`
1070
+ # @return [Array<Google::Apis::DatastoreV1::Value>]
1071
+ attr_accessor :values
1088
1072
 
1089
1073
  def initialize(**args)
1090
1074
  update!(**args)
@@ -1092,35 +1076,51 @@ module Google
1092
1076
 
1093
1077
  # Update properties of this object
1094
1078
  def update!(**args)
1095
- @namespace_id = args[:namespace_id] if args.key?(:namespace_id)
1096
- @project_id = args[:project_id] if args.key?(:project_id)
1079
+ @values = args[:values] if args.key?(:values)
1097
1080
  end
1098
1081
  end
1099
1082
 
1100
- # A Datastore data object.
1101
- # An entity is limited to 1 megabyte when stored. That _roughly_
1102
- # corresponds to a limit of 1 megabyte for the serialized form of this
1103
- # message.
1104
- class Entity
1083
+ # A mutation to apply to an entity.
1084
+ class Mutation
1105
1085
  include Google::Apis::Core::Hashable
1106
1086
 
1087
+ # A Datastore data object.
1088
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1089
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1090
+ # message.
1091
+ # Corresponds to the JSON property `update`
1092
+ # @return [Google::Apis::DatastoreV1::Entity]
1093
+ attr_accessor :update
1094
+
1095
+ # A Datastore data object.
1096
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1097
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1098
+ # message.
1099
+ # Corresponds to the JSON property `upsert`
1100
+ # @return [Google::Apis::DatastoreV1::Entity]
1101
+ attr_accessor :upsert
1102
+
1107
1103
  # A unique identifier for an entity.
1108
1104
  # If a key's partition ID or any of its path kinds or names are
1109
1105
  # reserved/read-only, the key is reserved/read-only.
1110
1106
  # A reserved/read-only key is forbidden in certain documented contexts.
1111
- # Corresponds to the JSON property `key`
1107
+ # Corresponds to the JSON property `delete`
1112
1108
  # @return [Google::Apis::DatastoreV1::Key]
1113
- attr_accessor :key
1109
+ attr_accessor :delete
1114
1110
 
1115
- # The entity's properties.
1116
- # The map's keys are property names.
1117
- # A property name matching regex `__.*__` is reserved.
1118
- # A reserved property name is forbidden in certain documented contexts.
1119
- # The name must not contain more than 500 characters.
1120
- # The name cannot be `""`.
1121
- # Corresponds to the JSON property `properties`
1122
- # @return [Hash<String,Google::Apis::DatastoreV1::Value>]
1123
- attr_accessor :properties
1111
+ # A Datastore data object.
1112
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1113
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1114
+ # message.
1115
+ # Corresponds to the JSON property `insert`
1116
+ # @return [Google::Apis::DatastoreV1::Entity]
1117
+ attr_accessor :insert
1118
+
1119
+ # The version of the entity that this mutation is being applied to. If this
1120
+ # does not match the current version on the server, the mutation conflicts.
1121
+ # Corresponds to the JSON property `baseVersion`
1122
+ # @return [Fixnum]
1123
+ attr_accessor :base_version
1124
1124
 
1125
1125
  def initialize(**args)
1126
1126
  update!(**args)
@@ -1128,59 +1128,47 @@ module Google
1128
1128
 
1129
1129
  # Update properties of this object
1130
1130
  def update!(**args)
1131
- @key = args[:key] if args.key?(:key)
1132
- @properties = args[:properties] if args.key?(:properties)
1131
+ @update = args[:update] if args.key?(:update)
1132
+ @upsert = args[:upsert] if args.key?(:upsert)
1133
+ @delete = args[:delete] if args.key?(:delete)
1134
+ @insert = args[:insert] if args.key?(:insert)
1135
+ @base_version = args[:base_version] if args.key?(:base_version)
1133
1136
  end
1134
1137
  end
1135
1138
 
1136
- # A batch of results produced by a query.
1137
- class QueryResultBatch
1139
+ # The options shared by read requests.
1140
+ class ReadOptions
1138
1141
  include Google::Apis::Core::Hashable
1139
1142
 
1140
- # The results for this batch.
1141
- # Corresponds to the JSON property `entityResults`
1142
- # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
1143
- attr_accessor :entity_results
1144
-
1145
- # A cursor that points to the position after the last result in the batch.
1146
- # Corresponds to the JSON property `endCursor`
1147
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
1148
- # @return [String]
1149
- attr_accessor :end_cursor
1150
-
1151
- # The state of the query after the current batch.
1152
- # Corresponds to the JSON property `moreResults`
1143
+ # The non-transactional read consistency to use.
1144
+ # Cannot be set to `STRONG` for global queries.
1145
+ # Corresponds to the JSON property `readConsistency`
1153
1146
  # @return [String]
1154
- attr_accessor :more_results
1155
-
1156
- # The version number of the snapshot this batch was returned from.
1157
- # This applies to the range of results from the query's `start_cursor` (or
1158
- # the beginning of the query if no cursor was given) to this batch's
1159
- # `end_cursor` (not the query's `end_cursor`).
1160
- # In a single transaction, subsequent query result batches for the same query
1161
- # can have a greater snapshot version number. Each batch's snapshot version
1162
- # is valid for all preceding batches.
1163
- # The value will be zero for eventually consistent queries.
1164
- # Corresponds to the JSON property `snapshotVersion`
1165
- # @return [Fixnum]
1166
- attr_accessor :snapshot_version
1147
+ attr_accessor :read_consistency
1167
1148
 
1168
- # A cursor that points to the position after the last skipped result.
1169
- # Will be set when `skipped_results` != 0.
1170
- # Corresponds to the JSON property `skippedCursor`
1149
+ # The identifier of the transaction in which to read. A
1150
+ # transaction identifier is returned by a call to
1151
+ # Datastore.BeginTransaction.
1152
+ # Corresponds to the JSON property `transaction`
1171
1153
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
1172
1154
  # @return [String]
1173
- attr_accessor :skipped_cursor
1155
+ attr_accessor :transaction
1174
1156
 
1175
- # The number of results skipped, typically because of an offset.
1176
- # Corresponds to the JSON property `skippedResults`
1177
- # @return [Fixnum]
1178
- attr_accessor :skipped_results
1157
+ def initialize(**args)
1158
+ update!(**args)
1159
+ end
1179
1160
 
1180
- # The result type for every entity in `entity_results`.
1181
- # Corresponds to the JSON property `entityResultType`
1182
- # @return [String]
1183
- attr_accessor :entity_result_type
1161
+ # Update properties of this object
1162
+ def update!(**args)
1163
+ @read_consistency = args[:read_consistency] if args.key?(:read_consistency)
1164
+ @transaction = args[:transaction] if args.key?(:transaction)
1165
+ end
1166
+ end
1167
+
1168
+ # The response for Datastore.Rollback.
1169
+ # (an empty message).
1170
+ class RollbackResponse
1171
+ include Google::Apis::Core::Hashable
1184
1172
 
1185
1173
  def initialize(**args)
1186
1174
  update!(**args)
@@ -1188,29 +1176,36 @@ module Google
1188
1176
 
1189
1177
  # Update properties of this object
1190
1178
  def update!(**args)
1191
- @entity_results = args[:entity_results] if args.key?(:entity_results)
1192
- @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
1193
- @more_results = args[:more_results] if args.key?(:more_results)
1194
- @snapshot_version = args[:snapshot_version] if args.key?(:snapshot_version)
1195
- @skipped_cursor = args[:skipped_cursor] if args.key?(:skipped_cursor)
1196
- @skipped_results = args[:skipped_results] if args.key?(:skipped_results)
1197
- @entity_result_type = args[:entity_result_type] if args.key?(:entity_result_type)
1198
1179
  end
1199
1180
  end
1200
1181
 
1201
- # The request for Datastore.Lookup.
1202
- class LookupRequest
1182
+ # The result of applying a mutation.
1183
+ class MutationResult
1203
1184
  include Google::Apis::Core::Hashable
1204
1185
 
1205
- # The options shared by read requests.
1206
- # Corresponds to the JSON property `readOptions`
1207
- # @return [Google::Apis::DatastoreV1::ReadOptions]
1208
- attr_accessor :read_options
1186
+ # A unique identifier for an entity.
1187
+ # If a key's partition ID or any of its path kinds or names are
1188
+ # reserved/read-only, the key is reserved/read-only.
1189
+ # A reserved/read-only key is forbidden in certain documented contexts.
1190
+ # Corresponds to the JSON property `key`
1191
+ # @return [Google::Apis::DatastoreV1::Key]
1192
+ attr_accessor :key
1209
1193
 
1210
- # Keys of entities to look up.
1211
- # Corresponds to the JSON property `keys`
1212
- # @return [Array<Google::Apis::DatastoreV1::Key>]
1213
- attr_accessor :keys
1194
+ # The version of the entity on the server after processing the mutation. If
1195
+ # the mutation doesn't change anything on the server, then the version will
1196
+ # be the version of the current entity or, if no entity is present, a version
1197
+ # that is strictly greater than the version of any previous entity and less
1198
+ # than the version of any possible future entity.
1199
+ # Corresponds to the JSON property `version`
1200
+ # @return [Fixnum]
1201
+ attr_accessor :version
1202
+
1203
+ # Whether a conflict was detected for this mutation. Always false when a
1204
+ # conflict detection strategy field is not set in the mutation.
1205
+ # Corresponds to the JSON property `conflictDetected`
1206
+ # @return [Boolean]
1207
+ attr_accessor :conflict_detected
1208
+ alias_method :conflict_detected?, :conflict_detected
1214
1209
 
1215
1210
  def initialize(**args)
1216
1211
  update!(**args)
@@ -1218,39 +1213,46 @@ module Google
1218
1213
 
1219
1214
  # Update properties of this object
1220
1215
  def update!(**args)
1221
- @read_options = args[:read_options] if args.key?(:read_options)
1222
- @keys = args[:keys] if args.key?(:keys)
1216
+ @key = args[:key] if args.key?(:key)
1217
+ @version = args[:version] if args.key?(:version)
1218
+ @conflict_detected = args[:conflict_detected] if args.key?(:conflict_detected)
1223
1219
  end
1224
1220
  end
1225
1221
 
1226
- # A (kind, ID/name) pair used to construct a key path.
1227
- # If either name or ID is set, the element is complete.
1228
- # If neither is set, the element is incomplete.
1229
- class PathElement
1222
+ # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
1223
+ class GqlQuery
1230
1224
  include Google::Apis::Core::Hashable
1231
1225
 
1232
- # The kind of the entity.
1233
- # A kind matching regex `__.*__` is reserved/read-only.
1234
- # A kind must not contain more than 1500 bytes when UTF-8 encoded.
1235
- # Cannot be `""`.
1236
- # Corresponds to the JSON property `kind`
1226
+ # A string of the format described
1227
+ # [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
1228
+ # Corresponds to the JSON property `queryString`
1237
1229
  # @return [String]
1238
- attr_accessor :kind
1230
+ attr_accessor :query_string
1239
1231
 
1240
- # The auto-allocated ID of the entity.
1241
- # Never equal to zero. Values less than zero are discouraged and may not
1242
- # be supported in the future.
1243
- # Corresponds to the JSON property `id`
1244
- # @return [Fixnum]
1245
- attr_accessor :id
1232
+ # When false, the query string must not contain any literals and instead must
1233
+ # bind all values. For example,
1234
+ # `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
1235
+ # `SELECT * FROM Kind WHERE a = @value` is.
1236
+ # Corresponds to the JSON property `allowLiterals`
1237
+ # @return [Boolean]
1238
+ attr_accessor :allow_literals
1239
+ alias_method :allow_literals?, :allow_literals
1246
1240
 
1247
- # The name of the entity.
1248
- # A name matching regex `__.*__` is reserved/read-only.
1249
- # A name must not be more than 1500 bytes when UTF-8 encoded.
1250
- # Cannot be `""`.
1251
- # Corresponds to the JSON property `name`
1252
- # @return [String]
1253
- attr_accessor :name
1241
+ # For each non-reserved named binding site in the query string, there must be
1242
+ # a named parameter with that name, but not necessarily the inverse.
1243
+ # Key must match regex `A-Za-z_$*`, must not match regex
1244
+ # `__.*__`, and must not be `""`.
1245
+ # Corresponds to the JSON property `namedBindings`
1246
+ # @return [Hash<String,Google::Apis::DatastoreV1::GqlQueryParameter>]
1247
+ attr_accessor :named_bindings
1248
+
1249
+ # Numbered binding site @1 references the first numbered parameter,
1250
+ # effectively using 1-based indexing, rather than the usual 0.
1251
+ # For each binding site numbered i in `query_string`, there must be an i-th
1252
+ # numbered parameter. The inverse must also be true.
1253
+ # Corresponds to the JSON property `positionalBindings`
1254
+ # @return [Array<Google::Apis::DatastoreV1::GqlQueryParameter>]
1255
+ attr_accessor :positional_bindings
1254
1256
 
1255
1257
  def initialize(**args)
1256
1258
  update!(**args)
@@ -1258,28 +1260,26 @@ module Google
1258
1260
 
1259
1261
  # Update properties of this object
1260
1262
  def update!(**args)
1261
- @kind = args[:kind] if args.key?(:kind)
1262
- @id = args[:id] if args.key?(:id)
1263
- @name = args[:name] if args.key?(:name)
1263
+ @query_string = args[:query_string] if args.key?(:query_string)
1264
+ @allow_literals = args[:allow_literals] if args.key?(:allow_literals)
1265
+ @named_bindings = args[:named_bindings] if args.key?(:named_bindings)
1266
+ @positional_bindings = args[:positional_bindings] if args.key?(:positional_bindings)
1264
1267
  end
1265
1268
  end
1266
1269
 
1267
- # A binding parameter for a GQL query.
1268
- class GqlQueryParameter
1270
+ # A holder for any type of filter.
1271
+ class Filter
1269
1272
  include Google::Apis::Core::Hashable
1270
1273
 
1271
- # A query cursor. Query cursors are returned in query
1272
- # result batches.
1273
- # Corresponds to the JSON property `cursor`
1274
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
1275
- # @return [String]
1276
- attr_accessor :cursor
1274
+ # A filter that merges multiple other filters using the given operator.
1275
+ # Corresponds to the JSON property `compositeFilter`
1276
+ # @return [Google::Apis::DatastoreV1::CompositeFilter]
1277
+ attr_accessor :composite_filter
1277
1278
 
1278
- # A message that can hold any of the supported value types and associated
1279
- # metadata.
1280
- # Corresponds to the JSON property `value`
1281
- # @return [Google::Apis::DatastoreV1::Value]
1282
- attr_accessor :value
1279
+ # A filter on a specific property.
1280
+ # Corresponds to the JSON property `propertyFilter`
1281
+ # @return [Google::Apis::DatastoreV1::PropertyFilter]
1282
+ attr_accessor :property_filter
1283
1283
 
1284
1284
  def initialize(**args)
1285
1285
  update!(**args)
@@ -1287,8 +1287,8 @@ module Google
1287
1287
 
1288
1288
  # Update properties of this object
1289
1289
  def update!(**args)
1290
- @cursor = args[:cursor] if args.key?(:cursor)
1291
- @value = args[:value] if args.key?(:value)
1290
+ @composite_filter = args[:composite_filter] if args.key?(:composite_filter)
1291
+ @property_filter = args[:property_filter] if args.key?(:property_filter)
1292
1292
  end
1293
1293
  end
1294
1294
  end