google-api-client 0.13.2 → 0.13.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (524) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +149 -0
  3. data/bin/generate-api +6 -2
  4. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +3 -3
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +46 -46
  6. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +15 -15
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +6 -6
  8. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +2 -2
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1394 -1394
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +322 -322
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +449 -449
  12. data/generated/google/apis/adexchangebuyer_v1_2.rb +35 -0
  13. data/generated/google/apis/adexchangebuyer_v1_2/classes.rb +457 -0
  14. data/generated/google/apis/adexchangebuyer_v1_2/representations.rb +189 -0
  15. data/generated/google/apis/adexchangebuyer_v1_2/service.rb +329 -0
  16. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1347 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +498 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +873 -0
  20. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  21. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -1
  22. data/generated/google/apis/adexchangeseller_v1.rb +37 -0
  23. data/generated/google/apis/adexchangeseller_v1/classes.rb +557 -0
  24. data/generated/google/apis/adexchangeseller_v1/representations.rb +248 -0
  25. data/generated/google/apis/adexchangeseller_v1/service.rb +568 -0
  26. data/generated/google/apis/adexchangeseller_v1_1.rb +37 -0
  27. data/generated/google/apis/adexchangeseller_v1_1/classes.rb +842 -0
  28. data/generated/google/apis/adexchangeseller_v1_1/representations.rb +364 -0
  29. data/generated/google/apis/adexchangeseller_v1_1/service.rb +771 -0
  30. data/generated/google/apis/adexperiencereport_v1.rb +35 -0
  31. data/generated/google/apis/adexperiencereport_v1/classes.rb +138 -0
  32. data/generated/google/apis/adexperiencereport_v1/representations.rb +77 -0
  33. data/generated/google/apis/adexperiencereport_v1/service.rb +123 -0
  34. data/generated/google/apis/admin_directory_v1.rb +1 -1
  35. data/generated/google/apis/admin_directory_v1/classes.rb +60 -0
  36. data/generated/google/apis/admin_directory_v1/representations.rb +29 -0
  37. data/generated/google/apis/admin_directory_v1/service.rb +39 -0
  38. data/generated/google/apis/adsense_v1_4.rb +1 -1
  39. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  40. data/generated/google/apis/analytics_v2_4.rb +37 -0
  41. data/generated/google/apis/analytics_v2_4/classes.rb +26 -0
  42. data/generated/google/apis/analytics_v2_4/representations.rb +26 -0
  43. data/generated/google/apis/analytics_v2_4/service.rb +345 -0
  44. data/generated/google/apis/analytics_v3.rb +1 -1
  45. data/generated/google/apis/analytics_v3/classes.rb +15 -2
  46. data/generated/google/apis/analytics_v3/representations.rb +3 -0
  47. data/generated/google/apis/analyticsreporting_v4.rb +4 -4
  48. data/generated/google/apis/analyticsreporting_v4/classes.rb +891 -891
  49. data/generated/google/apis/analyticsreporting_v4/representations.rb +189 -189
  50. data/generated/google/apis/androiddeviceprovisioning_v1.rb +32 -0
  51. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +917 -0
  52. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +447 -0
  53. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +419 -0
  54. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  55. data/generated/google/apis/androidenterprise_v1/classes.rb +31 -0
  56. data/generated/google/apis/androidenterprise_v1/representations.rb +14 -0
  57. data/generated/google/apis/androidenterprise_v1/service.rb +76 -0
  58. data/generated/google/apis/androidmanagement_v1.rb +35 -0
  59. data/generated/google/apis/androidmanagement_v1/classes.rb +2039 -0
  60. data/generated/google/apis/androidmanagement_v1/representations.rb +702 -0
  61. data/generated/google/apis/androidmanagement_v1/service.rb +796 -0
  62. data/generated/google/apis/androidpublisher_v1.rb +34 -0
  63. data/generated/google/apis/androidpublisher_v1/classes.rb +67 -0
  64. data/generated/google/apis/androidpublisher_v1/representations.rb +42 -0
  65. data/generated/google/apis/androidpublisher_v1/service.rb +150 -0
  66. data/generated/google/apis/androidpublisher_v1_1.rb +34 -0
  67. data/generated/google/apis/androidpublisher_v1_1/classes.rb +123 -0
  68. data/generated/google/apis/androidpublisher_v1_1/representations.rb +60 -0
  69. data/generated/google/apis/androidpublisher_v1_1/service.rb +192 -0
  70. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  71. data/generated/google/apis/androidpublisher_v2/classes.rb +21 -0
  72. data/generated/google/apis/androidpublisher_v2/representations.rb +3 -0
  73. data/generated/google/apis/androidpublisher_v2/service.rb +6 -2
  74. data/generated/google/apis/appengine_v1.rb +4 -4
  75. data/generated/google/apis/appengine_v1/classes.rb +1519 -1474
  76. data/generated/google/apis/appengine_v1/representations.rb +351 -335
  77. data/generated/google/apis/appengine_v1/service.rb +255 -239
  78. data/generated/google/apis/appengine_v1alpha.rb +41 -0
  79. data/generated/google/apis/appengine_v1alpha/classes.rb +987 -0
  80. data/generated/google/apis/appengine_v1alpha/representations.rb +397 -0
  81. data/generated/google/apis/appengine_v1alpha/service.rb +631 -0
  82. data/generated/google/apis/appengine_v1beta.rb +41 -0
  83. data/generated/google/apis/appengine_v1beta/classes.rb +2876 -0
  84. data/generated/google/apis/appengine_v1beta/representations.rb +1138 -0
  85. data/generated/google/apis/appengine_v1beta/service.rb +1546 -0
  86. data/generated/google/apis/appengine_v1beta4.rb +41 -0
  87. data/generated/google/apis/appengine_v1beta4/classes.rb +2170 -0
  88. data/generated/google/apis/appengine_v1beta4/representations.rb +824 -0
  89. data/generated/google/apis/appengine_v1beta4/service.rb +876 -0
  90. data/generated/google/apis/appengine_v1beta5.rb +41 -0
  91. data/generated/google/apis/appengine_v1beta5/classes.rb +2168 -0
  92. data/generated/google/apis/appengine_v1beta5/representations.rb +822 -0
  93. data/generated/google/apis/appengine_v1beta5/service.rb +877 -0
  94. data/generated/google/apis/appsactivity_v1.rb +1 -1
  95. data/generated/google/apis/appstate_v1.rb +1 -1
  96. data/generated/google/apis/bigquery_v2.rb +1 -1
  97. data/generated/google/apis/bigquery_v2/classes.rb +106 -18
  98. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  99. data/generated/google/apis/bigquerydatatransfer_v1.rb +41 -0
  100. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +886 -0
  101. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +343 -0
  102. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +1317 -0
  103. data/generated/google/apis/blogger_v2.rb +34 -0
  104. data/generated/google/apis/blogger_v2/classes.rb +947 -0
  105. data/generated/google/apis/blogger_v2/representations.rb +465 -0
  106. data/generated/google/apis/blogger_v2/service.rb +424 -0
  107. data/generated/google/apis/calendar_v3.rb +1 -1
  108. data/generated/google/apis/calendar_v3/classes.rb +4 -207
  109. data/generated/google/apis/calendar_v3/representations.rb +0 -97
  110. data/generated/google/apis/calendar_v3/service.rb +8 -4
  111. data/generated/google/apis/classroom_v1.rb +27 -27
  112. data/generated/google/apis/classroom_v1/classes.rb +1037 -926
  113. data/generated/google/apis/classroom_v1/representations.rb +294 -244
  114. data/generated/google/apis/classroom_v1/service.rb +1114 -1109
  115. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  116. data/generated/google/apis/cloudbilling_v1/classes.rb +473 -56
  117. data/generated/google/apis/cloudbilling_v1/representations.rb +176 -10
  118. data/generated/google/apis/cloudbilling_v1/service.rb +182 -89
  119. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  120. data/generated/google/apis/cloudbuild_v1/classes.rb +666 -625
  121. data/generated/google/apis/cloudbuild_v1/representations.rb +132 -116
  122. data/generated/google/apis/cloudbuild_v1/service.rb +158 -158
  123. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  124. data/generated/google/apis/clouddebugger_v2/classes.rb +637 -639
  125. data/generated/google/apis/clouddebugger_v2/representations.rb +139 -139
  126. data/generated/google/apis/clouddebugger_v2/service.rb +157 -157
  127. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  128. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +310 -310
  129. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +77 -77
  130. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +144 -144
  131. data/generated/google/apis/cloudfunctions_v1.rb +4 -1
  132. data/generated/google/apis/cloudfunctions_v1/classes.rb +265 -6
  133. data/generated/google/apis/cloudfunctions_v1/representations.rb +80 -1
  134. data/generated/google/apis/cloudfunctions_v1/service.rb +118 -0
  135. data/generated/google/apis/cloudfunctions_v1beta2.rb +35 -0
  136. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +678 -0
  137. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +264 -0
  138. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +385 -0
  139. data/generated/google/apis/cloudkms_v1.rb +1 -1
  140. data/generated/google/apis/cloudkms_v1/classes.rb +652 -622
  141. data/generated/google/apis/cloudkms_v1/representations.rb +138 -137
  142. data/generated/google/apis/cloudkms_v1/service.rb +320 -320
  143. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  144. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  145. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1129 -1129
  146. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  147. data/generated/google/apis/cloudresourcemanager_v1/service.rb +609 -609
  148. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  149. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +404 -404
  150. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +83 -83
  151. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +328 -328
  152. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +38 -0
  153. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +819 -0
  154. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +304 -0
  155. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +528 -0
  156. data/generated/google/apis/cloudtrace_v1.rb +5 -5
  157. data/generated/google/apis/cloudtrace_v1/classes.rb +67 -67
  158. data/generated/google/apis/cloudtrace_v1/representations.rb +21 -21
  159. data/generated/google/apis/cloudtrace_v1/service.rb +36 -36
  160. data/generated/google/apis/cloudtrace_v2.rb +43 -0
  161. data/generated/google/apis/cloudtrace_v2/classes.rb +797 -0
  162. data/generated/google/apis/cloudtrace_v2/representations.rb +353 -0
  163. data/generated/google/apis/cloudtrace_v2/service.rb +238 -0
  164. data/generated/google/apis/clouduseraccounts_alpha.rb +44 -0
  165. data/generated/google/apis/clouduseraccounts_alpha/classes.rb +1188 -0
  166. data/generated/google/apis/clouduseraccounts_alpha/representations.rb +494 -0
  167. data/generated/google/apis/clouduseraccounts_alpha/service.rb +1152 -0
  168. data/generated/google/apis/clouduseraccounts_vm_alpha.rb +44 -0
  169. data/generated/google/apis/clouduseraccounts_vm_alpha/classes.rb +1188 -0
  170. data/generated/google/apis/clouduseraccounts_vm_alpha/representations.rb +494 -0
  171. data/generated/google/apis/clouduseraccounts_vm_alpha/service.rb +1152 -0
  172. data/generated/google/apis/clouduseraccounts_vm_beta.rb +44 -0
  173. data/generated/google/apis/clouduseraccounts_vm_beta/classes.rb +845 -0
  174. data/generated/google/apis/clouduseraccounts_vm_beta/representations.rb +352 -0
  175. data/generated/google/apis/clouduseraccounts_vm_beta/service.rb +908 -0
  176. data/generated/google/apis/compute_alpha.rb +49 -0
  177. data/generated/google/apis/compute_alpha/classes.rb +23796 -0
  178. data/generated/google/apis/compute_alpha/representations.rb +9391 -0
  179. data/generated/google/apis/compute_alpha/service.rb +24188 -0
  180. data/generated/google/apis/compute_beta.rb +1 -1
  181. data/generated/google/apis/compute_beta/classes.rb +1597 -235
  182. data/generated/google/apis/compute_beta/representations.rb +477 -0
  183. data/generated/google/apis/compute_beta/service.rb +2875 -1677
  184. data/generated/google/apis/compute_v1.rb +1 -1
  185. data/generated/google/apis/compute_v1/classes.rb +319 -197
  186. data/generated/google/apis/compute_v1/representations.rb +51 -0
  187. data/generated/google/apis/compute_v1/service.rb +2057 -172
  188. data/generated/google/apis/consumersurveys_v2.rb +40 -0
  189. data/generated/google/apis/consumersurveys_v2/classes.rb +736 -0
  190. data/generated/google/apis/consumersurveys_v2/representations.rb +343 -0
  191. data/generated/google/apis/consumersurveys_v2/service.rb +478 -0
  192. data/generated/google/apis/container_v1.rb +1 -1
  193. data/generated/google/apis/container_v1/classes.rb +1072 -936
  194. data/generated/google/apis/container_v1/representations.rb +266 -202
  195. data/generated/google/apis/container_v1/service.rb +243 -243
  196. data/generated/google/apis/container_v1beta1.rb +35 -0
  197. data/generated/google/apis/container_v1beta1/classes.rb +1900 -0
  198. data/generated/google/apis/container_v1beta1/representations.rb +662 -0
  199. data/generated/google/apis/container_v1beta1/service.rb +1875 -0
  200. data/generated/google/apis/content_v2.rb +1 -1
  201. data/generated/google/apis/content_v2/classes.rb +72 -3
  202. data/generated/google/apis/content_v2/representations.rb +23 -0
  203. data/generated/google/apis/content_v2/service.rb +23 -18
  204. data/generated/google/apis/content_v2sandbox.rb +35 -0
  205. data/generated/google/apis/content_v2sandbox/classes.rb +2406 -0
  206. data/generated/google/apis/content_v2sandbox/representations.rb +1042 -0
  207. data/generated/google/apis/content_v2sandbox/service.rb +709 -0
  208. data/generated/google/apis/dataflow_v1b3.rb +5 -5
  209. data/generated/google/apis/dataflow_v1b3/classes.rb +3341 -3341
  210. data/generated/google/apis/dataflow_v1b3/representations.rb +807 -807
  211. data/generated/google/apis/dataflow_v1b3/service.rb +492 -444
  212. data/generated/google/apis/dataproc_v1.rb +1 -1
  213. data/generated/google/apis/dataproc_v1/classes.rb +1101 -1101
  214. data/generated/google/apis/dataproc_v1/representations.rb +227 -227
  215. data/generated/google/apis/dataproc_v1/service.rb +254 -254
  216. data/generated/google/apis/dataproc_v1beta2.rb +34 -0
  217. data/generated/google/apis/dataproc_v1beta2/classes.rb +1756 -0
  218. data/generated/google/apis/dataproc_v1beta2/representations.rb +675 -0
  219. data/generated/google/apis/dataproc_v1beta2/service.rb +739 -0
  220. data/generated/google/apis/datastore_v1.rb +4 -4
  221. data/generated/google/apis/datastore_v1/classes.rb +1311 -773
  222. data/generated/google/apis/datastore_v1/representations.rb +351 -148
  223. data/generated/google/apis/datastore_v1/service.rb +206 -55
  224. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  225. data/generated/google/apis/datastore_v1beta3/classes.rb +1621 -0
  226. data/generated/google/apis/datastore_v1beta3/representations.rb +715 -0
  227. data/generated/google/apis/datastore_v1beta3/service.rb +260 -0
  228. data/generated/google/apis/deploymentmanager_alpha.rb +44 -0
  229. data/generated/google/apis/deploymentmanager_alpha/classes.rb +2422 -0
  230. data/generated/google/apis/deploymentmanager_alpha/representations.rb +1054 -0
  231. data/generated/google/apis/deploymentmanager_alpha/service.rb +1883 -0
  232. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  233. data/generated/google/apis/deploymentmanager_v2/classes.rb +81 -2
  234. data/generated/google/apis/deploymentmanager_v2/representations.rb +30 -0
  235. data/generated/google/apis/deploymentmanager_v2beta.rb +44 -0
  236. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +2426 -0
  237. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1054 -0
  238. data/generated/google/apis/deploymentmanager_v2beta/service.rb +1687 -0
  239. data/generated/google/apis/dfareporting_v2_7.rb +1 -1
  240. data/generated/google/apis/dfareporting_v2_7/classes.rb +9 -26
  241. data/generated/google/apis/dfareporting_v2_7/service.rb +1 -0
  242. data/generated/google/apis/dfareporting_v2_8.rb +1 -1
  243. data/generated/google/apis/dfareporting_v2_8/classes.rb +26 -34
  244. data/generated/google/apis/dfareporting_v2_8/representations.rb +1 -0
  245. data/generated/google/apis/dfareporting_v2_8/service.rb +1 -0
  246. data/generated/google/apis/dlp_v2beta1.rb +36 -0
  247. data/generated/google/apis/dlp_v2beta1/classes.rb +1735 -0
  248. data/generated/google/apis/dlp_v2beta1/representations.rb +879 -0
  249. data/generated/google/apis/dlp_v2beta1/service.rb +406 -0
  250. data/generated/google/apis/dns_v1.rb +1 -1
  251. data/generated/google/apis/dns_v2beta1.rb +1 -1
  252. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  253. data/generated/google/apis/drive_v2.rb +1 -1
  254. data/generated/google/apis/drive_v3.rb +1 -1
  255. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  256. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +267 -261
  257. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +73 -72
  258. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +1 -1
  259. data/generated/google/apis/firebaserules_v1.rb +1 -1
  260. data/generated/google/apis/firebaserules_v1/classes.rb +283 -283
  261. data/generated/google/apis/firebaserules_v1/representations.rb +75 -75
  262. data/generated/google/apis/firebaserules_v1/service.rb +113 -113
  263. data/generated/google/apis/fitness_v1.rb +1 -1
  264. data/generated/google/apis/fitness_v1/classes.rb +1 -1
  265. data/generated/google/apis/fusiontables_v1.rb +37 -0
  266. data/generated/google/apis/fusiontables_v1/classes.rb +977 -0
  267. data/generated/google/apis/fusiontables_v1/representations.rb +449 -0
  268. data/generated/google/apis/fusiontables_v1/service.rb +1373 -0
  269. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  270. data/generated/google/apis/games_management_v1management.rb +1 -1
  271. data/generated/google/apis/games_v1.rb +1 -1
  272. data/generated/google/apis/genomics_v1.rb +8 -8
  273. data/generated/google/apis/genomics_v1/classes.rb +2288 -2288
  274. data/generated/google/apis/genomics_v1/representations.rb +482 -482
  275. data/generated/google/apis/genomics_v1/service.rb +966 -966
  276. data/generated/google/apis/genomics_v1alpha2.rb +40 -0
  277. data/generated/google/apis/genomics_v1alpha2/classes.rb +1207 -0
  278. data/generated/google/apis/genomics_v1alpha2/representations.rb +449 -0
  279. data/generated/google/apis/genomics_v1alpha2/service.rb +426 -0
  280. data/generated/google/apis/gmail_v1.rb +1 -1
  281. data/generated/google/apis/iam_v1.rb +1 -1
  282. data/generated/google/apis/iam_v1/classes.rb +664 -395
  283. data/generated/google/apis/iam_v1/representations.rb +194 -81
  284. data/generated/google/apis/iam_v1/service.rb +657 -92
  285. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  286. data/generated/google/apis/kgsearch_v1/classes.rb +7 -7
  287. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  288. data/generated/google/apis/kgsearch_v1/service.rb +8 -8
  289. data/generated/google/apis/language_v1.rb +4 -1
  290. data/generated/google/apis/language_v1/classes.rb +393 -393
  291. data/generated/google/apis/language_v1/representations.rb +95 -95
  292. data/generated/google/apis/language_v1/service.rb +42 -42
  293. data/generated/google/apis/language_v1beta1.rb +4 -1
  294. data/generated/google/apis/language_v1beta1/classes.rb +457 -457
  295. data/generated/google/apis/language_v1beta1/representations.rb +114 -114
  296. data/generated/google/apis/language_v1beta1/service.rb +48 -48
  297. data/generated/google/apis/language_v1beta2.rb +39 -0
  298. data/generated/google/apis/language_v1beta2/classes.rb +824 -0
  299. data/generated/google/apis/language_v1beta2/representations.rb +373 -0
  300. data/generated/google/apis/language_v1beta2/service.rb +217 -0
  301. data/generated/google/apis/logging_v2.rb +9 -9
  302. data/generated/google/apis/logging_v2/classes.rb +840 -834
  303. data/generated/google/apis/logging_v2/representations.rb +168 -167
  304. data/generated/google/apis/logging_v2/service.rb +667 -463
  305. data/generated/google/apis/logging_v2beta1.rb +9 -9
  306. data/generated/google/apis/logging_v2beta1/classes.rb +856 -850
  307. data/generated/google/apis/logging_v2beta1/representations.rb +169 -168
  308. data/generated/google/apis/logging_v2beta1/service.rb +253 -255
  309. data/generated/google/apis/manufacturers_v1.rb +1 -1
  310. data/generated/google/apis/manufacturers_v1/classes.rb +396 -389
  311. data/generated/google/apis/manufacturers_v1/representations.rb +92 -91
  312. data/generated/google/apis/manufacturers_v1/service.rb +8 -7
  313. data/generated/google/apis/ml_v1.rb +1 -1
  314. data/generated/google/apis/ml_v1/classes.rb +1487 -1676
  315. data/generated/google/apis/ml_v1/representations.rb +229 -299
  316. data/generated/google/apis/ml_v1/service.rb +359 -253
  317. data/generated/google/apis/ml_v1beta1.rb +34 -0
  318. data/generated/google/apis/ml_v1beta1/classes.rb +2396 -0
  319. data/generated/google/apis/ml_v1beta1/representations.rb +755 -0
  320. data/generated/google/apis/ml_v1beta1/service.rb +975 -0
  321. data/generated/google/apis/monitoring_v3.rb +6 -6
  322. data/generated/google/apis/monitoring_v3/classes.rb +834 -834
  323. data/generated/google/apis/monitoring_v3/representations.rb +168 -168
  324. data/generated/google/apis/monitoring_v3/service.rb +330 -330
  325. data/generated/google/apis/mybusiness_v3/classes.rb +1181 -1181
  326. data/generated/google/apis/mybusiness_v3/representations.rb +242 -242
  327. data/generated/google/apis/mybusiness_v3/service.rb +241 -241
  328. data/generated/google/apis/oauth2_v1.rb +43 -0
  329. data/generated/google/apis/oauth2_v1/classes.rb +321 -0
  330. data/generated/google/apis/oauth2_v1/representations.rb +135 -0
  331. data/generated/google/apis/oauth2_v1/service.rb +337 -0
  332. data/generated/google/apis/oauth2_v2.rb +1 -1
  333. data/generated/google/apis/oslogin_v1alpha.rb +37 -0
  334. data/generated/google/apis/oslogin_v1alpha/classes.rb +200 -0
  335. data/generated/google/apis/oslogin_v1alpha/representations.rb +105 -0
  336. data/generated/google/apis/oslogin_v1alpha/service.rb +228 -0
  337. data/generated/google/apis/pagespeedonline_v1.rb +32 -0
  338. data/generated/google/apis/pagespeedonline_v1/classes.rb +536 -0
  339. data/generated/google/apis/pagespeedonline_v1/representations.rb +257 -0
  340. data/generated/google/apis/pagespeedonline_v1/service.rb +120 -0
  341. data/generated/google/apis/partners_v2.rb +1 -1
  342. data/generated/google/apis/partners_v2/classes.rb +1512 -1512
  343. data/generated/google/apis/partners_v2/representations.rb +368 -368
  344. data/generated/google/apis/partners_v2/service.rb +596 -596
  345. data/generated/google/apis/people_v1.rb +15 -15
  346. data/generated/google/apis/people_v1/classes.rb +1384 -1383
  347. data/generated/google/apis/people_v1/representations.rb +311 -311
  348. data/generated/google/apis/people_v1/service.rb +208 -202
  349. data/generated/google/apis/playcustomapp_v1.rb +34 -0
  350. data/generated/google/apis/playcustomapp_v1/classes.rb +51 -0
  351. data/generated/google/apis/playcustomapp_v1/representations.rb +40 -0
  352. data/generated/google/apis/playcustomapp_v1/service.rb +114 -0
  353. data/generated/google/apis/playmoviespartner_v1.rb +34 -0
  354. data/generated/google/apis/playmoviespartner_v1/classes.rb +782 -0
  355. data/generated/google/apis/playmoviespartner_v1/representations.rb +191 -0
  356. data/generated/google/apis/playmoviespartner_v1/service.rb +354 -0
  357. data/generated/google/apis/plus_domains_v1.rb +1 -1
  358. data/generated/google/apis/plus_v1.rb +1 -1
  359. data/generated/google/apis/prediction_v1_2.rb +44 -0
  360. data/generated/google/apis/prediction_v1_2/classes.rb +237 -0
  361. data/generated/google/apis/prediction_v1_2/representations.rb +133 -0
  362. data/generated/google/apis/prediction_v1_2/service.rb +287 -0
  363. data/generated/google/apis/prediction_v1_3.rb +44 -0
  364. data/generated/google/apis/prediction_v1_3/classes.rb +286 -0
  365. data/generated/google/apis/prediction_v1_3/representations.rb +139 -0
  366. data/generated/google/apis/prediction_v1_3/service.rb +284 -0
  367. data/generated/google/apis/prediction_v1_4.rb +44 -0
  368. data/generated/google/apis/prediction_v1_4/classes.rb +336 -0
  369. data/generated/google/apis/prediction_v1_4/representations.rb +158 -0
  370. data/generated/google/apis/prediction_v1_4/service.rb +284 -0
  371. data/generated/google/apis/prediction_v1_5.rb +44 -0
  372. data/generated/google/apis/prediction_v1_5/classes.rb +708 -0
  373. data/generated/google/apis/prediction_v1_5/representations.rb +352 -0
  374. data/generated/google/apis/prediction_v1_5/service.rb +357 -0
  375. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  376. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +539 -539
  377. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +105 -105
  378. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +312 -312
  379. data/generated/google/apis/pubsub_v1.rb +4 -4
  380. data/generated/google/apis/pubsub_v1/classes.rb +352 -352
  381. data/generated/google/apis/pubsub_v1/representations.rb +77 -77
  382. data/generated/google/apis/pubsub_v1/service.rb +346 -346
  383. data/generated/google/apis/pubsub_v1beta1a.rb +37 -0
  384. data/generated/google/apis/pubsub_v1beta1a/classes.rb +605 -0
  385. data/generated/google/apis/pubsub_v1beta1a/representations.rb +306 -0
  386. data/generated/google/apis/pubsub_v1beta1a/service.rb +549 -0
  387. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  388. data/generated/google/apis/pubsub_v1beta2/classes.rb +679 -0
  389. data/generated/google/apis/pubsub_v1beta2/representations.rb +324 -0
  390. data/generated/google/apis/pubsub_v1beta2/service.rb +779 -0
  391. data/generated/google/apis/replicapool_v1beta1.rb +50 -0
  392. data/generated/google/apis/replicapool_v1beta1/classes.rb +918 -0
  393. data/generated/google/apis/replicapool_v1beta1/representations.rb +409 -0
  394. data/generated/google/apis/replicapool_v1beta1/service.rb +511 -0
  395. data/generated/google/apis/resourceviews_v1beta1.rb +50 -0
  396. data/generated/google/apis/resourceviews_v1beta1/classes.rb +338 -0
  397. data/generated/google/apis/resourceviews_v1beta1/representations.rb +201 -0
  398. data/generated/google/apis/resourceviews_v1beta1/service.rb +667 -0
  399. data/generated/google/apis/runtimeconfig_v1.rb +4 -4
  400. data/generated/google/apis/runtimeconfig_v1/classes.rb +118 -118
  401. data/generated/google/apis/runtimeconfig_v1/representations.rb +18 -18
  402. data/generated/google/apis/runtimeconfig_v1/service.rb +21 -21
  403. data/generated/google/apis/runtimeconfig_v1beta1.rb +40 -0
  404. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +805 -0
  405. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +280 -0
  406. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +903 -0
  407. data/generated/google/apis/safebrowsing_v4.rb +32 -0
  408. data/generated/google/apis/safebrowsing_v4/classes.rb +771 -0
  409. data/generated/google/apis/safebrowsing_v4/representations.rb +379 -0
  410. data/generated/google/apis/safebrowsing_v4/service.rb +252 -0
  411. data/generated/google/apis/script_v1.rb +19 -19
  412. data/generated/google/apis/script_v1/classes.rb +99 -157
  413. data/generated/google/apis/script_v1/representations.rb +17 -47
  414. data/generated/google/apis/script_v1/service.rb +12 -12
  415. data/generated/google/apis/searchconsole_v1.rb +1 -1
  416. data/generated/google/apis/searchconsole_v1/classes.rb +84 -84
  417. data/generated/google/apis/searchconsole_v1/representations.rb +32 -32
  418. data/generated/google/apis/servicecontrol_v1.rb +4 -4
  419. data/generated/google/apis/servicecontrol_v1/classes.rb +1086 -1042
  420. data/generated/google/apis/servicecontrol_v1/representations.rb +216 -200
  421. data/generated/google/apis/servicecontrol_v1/service.rb +120 -114
  422. data/generated/google/apis/servicemanagement_v1.rb +7 -7
  423. data/generated/google/apis/servicemanagement_v1/classes.rb +3375 -3383
  424. data/generated/google/apis/servicemanagement_v1/representations.rb +551 -552
  425. data/generated/google/apis/servicemanagement_v1/service.rb +386 -386
  426. data/generated/google/apis/serviceuser_v1.rb +5 -5
  427. data/generated/google/apis/serviceuser_v1/classes.rb +2667 -2598
  428. data/generated/google/apis/serviceuser_v1/representations.rb +406 -389
  429. data/generated/google/apis/serviceuser_v1/service.rb +43 -43
  430. data/generated/google/apis/sheets_v4.rb +7 -7
  431. data/generated/google/apis/sheets_v4/classes.rb +5031 -5024
  432. data/generated/google/apis/sheets_v4/representations.rb +931 -930
  433. data/generated/google/apis/sheets_v4/service.rb +244 -244
  434. data/generated/google/apis/slides_v1.rb +10 -10
  435. data/generated/google/apis/slides_v1/classes.rb +2915 -2915
  436. data/generated/google/apis/slides_v1/representations.rb +698 -698
  437. data/generated/google/apis/slides_v1/service.rb +35 -35
  438. data/generated/google/apis/sourcerepo_v1.rb +3 -3
  439. data/generated/google/apis/sourcerepo_v1/classes.rb +313 -313
  440. data/generated/google/apis/sourcerepo_v1/representations.rb +77 -77
  441. data/generated/google/apis/sourcerepo_v1/service.rb +102 -102
  442. data/generated/google/apis/spanner_v1.rb +4 -4
  443. data/generated/google/apis/spanner_v1/classes.rb +2304 -2251
  444. data/generated/google/apis/spanner_v1/representations.rb +338 -323
  445. data/generated/google/apis/spanner_v1/service.rb +689 -689
  446. data/generated/google/apis/spectrum_v1explorer.rb +31 -0
  447. data/generated/google/apis/spectrum_v1explorer/classes.rb +1612 -0
  448. data/generated/google/apis/spectrum_v1explorer/representations.rb +611 -0
  449. data/generated/google/apis/spectrum_v1explorer/service.rb +285 -0
  450. data/generated/google/apis/speech_v1.rb +34 -0
  451. data/generated/google/apis/speech_v1/classes.rb +572 -0
  452. data/generated/google/apis/speech_v1/representations.rb +236 -0
  453. data/generated/google/apis/speech_v1/service.rb +277 -0
  454. data/generated/google/apis/speech_v1beta1.rb +1 -1
  455. data/generated/google/apis/speech_v1beta1/classes.rb +312 -312
  456. data/generated/google/apis/speech_v1beta1/representations.rb +48 -48
  457. data/generated/google/apis/speech_v1beta1/service.rb +46 -46
  458. data/generated/google/apis/sqladmin_v1beta3.rb +38 -0
  459. data/generated/google/apis/sqladmin_v1beta3/classes.rb +1615 -0
  460. data/generated/google/apis/sqladmin_v1beta3/representations.rb +731 -0
  461. data/generated/google/apis/sqladmin_v1beta3/service.rb +1045 -0
  462. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  463. data/generated/google/apis/sqladmin_v1beta4/classes.rb +15 -7
  464. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  465. data/generated/google/apis/storage_v1.rb +1 -1
  466. data/generated/google/apis/storage_v1/classes.rb +7 -6
  467. data/generated/google/apis/storage_v1/service.rb +51 -29
  468. data/generated/google/apis/storage_v1beta1.rb +40 -0
  469. data/generated/google/apis/storage_v1beta1/classes.rb +616 -0
  470. data/generated/google/apis/storage_v1beta1/representations.rb +249 -0
  471. data/generated/google/apis/storage_v1beta1/service.rb +1082 -0
  472. data/generated/google/apis/storage_v1beta2.rb +40 -0
  473. data/generated/google/apis/storage_v1beta2/classes.rb +1048 -0
  474. data/generated/google/apis/storage_v1beta2/representations.rb +425 -0
  475. data/generated/google/apis/storage_v1beta2/service.rb +1736 -0
  476. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  477. data/generated/google/apis/storagetransfer_v1/classes.rb +556 -556
  478. data/generated/google/apis/storagetransfer_v1/representations.rb +139 -139
  479. data/generated/google/apis/storagetransfer_v1/service.rb +148 -148
  480. data/generated/google/apis/streetviewpublish_v1.rb +36 -0
  481. data/generated/google/apis/streetviewpublish_v1/classes.rb +705 -0
  482. data/generated/google/apis/streetviewpublish_v1/representations.rb +296 -0
  483. data/generated/google/apis/streetviewpublish_v1/service.rb +485 -0
  484. data/generated/google/apis/taskqueue_v1beta1.rb +37 -0
  485. data/generated/google/apis/taskqueue_v1beta1/classes.rb +242 -0
  486. data/generated/google/apis/taskqueue_v1beta1/representations.rb +124 -0
  487. data/generated/google/apis/taskqueue_v1beta1/service.rb +269 -0
  488. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  489. data/generated/google/apis/toolresults_v1beta3/classes.rb +382 -4
  490. data/generated/google/apis/toolresults_v1beta3/representations.rb +139 -0
  491. data/generated/google/apis/toolresults_v1beta3/service.rb +50 -0
  492. data/generated/google/apis/toolresults_v1beta3firstparty.rb +31 -0
  493. data/generated/google/apis/toolresults_v1beta3firstparty/classes.rb +2630 -0
  494. data/generated/google/apis/toolresults_v1beta3firstparty/representations.rb +886 -0
  495. data/generated/google/apis/toolresults_v1beta3firstparty/service.rb +1288 -0
  496. data/generated/google/apis/translate_v2/classes.rb +111 -111
  497. data/generated/google/apis/translate_v2/representations.rb +49 -49
  498. data/generated/google/apis/translate_v2/service.rb +94 -94
  499. data/generated/google/apis/vault_v1.rb +31 -0
  500. data/generated/google/apis/vault_v1/classes.rb +554 -0
  501. data/generated/google/apis/vault_v1/representations.rb +318 -0
  502. data/generated/google/apis/vault_v1/service.rb +677 -0
  503. data/generated/google/apis/videointelligence_v1beta1.rb +34 -0
  504. data/generated/google/apis/videointelligence_v1beta1/classes.rb +903 -0
  505. data/generated/google/apis/videointelligence_v1beta1/representations.rb +351 -0
  506. data/generated/google/apis/videointelligence_v1beta1/service.rb +92 -0
  507. data/generated/google/apis/vision_v1.rb +4 -4
  508. data/generated/google/apis/vision_v1/classes.rb +1176 -1178
  509. data/generated/google/apis/vision_v1/representations.rb +235 -235
  510. data/generated/google/apis/webmasters_v3.rb +1 -1
  511. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  512. data/generated/google/apis/youtube_analytics_v1beta1.rb +46 -0
  513. data/generated/google/apis/youtube_analytics_v1beta1/classes.rb +337 -0
  514. data/generated/google/apis/youtube_analytics_v1beta1/representations.rb +174 -0
  515. data/generated/google/apis/youtube_analytics_v1beta1/service.rb +491 -0
  516. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  517. data/generated/google/apis/youtube_partner_v1/classes.rb +3 -3
  518. data/generated/google/apis/youtube_partner_v1/representations.rb +1 -1
  519. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  520. data/generated/google/apis/youtubereporting_v1/classes.rb +134 -134
  521. data/generated/google/apis/youtubereporting_v1/representations.rb +36 -36
  522. data/generated/google/apis/youtubereporting_v1/service.rb +131 -131
  523. data/lib/google/apis/version.rb +1 -1
  524. metadata +246 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/google-apps/activity/
26
26
  module AppsactivityV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170619'
28
+ REVISION = '20170215'
29
29
 
30
30
  # View the activity history of your Google apps
31
31
  AUTH_ACTIVITY = 'https://www.googleapis.com/auth/activity'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/games/services/web/api/states
26
26
  module AppstateV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170710'
28
+ REVISION = '20170420'
29
29
 
30
30
  # View and manage your data for this application
31
31
  AUTH_APPSTATE = 'https://www.googleapis.com/auth/appstate'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryV2
27
27
  VERSION = 'V2'
28
- REVISION = '20170622'
28
+ REVISION = '20170806'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -598,6 +598,16 @@ module Google
598
598
  class ExplainQueryStage
599
599
  include Google::Apis::Core::Hashable
600
600
 
601
+ # Milliseconds the average shard spent on CPU-bound tasks.
602
+ # Corresponds to the JSON property `computeMsAvg`
603
+ # @return [Fixnum]
604
+ attr_accessor :compute_ms_avg
605
+
606
+ # Milliseconds the slowest shard spent on CPU-bound tasks.
607
+ # Corresponds to the JSON property `computeMsMax`
608
+ # @return [Fixnum]
609
+ attr_accessor :compute_ms_max
610
+
601
611
  # Relative amount of time the average shard spent on CPU-bound tasks.
602
612
  # Corresponds to the JSON property `computeRatioAvg`
603
613
  # @return [Float]
@@ -618,6 +628,16 @@ module Google
618
628
  # @return [String]
619
629
  attr_accessor :name
620
630
 
631
+ # Milliseconds the average shard spent reading input.
632
+ # Corresponds to the JSON property `readMsAvg`
633
+ # @return [Fixnum]
634
+ attr_accessor :read_ms_avg
635
+
636
+ # Milliseconds the slowest shard spent reading input.
637
+ # Corresponds to the JSON property `readMsMax`
638
+ # @return [Fixnum]
639
+ attr_accessor :read_ms_max
640
+
621
641
  # Relative amount of time the average shard spent reading input.
622
642
  # Corresponds to the JSON property `readRatioAvg`
623
643
  # @return [Float]
@@ -638,6 +658,16 @@ module Google
638
658
  # @return [Fixnum]
639
659
  attr_accessor :records_written
640
660
 
661
+ # Total number of bytes written to shuffle.
662
+ # Corresponds to the JSON property `shuffleOutputBytes`
663
+ # @return [Fixnum]
664
+ attr_accessor :shuffle_output_bytes
665
+
666
+ # Total number of bytes written to shuffle and spilled to disk.
667
+ # Corresponds to the JSON property `shuffleOutputBytesSpilled`
668
+ # @return [Fixnum]
669
+ attr_accessor :shuffle_output_bytes_spilled
670
+
641
671
  # Current status for the stage.
642
672
  # Corresponds to the JSON property `status`
643
673
  # @return [String]
@@ -649,6 +679,16 @@ module Google
649
679
  # @return [Array<Google::Apis::BigqueryV2::ExplainQueryStep>]
650
680
  attr_accessor :steps
651
681
 
682
+ # Milliseconds the average shard spent waiting to be scheduled.
683
+ # Corresponds to the JSON property `waitMsAvg`
684
+ # @return [Fixnum]
685
+ attr_accessor :wait_ms_avg
686
+
687
+ # Milliseconds the slowest shard spent waiting to be scheduled.
688
+ # Corresponds to the JSON property `waitMsMax`
689
+ # @return [Fixnum]
690
+ attr_accessor :wait_ms_max
691
+
652
692
  # Relative amount of time the average shard spent waiting to be scheduled.
653
693
  # Corresponds to the JSON property `waitRatioAvg`
654
694
  # @return [Float]
@@ -659,6 +699,16 @@ module Google
659
699
  # @return [Float]
660
700
  attr_accessor :wait_ratio_max
661
701
 
702
+ # Milliseconds the average shard spent on writing output.
703
+ # Corresponds to the JSON property `writeMsAvg`
704
+ # @return [Fixnum]
705
+ attr_accessor :write_ms_avg
706
+
707
+ # Milliseconds the slowest shard spent on writing output.
708
+ # Corresponds to the JSON property `writeMsMax`
709
+ # @return [Fixnum]
710
+ attr_accessor :write_ms_max
711
+
662
712
  # Relative amount of time the average shard spent on writing output.
663
713
  # Corresponds to the JSON property `writeRatioAvg`
664
714
  # @return [Float]
@@ -675,18 +725,28 @@ module Google
675
725
 
676
726
  # Update properties of this object
677
727
  def update!(**args)
728
+ @compute_ms_avg = args[:compute_ms_avg] if args.key?(:compute_ms_avg)
729
+ @compute_ms_max = args[:compute_ms_max] if args.key?(:compute_ms_max)
678
730
  @compute_ratio_avg = args[:compute_ratio_avg] if args.key?(:compute_ratio_avg)
679
731
  @compute_ratio_max = args[:compute_ratio_max] if args.key?(:compute_ratio_max)
680
732
  @id = args[:id] if args.key?(:id)
681
733
  @name = args[:name] if args.key?(:name)
734
+ @read_ms_avg = args[:read_ms_avg] if args.key?(:read_ms_avg)
735
+ @read_ms_max = args[:read_ms_max] if args.key?(:read_ms_max)
682
736
  @read_ratio_avg = args[:read_ratio_avg] if args.key?(:read_ratio_avg)
683
737
  @read_ratio_max = args[:read_ratio_max] if args.key?(:read_ratio_max)
684
738
  @records_read = args[:records_read] if args.key?(:records_read)
685
739
  @records_written = args[:records_written] if args.key?(:records_written)
740
+ @shuffle_output_bytes = args[:shuffle_output_bytes] if args.key?(:shuffle_output_bytes)
741
+ @shuffle_output_bytes_spilled = args[:shuffle_output_bytes_spilled] if args.key?(:shuffle_output_bytes_spilled)
686
742
  @status = args[:status] if args.key?(:status)
687
743
  @steps = args[:steps] if args.key?(:steps)
744
+ @wait_ms_avg = args[:wait_ms_avg] if args.key?(:wait_ms_avg)
745
+ @wait_ms_max = args[:wait_ms_max] if args.key?(:wait_ms_max)
688
746
  @wait_ratio_avg = args[:wait_ratio_avg] if args.key?(:wait_ratio_avg)
689
747
  @wait_ratio_max = args[:wait_ratio_max] if args.key?(:wait_ratio_max)
748
+ @write_ms_avg = args[:write_ms_avg] if args.key?(:write_ms_avg)
749
+ @write_ms_max = args[:write_ms_max] if args.key?(:write_ms_max)
690
750
  @write_ratio_avg = args[:write_ratio_avg] if args.key?(:write_ratio_avg)
691
751
  @write_ratio_max = args[:write_ratio_max] if args.key?(:write_ratio_max)
692
752
  end
@@ -795,8 +855,7 @@ module Google
795
855
  # apply to external data sources. For Google Cloud Bigtable URIs: Exactly one
796
856
  # URI can be specified and it has be a fully specified and valid HTTPS URL for a
797
857
  # Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one
798
- # URI can be specified, and it must end with '.backup_info'. Also, the '*'
799
- # wildcard character is not allowed.
858
+ # URI can be specified. Also, the '*' wildcard character is not allowed.
800
859
  # Corresponds to the JSON property `sourceUris`
801
860
  # @return [Array<String>]
802
861
  attr_accessor :source_uris
@@ -1294,9 +1353,10 @@ module Google
1294
1353
  attr_accessor :schema_inline_format
1295
1354
 
1296
1355
  # [Experimental] Allows the schema of the desitination table to be updated as a
1297
- # side effect of the load job. Schema update options are supported in two cases:
1298
- # when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE
1299
- # and the destination table is a partition of a table, specified by partition
1356
+ # side effect of the load job if a schema is autodetected or supplied in the job
1357
+ # configuration. Schema update options are supported in two cases: when
1358
+ # writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and
1359
+ # the destination table is a partition of a table, specified by partition
1300
1360
  # decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema.
1301
1361
  # One or more of the following values are specified: ALLOW_FIELD_ADDITION:
1302
1362
  # allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow
@@ -1320,13 +1380,23 @@ module Google
1320
1380
  # @return [String]
1321
1381
  attr_accessor :source_format
1322
1382
 
1323
- # [Required] The fully-qualified URIs that point to your data in Google Cloud
1324
- # Storage. Each URI can contain one '*' wildcard character and it must come
1325
- # after the 'bucket' name.
1383
+ # [Required] The fully-qualified URIs that point to your data in Google Cloud.
1384
+ # For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character
1385
+ # and it must come after the 'bucket' name. Size limits related to load jobs
1386
+ # apply to external data sources. For Google Cloud Bigtable URIs: Exactly one
1387
+ # URI can be specified and it has be a fully specified and valid HTTPS URL for a
1388
+ # Google Cloud Bigtable table. For Google Cloud Datastore backups: Exactly one
1389
+ # URI can be specified. Also, the '*' wildcard character is not allowed.
1326
1390
  # Corresponds to the JSON property `sourceUris`
1327
1391
  # @return [Array<String>]
1328
1392
  attr_accessor :source_uris
1329
1393
 
1394
+ # [Experimental] If specified, configures time-based partitioning for the
1395
+ # destination table.
1396
+ # Corresponds to the JSON property `timePartitioning`
1397
+ # @return [Google::Apis::BigqueryV2::TimePartitioning]
1398
+ attr_accessor :time_partitioning
1399
+
1330
1400
  # [Optional] Specifies the action that occurs if the destination table already
1331
1401
  # exists. The following values are supported: WRITE_TRUNCATE: If the table
1332
1402
  # already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table
@@ -1364,6 +1434,7 @@ module Google
1364
1434
  @skip_leading_rows = args[:skip_leading_rows] if args.key?(:skip_leading_rows)
1365
1435
  @source_format = args[:source_format] if args.key?(:source_format)
1366
1436
  @source_uris = args[:source_uris] if args.key?(:source_uris)
1437
+ @time_partitioning = args[:time_partitioning] if args.key?(:time_partitioning)
1367
1438
  @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
1368
1439
  end
1369
1440
  end
@@ -1478,11 +1549,17 @@ module Google
1478
1549
  # @return [Hash<String,Google::Apis::BigqueryV2::ExternalDataConfiguration>]
1479
1550
  attr_accessor :table_definitions
1480
1551
 
1552
+ # [Experimental] If specified, configures time-based partitioning for the
1553
+ # destination table.
1554
+ # Corresponds to the JSON property `timePartitioning`
1555
+ # @return [Google::Apis::BigqueryV2::TimePartitioning]
1556
+ attr_accessor :time_partitioning
1557
+
1481
1558
  # Specifies whether to use BigQuery's legacy SQL dialect for this query. The
1482
1559
  # default value is true. If set to false, the query will use BigQuery's standard
1483
1560
  # SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set
1484
- # to false, the values of allowLargeResults and flattenResults are ignored;
1485
- # query will be run as if allowLargeResults is true and flattenResults is false.
1561
+ # to false, the value of flattenResults is ignored; query will be run as if
1562
+ # flattenResults is false.
1486
1563
  # Corresponds to the JSON property `useLegacySql`
1487
1564
  # @return [Boolean]
1488
1565
  attr_accessor :use_legacy_sql
@@ -1504,12 +1581,13 @@ module Google
1504
1581
 
1505
1582
  # [Optional] Specifies the action that occurs if the destination table already
1506
1583
  # exists. The following values are supported: WRITE_TRUNCATE: If the table
1507
- # already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table
1508
- # already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the
1509
- # table already exists and contains data, a 'duplicate' error is returned in the
1510
- # job result. The default value is WRITE_EMPTY. Each action is atomic and only
1511
- # occurs if BigQuery is able to complete the job successfully. Creation,
1512
- # truncation and append actions occur as one atomic update upon job completion.
1584
+ # already exists, BigQuery overwrites the table data and uses the schema from
1585
+ # the query result. WRITE_APPEND: If the table already exists, BigQuery appends
1586
+ # the data to the table. WRITE_EMPTY: If the table already exists and contains
1587
+ # data, a 'duplicate' error is returned in the job result. The default value is
1588
+ # WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to
1589
+ # complete the job successfully. Creation, truncation and append actions occur
1590
+ # as one atomic update upon job completion.
1513
1591
  # Corresponds to the JSON property `writeDisposition`
1514
1592
  # @return [String]
1515
1593
  attr_accessor :write_disposition
@@ -1534,6 +1612,7 @@ module Google
1534
1612
  @query_parameters = args[:query_parameters] if args.key?(:query_parameters)
1535
1613
  @schema_update_options = args[:schema_update_options] if args.key?(:schema_update_options)
1536
1614
  @table_definitions = args[:table_definitions] if args.key?(:table_definitions)
1615
+ @time_partitioning = args[:time_partitioning] if args.key?(:time_partitioning)
1537
1616
  @use_legacy_sql = args[:use_legacy_sql] if args.key?(:use_legacy_sql)
1538
1617
  @use_query_cache = args[:use_query_cache] if args.key?(:use_query_cache)
1539
1618
  @user_defined_function_resources = args[:user_defined_function_resources] if args.key?(:user_defined_function_resources)
@@ -1871,6 +1950,14 @@ module Google
1871
1950
  class JobStatistics3
1872
1951
  include Google::Apis::Core::Hashable
1873
1952
 
1953
+ # [Output-only] The number of bad records encountered. Note that if the job has
1954
+ # failed because of more bad records encountered than the maximum allowed in the
1955
+ # load job configuration, then this number can be less than the total number of
1956
+ # bad records present in the input data.
1957
+ # Corresponds to the JSON property `badRecords`
1958
+ # @return [Fixnum]
1959
+ attr_accessor :bad_records
1960
+
1874
1961
  # [Output-only] Number of bytes of source data in a load job.
1875
1962
  # Corresponds to the JSON property `inputFileBytes`
1876
1963
  # @return [Fixnum]
@@ -1899,6 +1986,7 @@ module Google
1899
1986
 
1900
1987
  # Update properties of this object
1901
1988
  def update!(**args)
1989
+ @bad_records = args[:bad_records] if args.key?(:bad_records)
1902
1990
  @input_file_bytes = args[:input_file_bytes] if args.key?(:input_file_bytes)
1903
1991
  @input_files = args[:input_files] if args.key?(:input_files)
1904
1992
  @output_bytes = args[:output_bytes] if args.key?(:output_bytes)
@@ -2265,8 +2353,8 @@ module Google
2265
2353
  # Specifies whether to use BigQuery's legacy SQL dialect for this query. The
2266
2354
  # default value is true. If set to false, the query will use BigQuery's standard
2267
2355
  # SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set
2268
- # to false, the values of allowLargeResults and flattenResults are ignored;
2269
- # query will be run as if allowLargeResults is true and flattenResults is false.
2356
+ # to false, the value of flattenResults is ignored; query will be run as if
2357
+ # flattenResults is false.
2270
2358
  # Corresponds to the JSON property `useLegacySql`
2271
2359
  # @return [Boolean]
2272
2360
  attr_accessor :use_legacy_sql
@@ -488,19 +488,29 @@ module Google
488
488
  class ExplainQueryStage
489
489
  # @private
490
490
  class Representation < Google::Apis::Core::JsonRepresentation
491
+ property :compute_ms_avg, :numeric_string => true, as: 'computeMsAvg'
492
+ property :compute_ms_max, :numeric_string => true, as: 'computeMsMax'
491
493
  property :compute_ratio_avg, as: 'computeRatioAvg'
492
494
  property :compute_ratio_max, as: 'computeRatioMax'
493
495
  property :id, :numeric_string => true, as: 'id'
494
496
  property :name, as: 'name'
497
+ property :read_ms_avg, :numeric_string => true, as: 'readMsAvg'
498
+ property :read_ms_max, :numeric_string => true, as: 'readMsMax'
495
499
  property :read_ratio_avg, as: 'readRatioAvg'
496
500
  property :read_ratio_max, as: 'readRatioMax'
497
501
  property :records_read, :numeric_string => true, as: 'recordsRead'
498
502
  property :records_written, :numeric_string => true, as: 'recordsWritten'
503
+ property :shuffle_output_bytes, :numeric_string => true, as: 'shuffleOutputBytes'
504
+ property :shuffle_output_bytes_spilled, :numeric_string => true, as: 'shuffleOutputBytesSpilled'
499
505
  property :status, as: 'status'
500
506
  collection :steps, as: 'steps', class: Google::Apis::BigqueryV2::ExplainQueryStep, decorator: Google::Apis::BigqueryV2::ExplainQueryStep::Representation
501
507
 
508
+ property :wait_ms_avg, :numeric_string => true, as: 'waitMsAvg'
509
+ property :wait_ms_max, :numeric_string => true, as: 'waitMsMax'
502
510
  property :wait_ratio_avg, as: 'waitRatioAvg'
503
511
  property :wait_ratio_max, as: 'waitRatioMax'
512
+ property :write_ms_avg, :numeric_string => true, as: 'writeMsAvg'
513
+ property :write_ms_max, :numeric_string => true, as: 'writeMsMax'
504
514
  property :write_ratio_avg, as: 'writeRatioAvg'
505
515
  property :write_ratio_max, as: 'writeRatioMax'
506
516
  end
@@ -645,6 +655,8 @@ module Google
645
655
  property :skip_leading_rows, as: 'skipLeadingRows'
646
656
  property :source_format, as: 'sourceFormat'
647
657
  collection :source_uris, as: 'sourceUris'
658
+ property :time_partitioning, as: 'timePartitioning', class: Google::Apis::BigqueryV2::TimePartitioning, decorator: Google::Apis::BigqueryV2::TimePartitioning::Representation
659
+
648
660
  property :write_disposition, as: 'writeDisposition'
649
661
  end
650
662
  end
@@ -670,6 +682,8 @@ module Google
670
682
  collection :schema_update_options, as: 'schemaUpdateOptions'
671
683
  hash :table_definitions, as: 'tableDefinitions', class: Google::Apis::BigqueryV2::ExternalDataConfiguration, decorator: Google::Apis::BigqueryV2::ExternalDataConfiguration::Representation
672
684
 
685
+ property :time_partitioning, as: 'timePartitioning', class: Google::Apis::BigqueryV2::TimePartitioning, decorator: Google::Apis::BigqueryV2::TimePartitioning::Representation
686
+
673
687
  property :use_legacy_sql, as: 'useLegacySql'
674
688
  property :use_query_cache, as: 'useQueryCache'
675
689
  collection :user_defined_function_resources, as: 'userDefinedFunctionResources', class: Google::Apis::BigqueryV2::UserDefinedFunctionResource, decorator: Google::Apis::BigqueryV2::UserDefinedFunctionResource::Representation
@@ -770,6 +784,7 @@ module Google
770
784
  class JobStatistics3
771
785
  # @private
772
786
  class Representation < Google::Apis::Core::JsonRepresentation
787
+ property :bad_records, :numeric_string => true, as: 'badRecords'
773
788
  property :input_file_bytes, :numeric_string => true, as: 'inputFileBytes'
774
789
  property :input_files, :numeric_string => true, as: 'inputFiles'
775
790
  property :output_bytes, :numeric_string => true, as: 'outputBytes'
@@ -0,0 +1,41 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/bigquerydatatransfer_v1/service.rb'
16
+ require 'google/apis/bigquerydatatransfer_v1/classes.rb'
17
+ require 'google/apis/bigquerydatatransfer_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # BigQuery Data Transfer Service API
22
+ #
23
+ # Transfers data from partner SaaS applications to Google BigQuery on a
24
+ # scheduled, managed basis.
25
+ #
26
+ # @see https://cloud.google.com/bigquery/
27
+ module BigquerydatatransferV1
28
+ VERSION = 'V1'
29
+ REVISION = '20170806'
30
+
31
+ # View and manage your data in Google BigQuery
32
+ AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+
37
+ # View your data across Google Cloud Platform services
38
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,886 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module BigquerydatatransferV1
24
+
25
+ # A request to determine whether the user has valid credentials. This method
26
+ # is used to limit the number of OAuth popups in the user interface. The
27
+ # user id is inferred from the API call context.
28
+ # If the data source has the Google+ authorization type, this method
29
+ # returns false, as it cannot be determined whether the credentials are
30
+ # already valid merely based on the user id.
31
+ class CheckValidCredsRequest
32
+ include Google::Apis::Core::Hashable
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ end
41
+ end
42
+
43
+ # A response indicating whether the credentials exist and are valid.
44
+ class CheckValidCredsResponse
45
+ include Google::Apis::Core::Hashable
46
+
47
+ # If set to `true`, the credentials exist and are valid.
48
+ # Corresponds to the JSON property `hasValidCreds`
49
+ # @return [Boolean]
50
+ attr_accessor :has_valid_creds
51
+ alias_method :has_valid_creds?, :has_valid_creds
52
+
53
+ def initialize(**args)
54
+ update!(**args)
55
+ end
56
+
57
+ # Update properties of this object
58
+ def update!(**args)
59
+ @has_valid_creds = args[:has_valid_creds] if args.key?(:has_valid_creds)
60
+ end
61
+ end
62
+
63
+ # Represents data source metadata. Metadata is sufficient to
64
+ # render UI and request proper OAuth tokens.
65
+ class DataSource
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # Indicates the type of authorization.
69
+ # Corresponds to the JSON property `authorizationType`
70
+ # @return [String]
71
+ attr_accessor :authorization_type
72
+
73
+ # Data source client id which should be used to receive refresh token.
74
+ # When not supplied, no offline credentials are populated for data transfer.
75
+ # Corresponds to the JSON property `clientId`
76
+ # @return [String]
77
+ attr_accessor :client_id
78
+
79
+ # Specifies whether the data source supports automatic data refresh for the
80
+ # past few days, and how it's supported.
81
+ # For some data sources, data might not be complete until a few days later,
82
+ # so it's useful to refresh data automatically.
83
+ # Corresponds to the JSON property `dataRefreshType`
84
+ # @return [String]
85
+ attr_accessor :data_refresh_type
86
+
87
+ # Data source id.
88
+ # Corresponds to the JSON property `dataSourceId`
89
+ # @return [String]
90
+ attr_accessor :data_source_id
91
+
92
+ # Default data refresh window on days.
93
+ # Only meaningful when `data_refresh_type` = `SLIDING_WINDOW`.
94
+ # Corresponds to the JSON property `defaultDataRefreshWindowDays`
95
+ # @return [Fixnum]
96
+ attr_accessor :default_data_refresh_window_days
97
+
98
+ # Default data transfer schedule.
99
+ # Examples of valid schedules include:
100
+ # `1st,3rd monday of month 15:30`,
101
+ # `every wed,fri of jan,jun 13:15`, and
102
+ # `first sunday of quarter 00:00`.
103
+ # Corresponds to the JSON property `defaultSchedule`
104
+ # @return [String]
105
+ attr_accessor :default_schedule
106
+
107
+ # User friendly data source description string.
108
+ # Corresponds to the JSON property `description`
109
+ # @return [String]
110
+ attr_accessor :description
111
+
112
+ # User friendly data source name.
113
+ # Corresponds to the JSON property `displayName`
114
+ # @return [String]
115
+ attr_accessor :display_name
116
+
117
+ # Url for the help document for this data source.
118
+ # Corresponds to the JSON property `helpUrl`
119
+ # @return [String]
120
+ attr_accessor :help_url
121
+
122
+ # Disables backfilling and manual run scheduling
123
+ # for the data source.
124
+ # Corresponds to the JSON property `manualRunsDisabled`
125
+ # @return [Boolean]
126
+ attr_accessor :manual_runs_disabled
127
+ alias_method :manual_runs_disabled?, :manual_runs_disabled
128
+
129
+ # Data source resource name.
130
+ # Corresponds to the JSON property `name`
131
+ # @return [String]
132
+ attr_accessor :name
133
+
134
+ # Data source parameters.
135
+ # Corresponds to the JSON property `parameters`
136
+ # @return [Array<Google::Apis::BigquerydatatransferV1::DataSourceParameter>]
137
+ attr_accessor :parameters
138
+
139
+ # Api auth scopes for which refresh token needs to be obtained. Only valid
140
+ # when `client_id` is specified. Ignored otherwise. These are scopes needed
141
+ # by a data source to prepare data and ingest them into BigQuery,
142
+ # e.g., https://www.googleapis.com/auth/bigquery
143
+ # Corresponds to the JSON property `scopes`
144
+ # @return [Array<String>]
145
+ attr_accessor :scopes
146
+
147
+ # The number of seconds to wait for a status update from the data source
148
+ # before BigQuery marks the transfer as failed.
149
+ # Corresponds to the JSON property `statusUpdateDeadlineSeconds`
150
+ # @return [Fixnum]
151
+ attr_accessor :status_update_deadline_seconds
152
+
153
+ # Specifies whether the data source supports a user defined schedule, or
154
+ # operates on the default schedule.
155
+ # When set to `true`, user can override default schedule.
156
+ # Corresponds to the JSON property `supportsCustomSchedule`
157
+ # @return [Boolean]
158
+ attr_accessor :supports_custom_schedule
159
+ alias_method :supports_custom_schedule?, :supports_custom_schedule
160
+
161
+ # Indicates whether the data source supports multiple transfers
162
+ # to different BigQuery targets.
163
+ # Corresponds to the JSON property `supportsMultipleTransfers`
164
+ # @return [Boolean]
165
+ attr_accessor :supports_multiple_transfers
166
+ alias_method :supports_multiple_transfers?, :supports_multiple_transfers
167
+
168
+ # Transfer type. Currently supports only batch transfers,
169
+ # which are transfers that use the BigQuery batch APIs (load or
170
+ # query) to ingest the data.
171
+ # Corresponds to the JSON property `transferType`
172
+ # @return [String]
173
+ attr_accessor :transfer_type
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @authorization_type = args[:authorization_type] if args.key?(:authorization_type)
182
+ @client_id = args[:client_id] if args.key?(:client_id)
183
+ @data_refresh_type = args[:data_refresh_type] if args.key?(:data_refresh_type)
184
+ @data_source_id = args[:data_source_id] if args.key?(:data_source_id)
185
+ @default_data_refresh_window_days = args[:default_data_refresh_window_days] if args.key?(:default_data_refresh_window_days)
186
+ @default_schedule = args[:default_schedule] if args.key?(:default_schedule)
187
+ @description = args[:description] if args.key?(:description)
188
+ @display_name = args[:display_name] if args.key?(:display_name)
189
+ @help_url = args[:help_url] if args.key?(:help_url)
190
+ @manual_runs_disabled = args[:manual_runs_disabled] if args.key?(:manual_runs_disabled)
191
+ @name = args[:name] if args.key?(:name)
192
+ @parameters = args[:parameters] if args.key?(:parameters)
193
+ @scopes = args[:scopes] if args.key?(:scopes)
194
+ @status_update_deadline_seconds = args[:status_update_deadline_seconds] if args.key?(:status_update_deadline_seconds)
195
+ @supports_custom_schedule = args[:supports_custom_schedule] if args.key?(:supports_custom_schedule)
196
+ @supports_multiple_transfers = args[:supports_multiple_transfers] if args.key?(:supports_multiple_transfers)
197
+ @transfer_type = args[:transfer_type] if args.key?(:transfer_type)
198
+ end
199
+ end
200
+
201
+ # Represents a data source parameter with validation rules, so that
202
+ # parameters can be rendered in the UI. These parameters are given to us by
203
+ # supported data sources, and include all needed information for rendering
204
+ # and validation.
205
+ # Thus, whoever uses this api can decide to generate either generic ui,
206
+ # or custom data source specific forms.
207
+ class DataSourceParameter
208
+ include Google::Apis::Core::Hashable
209
+
210
+ # All possible values for the parameter.
211
+ # Corresponds to the JSON property `allowedValues`
212
+ # @return [Array<String>]
213
+ attr_accessor :allowed_values
214
+
215
+ # Parameter description.
216
+ # Corresponds to the JSON property `description`
217
+ # @return [String]
218
+ attr_accessor :description
219
+
220
+ # Parameter display name in the user interface.
221
+ # Corresponds to the JSON property `displayName`
222
+ # @return [String]
223
+ attr_accessor :display_name
224
+
225
+ # When parameter is a record, describes child fields.
226
+ # Corresponds to the JSON property `fields`
227
+ # @return [Array<Google::Apis::BigquerydatatransferV1::DataSourceParameter>]
228
+ attr_accessor :fields
229
+
230
+ # Cannot be changed after initial creation.
231
+ # Corresponds to the JSON property `immutable`
232
+ # @return [Boolean]
233
+ attr_accessor :immutable
234
+ alias_method :immutable?, :immutable
235
+
236
+ # For integer and double values specifies maxminum allowed value.
237
+ # Corresponds to the JSON property `maxValue`
238
+ # @return [Float]
239
+ attr_accessor :max_value
240
+
241
+ # For integer and double values specifies minimum allowed value.
242
+ # Corresponds to the JSON property `minValue`
243
+ # @return [Float]
244
+ attr_accessor :min_value
245
+
246
+ # Parameter identifier.
247
+ # Corresponds to the JSON property `paramId`
248
+ # @return [String]
249
+ attr_accessor :param_id
250
+
251
+ # If set to true, schema should be taken from the parent with the same
252
+ # parameter_id. Only applicable when parameter type is RECORD.
253
+ # Corresponds to the JSON property `recurse`
254
+ # @return [Boolean]
255
+ attr_accessor :recurse
256
+ alias_method :recurse?, :recurse
257
+
258
+ # Can parameter have multiple values.
259
+ # Corresponds to the JSON property `repeated`
260
+ # @return [Boolean]
261
+ attr_accessor :repeated
262
+ alias_method :repeated?, :repeated
263
+
264
+ # Is parameter required.
265
+ # Corresponds to the JSON property `required`
266
+ # @return [Boolean]
267
+ attr_accessor :required
268
+ alias_method :required?, :required
269
+
270
+ # Parameter type.
271
+ # Corresponds to the JSON property `type`
272
+ # @return [String]
273
+ attr_accessor :type
274
+
275
+ # Description of the requirements for this field, in case the user input does
276
+ # not fulfill the regex pattern or min/max values.
277
+ # Corresponds to the JSON property `validationDescription`
278
+ # @return [String]
279
+ attr_accessor :validation_description
280
+
281
+ # URL to a help document to further explain the naming requirements.
282
+ # Corresponds to the JSON property `validationHelpUrl`
283
+ # @return [String]
284
+ attr_accessor :validation_help_url
285
+
286
+ # Regular expression which can be used for parameter validation.
287
+ # Corresponds to the JSON property `validationRegex`
288
+ # @return [String]
289
+ attr_accessor :validation_regex
290
+
291
+ def initialize(**args)
292
+ update!(**args)
293
+ end
294
+
295
+ # Update properties of this object
296
+ def update!(**args)
297
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
298
+ @description = args[:description] if args.key?(:description)
299
+ @display_name = args[:display_name] if args.key?(:display_name)
300
+ @fields = args[:fields] if args.key?(:fields)
301
+ @immutable = args[:immutable] if args.key?(:immutable)
302
+ @max_value = args[:max_value] if args.key?(:max_value)
303
+ @min_value = args[:min_value] if args.key?(:min_value)
304
+ @param_id = args[:param_id] if args.key?(:param_id)
305
+ @recurse = args[:recurse] if args.key?(:recurse)
306
+ @repeated = args[:repeated] if args.key?(:repeated)
307
+ @required = args[:required] if args.key?(:required)
308
+ @type = args[:type] if args.key?(:type)
309
+ @validation_description = args[:validation_description] if args.key?(:validation_description)
310
+ @validation_help_url = args[:validation_help_url] if args.key?(:validation_help_url)
311
+ @validation_regex = args[:validation_regex] if args.key?(:validation_regex)
312
+ end
313
+ end
314
+
315
+ # A generic empty message that you can re-use to avoid defining duplicated
316
+ # empty messages in your APIs. A typical example is to use it as the request
317
+ # or the response type of an API method. For instance:
318
+ # service Foo `
319
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
320
+ # `
321
+ # The JSON representation for `Empty` is empty JSON object ````.
322
+ class Empty
323
+ include Google::Apis::Core::Hashable
324
+
325
+ def initialize(**args)
326
+ update!(**args)
327
+ end
328
+
329
+ # Update properties of this object
330
+ def update!(**args)
331
+ end
332
+ end
333
+
334
+ # A request to determine whether data transfer is enabled for the project.
335
+ class IsEnabledRequest
336
+ include Google::Apis::Core::Hashable
337
+
338
+ def initialize(**args)
339
+ update!(**args)
340
+ end
341
+
342
+ # Update properties of this object
343
+ def update!(**args)
344
+ end
345
+ end
346
+
347
+ # A response to indicate whether data transfer is enabled for the project.
348
+ class IsEnabledResponse
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # Indicates whether the project is enabled.
352
+ # Corresponds to the JSON property `enabled`
353
+ # @return [Boolean]
354
+ attr_accessor :enabled
355
+ alias_method :enabled?, :enabled
356
+
357
+ def initialize(**args)
358
+ update!(**args)
359
+ end
360
+
361
+ # Update properties of this object
362
+ def update!(**args)
363
+ @enabled = args[:enabled] if args.key?(:enabled)
364
+ end
365
+ end
366
+
367
+ # Returns list of supported data sources and their metadata.
368
+ class ListDataSourcesResponse
369
+ include Google::Apis::Core::Hashable
370
+
371
+ # List of supported data sources and their transfer settings.
372
+ # Corresponds to the JSON property `dataSources`
373
+ # @return [Array<Google::Apis::BigquerydatatransferV1::DataSource>]
374
+ attr_accessor :data_sources
375
+
376
+ # The next-pagination token. For multiple-page list results,
377
+ # this token can be used as the
378
+ # `ListDataSourcesRequest.page_token`
379
+ # to request the next page of list results.
380
+ # @OutputOnly
381
+ # Corresponds to the JSON property `nextPageToken`
382
+ # @return [String]
383
+ attr_accessor :next_page_token
384
+
385
+ def initialize(**args)
386
+ update!(**args)
387
+ end
388
+
389
+ # Update properties of this object
390
+ def update!(**args)
391
+ @data_sources = args[:data_sources] if args.key?(:data_sources)
392
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
393
+ end
394
+ end
395
+
396
+ # The response message for Locations.ListLocations.
397
+ class ListLocationsResponse
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # A list of locations that matches the specified filter in the request.
401
+ # Corresponds to the JSON property `locations`
402
+ # @return [Array<Google::Apis::BigquerydatatransferV1::Location>]
403
+ attr_accessor :locations
404
+
405
+ # The standard List next-page token.
406
+ # Corresponds to the JSON property `nextPageToken`
407
+ # @return [String]
408
+ attr_accessor :next_page_token
409
+
410
+ def initialize(**args)
411
+ update!(**args)
412
+ end
413
+
414
+ # Update properties of this object
415
+ def update!(**args)
416
+ @locations = args[:locations] if args.key?(:locations)
417
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
418
+ end
419
+ end
420
+
421
+ # The returned list of pipelines in the project.
422
+ class ListTransferConfigsResponse
423
+ include Google::Apis::Core::Hashable
424
+
425
+ # The next-pagination token. For multiple-page list results,
426
+ # this token can be used as the
427
+ # `ListTransferConfigsRequest.page_token`
428
+ # to request the next page of list results.
429
+ # @OutputOnly
430
+ # Corresponds to the JSON property `nextPageToken`
431
+ # @return [String]
432
+ attr_accessor :next_page_token
433
+
434
+ # The stored pipeline transfer configurations.
435
+ # @OutputOnly
436
+ # Corresponds to the JSON property `transferConfigs`
437
+ # @return [Array<Google::Apis::BigquerydatatransferV1::TransferConfig>]
438
+ attr_accessor :transfer_configs
439
+
440
+ def initialize(**args)
441
+ update!(**args)
442
+ end
443
+
444
+ # Update properties of this object
445
+ def update!(**args)
446
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
447
+ @transfer_configs = args[:transfer_configs] if args.key?(:transfer_configs)
448
+ end
449
+ end
450
+
451
+ # The returned list transfer run messages.
452
+ class ListTransferLogsResponse
453
+ include Google::Apis::Core::Hashable
454
+
455
+ # The next-pagination token. For multiple-page list results,
456
+ # this token can be used as the
457
+ # `GetTransferRunLogRequest.page_token`
458
+ # to request the next page of list results.
459
+ # @OutputOnly
460
+ # Corresponds to the JSON property `nextPageToken`
461
+ # @return [String]
462
+ attr_accessor :next_page_token
463
+
464
+ # The stored pipeline transfer messages.
465
+ # @OutputOnly
466
+ # Corresponds to the JSON property `transferMessages`
467
+ # @return [Array<Google::Apis::BigquerydatatransferV1::TransferMessage>]
468
+ attr_accessor :transfer_messages
469
+
470
+ def initialize(**args)
471
+ update!(**args)
472
+ end
473
+
474
+ # Update properties of this object
475
+ def update!(**args)
476
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
477
+ @transfer_messages = args[:transfer_messages] if args.key?(:transfer_messages)
478
+ end
479
+ end
480
+
481
+ # The returned list of pipelines in the project.
482
+ class ListTransferRunsResponse
483
+ include Google::Apis::Core::Hashable
484
+
485
+ # The next-pagination token. For multiple-page list results,
486
+ # this token can be used as the
487
+ # `ListTransferRunsRequest.page_token`
488
+ # to request the next page of list results.
489
+ # @OutputOnly
490
+ # Corresponds to the JSON property `nextPageToken`
491
+ # @return [String]
492
+ attr_accessor :next_page_token
493
+
494
+ # The stored pipeline transfer runs.
495
+ # @OutputOnly
496
+ # Corresponds to the JSON property `transferRuns`
497
+ # @return [Array<Google::Apis::BigquerydatatransferV1::TransferRun>]
498
+ attr_accessor :transfer_runs
499
+
500
+ def initialize(**args)
501
+ update!(**args)
502
+ end
503
+
504
+ # Update properties of this object
505
+ def update!(**args)
506
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
507
+ @transfer_runs = args[:transfer_runs] if args.key?(:transfer_runs)
508
+ end
509
+ end
510
+
511
+ # A resource that represents Google Cloud Platform location.
512
+ class Location
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # Cross-service attributes for the location. For example
516
+ # `"cloud.googleapis.com/region": "us-east1"`
517
+ # Corresponds to the JSON property `labels`
518
+ # @return [Hash<String,String>]
519
+ attr_accessor :labels
520
+
521
+ # The canonical id for this location. For example: `"us-east1"`.
522
+ # Corresponds to the JSON property `locationId`
523
+ # @return [String]
524
+ attr_accessor :location_id
525
+
526
+ # Service-specific metadata. For example the available capacity at the given
527
+ # location.
528
+ # Corresponds to the JSON property `metadata`
529
+ # @return [Hash<String,Object>]
530
+ attr_accessor :metadata
531
+
532
+ # Resource name for the location, which may vary between implementations.
533
+ # For example: `"projects/example-project/locations/us-east1"`
534
+ # Corresponds to the JSON property `name`
535
+ # @return [String]
536
+ attr_accessor :name
537
+
538
+ def initialize(**args)
539
+ update!(**args)
540
+ end
541
+
542
+ # Update properties of this object
543
+ def update!(**args)
544
+ @labels = args[:labels] if args.key?(:labels)
545
+ @location_id = args[:location_id] if args.key?(:location_id)
546
+ @metadata = args[:metadata] if args.key?(:metadata)
547
+ @name = args[:name] if args.key?(:name)
548
+ end
549
+ end
550
+
551
+ # A request to schedule transfer runs for a time range.
552
+ class ScheduleTransferRunsRequest
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # End time of the range of transfer runs.
556
+ # Corresponds to the JSON property `rangeEndTime`
557
+ # @return [String]
558
+ attr_accessor :range_end_time
559
+
560
+ # Start time of the range of transfer runs.
561
+ # Corresponds to the JSON property `rangeStartTime`
562
+ # @return [String]
563
+ attr_accessor :range_start_time
564
+
565
+ def initialize(**args)
566
+ update!(**args)
567
+ end
568
+
569
+ # Update properties of this object
570
+ def update!(**args)
571
+ @range_end_time = args[:range_end_time] if args.key?(:range_end_time)
572
+ @range_start_time = args[:range_start_time] if args.key?(:range_start_time)
573
+ end
574
+ end
575
+
576
+ # A response to schedule transfer runs for a time range.
577
+ class ScheduleTransferRunsResponse
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # The transfer runs that were created.
581
+ # Corresponds to the JSON property `createdRuns`
582
+ # @return [Array<Google::Apis::BigquerydatatransferV1::TransferRun>]
583
+ attr_accessor :created_runs
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @created_runs = args[:created_runs] if args.key?(:created_runs)
592
+ end
593
+ end
594
+
595
+ # A request to set whether data transfer is enabled or disabled for a project.
596
+ class SetEnabledRequest
597
+ include Google::Apis::Core::Hashable
598
+
599
+ # Whether data transfer should be enabled or disabled for the project.
600
+ # Corresponds to the JSON property `enabled`
601
+ # @return [Boolean]
602
+ attr_accessor :enabled
603
+ alias_method :enabled?, :enabled
604
+
605
+ def initialize(**args)
606
+ update!(**args)
607
+ end
608
+
609
+ # Update properties of this object
610
+ def update!(**args)
611
+ @enabled = args[:enabled] if args.key?(:enabled)
612
+ end
613
+ end
614
+
615
+ # Represents a data transfer configuration. A transfer configuration
616
+ # contains all metadata needed to perform a data transfer. For example,
617
+ # `destination_dataset_id` specifies where data should be stored.
618
+ # When a new transfer configuration is created, the specified
619
+ # `destination_dataset_id` is created when needed and shared with the
620
+ # appropriate data source service account.
621
+ class TransferConfig
622
+ include Google::Apis::Core::Hashable
623
+
624
+ # The number of days to look back to automatically refresh the data.
625
+ # For example, if `data_refresh_window_days = 10`, then every day
626
+ # BigQuery reingests data for [today-10, today-1], rather than ingesting data
627
+ # for just [today-1].
628
+ # Only valid if the data source supports the feature. Set the value to 0
629
+ # to use the default value.
630
+ # Corresponds to the JSON property `dataRefreshWindowDays`
631
+ # @return [Fixnum]
632
+ attr_accessor :data_refresh_window_days
633
+
634
+ # Data source id. Cannot be changed once data transfer is created.
635
+ # Corresponds to the JSON property `dataSourceId`
636
+ # @return [String]
637
+ attr_accessor :data_source_id
638
+
639
+ # Region in which BigQuery dataset is located. Currently possible values are:
640
+ # "US" and "EU".
641
+ # @OutputOnly
642
+ # Corresponds to the JSON property `datasetRegion`
643
+ # @return [String]
644
+ attr_accessor :dataset_region
645
+
646
+ # The BigQuery target dataset id.
647
+ # Corresponds to the JSON property `destinationDatasetId`
648
+ # @return [String]
649
+ attr_accessor :destination_dataset_id
650
+
651
+ # Is this config disabled. When set to true, no runs are scheduled
652
+ # for a given transfer.
653
+ # Corresponds to the JSON property `disabled`
654
+ # @return [Boolean]
655
+ attr_accessor :disabled
656
+ alias_method :disabled?, :disabled
657
+
658
+ # User specified display name for the data transfer.
659
+ # Corresponds to the JSON property `displayName`
660
+ # @return [String]
661
+ attr_accessor :display_name
662
+
663
+ # The resource name of the transfer run.
664
+ # Transfer run names have the form
665
+ # `projects/`project_id`/transferConfigs/`config_id``.
666
+ # Where `config_id` is usually a uuid, even though it is not
667
+ # guaranteed or required. The name is ignored when creating a transfer run.
668
+ # Corresponds to the JSON property `name`
669
+ # @return [String]
670
+ attr_accessor :name
671
+
672
+ # Next time when data transfer will run. Output only. Applicable
673
+ # only for batch data transfers.
674
+ # @OutputOnly
675
+ # Corresponds to the JSON property `nextRunTime`
676
+ # @return [String]
677
+ attr_accessor :next_run_time
678
+
679
+ # Data transfer specific parameters.
680
+ # Corresponds to the JSON property `params`
681
+ # @return [Hash<String,Object>]
682
+ attr_accessor :params
683
+
684
+ # Data transfer schedule.
685
+ # If the data source does not support a custom schedule, this should be
686
+ # empty. If it is empty, the default value for the data source will be
687
+ # used.
688
+ # The specified times are in UTC.
689
+ # Examples of valid format:
690
+ # `1st,3rd monday of month 15:30`,
691
+ # `every wed,fri of jan,jun 13:15`, and
692
+ # `first sunday of quarter 00:00`.
693
+ # See more explanation about the format here:
694
+ # https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-
695
+ # cron-yaml#the_schedule_format
696
+ # NOTE: the granularity should be at least 8 hours, or less frequent.
697
+ # Corresponds to the JSON property `schedule`
698
+ # @return [String]
699
+ attr_accessor :schedule
700
+
701
+ # Status of the most recently updated transfer run.
702
+ # @OutputOnly
703
+ # Corresponds to the JSON property `status`
704
+ # @return [String]
705
+ attr_accessor :status
706
+
707
+ # Data transfer modification time. Ignored by server on input.
708
+ # @OutputOnly
709
+ # Corresponds to the JSON property `updateTime`
710
+ # @return [String]
711
+ attr_accessor :update_time
712
+
713
+ # GaiaID of the user on whose behalf transfer is done. Applicable only
714
+ # to data sources that do not support service accounts. When set to 0,
715
+ # the data source service account credentials are used.
716
+ # @OutputOnly
717
+ # Corresponds to the JSON property `userId`
718
+ # @return [Fixnum]
719
+ attr_accessor :user_id
720
+
721
+ def initialize(**args)
722
+ update!(**args)
723
+ end
724
+
725
+ # Update properties of this object
726
+ def update!(**args)
727
+ @data_refresh_window_days = args[:data_refresh_window_days] if args.key?(:data_refresh_window_days)
728
+ @data_source_id = args[:data_source_id] if args.key?(:data_source_id)
729
+ @dataset_region = args[:dataset_region] if args.key?(:dataset_region)
730
+ @destination_dataset_id = args[:destination_dataset_id] if args.key?(:destination_dataset_id)
731
+ @disabled = args[:disabled] if args.key?(:disabled)
732
+ @display_name = args[:display_name] if args.key?(:display_name)
733
+ @name = args[:name] if args.key?(:name)
734
+ @next_run_time = args[:next_run_time] if args.key?(:next_run_time)
735
+ @params = args[:params] if args.key?(:params)
736
+ @schedule = args[:schedule] if args.key?(:schedule)
737
+ @status = args[:status] if args.key?(:status)
738
+ @update_time = args[:update_time] if args.key?(:update_time)
739
+ @user_id = args[:user_id] if args.key?(:user_id)
740
+ end
741
+ end
742
+
743
+ # Represents a user facing message for a particular data transfer run.
744
+ class TransferMessage
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # Message text.
748
+ # Corresponds to the JSON property `messageText`
749
+ # @return [String]
750
+ attr_accessor :message_text
751
+
752
+ # Time when message was logged.
753
+ # Corresponds to the JSON property `messageTime`
754
+ # @return [String]
755
+ attr_accessor :message_time
756
+
757
+ # Message severity.
758
+ # Corresponds to the JSON property `severity`
759
+ # @return [String]
760
+ attr_accessor :severity
761
+
762
+ def initialize(**args)
763
+ update!(**args)
764
+ end
765
+
766
+ # Update properties of this object
767
+ def update!(**args)
768
+ @message_text = args[:message_text] if args.key?(:message_text)
769
+ @message_time = args[:message_time] if args.key?(:message_time)
770
+ @severity = args[:severity] if args.key?(:severity)
771
+ end
772
+ end
773
+
774
+ # Represents a data transfer run.
775
+ class TransferRun
776
+ include Google::Apis::Core::Hashable
777
+
778
+ # Data source id.
779
+ # @OutputOnly
780
+ # Corresponds to the JSON property `dataSourceId`
781
+ # @return [String]
782
+ attr_accessor :data_source_id
783
+
784
+ # Region in which BigQuery dataset is located. Currently possible values are:
785
+ # "US" and "EU".
786
+ # @OutputOnly
787
+ # Corresponds to the JSON property `datasetRegion`
788
+ # @return [String]
789
+ attr_accessor :dataset_region
790
+
791
+ # The BigQuery target dataset id.
792
+ # Corresponds to the JSON property `destinationDatasetId`
793
+ # @return [String]
794
+ attr_accessor :destination_dataset_id
795
+
796
+ # Time when transfer run ended. Parameter ignored by server for input
797
+ # requests.
798
+ # @OutputOnly
799
+ # Corresponds to the JSON property `endTime`
800
+ # @return [String]
801
+ attr_accessor :end_time
802
+
803
+ # The resource name of the transfer run.
804
+ # Transfer run names have the form
805
+ # `projects/`project_id`/locations/`location`/transferConfigs/`config_id`/runs/`
806
+ # run_id``.
807
+ # The name is ignored when creating a transfer run.
808
+ # Corresponds to the JSON property `name`
809
+ # @return [String]
810
+ attr_accessor :name
811
+
812
+ # Data transfer specific parameters.
813
+ # Corresponds to the JSON property `params`
814
+ # @return [Hash<String,Object>]
815
+ attr_accessor :params
816
+
817
+ # For batch transfer runs, specifies the date and time that
818
+ # data should be ingested.
819
+ # Corresponds to the JSON property `runTime`
820
+ # @return [String]
821
+ attr_accessor :run_time
822
+
823
+ # Describes the schedule of this transfer run if it was created as part of
824
+ # a regular schedule. For batch transfer runs that are directly created,
825
+ # this is empty.
826
+ # NOTE: the system might choose to delay the schedule depending on the
827
+ # current load, so `schedule_time` doesn't always matches this.
828
+ # @OutputOnly
829
+ # Corresponds to the JSON property `schedule`
830
+ # @return [String]
831
+ attr_accessor :schedule
832
+
833
+ # Minimum time after which a transfer run can be started.
834
+ # Corresponds to the JSON property `scheduleTime`
835
+ # @return [String]
836
+ attr_accessor :schedule_time
837
+
838
+ # Time when transfer run was started. Parameter ignored by server for input
839
+ # requests.
840
+ # @OutputOnly
841
+ # Corresponds to the JSON property `startTime`
842
+ # @return [String]
843
+ attr_accessor :start_time
844
+
845
+ # Data transfer run status. Ignored for input requests.
846
+ # @OutputOnly
847
+ # Corresponds to the JSON property `status`
848
+ # @return [String]
849
+ attr_accessor :status
850
+
851
+ # Last time the data transfer run status was updated.
852
+ # @OutputOnly
853
+ # Corresponds to the JSON property `updateTime`
854
+ # @return [String]
855
+ attr_accessor :update_time
856
+
857
+ # The user id for this transfer run.
858
+ # @OutputOnly
859
+ # Corresponds to the JSON property `userId`
860
+ # @return [Fixnum]
861
+ attr_accessor :user_id
862
+
863
+ def initialize(**args)
864
+ update!(**args)
865
+ end
866
+
867
+ # Update properties of this object
868
+ def update!(**args)
869
+ @data_source_id = args[:data_source_id] if args.key?(:data_source_id)
870
+ @dataset_region = args[:dataset_region] if args.key?(:dataset_region)
871
+ @destination_dataset_id = args[:destination_dataset_id] if args.key?(:destination_dataset_id)
872
+ @end_time = args[:end_time] if args.key?(:end_time)
873
+ @name = args[:name] if args.key?(:name)
874
+ @params = args[:params] if args.key?(:params)
875
+ @run_time = args[:run_time] if args.key?(:run_time)
876
+ @schedule = args[:schedule] if args.key?(:schedule)
877
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
878
+ @start_time = args[:start_time] if args.key?(:start_time)
879
+ @status = args[:status] if args.key?(:status)
880
+ @update_time = args[:update_time] if args.key?(:update_time)
881
+ @user_id = args[:user_id] if args.key?(:user_id)
882
+ end
883
+ end
884
+ end
885
+ end
886
+ end