google-api-client 0.8.6 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +22 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +41 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +32 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +181 -148
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1036 -0
  15. data/api_names_out.yaml +26053 -0
  16. data/bin/generate-api +95 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  25. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  26. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  27. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  28. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  29. data/generated/google/apis/admin_directory_v1.rb +113 -0
  30. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  31. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  32. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  33. data/generated/google/apis/admin_reports_v1.rb +38 -0
  34. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  35. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  36. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  37. data/generated/google/apis/adsense_v1_4.rb +38 -0
  38. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  39. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  40. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  41. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  42. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  43. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  44. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  45. data/generated/google/apis/analytics_v3.rb +49 -0
  46. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  47. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  48. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  49. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  50. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  51. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  52. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  53. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  54. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  55. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  56. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  57. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  58. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  59. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  60. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  61. data/generated/google/apis/appsactivity_v1.rb +46 -0
  62. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  63. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  64. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  65. data/generated/google/apis/appstate_v1.rb +34 -0
  66. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  67. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  68. data/generated/google/apis/appstate_v1/service.rb +260 -0
  69. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  70. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  71. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  72. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  73. data/generated/google/apis/bigquery_v2.rb +52 -0
  74. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  75. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  76. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  77. data/generated/google/apis/blogger_v3.rb +37 -0
  78. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  79. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  80. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  81. data/generated/google/apis/books_v1.rb +34 -0
  82. data/generated/google/apis/books_v1/classes.rb +3956 -0
  83. data/generated/google/apis/books_v1/representations.rb +1538 -0
  84. data/generated/google/apis/books_v1/service.rb +2290 -0
  85. data/generated/google/apis/calendar_v3.rb +37 -0
  86. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  87. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  88. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  89. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  90. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  91. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  92. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  93. data/generated/google/apis/classroom_v1.rb +49 -0
  94. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  95. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  96. data/generated/google/apis/classroom_v1/service.rb +970 -0
  97. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  98. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  99. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  100. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  101. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  102. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  103. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  104. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  105. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  106. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  107. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  108. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  117. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  118. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  119. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  120. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  121. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  122. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  123. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  124. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  125. data/generated/google/apis/compute_beta.rb +49 -0
  126. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  127. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  128. data/generated/google/apis/compute_beta/service.rb +10154 -0
  129. data/generated/google/apis/compute_v1.rb +49 -0
  130. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  131. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  132. data/generated/google/apis/compute_v1/service.rb +9252 -0
  133. data/generated/google/apis/container_v1.rb +35 -0
  134. data/generated/google/apis/container_v1/classes.rb +463 -0
  135. data/generated/google/apis/container_v1/representations.rb +175 -0
  136. data/generated/google/apis/container_v1/service.rb +367 -0
  137. data/generated/google/apis/container_v1beta1.rb +35 -0
  138. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  139. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  140. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  141. data/generated/google/apis/content_v2.rb +35 -0
  142. data/generated/google/apis/content_v2/classes.rb +5986 -0
  143. data/generated/google/apis/content_v2/representations.rb +2288 -0
  144. data/generated/google/apis/content_v2/service.rb +2338 -0
  145. data/generated/google/apis/coordinate_v1.rb +37 -0
  146. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  147. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  148. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  149. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  150. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  151. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  152. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  153. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  154. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  155. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  156. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  157. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  158. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  159. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  160. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  165. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  166. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  167. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  168. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  169. data/generated/google/apis/discovery_v1.rb +32 -0
  170. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  171. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  172. data/generated/google/apis/discovery_v1/service.rb +142 -0
  173. data/generated/google/apis/dns_v1.rb +44 -0
  174. data/generated/google/apis/dns_v1/classes.rb +406 -0
  175. data/generated/google/apis/dns_v1/representations.rb +151 -0
  176. data/generated/google/apis/dns_v1/service.rb +454 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  181. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  182. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  183. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  184. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  185. data/generated/google/apis/drive_v2.rb +58 -0
  186. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  187. data/generated/google/apis/drive_v2/representations.rb +795 -0
  188. data/generated/google/apis/drive_v2/service.rb +2696 -0
  189. data/generated/google/apis/drive_v3.rb +55 -0
  190. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  191. data/generated/google/apis/drive_v3/representations.rb +497 -0
  192. data/generated/google/apis/drive_v3/service.rb +1541 -0
  193. data/generated/google/apis/fitness_v1.rb +49 -0
  194. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  195. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  196. data/generated/google/apis/fitness_v1/service.rb +675 -0
  197. data/generated/google/apis/fusiontables_v2.rb +37 -0
  198. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  199. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  200. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  201. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  202. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  203. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  204. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  205. data/generated/google/apis/games_management_v1management.rb +37 -0
  206. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  207. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  208. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  209. data/generated/google/apis/games_v1.rb +40 -0
  210. data/generated/google/apis/games_v1/classes.rb +4617 -0
  211. data/generated/google/apis/games_v1/representations.rb +1584 -0
  212. data/generated/google/apis/games_v1/service.rb +2290 -0
  213. data/generated/google/apis/gan_v1beta1.rb +31 -0
  214. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  215. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  216. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  217. data/generated/google/apis/genomics_v1.rb +49 -0
  218. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  219. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  220. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  221. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  222. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  223. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  224. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  225. data/generated/google/apis/gmail_v1.rb +52 -0
  226. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  227. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  228. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  229. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  230. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  231. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  232. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  233. data/generated/google/apis/groupssettings_v1.rb +34 -0
  234. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  235. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  236. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  237. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  238. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  239. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  240. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  241. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  242. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  243. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  244. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  245. data/generated/google/apis/licensing_v1.rb +34 -0
  246. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  247. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  248. data/generated/google/apis/licensing_v1/service.rb +369 -0
  249. data/generated/google/apis/logging_v1beta3.rb +47 -0
  250. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  251. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  252. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  253. data/generated/google/apis/manager_v1beta2.rb +53 -0
  254. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  255. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  256. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  257. data/generated/google/apis/mapsengine_v1.rb +38 -0
  258. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  259. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  260. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  261. data/generated/google/apis/mirror_v1.rb +37 -0
  262. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  263. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  264. data/generated/google/apis/mirror_v1/service.rb +977 -0
  265. data/generated/google/apis/oauth2_v2.rb +43 -0
  266. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  267. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  268. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  269. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  270. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  271. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  272. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  273. data/generated/google/apis/partners_v2.rb +32 -0
  274. data/generated/google/apis/partners_v2/classes.rb +942 -0
  275. data/generated/google/apis/partners_v2/representations.rb +402 -0
  276. data/generated/google/apis/partners_v2/service.rb +400 -0
  277. data/generated/google/apis/plus_domains_v1.rb +61 -0
  278. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  279. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  280. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  281. data/generated/google/apis/plus_v1.rb +43 -0
  282. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  283. data/generated/google/apis/plus_v1/representations.rb +805 -0
  284. data/generated/google/apis/plus_v1/service.rb +470 -0
  285. data/generated/google/apis/prediction_v1_6.rb +44 -0
  286. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  287. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  288. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  293. data/generated/google/apis/pubsub_v1.rb +37 -0
  294. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  295. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  296. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  297. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  298. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  299. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  300. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  301. data/generated/google/apis/qpx_express_v1.rb +31 -0
  302. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  303. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  304. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  305. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  306. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  307. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  308. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  313. data/generated/google/apis/reseller_v1.rb +37 -0
  314. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  315. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  316. data/generated/google/apis/reseller_v1/service.rb +623 -0
  317. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  318. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  319. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  320. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  321. data/generated/google/apis/script_v1.rb +61 -0
  322. data/generated/google/apis/script_v1/classes.rb +259 -0
  323. data/generated/google/apis/script_v1/representations.rb +106 -0
  324. data/generated/google/apis/script_v1/service.rb +98 -0
  325. data/generated/google/apis/site_verification_v1.rb +37 -0
  326. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  327. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  328. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  329. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  330. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  331. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  332. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  333. data/generated/google/apis/storage_v1.rb +46 -0
  334. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  335. data/generated/google/apis/storage_v1/representations.rb +445 -0
  336. data/generated/google/apis/storage_v1/service.rb +1903 -0
  337. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  338. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  339. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  340. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  341. data/generated/google/apis/tagmanager_v1.rb +52 -0
  342. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  343. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  344. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  345. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  346. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  347. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  348. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  349. data/generated/google/apis/tasks_v1.rb +37 -0
  350. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  351. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  352. data/generated/google/apis/tasks_v1/service.rb +643 -0
  353. data/generated/google/apis/translate_v2.rb +31 -0
  354. data/generated/google/apis/translate_v2/classes.rb +168 -0
  355. data/generated/google/apis/translate_v2/representations.rb +109 -0
  356. data/generated/google/apis/translate_v2/service.rb +182 -0
  357. data/generated/google/apis/urlshortener_v1.rb +34 -0
  358. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  359. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  360. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  361. data/generated/google/apis/webmasters_v3.rb +37 -0
  362. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  363. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  364. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  365. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  366. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  367. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  368. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  369. data/generated/google/apis/youtube_v3.rb +49 -0
  370. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  371. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  372. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  373. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  374. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  375. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  376. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  377. data/google-api-client.gemspec +27 -39
  378. data/lib/google/api_client/auth/installed_app.rb +7 -5
  379. data/lib/google/api_client/auth/key_utils.rb +1 -0
  380. data/lib/google/api_client/auth/storage.rb +4 -2
  381. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  382. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  383. data/lib/google/api_client/client_secrets.rb +4 -5
  384. data/lib/google/apis.rb +48 -0
  385. data/lib/google/apis/core/api_command.rb +135 -0
  386. data/lib/google/apis/core/base_service.rb +317 -0
  387. data/lib/google/apis/core/batch.rb +239 -0
  388. data/lib/google/apis/core/download.rb +94 -0
  389. data/lib/google/apis/core/hashable.rb +44 -0
  390. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  391. data/lib/google/apis/core/http_command.rb +312 -0
  392. data/lib/google/apis/core/json_representation.rb +127 -0
  393. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  394. data/lib/google/apis/core/multipart.rb +187 -0
  395. data/lib/google/apis/core/upload.rb +288 -0
  396. data/lib/google/{api_client → apis}/errors.rb +39 -28
  397. data/lib/google/apis/generator.rb +70 -0
  398. data/lib/google/apis/generator/annotator.rb +295 -0
  399. data/lib/google/apis/generator/helpers.rb +74 -0
  400. data/lib/google/apis/generator/model.rb +143 -0
  401. data/lib/google/apis/generator/template.rb +124 -0
  402. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  403. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  404. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  405. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  406. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  407. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  408. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  409. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  410. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  411. data/lib/google/apis/options.rb +85 -0
  412. data/lib/google/apis/version.rb +39 -0
  413. data/rakelib/metrics.rake +22 -0
  414. data/rakelib/rubocop.rake +10 -0
  415. data/rakelib/spec.rake +11 -0
  416. data/rakelib/yard.rake +11 -0
  417. data/samples/Gemfile +7 -0
  418. data/samples/README.md +51 -0
  419. data/samples/google-api-samples +32 -0
  420. data/samples/lib/base_cli.rb +94 -0
  421. data/samples/lib/samples/analytics.rb +62 -0
  422. data/samples/lib/samples/calendar.rb +83 -0
  423. data/samples/lib/samples/drive.rb +82 -0
  424. data/samples/lib/samples/gmail.rb +50 -0
  425. data/samples/lib/samples/pubsub.rb +114 -0
  426. data/samples/lib/samples/translate.rb +44 -0
  427. data/samples/lib/samples/you_tube.rb +44 -0
  428. data/script/generate +95 -0
  429. data/script/package +8 -0
  430. data/script/release +15 -0
  431. data/spec/fixtures/files/api_names.yaml +3 -0
  432. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  433. data/spec/fixtures/files/child/.gitignore +0 -0
  434. data/spec/fixtures/files/client_secrets.json +1 -0
  435. data/spec/fixtures/files/invalid.json +1 -0
  436. data/spec/fixtures/files/test.blah +1 -0
  437. data/spec/fixtures/files/test.txt +1 -0
  438. data/spec/fixtures/files/test_api.json +440 -0
  439. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  440. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  441. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  442. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  443. data/spec/google/apis/core/api_command_spec.rb +209 -0
  444. data/spec/google/apis/core/batch_spec.rb +142 -0
  445. data/spec/google/apis/core/download_spec.rb +103 -0
  446. data/spec/google/apis/core/hashable_spec.rb +60 -0
  447. data/spec/google/apis/core/http_command_spec.rb +284 -0
  448. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  449. data/spec/google/apis/core/service_spec.rb +247 -0
  450. data/spec/google/apis/core/upload_spec.rb +300 -0
  451. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  452. data/spec/google/apis/generator/generator_spec.rb +272 -0
  453. data/spec/google/apis/logging_spec.rb +45 -0
  454. data/spec/google/apis/options_spec.rb +40 -0
  455. data/spec/integration_tests/adsense_spec.rb +29 -0
  456. data/spec/integration_tests/drive_spec.rb +35 -0
  457. data/spec/integration_tests/pubsub_spec.rb +48 -0
  458. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  459. data/spec/spec_helper.rb +131 -44
  460. data/spec/spec_helper/load_path_spec.rb +33 -0
  461. data/third_party/hurley_patches.rb +103 -0
  462. metadata +533 -170
  463. data/lib/compat/multi_json.rb +0 -19
  464. data/lib/google/api_client.rb +0 -750
  465. data/lib/google/api_client/auth/file_storage.rb +0 -59
  466. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  467. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  468. data/lib/google/api_client/batch.rb +0 -326
  469. data/lib/google/api_client/charset.rb +0 -33
  470. data/lib/google/api_client/discovery/api.rb +0 -310
  471. data/lib/google/api_client/discovery/media.rb +0 -77
  472. data/lib/google/api_client/discovery/method.rb +0 -363
  473. data/lib/google/api_client/discovery/resource.rb +0 -156
  474. data/lib/google/api_client/discovery/schema.rb +0 -117
  475. data/lib/google/api_client/environment.rb +0 -42
  476. data/lib/google/api_client/gzip.rb +0 -28
  477. data/lib/google/api_client/logging.rb +0 -32
  478. data/lib/google/api_client/media.rb +0 -259
  479. data/lib/google/api_client/railtie.rb +0 -18
  480. data/lib/google/api_client/request.rb +0 -350
  481. data/lib/google/api_client/result.rb +0 -255
  482. data/lib/google/api_client/service.rb +0 -233
  483. data/lib/google/api_client/service/batch.rb +0 -110
  484. data/lib/google/api_client/service/request.rb +0 -144
  485. data/lib/google/api_client/service/resource.rb +0 -40
  486. data/lib/google/api_client/service/result.rb +0 -162
  487. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  488. data/lib/google/api_client/service/stub_generator.rb +0 -61
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -708
  491. data/spec/google/api_client/gzip_spec.rb +0 -98
  492. data/spec/google/api_client/media_spec.rb +0 -178
  493. data/spec/google/api_client/result_spec.rb +0 -207
  494. data/spec/google/api_client/service_account_spec.rb +0 -169
  495. data/spec/google/api_client/service_spec.rb +0 -618
  496. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  497. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,52 @@
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/bigquery_v2/service.rb'
16
+ require 'google/apis/bigquery_v2/classes.rb'
17
+ require 'google/apis/bigquery_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # BigQuery API
22
+ #
23
+ # A data platform for customers to create, manage, share and query data.
24
+ #
25
+ # @see https://cloud.google.com/bigquery/
26
+ module BigqueryV2
27
+ VERSION = 'V2'
28
+ REVISION = '20160104'
29
+
30
+ # View and manage your data in Google BigQuery
31
+ AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
32
+
33
+ # Insert data into Google BigQuery
34
+ AUTH_BIGQUERY_INSERTDATA = 'https://www.googleapis.com/auth/bigquery.insertdata'
35
+
36
+ # View and manage your data across Google Cloud Platform services
37
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
38
+
39
+ # View your data across Google Cloud Platform services
40
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
41
+
42
+ # Manage your data and permissions in Google Cloud Storage
43
+ AUTH_DEVSTORAGE_FULL_CONTROL = 'https://www.googleapis.com/auth/devstorage.full_control'
44
+
45
+ # View your data in Google Cloud Storage
46
+ AUTH_DEVSTORAGE_READ_ONLY = 'https://www.googleapis.com/auth/devstorage.read_only'
47
+
48
+ # Manage your data in Google Cloud Storage
49
+ AUTH_DEVSTORAGE_READ_WRITE = 'https://www.googleapis.com/auth/devstorage.read_write'
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,2471 @@
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 BigqueryV2
24
+
25
+ #
26
+ class CsvOptions
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # [Optional] Indicates if BigQuery should accept rows that are missing trailing
30
+ # optional columns. If true, BigQuery treats missing trailing columns as null
31
+ # values. If false, records with missing trailing columns are treated as bad
32
+ # records, and if there are too many bad records, an invalid error is returned
33
+ # in the job result. The default value is false.
34
+ # Corresponds to the JSON property `allowJaggedRows`
35
+ # @return [Boolean]
36
+ attr_accessor :allow_jagged_rows
37
+ alias_method :allow_jagged_rows?, :allow_jagged_rows
38
+
39
+ # [Optional] Indicates if BigQuery should allow quoted data sections that
40
+ # contain newline characters in a CSV file. The default value is false.
41
+ # Corresponds to the JSON property `allowQuotedNewlines`
42
+ # @return [Boolean]
43
+ attr_accessor :allow_quoted_newlines
44
+ alias_method :allow_quoted_newlines?, :allow_quoted_newlines
45
+
46
+ # [Optional] The character encoding of the data. The supported values are UTF-8
47
+ # or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the
48
+ # raw, binary data has been split using the values of the quote and
49
+ # fieldDelimiter properties.
50
+ # Corresponds to the JSON property `encoding`
51
+ # @return [String]
52
+ attr_accessor :encoding
53
+
54
+ # [Optional] The separator for fields in a CSV file. BigQuery converts the
55
+ # string to ISO-8859-1 encoding, and then uses the first byte of the encoded
56
+ # string to split the data in its raw, binary state. BigQuery also supports the
57
+ # escape sequence "\t" to specify a tab separator. The default value is a comma (
58
+ # ',').
59
+ # Corresponds to the JSON property `fieldDelimiter`
60
+ # @return [String]
61
+ attr_accessor :field_delimiter
62
+
63
+ # [Optional] The value that is used to quote data sections in a CSV file.
64
+ # BigQuery converts the string to ISO-8859-1 encoding, and then uses the first
65
+ # byte of the encoded string to split the data in its raw, binary state. The
66
+ # default value is a double-quote ('"'). If your data does not contain quoted
67
+ # sections, set the property value to an empty string. If your data contains
68
+ # quoted newline characters, you must also set the allowQuotedNewlines property
69
+ # to true.
70
+ # Corresponds to the JSON property `quote`
71
+ # @return [String]
72
+ attr_accessor :quote
73
+
74
+ # [Optional] The number of rows at the top of a CSV file that BigQuery will skip
75
+ # when reading the data. The default value is 0. This property is useful if you
76
+ # have header rows in the file that should be skipped.
77
+ # Corresponds to the JSON property `skipLeadingRows`
78
+ # @return [Fixnum]
79
+ attr_accessor :skip_leading_rows
80
+
81
+ def initialize(**args)
82
+ update!(**args)
83
+ end
84
+
85
+ # Update properties of this object
86
+ def update!(**args)
87
+ @allow_jagged_rows = args[:allow_jagged_rows] unless args[:allow_jagged_rows].nil?
88
+ @allow_quoted_newlines = args[:allow_quoted_newlines] unless args[:allow_quoted_newlines].nil?
89
+ @encoding = args[:encoding] unless args[:encoding].nil?
90
+ @field_delimiter = args[:field_delimiter] unless args[:field_delimiter].nil?
91
+ @quote = args[:quote] unless args[:quote].nil?
92
+ @skip_leading_rows = args[:skip_leading_rows] unless args[:skip_leading_rows].nil?
93
+ end
94
+ end
95
+
96
+ #
97
+ class Dataset
98
+ include Google::Apis::Core::Hashable
99
+
100
+ # [Optional] An array of objects that define dataset access for one or more
101
+ # entities. You can set this property when inserting or updating a dataset in
102
+ # order to control who is allowed to access the data. If unspecified at dataset
103
+ # creation time, BigQuery adds default dataset access for the following entities:
104
+ # access.specialGroup: projectReaders; access.role: READER; access.specialGroup:
105
+ # projectWriters; access.role: WRITER; access.specialGroup: projectOwners;
106
+ # access.role: OWNER; access.userByEmail: [dataset creator email]; access.role:
107
+ # OWNER;
108
+ # Corresponds to the JSON property `access`
109
+ # @return [Array<Google::Apis::BigqueryV2::Dataset::Access>]
110
+ attr_accessor :access
111
+
112
+ # [Output-only] The time when this dataset was created, in milliseconds since
113
+ # the epoch.
114
+ # Corresponds to the JSON property `creationTime`
115
+ # @return [String]
116
+ attr_accessor :creation_time
117
+
118
+ # [Required] A reference that identifies the dataset.
119
+ # Corresponds to the JSON property `datasetReference`
120
+ # @return [Google::Apis::BigqueryV2::DatasetReference]
121
+ attr_accessor :dataset_reference
122
+
123
+ # [Experimental] The default lifetime of all tables in the dataset, in
124
+ # milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this
125
+ # property is set, all newly-created tables in the dataset will have an
126
+ # expirationTime property set to the creation time plus the value in this
127
+ # property, and changing the value will only affect new tables, not existing
128
+ # ones. When the expirationTime for a given table is reached, that table will be
129
+ # deleted automatically. If a table's expirationTime is modified or removed
130
+ # before the table expires, or if you provide an explicit expirationTime when
131
+ # creating a table, that value takes precedence over the default expiration time
132
+ # indicated by this property.
133
+ # Corresponds to the JSON property `defaultTableExpirationMs`
134
+ # @return [String]
135
+ attr_accessor :default_table_expiration_ms
136
+
137
+ # [Optional] A user-friendly description of the dataset.
138
+ # Corresponds to the JSON property `description`
139
+ # @return [String]
140
+ attr_accessor :description
141
+
142
+ # [Output-only] A hash of the resource.
143
+ # Corresponds to the JSON property `etag`
144
+ # @return [String]
145
+ attr_accessor :etag
146
+
147
+ # [Optional] A descriptive name for the dataset.
148
+ # Corresponds to the JSON property `friendlyName`
149
+ # @return [String]
150
+ attr_accessor :friendly_name
151
+
152
+ # [Output-only] The fully-qualified unique name of the dataset in the format
153
+ # projectId:datasetId. The dataset name without the project name is given in the
154
+ # datasetId field. When creating a new dataset, leave this field blank, and
155
+ # instead specify the datasetId field.
156
+ # Corresponds to the JSON property `id`
157
+ # @return [String]
158
+ attr_accessor :id
159
+
160
+ # [Output-only] The resource type.
161
+ # Corresponds to the JSON property `kind`
162
+ # @return [String]
163
+ attr_accessor :kind
164
+
165
+ # [Output-only] The date when this dataset or any of its tables was last
166
+ # modified, in milliseconds since the epoch.
167
+ # Corresponds to the JSON property `lastModifiedTime`
168
+ # @return [String]
169
+ attr_accessor :last_modified_time
170
+
171
+ # [Experimental] The geographic location where the dataset should reside.
172
+ # Possible values include EU and US. The default value is US.
173
+ # Corresponds to the JSON property `location`
174
+ # @return [String]
175
+ attr_accessor :location
176
+
177
+ # [Output-only] A URL that can be used to access the resource again. You can use
178
+ # this URL in Get or Update requests to the resource.
179
+ # Corresponds to the JSON property `selfLink`
180
+ # @return [String]
181
+ attr_accessor :self_link
182
+
183
+ def initialize(**args)
184
+ update!(**args)
185
+ end
186
+
187
+ # Update properties of this object
188
+ def update!(**args)
189
+ @access = args[:access] unless args[:access].nil?
190
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
191
+ @dataset_reference = args[:dataset_reference] unless args[:dataset_reference].nil?
192
+ @default_table_expiration_ms = args[:default_table_expiration_ms] unless args[:default_table_expiration_ms].nil?
193
+ @description = args[:description] unless args[:description].nil?
194
+ @etag = args[:etag] unless args[:etag].nil?
195
+ @friendly_name = args[:friendly_name] unless args[:friendly_name].nil?
196
+ @id = args[:id] unless args[:id].nil?
197
+ @kind = args[:kind] unless args[:kind].nil?
198
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
199
+ @location = args[:location] unless args[:location].nil?
200
+ @self_link = args[:self_link] unless args[:self_link].nil?
201
+ end
202
+
203
+ #
204
+ class Access
205
+ include Google::Apis::Core::Hashable
206
+
207
+ # [Pick one] A domain to grant access to. Any users signed in with the domain
208
+ # specified will be granted the specified access. Example: "example.com".
209
+ # Corresponds to the JSON property `domain`
210
+ # @return [String]
211
+ attr_accessor :domain
212
+
213
+ # [Pick one] An email address of a Google Group to grant access to.
214
+ # Corresponds to the JSON property `groupByEmail`
215
+ # @return [String]
216
+ attr_accessor :group_by_email
217
+
218
+ # [Required] Describes the rights granted to the user specified by the other
219
+ # member of the access object. The following string values are supported: READER,
220
+ # WRITER, OWNER.
221
+ # Corresponds to the JSON property `role`
222
+ # @return [String]
223
+ attr_accessor :role
224
+
225
+ # [Pick one] A special group to grant access to. Possible values include:
226
+ # projectOwners: Owners of the enclosing project. projectReaders: Readers of the
227
+ # enclosing project. projectWriters: Writers of the enclosing project.
228
+ # allAuthenticatedUsers: All authenticated BigQuery users.
229
+ # Corresponds to the JSON property `specialGroup`
230
+ # @return [String]
231
+ attr_accessor :special_group
232
+
233
+ # [Pick one] An email address of a user to grant access to. For example: fred@
234
+ # example.com.
235
+ # Corresponds to the JSON property `userByEmail`
236
+ # @return [String]
237
+ attr_accessor :user_by_email
238
+
239
+ # [Pick one] A view from a different dataset to grant access to. Queries
240
+ # executed against that view will have read access to tables in this dataset.
241
+ # The role field is not required when this field is set. If that view is updated
242
+ # by any user, access to the view needs to be granted again via an update
243
+ # operation.
244
+ # Corresponds to the JSON property `view`
245
+ # @return [Google::Apis::BigqueryV2::TableReference]
246
+ attr_accessor :view
247
+
248
+ def initialize(**args)
249
+ update!(**args)
250
+ end
251
+
252
+ # Update properties of this object
253
+ def update!(**args)
254
+ @domain = args[:domain] unless args[:domain].nil?
255
+ @group_by_email = args[:group_by_email] unless args[:group_by_email].nil?
256
+ @role = args[:role] unless args[:role].nil?
257
+ @special_group = args[:special_group] unless args[:special_group].nil?
258
+ @user_by_email = args[:user_by_email] unless args[:user_by_email].nil?
259
+ @view = args[:view] unless args[:view].nil?
260
+ end
261
+ end
262
+ end
263
+
264
+ #
265
+ class DatasetList
266
+ include Google::Apis::Core::Hashable
267
+
268
+ # An array of the dataset resources in the project. Each resource contains basic
269
+ # information. For full information about a particular dataset resource, use the
270
+ # Datasets: get method. This property is omitted when there are no datasets in
271
+ # the project.
272
+ # Corresponds to the JSON property `datasets`
273
+ # @return [Array<Google::Apis::BigqueryV2::DatasetList::Dataset>]
274
+ attr_accessor :datasets
275
+
276
+ # A hash value of the results page. You can use this property to determine if
277
+ # the page has changed since the last request.
278
+ # Corresponds to the JSON property `etag`
279
+ # @return [String]
280
+ attr_accessor :etag
281
+
282
+ # The list type. This property always returns the value "bigquery#datasetList".
283
+ # Corresponds to the JSON property `kind`
284
+ # @return [String]
285
+ attr_accessor :kind
286
+
287
+ # A token that can be used to request the next results page. This property is
288
+ # omitted on the final results page.
289
+ # Corresponds to the JSON property `nextPageToken`
290
+ # @return [String]
291
+ attr_accessor :next_page_token
292
+
293
+ def initialize(**args)
294
+ update!(**args)
295
+ end
296
+
297
+ # Update properties of this object
298
+ def update!(**args)
299
+ @datasets = args[:datasets] unless args[:datasets].nil?
300
+ @etag = args[:etag] unless args[:etag].nil?
301
+ @kind = args[:kind] unless args[:kind].nil?
302
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
303
+ end
304
+
305
+ #
306
+ class Dataset
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # The dataset reference. Use this property to access specific parts of the
310
+ # dataset's ID, such as project ID or dataset ID.
311
+ # Corresponds to the JSON property `datasetReference`
312
+ # @return [Google::Apis::BigqueryV2::DatasetReference]
313
+ attr_accessor :dataset_reference
314
+
315
+ # A descriptive name for the dataset, if one exists.
316
+ # Corresponds to the JSON property `friendlyName`
317
+ # @return [String]
318
+ attr_accessor :friendly_name
319
+
320
+ # The fully-qualified, unique, opaque ID of the dataset.
321
+ # Corresponds to the JSON property `id`
322
+ # @return [String]
323
+ attr_accessor :id
324
+
325
+ # The resource type. This property always returns the value "bigquery#dataset".
326
+ # Corresponds to the JSON property `kind`
327
+ # @return [String]
328
+ attr_accessor :kind
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @dataset_reference = args[:dataset_reference] unless args[:dataset_reference].nil?
337
+ @friendly_name = args[:friendly_name] unless args[:friendly_name].nil?
338
+ @id = args[:id] unless args[:id].nil?
339
+ @kind = args[:kind] unless args[:kind].nil?
340
+ end
341
+ end
342
+ end
343
+
344
+ #
345
+ class DatasetReference
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # [Required] A unique ID for this dataset, without the project name. The ID must
349
+ # contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The
350
+ # maximum length is 1,024 characters.
351
+ # Corresponds to the JSON property `datasetId`
352
+ # @return [String]
353
+ attr_accessor :dataset_id
354
+
355
+ # [Optional] The ID of the project containing this dataset.
356
+ # Corresponds to the JSON property `projectId`
357
+ # @return [String]
358
+ attr_accessor :project_id
359
+
360
+ def initialize(**args)
361
+ update!(**args)
362
+ end
363
+
364
+ # Update properties of this object
365
+ def update!(**args)
366
+ @dataset_id = args[:dataset_id] unless args[:dataset_id].nil?
367
+ @project_id = args[:project_id] unless args[:project_id].nil?
368
+ end
369
+ end
370
+
371
+ #
372
+ class ErrorProto
373
+ include Google::Apis::Core::Hashable
374
+
375
+ # Debugging information. This property is internal to Google and should not be
376
+ # used.
377
+ # Corresponds to the JSON property `debugInfo`
378
+ # @return [String]
379
+ attr_accessor :debug_info
380
+
381
+ # Specifies where the error occurred, if present.
382
+ # Corresponds to the JSON property `location`
383
+ # @return [String]
384
+ attr_accessor :location
385
+
386
+ # A human-readable description of the error.
387
+ # Corresponds to the JSON property `message`
388
+ # @return [String]
389
+ attr_accessor :message
390
+
391
+ # A short error code that summarizes the error.
392
+ # Corresponds to the JSON property `reason`
393
+ # @return [String]
394
+ attr_accessor :reason
395
+
396
+ def initialize(**args)
397
+ update!(**args)
398
+ end
399
+
400
+ # Update properties of this object
401
+ def update!(**args)
402
+ @debug_info = args[:debug_info] unless args[:debug_info].nil?
403
+ @location = args[:location] unless args[:location].nil?
404
+ @message = args[:message] unless args[:message].nil?
405
+ @reason = args[:reason] unless args[:reason].nil?
406
+ end
407
+ end
408
+
409
+ #
410
+ class ExplainQueryStage
411
+ include Google::Apis::Core::Hashable
412
+
413
+ # Relative amount of time the average shard spent on CPU-bound tasks.
414
+ # Corresponds to the JSON property `computeRatioAvg`
415
+ # @return [Float]
416
+ attr_accessor :compute_ratio_avg
417
+
418
+ # Relative amount of time the slowest shard spent on CPU-bound tasks.
419
+ # Corresponds to the JSON property `computeRatioMax`
420
+ # @return [Float]
421
+ attr_accessor :compute_ratio_max
422
+
423
+ # Unique ID for stage within plan.
424
+ # Corresponds to the JSON property `id`
425
+ # @return [String]
426
+ attr_accessor :id
427
+
428
+ # Human-readable name for stage.
429
+ # Corresponds to the JSON property `name`
430
+ # @return [String]
431
+ attr_accessor :name
432
+
433
+ # Relative amount of time the average shard spent reading input.
434
+ # Corresponds to the JSON property `readRatioAvg`
435
+ # @return [Float]
436
+ attr_accessor :read_ratio_avg
437
+
438
+ # Relative amount of time the slowest shard spent reading input.
439
+ # Corresponds to the JSON property `readRatioMax`
440
+ # @return [Float]
441
+ attr_accessor :read_ratio_max
442
+
443
+ # Number of records read into the stage.
444
+ # Corresponds to the JSON property `recordsRead`
445
+ # @return [String]
446
+ attr_accessor :records_read
447
+
448
+ # Number of records written by the stage.
449
+ # Corresponds to the JSON property `recordsWritten`
450
+ # @return [String]
451
+ attr_accessor :records_written
452
+
453
+ # List of operations within the stage in dependency order (approximately
454
+ # chronological).
455
+ # Corresponds to the JSON property `steps`
456
+ # @return [Array<Google::Apis::BigqueryV2::ExplainQueryStep>]
457
+ attr_accessor :steps
458
+
459
+ # Relative amount of time the average shard spent waiting to be scheduled.
460
+ # Corresponds to the JSON property `waitRatioAvg`
461
+ # @return [Float]
462
+ attr_accessor :wait_ratio_avg
463
+
464
+ # Relative amount of time the slowest shard spent waiting to be scheduled.
465
+ # Corresponds to the JSON property `waitRatioMax`
466
+ # @return [Float]
467
+ attr_accessor :wait_ratio_max
468
+
469
+ # Relative amount of time the average shard spent on writing output.
470
+ # Corresponds to the JSON property `writeRatioAvg`
471
+ # @return [Float]
472
+ attr_accessor :write_ratio_avg
473
+
474
+ # Relative amount of time the slowest shard spent on writing output.
475
+ # Corresponds to the JSON property `writeRatioMax`
476
+ # @return [Float]
477
+ attr_accessor :write_ratio_max
478
+
479
+ def initialize(**args)
480
+ update!(**args)
481
+ end
482
+
483
+ # Update properties of this object
484
+ def update!(**args)
485
+ @compute_ratio_avg = args[:compute_ratio_avg] unless args[:compute_ratio_avg].nil?
486
+ @compute_ratio_max = args[:compute_ratio_max] unless args[:compute_ratio_max].nil?
487
+ @id = args[:id] unless args[:id].nil?
488
+ @name = args[:name] unless args[:name].nil?
489
+ @read_ratio_avg = args[:read_ratio_avg] unless args[:read_ratio_avg].nil?
490
+ @read_ratio_max = args[:read_ratio_max] unless args[:read_ratio_max].nil?
491
+ @records_read = args[:records_read] unless args[:records_read].nil?
492
+ @records_written = args[:records_written] unless args[:records_written].nil?
493
+ @steps = args[:steps] unless args[:steps].nil?
494
+ @wait_ratio_avg = args[:wait_ratio_avg] unless args[:wait_ratio_avg].nil?
495
+ @wait_ratio_max = args[:wait_ratio_max] unless args[:wait_ratio_max].nil?
496
+ @write_ratio_avg = args[:write_ratio_avg] unless args[:write_ratio_avg].nil?
497
+ @write_ratio_max = args[:write_ratio_max] unless args[:write_ratio_max].nil?
498
+ end
499
+ end
500
+
501
+ #
502
+ class ExplainQueryStep
503
+ include Google::Apis::Core::Hashable
504
+
505
+ # Machine-readable operation type.
506
+ # Corresponds to the JSON property `kind`
507
+ # @return [String]
508
+ attr_accessor :kind
509
+
510
+ # Human-readable stage descriptions.
511
+ # Corresponds to the JSON property `substeps`
512
+ # @return [Array<String>]
513
+ attr_accessor :substeps
514
+
515
+ def initialize(**args)
516
+ update!(**args)
517
+ end
518
+
519
+ # Update properties of this object
520
+ def update!(**args)
521
+ @kind = args[:kind] unless args[:kind].nil?
522
+ @substeps = args[:substeps] unless args[:substeps].nil?
523
+ end
524
+ end
525
+
526
+ #
527
+ class ExternalDataConfiguration
528
+ include Google::Apis::Core::Hashable
529
+
530
+ # [Optional] The compression type of the data source. Possible values include
531
+ # GZIP and NONE. The default value is NONE. This setting is ignored for Google
532
+ # Cloud Datastore backups.
533
+ # Corresponds to the JSON property `compression`
534
+ # @return [String]
535
+ attr_accessor :compression
536
+
537
+ # Additional properties to set if sourceFormat is set to CSV.
538
+ # Corresponds to the JSON property `csvOptions`
539
+ # @return [Google::Apis::BigqueryV2::CsvOptions]
540
+ attr_accessor :csv_options
541
+
542
+ # [Optional] Indicates if BigQuery should allow extra values that are not
543
+ # represented in the table schema. If true, the extra values are ignored. If
544
+ # false, records with extra columns are treated as bad records, and if there are
545
+ # too many bad records, an invalid error is returned in the job result. The
546
+ # default value is false. The sourceFormat property determines what BigQuery
547
+ # treats as an extra value: CSV: Trailing columns JSON: Named values that don't
548
+ # match any column names Google Cloud Datastore backups: This setting is ignored.
549
+ # Corresponds to the JSON property `ignoreUnknownValues`
550
+ # @return [Boolean]
551
+ attr_accessor :ignore_unknown_values
552
+ alias_method :ignore_unknown_values?, :ignore_unknown_values
553
+
554
+ # [Optional] The maximum number of bad records that BigQuery can ignore when
555
+ # reading data. If the number of bad records exceeds this value, an invalid
556
+ # error is returned in the job result. The default value is 0, which requires
557
+ # that all records are valid. This setting is ignored for Google Cloud Datastore
558
+ # backups.
559
+ # Corresponds to the JSON property `maxBadRecords`
560
+ # @return [Fixnum]
561
+ attr_accessor :max_bad_records
562
+
563
+ # [Optional] The schema for the data. Schema is required for CSV and JSON
564
+ # formats. Schema is disallowed for Google Cloud Datastore backups.
565
+ # Corresponds to the JSON property `schema`
566
+ # @return [Google::Apis::BigqueryV2::TableSchema]
567
+ attr_accessor :schema
568
+
569
+ # [Required] The data format. For CSV files, specify "CSV". For newline-
570
+ # delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore
571
+ # backups, specify "DATASTORE_BACKUP".
572
+ # Corresponds to the JSON property `sourceFormat`
573
+ # @return [String]
574
+ attr_accessor :source_format
575
+
576
+ # [Required] The fully-qualified URIs that point to your data in Google Cloud
577
+ # Storage. Each URI can contain one '*' wildcard character and it must come
578
+ # after the 'bucket' name. Size limits related to load jobs apply to external
579
+ # data sources, plus an additional limit of 10 GB maximum size across all URIs.
580
+ # For Google Cloud Datastore backups, exactly one URI can be specified, and it
581
+ # must end with '.backup_info'. Also, the '*' wildcard character is not allowed.
582
+ # Corresponds to the JSON property `sourceUris`
583
+ # @return [Array<String>]
584
+ attr_accessor :source_uris
585
+
586
+ def initialize(**args)
587
+ update!(**args)
588
+ end
589
+
590
+ # Update properties of this object
591
+ def update!(**args)
592
+ @compression = args[:compression] unless args[:compression].nil?
593
+ @csv_options = args[:csv_options] unless args[:csv_options].nil?
594
+ @ignore_unknown_values = args[:ignore_unknown_values] unless args[:ignore_unknown_values].nil?
595
+ @max_bad_records = args[:max_bad_records] unless args[:max_bad_records].nil?
596
+ @schema = args[:schema] unless args[:schema].nil?
597
+ @source_format = args[:source_format] unless args[:source_format].nil?
598
+ @source_uris = args[:source_uris] unless args[:source_uris].nil?
599
+ end
600
+ end
601
+
602
+ #
603
+ class GetQueryResultsResponse
604
+ include Google::Apis::Core::Hashable
605
+
606
+ # Whether the query result was fetched from the query cache.
607
+ # Corresponds to the JSON property `cacheHit`
608
+ # @return [Boolean]
609
+ attr_accessor :cache_hit
610
+ alias_method :cache_hit?, :cache_hit
611
+
612
+ # [Output-only] All errors and warnings encountered during the running of the
613
+ # job. Errors here do not necessarily mean that the job has completed or was
614
+ # unsuccessful.
615
+ # Corresponds to the JSON property `errors`
616
+ # @return [Array<Google::Apis::BigqueryV2::ErrorProto>]
617
+ attr_accessor :errors
618
+
619
+ # A hash of this response.
620
+ # Corresponds to the JSON property `etag`
621
+ # @return [String]
622
+ attr_accessor :etag
623
+
624
+ # Whether the query has completed or not. If rows or totalRows are present, this
625
+ # will always be true. If this is false, totalRows will not be available.
626
+ # Corresponds to the JSON property `jobComplete`
627
+ # @return [Boolean]
628
+ attr_accessor :job_complete
629
+ alias_method :job_complete?, :job_complete
630
+
631
+ # Reference to the BigQuery Job that was created to run the query. This field
632
+ # will be present even if the original request timed out, in which case
633
+ # GetQueryResults can be used to read the results once the query has completed.
634
+ # Since this API only returns the first page of results, subsequent pages can be
635
+ # fetched via the same mechanism (GetQueryResults).
636
+ # Corresponds to the JSON property `jobReference`
637
+ # @return [Google::Apis::BigqueryV2::JobReference]
638
+ attr_accessor :job_reference
639
+
640
+ # The resource type of the response.
641
+ # Corresponds to the JSON property `kind`
642
+ # @return [String]
643
+ attr_accessor :kind
644
+
645
+ # A token used for paging results.
646
+ # Corresponds to the JSON property `pageToken`
647
+ # @return [String]
648
+ attr_accessor :page_token
649
+
650
+ # An object with as many results as can be contained within the maximum
651
+ # permitted reply size. To get any additional rows, you can call GetQueryResults
652
+ # and specify the jobReference returned above. Present only when the query
653
+ # completes successfully.
654
+ # Corresponds to the JSON property `rows`
655
+ # @return [Array<Google::Apis::BigqueryV2::TableRow>]
656
+ attr_accessor :rows
657
+
658
+ # The schema of the results. Present only when the query completes successfully.
659
+ # Corresponds to the JSON property `schema`
660
+ # @return [Google::Apis::BigqueryV2::TableSchema]
661
+ attr_accessor :schema
662
+
663
+ # The total number of bytes processed for this query.
664
+ # Corresponds to the JSON property `totalBytesProcessed`
665
+ # @return [String]
666
+ attr_accessor :total_bytes_processed
667
+
668
+ # The total number of rows in the complete query result set, which can be more
669
+ # than the number of rows in this single page of results. Present only when the
670
+ # query completes successfully.
671
+ # Corresponds to the JSON property `totalRows`
672
+ # @return [String]
673
+ attr_accessor :total_rows
674
+
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @cache_hit = args[:cache_hit] unless args[:cache_hit].nil?
682
+ @errors = args[:errors] unless args[:errors].nil?
683
+ @etag = args[:etag] unless args[:etag].nil?
684
+ @job_complete = args[:job_complete] unless args[:job_complete].nil?
685
+ @job_reference = args[:job_reference] unless args[:job_reference].nil?
686
+ @kind = args[:kind] unless args[:kind].nil?
687
+ @page_token = args[:page_token] unless args[:page_token].nil?
688
+ @rows = args[:rows] unless args[:rows].nil?
689
+ @schema = args[:schema] unless args[:schema].nil?
690
+ @total_bytes_processed = args[:total_bytes_processed] unless args[:total_bytes_processed].nil?
691
+ @total_rows = args[:total_rows] unless args[:total_rows].nil?
692
+ end
693
+ end
694
+
695
+ #
696
+ class Job
697
+ include Google::Apis::Core::Hashable
698
+
699
+ # [Required] Describes the job configuration.
700
+ # Corresponds to the JSON property `configuration`
701
+ # @return [Google::Apis::BigqueryV2::JobConfiguration]
702
+ attr_accessor :configuration
703
+
704
+ # [Output-only] A hash of this resource.
705
+ # Corresponds to the JSON property `etag`
706
+ # @return [String]
707
+ attr_accessor :etag
708
+
709
+ # [Output-only] Opaque ID field of the job
710
+ # Corresponds to the JSON property `id`
711
+ # @return [String]
712
+ attr_accessor :id
713
+
714
+ # [Optional] Reference describing the unique-per-user name of the job.
715
+ # Corresponds to the JSON property `jobReference`
716
+ # @return [Google::Apis::BigqueryV2::JobReference]
717
+ attr_accessor :job_reference
718
+
719
+ # [Output-only] The type of the resource.
720
+ # Corresponds to the JSON property `kind`
721
+ # @return [String]
722
+ attr_accessor :kind
723
+
724
+ # [Output-only] A URL that can be used to access this resource again.
725
+ # Corresponds to the JSON property `selfLink`
726
+ # @return [String]
727
+ attr_accessor :self_link
728
+
729
+ # [Output-only] Information about the job, including starting time and ending
730
+ # time of the job.
731
+ # Corresponds to the JSON property `statistics`
732
+ # @return [Google::Apis::BigqueryV2::JobStatistics]
733
+ attr_accessor :statistics
734
+
735
+ # [Output-only] The status of this job. Examine this value when polling an
736
+ # asynchronous job to see if the job is complete.
737
+ # Corresponds to the JSON property `status`
738
+ # @return [Google::Apis::BigqueryV2::JobStatus]
739
+ attr_accessor :status
740
+
741
+ # [Output-only] Email address of the user who ran the job.
742
+ # Corresponds to the JSON property `user_email`
743
+ # @return [String]
744
+ attr_accessor :user_email
745
+
746
+ def initialize(**args)
747
+ update!(**args)
748
+ end
749
+
750
+ # Update properties of this object
751
+ def update!(**args)
752
+ @configuration = args[:configuration] unless args[:configuration].nil?
753
+ @etag = args[:etag] unless args[:etag].nil?
754
+ @id = args[:id] unless args[:id].nil?
755
+ @job_reference = args[:job_reference] unless args[:job_reference].nil?
756
+ @kind = args[:kind] unless args[:kind].nil?
757
+ @self_link = args[:self_link] unless args[:self_link].nil?
758
+ @statistics = args[:statistics] unless args[:statistics].nil?
759
+ @status = args[:status] unless args[:status].nil?
760
+ @user_email = args[:user_email] unless args[:user_email].nil?
761
+ end
762
+ end
763
+
764
+ #
765
+ class CancelJobResponse
766
+ include Google::Apis::Core::Hashable
767
+
768
+ # The final state of the job.
769
+ # Corresponds to the JSON property `job`
770
+ # @return [Google::Apis::BigqueryV2::Job]
771
+ attr_accessor :job
772
+
773
+ # The resource type of the response.
774
+ # Corresponds to the JSON property `kind`
775
+ # @return [String]
776
+ attr_accessor :kind
777
+
778
+ def initialize(**args)
779
+ update!(**args)
780
+ end
781
+
782
+ # Update properties of this object
783
+ def update!(**args)
784
+ @job = args[:job] unless args[:job].nil?
785
+ @kind = args[:kind] unless args[:kind].nil?
786
+ end
787
+ end
788
+
789
+ #
790
+ class JobConfiguration
791
+ include Google::Apis::Core::Hashable
792
+
793
+ # [Pick one] Copies a table.
794
+ # Corresponds to the JSON property `copy`
795
+ # @return [Google::Apis::BigqueryV2::JobConfigurationTableCopy]
796
+ attr_accessor :copy
797
+
798
+ # [Optional] If set, don't actually run this job. A valid query will return a
799
+ # mostly empty response with some processing statistics, while an invalid query
800
+ # will return the same error it would if it wasn't a dry run. Behavior of non-
801
+ # query jobs is undefined.
802
+ # Corresponds to the JSON property `dryRun`
803
+ # @return [Boolean]
804
+ attr_accessor :dry_run
805
+ alias_method :dry_run?, :dry_run
806
+
807
+ # [Pick one] Configures an extract job.
808
+ # Corresponds to the JSON property `extract`
809
+ # @return [Google::Apis::BigqueryV2::JobConfigurationExtract]
810
+ attr_accessor :extract
811
+
812
+ # [Pick one] Configures a load job.
813
+ # Corresponds to the JSON property `load`
814
+ # @return [Google::Apis::BigqueryV2::JobConfigurationLoad]
815
+ attr_accessor :load
816
+
817
+ # [Pick one] Configures a query job.
818
+ # Corresponds to the JSON property `query`
819
+ # @return [Google::Apis::BigqueryV2::JobConfigurationQuery]
820
+ attr_accessor :query
821
+
822
+ def initialize(**args)
823
+ update!(**args)
824
+ end
825
+
826
+ # Update properties of this object
827
+ def update!(**args)
828
+ @copy = args[:copy] unless args[:copy].nil?
829
+ @dry_run = args[:dry_run] unless args[:dry_run].nil?
830
+ @extract = args[:extract] unless args[:extract].nil?
831
+ @load = args[:load] unless args[:load].nil?
832
+ @query = args[:query] unless args[:query].nil?
833
+ end
834
+ end
835
+
836
+ #
837
+ class JobConfigurationExtract
838
+ include Google::Apis::Core::Hashable
839
+
840
+ # [Optional] The compression type to use for exported files. Possible values
841
+ # include GZIP and NONE. The default value is NONE.
842
+ # Corresponds to the JSON property `compression`
843
+ # @return [String]
844
+ attr_accessor :compression
845
+
846
+ # [Optional] The exported file format. Possible values include CSV,
847
+ # NEWLINE_DELIMITED_JSON and AVRO. The default value is CSV. Tables with nested
848
+ # or repeated fields cannot be exported as CSV.
849
+ # Corresponds to the JSON property `destinationFormat`
850
+ # @return [String]
851
+ attr_accessor :destination_format
852
+
853
+ # [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI as
854
+ # necessary. The fully-qualified Google Cloud Storage URI where the extracted
855
+ # table should be written.
856
+ # Corresponds to the JSON property `destinationUri`
857
+ # @return [String]
858
+ attr_accessor :destination_uri
859
+
860
+ # [Pick one] A list of fully-qualified Google Cloud Storage URIs where the
861
+ # extracted table should be written.
862
+ # Corresponds to the JSON property `destinationUris`
863
+ # @return [Array<String>]
864
+ attr_accessor :destination_uris
865
+
866
+ # [Optional] Delimiter to use between fields in the exported data. Default is ','
867
+ # Corresponds to the JSON property `fieldDelimiter`
868
+ # @return [String]
869
+ attr_accessor :field_delimiter
870
+
871
+ # [Optional] Whether to print out a header row in the results. Default is true.
872
+ # Corresponds to the JSON property `printHeader`
873
+ # @return [Boolean]
874
+ attr_accessor :print_header
875
+ alias_method :print_header?, :print_header
876
+
877
+ # [Required] A reference to the table being exported.
878
+ # Corresponds to the JSON property `sourceTable`
879
+ # @return [Google::Apis::BigqueryV2::TableReference]
880
+ attr_accessor :source_table
881
+
882
+ def initialize(**args)
883
+ update!(**args)
884
+ end
885
+
886
+ # Update properties of this object
887
+ def update!(**args)
888
+ @compression = args[:compression] unless args[:compression].nil?
889
+ @destination_format = args[:destination_format] unless args[:destination_format].nil?
890
+ @destination_uri = args[:destination_uri] unless args[:destination_uri].nil?
891
+ @destination_uris = args[:destination_uris] unless args[:destination_uris].nil?
892
+ @field_delimiter = args[:field_delimiter] unless args[:field_delimiter].nil?
893
+ @print_header = args[:print_header] unless args[:print_header].nil?
894
+ @source_table = args[:source_table] unless args[:source_table].nil?
895
+ end
896
+ end
897
+
898
+ #
899
+ class JobConfigurationLoad
900
+ include Google::Apis::Core::Hashable
901
+
902
+ # [Optional] Accept rows that are missing trailing optional columns. The missing
903
+ # values are treated as nulls. If false, records with missing trailing columns
904
+ # are treated as bad records, and if there are too many bad records, an invalid
905
+ # error is returned in the job result. The default value is false. Only
906
+ # applicable to CSV, ignored for other formats.
907
+ # Corresponds to the JSON property `allowJaggedRows`
908
+ # @return [Boolean]
909
+ attr_accessor :allow_jagged_rows
910
+ alias_method :allow_jagged_rows?, :allow_jagged_rows
911
+
912
+ # Indicates if BigQuery should allow quoted data sections that contain newline
913
+ # characters in a CSV file. The default value is false.
914
+ # Corresponds to the JSON property `allowQuotedNewlines`
915
+ # @return [Boolean]
916
+ attr_accessor :allow_quoted_newlines
917
+ alias_method :allow_quoted_newlines?, :allow_quoted_newlines
918
+
919
+ # [Optional] Specifies whether the job is allowed to create new tables. The
920
+ # following values are supported: CREATE_IF_NEEDED: If the table does not exist,
921
+ # BigQuery creates the table. CREATE_NEVER: The table must already exist. If it
922
+ # does not, a 'notFound' error is returned in the job result. The default value
923
+ # is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one
924
+ # atomic update upon job completion.
925
+ # Corresponds to the JSON property `createDisposition`
926
+ # @return [String]
927
+ attr_accessor :create_disposition
928
+
929
+ # [Required] The destination table to load the data into.
930
+ # Corresponds to the JSON property `destinationTable`
931
+ # @return [Google::Apis::BigqueryV2::TableReference]
932
+ attr_accessor :destination_table
933
+
934
+ # [Optional] The character encoding of the data. The supported values are UTF-8
935
+ # or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the
936
+ # raw, binary data has been split using the values of the quote and
937
+ # fieldDelimiter properties.
938
+ # Corresponds to the JSON property `encoding`
939
+ # @return [String]
940
+ attr_accessor :encoding
941
+
942
+ # [Optional] The separator for fields in a CSV file. The separator can be any
943
+ # ISO-8859-1 single-byte character. To use a character in the range 128-255, you
944
+ # must encode the character as UTF8. BigQuery converts the string to ISO-8859-1
945
+ # encoding, and then uses the first byte of the encoded string to split the data
946
+ # in its raw, binary state. BigQuery also supports the escape sequence "\t" to
947
+ # specify a tab separator. The default value is a comma (',').
948
+ # Corresponds to the JSON property `fieldDelimiter`
949
+ # @return [String]
950
+ attr_accessor :field_delimiter
951
+
952
+ # [Optional] Indicates if BigQuery should allow extra values that are not
953
+ # represented in the table schema. If true, the extra values are ignored. If
954
+ # false, records with extra columns are treated as bad records, and if there are
955
+ # too many bad records, an invalid error is returned in the job result. The
956
+ # default value is false. The sourceFormat property determines what BigQuery
957
+ # treats as an extra value: CSV: Trailing columns JSON: Named values that don't
958
+ # match any column names
959
+ # Corresponds to the JSON property `ignoreUnknownValues`
960
+ # @return [Boolean]
961
+ attr_accessor :ignore_unknown_values
962
+ alias_method :ignore_unknown_values?, :ignore_unknown_values
963
+
964
+ # [Optional] The maximum number of bad records that BigQuery can ignore when
965
+ # running the job. If the number of bad records exceeds this value, an invalid
966
+ # error is returned in the job result. The default value is 0, which requires
967
+ # that all records are valid.
968
+ # Corresponds to the JSON property `maxBadRecords`
969
+ # @return [Fixnum]
970
+ attr_accessor :max_bad_records
971
+
972
+ # [Experimental] If sourceFormat is set to "DATASTORE_BACKUP", indicates which
973
+ # entity properties to load into BigQuery from a Cloud Datastore backup.
974
+ # Property names are case sensitive and must be top-level properties. If no
975
+ # properties are specified, BigQuery loads all properties. If any named property
976
+ # isn't found in the Cloud Datastore backup, an invalid error is returned in the
977
+ # job result.
978
+ # Corresponds to the JSON property `projectionFields`
979
+ # @return [Array<String>]
980
+ attr_accessor :projection_fields
981
+
982
+ # [Optional] The value that is used to quote data sections in a CSV file.
983
+ # BigQuery converts the string to ISO-8859-1 encoding, and then uses the first
984
+ # byte of the encoded string to split the data in its raw, binary state. The
985
+ # default value is a double-quote ('"'). If your data does not contain quoted
986
+ # sections, set the property value to an empty string. If your data contains
987
+ # quoted newline characters, you must also set the allowQuotedNewlines property
988
+ # to true.
989
+ # Corresponds to the JSON property `quote`
990
+ # @return [String]
991
+ attr_accessor :quote
992
+
993
+ # [Optional] The schema for the destination table. The schema can be omitted if
994
+ # the destination table already exists, or if you're loading data from Google
995
+ # Cloud Datastore.
996
+ # Corresponds to the JSON property `schema`
997
+ # @return [Google::Apis::BigqueryV2::TableSchema]
998
+ attr_accessor :schema
999
+
1000
+ # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,
1001
+ # Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
1002
+ # Corresponds to the JSON property `schemaInline`
1003
+ # @return [String]
1004
+ attr_accessor :schema_inline
1005
+
1006
+ # [Deprecated] The format of the schemaInline property.
1007
+ # Corresponds to the JSON property `schemaInlineFormat`
1008
+ # @return [String]
1009
+ attr_accessor :schema_inline_format
1010
+
1011
+ # [Optional] The number of rows at the top of a CSV file that BigQuery will skip
1012
+ # when loading the data. The default value is 0. This property is useful if you
1013
+ # have header rows in the file that should be skipped.
1014
+ # Corresponds to the JSON property `skipLeadingRows`
1015
+ # @return [Fixnum]
1016
+ attr_accessor :skip_leading_rows
1017
+
1018
+ # [Optional] The format of the data files. For CSV files, specify "CSV". For
1019
+ # datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON,
1020
+ # specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
1021
+ # Corresponds to the JSON property `sourceFormat`
1022
+ # @return [String]
1023
+ attr_accessor :source_format
1024
+
1025
+ # [Required] The fully-qualified URIs that point to your data in Google Cloud
1026
+ # Storage. Each URI can contain one '*' wildcard character and it must come
1027
+ # after the 'bucket' name.
1028
+ # Corresponds to the JSON property `sourceUris`
1029
+ # @return [Array<String>]
1030
+ attr_accessor :source_uris
1031
+
1032
+ # [Optional] Specifies the action that occurs if the destination table already
1033
+ # exists. The following values are supported: WRITE_TRUNCATE: If the table
1034
+ # already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table
1035
+ # already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the
1036
+ # table already exists and contains data, a 'duplicate' error is returned in the
1037
+ # job result. The default value is WRITE_APPEND. Each action is atomic and only
1038
+ # occurs if BigQuery is able to complete the job successfully. Creation,
1039
+ # truncation and append actions occur as one atomic update upon job completion.
1040
+ # Corresponds to the JSON property `writeDisposition`
1041
+ # @return [String]
1042
+ attr_accessor :write_disposition
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @allow_jagged_rows = args[:allow_jagged_rows] unless args[:allow_jagged_rows].nil?
1051
+ @allow_quoted_newlines = args[:allow_quoted_newlines] unless args[:allow_quoted_newlines].nil?
1052
+ @create_disposition = args[:create_disposition] unless args[:create_disposition].nil?
1053
+ @destination_table = args[:destination_table] unless args[:destination_table].nil?
1054
+ @encoding = args[:encoding] unless args[:encoding].nil?
1055
+ @field_delimiter = args[:field_delimiter] unless args[:field_delimiter].nil?
1056
+ @ignore_unknown_values = args[:ignore_unknown_values] unless args[:ignore_unknown_values].nil?
1057
+ @max_bad_records = args[:max_bad_records] unless args[:max_bad_records].nil?
1058
+ @projection_fields = args[:projection_fields] unless args[:projection_fields].nil?
1059
+ @quote = args[:quote] unless args[:quote].nil?
1060
+ @schema = args[:schema] unless args[:schema].nil?
1061
+ @schema_inline = args[:schema_inline] unless args[:schema_inline].nil?
1062
+ @schema_inline_format = args[:schema_inline_format] unless args[:schema_inline_format].nil?
1063
+ @skip_leading_rows = args[:skip_leading_rows] unless args[:skip_leading_rows].nil?
1064
+ @source_format = args[:source_format] unless args[:source_format].nil?
1065
+ @source_uris = args[:source_uris] unless args[:source_uris].nil?
1066
+ @write_disposition = args[:write_disposition] unless args[:write_disposition].nil?
1067
+ end
1068
+ end
1069
+
1070
+ #
1071
+ class JobConfigurationQuery
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ # If true, allows the query to produce arbitrarily large result tables at a
1075
+ # slight cost in performance. Requires destinationTable to be set.
1076
+ # Corresponds to the JSON property `allowLargeResults`
1077
+ # @return [Boolean]
1078
+ attr_accessor :allow_large_results
1079
+ alias_method :allow_large_results?, :allow_large_results
1080
+
1081
+ # [Optional] Specifies whether the job is allowed to create new tables. The
1082
+ # following values are supported: CREATE_IF_NEEDED: If the table does not exist,
1083
+ # BigQuery creates the table. CREATE_NEVER: The table must already exist. If it
1084
+ # does not, a 'notFound' error is returned in the job result. The default value
1085
+ # is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one
1086
+ # atomic update upon job completion.
1087
+ # Corresponds to the JSON property `createDisposition`
1088
+ # @return [String]
1089
+ attr_accessor :create_disposition
1090
+
1091
+ # [Optional] Specifies the default dataset to use for unqualified table names in
1092
+ # the query.
1093
+ # Corresponds to the JSON property `defaultDataset`
1094
+ # @return [Google::Apis::BigqueryV2::DatasetReference]
1095
+ attr_accessor :default_dataset
1096
+
1097
+ # [Optional] Describes the table where the query results should be stored. If
1098
+ # not present, a new table will be created to store the results.
1099
+ # Corresponds to the JSON property `destinationTable`
1100
+ # @return [Google::Apis::BigqueryV2::TableReference]
1101
+ attr_accessor :destination_table
1102
+
1103
+ # [Optional] Flattens all nested and repeated fields in the query results. The
1104
+ # default value is true. allowLargeResults must be true if this is set to false.
1105
+ # Corresponds to the JSON property `flattenResults`
1106
+ # @return [Boolean]
1107
+ attr_accessor :flatten_results
1108
+ alias_method :flatten_results?, :flatten_results
1109
+
1110
+ # [Optional] Limits the billing tier for this job. Queries that have resource
1111
+ # usage beyond this tier will fail (without incurring a charge). If unspecified,
1112
+ # this will be set to your project default.
1113
+ # Corresponds to the JSON property `maximumBillingTier`
1114
+ # @return [Fixnum]
1115
+ attr_accessor :maximum_billing_tier
1116
+
1117
+ # [Deprecated] This property is deprecated.
1118
+ # Corresponds to the JSON property `preserveNulls`
1119
+ # @return [Boolean]
1120
+ attr_accessor :preserve_nulls
1121
+ alias_method :preserve_nulls?, :preserve_nulls
1122
+
1123
+ # [Optional] Specifies a priority for the query. Possible values include
1124
+ # INTERACTIVE and BATCH. The default value is INTERACTIVE.
1125
+ # Corresponds to the JSON property `priority`
1126
+ # @return [String]
1127
+ attr_accessor :priority
1128
+
1129
+ # [Required] BigQuery SQL query to execute.
1130
+ # Corresponds to the JSON property `query`
1131
+ # @return [String]
1132
+ attr_accessor :query
1133
+
1134
+ # [Experimental] If querying an external data source outside of BigQuery,
1135
+ # describes the data format, location and other properties of the data source.
1136
+ # By defining these properties, the data source can then be queried as if it
1137
+ # were a standard BigQuery table.
1138
+ # Corresponds to the JSON property `tableDefinitions`
1139
+ # @return [Hash<String,Google::Apis::BigqueryV2::ExternalDataConfiguration>]
1140
+ attr_accessor :table_definitions
1141
+
1142
+ # [Optional] Whether to look for the result in the query cache. The query cache
1143
+ # is a best-effort cache that will be flushed whenever tables in the query are
1144
+ # modified. Moreover, the query cache is only available when a query does not
1145
+ # have a destination table specified. The default value is true.
1146
+ # Corresponds to the JSON property `useQueryCache`
1147
+ # @return [Boolean]
1148
+ attr_accessor :use_query_cache
1149
+ alias_method :use_query_cache?, :use_query_cache
1150
+
1151
+ # [Experimental] Describes user-defined function resources used in the query.
1152
+ # Corresponds to the JSON property `userDefinedFunctionResources`
1153
+ # @return [Array<Google::Apis::BigqueryV2::UserDefinedFunctionResource>]
1154
+ attr_accessor :user_defined_function_resources
1155
+
1156
+ # [Optional] Specifies the action that occurs if the destination table already
1157
+ # exists. The following values are supported: WRITE_TRUNCATE: If the table
1158
+ # already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table
1159
+ # already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the
1160
+ # table already exists and contains data, a 'duplicate' error is returned in the
1161
+ # job result. The default value is WRITE_EMPTY. Each action is atomic and only
1162
+ # occurs if BigQuery is able to complete the job successfully. Creation,
1163
+ # truncation and append actions occur as one atomic update upon job completion.
1164
+ # Corresponds to the JSON property `writeDisposition`
1165
+ # @return [String]
1166
+ attr_accessor :write_disposition
1167
+
1168
+ def initialize(**args)
1169
+ update!(**args)
1170
+ end
1171
+
1172
+ # Update properties of this object
1173
+ def update!(**args)
1174
+ @allow_large_results = args[:allow_large_results] unless args[:allow_large_results].nil?
1175
+ @create_disposition = args[:create_disposition] unless args[:create_disposition].nil?
1176
+ @default_dataset = args[:default_dataset] unless args[:default_dataset].nil?
1177
+ @destination_table = args[:destination_table] unless args[:destination_table].nil?
1178
+ @flatten_results = args[:flatten_results] unless args[:flatten_results].nil?
1179
+ @maximum_billing_tier = args[:maximum_billing_tier] unless args[:maximum_billing_tier].nil?
1180
+ @preserve_nulls = args[:preserve_nulls] unless args[:preserve_nulls].nil?
1181
+ @priority = args[:priority] unless args[:priority].nil?
1182
+ @query = args[:query] unless args[:query].nil?
1183
+ @table_definitions = args[:table_definitions] unless args[:table_definitions].nil?
1184
+ @use_query_cache = args[:use_query_cache] unless args[:use_query_cache].nil?
1185
+ @user_defined_function_resources = args[:user_defined_function_resources] unless args[:user_defined_function_resources].nil?
1186
+ @write_disposition = args[:write_disposition] unless args[:write_disposition].nil?
1187
+ end
1188
+ end
1189
+
1190
+ #
1191
+ class JobConfigurationTableCopy
1192
+ include Google::Apis::Core::Hashable
1193
+
1194
+ # [Optional] Specifies whether the job is allowed to create new tables. The
1195
+ # following values are supported: CREATE_IF_NEEDED: If the table does not exist,
1196
+ # BigQuery creates the table. CREATE_NEVER: The table must already exist. If it
1197
+ # does not, a 'notFound' error is returned in the job result. The default value
1198
+ # is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one
1199
+ # atomic update upon job completion.
1200
+ # Corresponds to the JSON property `createDisposition`
1201
+ # @return [String]
1202
+ attr_accessor :create_disposition
1203
+
1204
+ # [Required] The destination table
1205
+ # Corresponds to the JSON property `destinationTable`
1206
+ # @return [Google::Apis::BigqueryV2::TableReference]
1207
+ attr_accessor :destination_table
1208
+
1209
+ # [Pick one] Source table to copy.
1210
+ # Corresponds to the JSON property `sourceTable`
1211
+ # @return [Google::Apis::BigqueryV2::TableReference]
1212
+ attr_accessor :source_table
1213
+
1214
+ # [Pick one] Source tables to copy.
1215
+ # Corresponds to the JSON property `sourceTables`
1216
+ # @return [Array<Google::Apis::BigqueryV2::TableReference>]
1217
+ attr_accessor :source_tables
1218
+
1219
+ # [Optional] Specifies the action that occurs if the destination table already
1220
+ # exists. The following values are supported: WRITE_TRUNCATE: If the table
1221
+ # already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table
1222
+ # already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the
1223
+ # table already exists and contains data, a 'duplicate' error is returned in the
1224
+ # job result. The default value is WRITE_EMPTY. Each action is atomic and only
1225
+ # occurs if BigQuery is able to complete the job successfully. Creation,
1226
+ # truncation and append actions occur as one atomic update upon job completion.
1227
+ # Corresponds to the JSON property `writeDisposition`
1228
+ # @return [String]
1229
+ attr_accessor :write_disposition
1230
+
1231
+ def initialize(**args)
1232
+ update!(**args)
1233
+ end
1234
+
1235
+ # Update properties of this object
1236
+ def update!(**args)
1237
+ @create_disposition = args[:create_disposition] unless args[:create_disposition].nil?
1238
+ @destination_table = args[:destination_table] unless args[:destination_table].nil?
1239
+ @source_table = args[:source_table] unless args[:source_table].nil?
1240
+ @source_tables = args[:source_tables] unless args[:source_tables].nil?
1241
+ @write_disposition = args[:write_disposition] unless args[:write_disposition].nil?
1242
+ end
1243
+ end
1244
+
1245
+ #
1246
+ class JobList
1247
+ include Google::Apis::Core::Hashable
1248
+
1249
+ # A hash of this page of results.
1250
+ # Corresponds to the JSON property `etag`
1251
+ # @return [String]
1252
+ attr_accessor :etag
1253
+
1254
+ # List of jobs that were requested.
1255
+ # Corresponds to the JSON property `jobs`
1256
+ # @return [Array<Google::Apis::BigqueryV2::JobList::Job>]
1257
+ attr_accessor :jobs
1258
+
1259
+ # The resource type of the response.
1260
+ # Corresponds to the JSON property `kind`
1261
+ # @return [String]
1262
+ attr_accessor :kind
1263
+
1264
+ # A token to request the next page of results.
1265
+ # Corresponds to the JSON property `nextPageToken`
1266
+ # @return [String]
1267
+ attr_accessor :next_page_token
1268
+
1269
+ def initialize(**args)
1270
+ update!(**args)
1271
+ end
1272
+
1273
+ # Update properties of this object
1274
+ def update!(**args)
1275
+ @etag = args[:etag] unless args[:etag].nil?
1276
+ @jobs = args[:jobs] unless args[:jobs].nil?
1277
+ @kind = args[:kind] unless args[:kind].nil?
1278
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1279
+ end
1280
+
1281
+ #
1282
+ class Job
1283
+ include Google::Apis::Core::Hashable
1284
+
1285
+ # [Full-projection-only] Specifies the job configuration.
1286
+ # Corresponds to the JSON property `configuration`
1287
+ # @return [Google::Apis::BigqueryV2::JobConfiguration]
1288
+ attr_accessor :configuration
1289
+
1290
+ # A result object that will be present only if the job has failed.
1291
+ # Corresponds to the JSON property `errorResult`
1292
+ # @return [Google::Apis::BigqueryV2::ErrorProto]
1293
+ attr_accessor :error_result
1294
+
1295
+ # Unique opaque ID of the job.
1296
+ # Corresponds to the JSON property `id`
1297
+ # @return [String]
1298
+ attr_accessor :id
1299
+
1300
+ # Job reference uniquely identifying the job.
1301
+ # Corresponds to the JSON property `jobReference`
1302
+ # @return [Google::Apis::BigqueryV2::JobReference]
1303
+ attr_accessor :job_reference
1304
+
1305
+ # The resource type.
1306
+ # Corresponds to the JSON property `kind`
1307
+ # @return [String]
1308
+ attr_accessor :kind
1309
+
1310
+ # Running state of the job. When the state is DONE, errorResult can be checked
1311
+ # to determine whether the job succeeded or failed.
1312
+ # Corresponds to the JSON property `state`
1313
+ # @return [String]
1314
+ attr_accessor :state
1315
+
1316
+ # [Output-only] Information about the job, including starting time and ending
1317
+ # time of the job.
1318
+ # Corresponds to the JSON property `statistics`
1319
+ # @return [Google::Apis::BigqueryV2::JobStatistics]
1320
+ attr_accessor :statistics
1321
+
1322
+ # [Full-projection-only] Describes the state of the job.
1323
+ # Corresponds to the JSON property `status`
1324
+ # @return [Google::Apis::BigqueryV2::JobStatus]
1325
+ attr_accessor :status
1326
+
1327
+ # [Full-projection-only] Email address of the user who ran the job.
1328
+ # Corresponds to the JSON property `user_email`
1329
+ # @return [String]
1330
+ attr_accessor :user_email
1331
+
1332
+ def initialize(**args)
1333
+ update!(**args)
1334
+ end
1335
+
1336
+ # Update properties of this object
1337
+ def update!(**args)
1338
+ @configuration = args[:configuration] unless args[:configuration].nil?
1339
+ @error_result = args[:error_result] unless args[:error_result].nil?
1340
+ @id = args[:id] unless args[:id].nil?
1341
+ @job_reference = args[:job_reference] unless args[:job_reference].nil?
1342
+ @kind = args[:kind] unless args[:kind].nil?
1343
+ @state = args[:state] unless args[:state].nil?
1344
+ @statistics = args[:statistics] unless args[:statistics].nil?
1345
+ @status = args[:status] unless args[:status].nil?
1346
+ @user_email = args[:user_email] unless args[:user_email].nil?
1347
+ end
1348
+ end
1349
+ end
1350
+
1351
+ #
1352
+ class JobReference
1353
+ include Google::Apis::Core::Hashable
1354
+
1355
+ # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z),
1356
+ # numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024
1357
+ # characters.
1358
+ # Corresponds to the JSON property `jobId`
1359
+ # @return [String]
1360
+ attr_accessor :job_id
1361
+
1362
+ # [Required] The ID of the project containing this job.
1363
+ # Corresponds to the JSON property `projectId`
1364
+ # @return [String]
1365
+ attr_accessor :project_id
1366
+
1367
+ def initialize(**args)
1368
+ update!(**args)
1369
+ end
1370
+
1371
+ # Update properties of this object
1372
+ def update!(**args)
1373
+ @job_id = args[:job_id] unless args[:job_id].nil?
1374
+ @project_id = args[:project_id] unless args[:project_id].nil?
1375
+ end
1376
+ end
1377
+
1378
+ #
1379
+ class JobStatistics
1380
+ include Google::Apis::Core::Hashable
1381
+
1382
+ # [Output-only] Creation time of this job, in milliseconds since the epoch. This
1383
+ # field will be present on all jobs.
1384
+ # Corresponds to the JSON property `creationTime`
1385
+ # @return [String]
1386
+ attr_accessor :creation_time
1387
+
1388
+ # [Output-only] End time of this job, in milliseconds since the epoch. This
1389
+ # field will be present whenever a job is in the DONE state.
1390
+ # Corresponds to the JSON property `endTime`
1391
+ # @return [String]
1392
+ attr_accessor :end_time
1393
+
1394
+ # [Output-only] Statistics for an extract job.
1395
+ # Corresponds to the JSON property `extract`
1396
+ # @return [Google::Apis::BigqueryV2::JobStatistics4]
1397
+ attr_accessor :extract
1398
+
1399
+ # [Output-only] Statistics for a load job.
1400
+ # Corresponds to the JSON property `load`
1401
+ # @return [Google::Apis::BigqueryV2::JobStatistics3]
1402
+ attr_accessor :load
1403
+
1404
+ # [Output-only] Statistics for a query job.
1405
+ # Corresponds to the JSON property `query`
1406
+ # @return [Google::Apis::BigqueryV2::JobStatistics2]
1407
+ attr_accessor :query
1408
+
1409
+ # [Output-only] Start time of this job, in milliseconds since the epoch. This
1410
+ # field will be present when the job transitions from the PENDING state to
1411
+ # either RUNNING or DONE.
1412
+ # Corresponds to the JSON property `startTime`
1413
+ # @return [String]
1414
+ attr_accessor :start_time
1415
+
1416
+ # [Output-only] [Deprecated] Use the bytes processed in the query statistics
1417
+ # instead.
1418
+ # Corresponds to the JSON property `totalBytesProcessed`
1419
+ # @return [String]
1420
+ attr_accessor :total_bytes_processed
1421
+
1422
+ def initialize(**args)
1423
+ update!(**args)
1424
+ end
1425
+
1426
+ # Update properties of this object
1427
+ def update!(**args)
1428
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
1429
+ @end_time = args[:end_time] unless args[:end_time].nil?
1430
+ @extract = args[:extract] unless args[:extract].nil?
1431
+ @load = args[:load] unless args[:load].nil?
1432
+ @query = args[:query] unless args[:query].nil?
1433
+ @start_time = args[:start_time] unless args[:start_time].nil?
1434
+ @total_bytes_processed = args[:total_bytes_processed] unless args[:total_bytes_processed].nil?
1435
+ end
1436
+ end
1437
+
1438
+ #
1439
+ class JobStatistics2
1440
+ include Google::Apis::Core::Hashable
1441
+
1442
+ # [Output-only] Billing tier for the job.
1443
+ # Corresponds to the JSON property `billingTier`
1444
+ # @return [Fixnum]
1445
+ attr_accessor :billing_tier
1446
+
1447
+ # [Output-only] Whether the query result was fetched from the query cache.
1448
+ # Corresponds to the JSON property `cacheHit`
1449
+ # @return [Boolean]
1450
+ attr_accessor :cache_hit
1451
+ alias_method :cache_hit?, :cache_hit
1452
+
1453
+ # [Output-only, Experimental] Describes execution plan for the query as a list
1454
+ # of stages.
1455
+ # Corresponds to the JSON property `queryPlan`
1456
+ # @return [Array<Google::Apis::BigqueryV2::ExplainQueryStage>]
1457
+ attr_accessor :query_plan
1458
+
1459
+ # [Output-only] Total bytes billed for the job.
1460
+ # Corresponds to the JSON property `totalBytesBilled`
1461
+ # @return [String]
1462
+ attr_accessor :total_bytes_billed
1463
+
1464
+ # [Output-only] Total bytes processed for the job.
1465
+ # Corresponds to the JSON property `totalBytesProcessed`
1466
+ # @return [String]
1467
+ attr_accessor :total_bytes_processed
1468
+
1469
+ def initialize(**args)
1470
+ update!(**args)
1471
+ end
1472
+
1473
+ # Update properties of this object
1474
+ def update!(**args)
1475
+ @billing_tier = args[:billing_tier] unless args[:billing_tier].nil?
1476
+ @cache_hit = args[:cache_hit] unless args[:cache_hit].nil?
1477
+ @query_plan = args[:query_plan] unless args[:query_plan].nil?
1478
+ @total_bytes_billed = args[:total_bytes_billed] unless args[:total_bytes_billed].nil?
1479
+ @total_bytes_processed = args[:total_bytes_processed] unless args[:total_bytes_processed].nil?
1480
+ end
1481
+ end
1482
+
1483
+ #
1484
+ class JobStatistics3
1485
+ include Google::Apis::Core::Hashable
1486
+
1487
+ # [Output-only] Number of bytes of source data in a load job.
1488
+ # Corresponds to the JSON property `inputFileBytes`
1489
+ # @return [String]
1490
+ attr_accessor :input_file_bytes
1491
+
1492
+ # [Output-only] Number of source files in a load job.
1493
+ # Corresponds to the JSON property `inputFiles`
1494
+ # @return [String]
1495
+ attr_accessor :input_files
1496
+
1497
+ # [Output-only] Size of the loaded data in bytes. Note that while a load job is
1498
+ # in the running state, this value may change.
1499
+ # Corresponds to the JSON property `outputBytes`
1500
+ # @return [String]
1501
+ attr_accessor :output_bytes
1502
+
1503
+ # [Output-only] Number of rows imported in a load job. Note that while an import
1504
+ # job is in the running state, this value may change.
1505
+ # Corresponds to the JSON property `outputRows`
1506
+ # @return [String]
1507
+ attr_accessor :output_rows
1508
+
1509
+ def initialize(**args)
1510
+ update!(**args)
1511
+ end
1512
+
1513
+ # Update properties of this object
1514
+ def update!(**args)
1515
+ @input_file_bytes = args[:input_file_bytes] unless args[:input_file_bytes].nil?
1516
+ @input_files = args[:input_files] unless args[:input_files].nil?
1517
+ @output_bytes = args[:output_bytes] unless args[:output_bytes].nil?
1518
+ @output_rows = args[:output_rows] unless args[:output_rows].nil?
1519
+ end
1520
+ end
1521
+
1522
+ #
1523
+ class JobStatistics4
1524
+ include Google::Apis::Core::Hashable
1525
+
1526
+ # [Output-only] Number of files per destination URI or URI pattern specified in
1527
+ # the extract configuration. These values will be in the same order as the URIs
1528
+ # specified in the 'destinationUris' field.
1529
+ # Corresponds to the JSON property `destinationUriFileCounts`
1530
+ # @return [Array<String>]
1531
+ attr_accessor :destination_uri_file_counts
1532
+
1533
+ def initialize(**args)
1534
+ update!(**args)
1535
+ end
1536
+
1537
+ # Update properties of this object
1538
+ def update!(**args)
1539
+ @destination_uri_file_counts = args[:destination_uri_file_counts] unless args[:destination_uri_file_counts].nil?
1540
+ end
1541
+ end
1542
+
1543
+ #
1544
+ class JobStatus
1545
+ include Google::Apis::Core::Hashable
1546
+
1547
+ # [Output-only] Final error result of the job. If present, indicates that the
1548
+ # job has completed and was unsuccessful.
1549
+ # Corresponds to the JSON property `errorResult`
1550
+ # @return [Google::Apis::BigqueryV2::ErrorProto]
1551
+ attr_accessor :error_result
1552
+
1553
+ # [Output-only] All errors encountered during the running of the job. Errors
1554
+ # here do not necessarily mean that the job has completed or was unsuccessful.
1555
+ # Corresponds to the JSON property `errors`
1556
+ # @return [Array<Google::Apis::BigqueryV2::ErrorProto>]
1557
+ attr_accessor :errors
1558
+
1559
+ # [Output-only] Running state of the job.
1560
+ # Corresponds to the JSON property `state`
1561
+ # @return [String]
1562
+ attr_accessor :state
1563
+
1564
+ def initialize(**args)
1565
+ update!(**args)
1566
+ end
1567
+
1568
+ # Update properties of this object
1569
+ def update!(**args)
1570
+ @error_result = args[:error_result] unless args[:error_result].nil?
1571
+ @errors = args[:errors] unless args[:errors].nil?
1572
+ @state = args[:state] unless args[:state].nil?
1573
+ end
1574
+ end
1575
+
1576
+ #
1577
+ class ProjectList
1578
+ include Google::Apis::Core::Hashable
1579
+
1580
+ # A hash of the page of results
1581
+ # Corresponds to the JSON property `etag`
1582
+ # @return [String]
1583
+ attr_accessor :etag
1584
+
1585
+ # The type of list.
1586
+ # Corresponds to the JSON property `kind`
1587
+ # @return [String]
1588
+ attr_accessor :kind
1589
+
1590
+ # A token to request the next page of results.
1591
+ # Corresponds to the JSON property `nextPageToken`
1592
+ # @return [String]
1593
+ attr_accessor :next_page_token
1594
+
1595
+ # Projects to which you have at least READ access.
1596
+ # Corresponds to the JSON property `projects`
1597
+ # @return [Array<Google::Apis::BigqueryV2::ProjectList::Project>]
1598
+ attr_accessor :projects
1599
+
1600
+ # The total number of projects in the list.
1601
+ # Corresponds to the JSON property `totalItems`
1602
+ # @return [Fixnum]
1603
+ attr_accessor :total_items
1604
+
1605
+ def initialize(**args)
1606
+ update!(**args)
1607
+ end
1608
+
1609
+ # Update properties of this object
1610
+ def update!(**args)
1611
+ @etag = args[:etag] unless args[:etag].nil?
1612
+ @kind = args[:kind] unless args[:kind].nil?
1613
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1614
+ @projects = args[:projects] unless args[:projects].nil?
1615
+ @total_items = args[:total_items] unless args[:total_items].nil?
1616
+ end
1617
+
1618
+ #
1619
+ class Project
1620
+ include Google::Apis::Core::Hashable
1621
+
1622
+ # A descriptive name for this project.
1623
+ # Corresponds to the JSON property `friendlyName`
1624
+ # @return [String]
1625
+ attr_accessor :friendly_name
1626
+
1627
+ # An opaque ID of this project.
1628
+ # Corresponds to the JSON property `id`
1629
+ # @return [String]
1630
+ attr_accessor :id
1631
+
1632
+ # The resource type.
1633
+ # Corresponds to the JSON property `kind`
1634
+ # @return [String]
1635
+ attr_accessor :kind
1636
+
1637
+ # The numeric ID of this project.
1638
+ # Corresponds to the JSON property `numericId`
1639
+ # @return [String]
1640
+ attr_accessor :numeric_id
1641
+
1642
+ # A unique reference to this project.
1643
+ # Corresponds to the JSON property `projectReference`
1644
+ # @return [Google::Apis::BigqueryV2::ProjectReference]
1645
+ attr_accessor :project_reference
1646
+
1647
+ def initialize(**args)
1648
+ update!(**args)
1649
+ end
1650
+
1651
+ # Update properties of this object
1652
+ def update!(**args)
1653
+ @friendly_name = args[:friendly_name] unless args[:friendly_name].nil?
1654
+ @id = args[:id] unless args[:id].nil?
1655
+ @kind = args[:kind] unless args[:kind].nil?
1656
+ @numeric_id = args[:numeric_id] unless args[:numeric_id].nil?
1657
+ @project_reference = args[:project_reference] unless args[:project_reference].nil?
1658
+ end
1659
+ end
1660
+ end
1661
+
1662
+ #
1663
+ class ProjectReference
1664
+ include Google::Apis::Core::Hashable
1665
+
1666
+ # [Required] ID of the project. Can be either the numeric ID or the assigned ID
1667
+ # of the project.
1668
+ # Corresponds to the JSON property `projectId`
1669
+ # @return [String]
1670
+ attr_accessor :project_id
1671
+
1672
+ def initialize(**args)
1673
+ update!(**args)
1674
+ end
1675
+
1676
+ # Update properties of this object
1677
+ def update!(**args)
1678
+ @project_id = args[:project_id] unless args[:project_id].nil?
1679
+ end
1680
+ end
1681
+
1682
+ #
1683
+ class QueryRequest
1684
+ include Google::Apis::Core::Hashable
1685
+
1686
+ # [Optional] Specifies the default datasetId and projectId to assume for any
1687
+ # unqualified table names in the query. If not set, all table names in the query
1688
+ # string must be qualified in the format 'datasetId.tableId'.
1689
+ # Corresponds to the JSON property `defaultDataset`
1690
+ # @return [Google::Apis::BigqueryV2::DatasetReference]
1691
+ attr_accessor :default_dataset
1692
+
1693
+ # [Optional] If set to true, BigQuery doesn't run the job. Instead, if the query
1694
+ # is valid, BigQuery returns statistics about the job such as how many bytes
1695
+ # would be processed. If the query is invalid, an error returns. The default
1696
+ # value is false.
1697
+ # Corresponds to the JSON property `dryRun`
1698
+ # @return [Boolean]
1699
+ attr_accessor :dry_run
1700
+ alias_method :dry_run?, :dry_run
1701
+
1702
+ # The resource type of the request.
1703
+ # Corresponds to the JSON property `kind`
1704
+ # @return [String]
1705
+ attr_accessor :kind
1706
+
1707
+ # [Optional] The maximum number of rows of data to return per page of results.
1708
+ # Setting this flag to a small value such as 1000 and then paging through
1709
+ # results might improve reliability when the query result set is large. In
1710
+ # addition to this limit, responses are also limited to 10 MB. By default, there
1711
+ # is no maximum row count, and only the byte limit applies.
1712
+ # Corresponds to the JSON property `maxResults`
1713
+ # @return [Fixnum]
1714
+ attr_accessor :max_results
1715
+
1716
+ # [Deprecated] This property is deprecated.
1717
+ # Corresponds to the JSON property `preserveNulls`
1718
+ # @return [Boolean]
1719
+ attr_accessor :preserve_nulls
1720
+ alias_method :preserve_nulls?, :preserve_nulls
1721
+
1722
+ # [Required] A query string, following the BigQuery query syntax, of the query
1723
+ # to execute. Example: "SELECT count(f1) FROM [myProjectId:myDatasetId.myTableId]
1724
+ # ".
1725
+ # Corresponds to the JSON property `query`
1726
+ # @return [String]
1727
+ attr_accessor :query
1728
+
1729
+ # [Optional] How long to wait for the query to complete, in milliseconds, before
1730
+ # the request times out and returns. Note that this is only a timeout for the
1731
+ # request, not the query. If the query takes longer to run than the timeout
1732
+ # value, the call returns without any results and with the 'jobComplete' flag
1733
+ # set to false. You can call GetQueryResults() to wait for the query to complete
1734
+ # and read the results. The default value is 10000 milliseconds (10 seconds).
1735
+ # Corresponds to the JSON property `timeoutMs`
1736
+ # @return [Fixnum]
1737
+ attr_accessor :timeout_ms
1738
+
1739
+ # [Optional] Whether to look for the result in the query cache. The query cache
1740
+ # is a best-effort cache that will be flushed whenever tables in the query are
1741
+ # modified. The default value is true.
1742
+ # Corresponds to the JSON property `useQueryCache`
1743
+ # @return [Boolean]
1744
+ attr_accessor :use_query_cache
1745
+ alias_method :use_query_cache?, :use_query_cache
1746
+
1747
+ def initialize(**args)
1748
+ update!(**args)
1749
+ end
1750
+
1751
+ # Update properties of this object
1752
+ def update!(**args)
1753
+ @default_dataset = args[:default_dataset] unless args[:default_dataset].nil?
1754
+ @dry_run = args[:dry_run] unless args[:dry_run].nil?
1755
+ @kind = args[:kind] unless args[:kind].nil?
1756
+ @max_results = args[:max_results] unless args[:max_results].nil?
1757
+ @preserve_nulls = args[:preserve_nulls] unless args[:preserve_nulls].nil?
1758
+ @query = args[:query] unless args[:query].nil?
1759
+ @timeout_ms = args[:timeout_ms] unless args[:timeout_ms].nil?
1760
+ @use_query_cache = args[:use_query_cache] unless args[:use_query_cache].nil?
1761
+ end
1762
+ end
1763
+
1764
+ #
1765
+ class QueryResponse
1766
+ include Google::Apis::Core::Hashable
1767
+
1768
+ # Whether the query result was fetched from the query cache.
1769
+ # Corresponds to the JSON property `cacheHit`
1770
+ # @return [Boolean]
1771
+ attr_accessor :cache_hit
1772
+ alias_method :cache_hit?, :cache_hit
1773
+
1774
+ # [Output-only] All errors and warnings encountered during the running of the
1775
+ # job. Errors here do not necessarily mean that the job has completed or was
1776
+ # unsuccessful.
1777
+ # Corresponds to the JSON property `errors`
1778
+ # @return [Array<Google::Apis::BigqueryV2::ErrorProto>]
1779
+ attr_accessor :errors
1780
+
1781
+ # Whether the query has completed or not. If rows or totalRows are present, this
1782
+ # will always be true. If this is false, totalRows will not be available.
1783
+ # Corresponds to the JSON property `jobComplete`
1784
+ # @return [Boolean]
1785
+ attr_accessor :job_complete
1786
+ alias_method :job_complete?, :job_complete
1787
+
1788
+ # Reference to the Job that was created to run the query. This field will be
1789
+ # present even if the original request timed out, in which case GetQueryResults
1790
+ # can be used to read the results once the query has completed. Since this API
1791
+ # only returns the first page of results, subsequent pages can be fetched via
1792
+ # the same mechanism (GetQueryResults).
1793
+ # Corresponds to the JSON property `jobReference`
1794
+ # @return [Google::Apis::BigqueryV2::JobReference]
1795
+ attr_accessor :job_reference
1796
+
1797
+ # The resource type.
1798
+ # Corresponds to the JSON property `kind`
1799
+ # @return [String]
1800
+ attr_accessor :kind
1801
+
1802
+ # A token used for paging results.
1803
+ # Corresponds to the JSON property `pageToken`
1804
+ # @return [String]
1805
+ attr_accessor :page_token
1806
+
1807
+ # An object with as many results as can be contained within the maximum
1808
+ # permitted reply size. To get any additional rows, you can call GetQueryResults
1809
+ # and specify the jobReference returned above.
1810
+ # Corresponds to the JSON property `rows`
1811
+ # @return [Array<Google::Apis::BigqueryV2::TableRow>]
1812
+ attr_accessor :rows
1813
+
1814
+ # The schema of the results. Present only when the query completes successfully.
1815
+ # Corresponds to the JSON property `schema`
1816
+ # @return [Google::Apis::BigqueryV2::TableSchema]
1817
+ attr_accessor :schema
1818
+
1819
+ # The total number of bytes processed for this query. If this query was a dry
1820
+ # run, this is the number of bytes that would be processed if the query were run.
1821
+ # Corresponds to the JSON property `totalBytesProcessed`
1822
+ # @return [String]
1823
+ attr_accessor :total_bytes_processed
1824
+
1825
+ # The total number of rows in the complete query result set, which can be more
1826
+ # than the number of rows in this single page of results.
1827
+ # Corresponds to the JSON property `totalRows`
1828
+ # @return [String]
1829
+ attr_accessor :total_rows
1830
+
1831
+ def initialize(**args)
1832
+ update!(**args)
1833
+ end
1834
+
1835
+ # Update properties of this object
1836
+ def update!(**args)
1837
+ @cache_hit = args[:cache_hit] unless args[:cache_hit].nil?
1838
+ @errors = args[:errors] unless args[:errors].nil?
1839
+ @job_complete = args[:job_complete] unless args[:job_complete].nil?
1840
+ @job_reference = args[:job_reference] unless args[:job_reference].nil?
1841
+ @kind = args[:kind] unless args[:kind].nil?
1842
+ @page_token = args[:page_token] unless args[:page_token].nil?
1843
+ @rows = args[:rows] unless args[:rows].nil?
1844
+ @schema = args[:schema] unless args[:schema].nil?
1845
+ @total_bytes_processed = args[:total_bytes_processed] unless args[:total_bytes_processed].nil?
1846
+ @total_rows = args[:total_rows] unless args[:total_rows].nil?
1847
+ end
1848
+ end
1849
+
1850
+ #
1851
+ class Streamingbuffer
1852
+ include Google::Apis::Core::Hashable
1853
+
1854
+ # [Output-only] A lower-bound estimate of the number of bytes currently in the
1855
+ # streaming buffer.
1856
+ # Corresponds to the JSON property `estimatedBytes`
1857
+ # @return [String]
1858
+ attr_accessor :estimated_bytes
1859
+
1860
+ # [Output-only] A lower-bound estimate of the number of rows currently in the
1861
+ # streaming buffer.
1862
+ # Corresponds to the JSON property `estimatedRows`
1863
+ # @return [String]
1864
+ attr_accessor :estimated_rows
1865
+
1866
+ # [Output-only] Contains the timestamp of the oldest entry in the streaming
1867
+ # buffer, in milliseconds since the epoch, if the streaming buffer is available.
1868
+ # Corresponds to the JSON property `oldestEntryTime`
1869
+ # @return [String]
1870
+ attr_accessor :oldest_entry_time
1871
+
1872
+ def initialize(**args)
1873
+ update!(**args)
1874
+ end
1875
+
1876
+ # Update properties of this object
1877
+ def update!(**args)
1878
+ @estimated_bytes = args[:estimated_bytes] unless args[:estimated_bytes].nil?
1879
+ @estimated_rows = args[:estimated_rows] unless args[:estimated_rows].nil?
1880
+ @oldest_entry_time = args[:oldest_entry_time] unless args[:oldest_entry_time].nil?
1881
+ end
1882
+ end
1883
+
1884
+ #
1885
+ class Table
1886
+ include Google::Apis::Core::Hashable
1887
+
1888
+ # [Output-only] The time when this table was created, in milliseconds since the
1889
+ # epoch.
1890
+ # Corresponds to the JSON property `creationTime`
1891
+ # @return [String]
1892
+ attr_accessor :creation_time
1893
+
1894
+ # [Optional] A user-friendly description of this table.
1895
+ # Corresponds to the JSON property `description`
1896
+ # @return [String]
1897
+ attr_accessor :description
1898
+
1899
+ # [Output-only] A hash of this resource.
1900
+ # Corresponds to the JSON property `etag`
1901
+ # @return [String]
1902
+ attr_accessor :etag
1903
+
1904
+ # [Optional] The time when this table expires, in milliseconds since the epoch.
1905
+ # If not present, the table will persist indefinitely. Expired tables will be
1906
+ # deleted and their storage reclaimed.
1907
+ # Corresponds to the JSON property `expirationTime`
1908
+ # @return [String]
1909
+ attr_accessor :expiration_time
1910
+
1911
+ # [Experimental] Describes the data format, location, and other properties of a
1912
+ # table stored outside of BigQuery. By defining these properties, the data
1913
+ # source can then be queried as if it were a standard BigQuery table.
1914
+ # Corresponds to the JSON property `externalDataConfiguration`
1915
+ # @return [Google::Apis::BigqueryV2::ExternalDataConfiguration]
1916
+ attr_accessor :external_data_configuration
1917
+
1918
+ # [Optional] A descriptive name for this table.
1919
+ # Corresponds to the JSON property `friendlyName`
1920
+ # @return [String]
1921
+ attr_accessor :friendly_name
1922
+
1923
+ # [Output-only] An opaque ID uniquely identifying the table.
1924
+ # Corresponds to the JSON property `id`
1925
+ # @return [String]
1926
+ attr_accessor :id
1927
+
1928
+ # [Output-only] The type of the resource.
1929
+ # Corresponds to the JSON property `kind`
1930
+ # @return [String]
1931
+ attr_accessor :kind
1932
+
1933
+ # [Output-only] The time when this table was last modified, in milliseconds
1934
+ # since the epoch.
1935
+ # Corresponds to the JSON property `lastModifiedTime`
1936
+ # @return [String]
1937
+ attr_accessor :last_modified_time
1938
+
1939
+ # [Output-only] The geographic location where the table resides. This value is
1940
+ # inherited from the dataset.
1941
+ # Corresponds to the JSON property `location`
1942
+ # @return [String]
1943
+ attr_accessor :location
1944
+
1945
+ # [Output-only] The size of this table in bytes, excluding any data in the
1946
+ # streaming buffer.
1947
+ # Corresponds to the JSON property `numBytes`
1948
+ # @return [String]
1949
+ attr_accessor :num_bytes
1950
+
1951
+ # [Output-only] The number of rows of data in this table, excluding any data in
1952
+ # the streaming buffer.
1953
+ # Corresponds to the JSON property `numRows`
1954
+ # @return [String]
1955
+ attr_accessor :num_rows
1956
+
1957
+ # [Optional] Describes the schema of this table.
1958
+ # Corresponds to the JSON property `schema`
1959
+ # @return [Google::Apis::BigqueryV2::TableSchema]
1960
+ attr_accessor :schema
1961
+
1962
+ # [Output-only] A URL that can be used to access this resource again.
1963
+ # Corresponds to the JSON property `selfLink`
1964
+ # @return [String]
1965
+ attr_accessor :self_link
1966
+
1967
+ # [Output-only] Contains information regarding this table's streaming buffer, if
1968
+ # one is present. This field will be absent if the table is not being streamed
1969
+ # to or if there is no data in the streaming buffer.
1970
+ # Corresponds to the JSON property `streamingBuffer`
1971
+ # @return [Google::Apis::BigqueryV2::Streamingbuffer]
1972
+ attr_accessor :streaming_buffer
1973
+
1974
+ # [Required] Reference describing the ID of this table.
1975
+ # Corresponds to the JSON property `tableReference`
1976
+ # @return [Google::Apis::BigqueryV2::TableReference]
1977
+ attr_accessor :table_reference
1978
+
1979
+ # [Output-only] Describes the table type. The following values are supported:
1980
+ # TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query.
1981
+ # EXTERNAL: A table that references data stored in an external storage system,
1982
+ # such as Google Cloud Storage. The default value is TABLE.
1983
+ # Corresponds to the JSON property `type`
1984
+ # @return [String]
1985
+ attr_accessor :type
1986
+
1987
+ # [Optional] The view definition.
1988
+ # Corresponds to the JSON property `view`
1989
+ # @return [Google::Apis::BigqueryV2::ViewDefinition]
1990
+ attr_accessor :view
1991
+
1992
+ def initialize(**args)
1993
+ update!(**args)
1994
+ end
1995
+
1996
+ # Update properties of this object
1997
+ def update!(**args)
1998
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
1999
+ @description = args[:description] unless args[:description].nil?
2000
+ @etag = args[:etag] unless args[:etag].nil?
2001
+ @expiration_time = args[:expiration_time] unless args[:expiration_time].nil?
2002
+ @external_data_configuration = args[:external_data_configuration] unless args[:external_data_configuration].nil?
2003
+ @friendly_name = args[:friendly_name] unless args[:friendly_name].nil?
2004
+ @id = args[:id] unless args[:id].nil?
2005
+ @kind = args[:kind] unless args[:kind].nil?
2006
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
2007
+ @location = args[:location] unless args[:location].nil?
2008
+ @num_bytes = args[:num_bytes] unless args[:num_bytes].nil?
2009
+ @num_rows = args[:num_rows] unless args[:num_rows].nil?
2010
+ @schema = args[:schema] unless args[:schema].nil?
2011
+ @self_link = args[:self_link] unless args[:self_link].nil?
2012
+ @streaming_buffer = args[:streaming_buffer] unless args[:streaming_buffer].nil?
2013
+ @table_reference = args[:table_reference] unless args[:table_reference].nil?
2014
+ @type = args[:type] unless args[:type].nil?
2015
+ @view = args[:view] unless args[:view].nil?
2016
+ end
2017
+ end
2018
+
2019
+ #
2020
+ class TableCell
2021
+ include Google::Apis::Core::Hashable
2022
+
2023
+ #
2024
+ # Corresponds to the JSON property `v`
2025
+ # @return [Object]
2026
+ attr_accessor :v
2027
+
2028
+ def initialize(**args)
2029
+ update!(**args)
2030
+ end
2031
+
2032
+ # Update properties of this object
2033
+ def update!(**args)
2034
+ @v = args[:v] unless args[:v].nil?
2035
+ end
2036
+ end
2037
+
2038
+ #
2039
+ class InsertAllTableDataRequest
2040
+ include Google::Apis::Core::Hashable
2041
+
2042
+ # [Optional] Accept rows that contain values that do not match the schema. The
2043
+ # unknown values are ignored. Default is false, which treats unknown values as
2044
+ # errors.
2045
+ # Corresponds to the JSON property `ignoreUnknownValues`
2046
+ # @return [Boolean]
2047
+ attr_accessor :ignore_unknown_values
2048
+ alias_method :ignore_unknown_values?, :ignore_unknown_values
2049
+
2050
+ # The resource type of the response.
2051
+ # Corresponds to the JSON property `kind`
2052
+ # @return [String]
2053
+ attr_accessor :kind
2054
+
2055
+ # The rows to insert.
2056
+ # Corresponds to the JSON property `rows`
2057
+ # @return [Array<Google::Apis::BigqueryV2::InsertAllTableDataRequest::Row>]
2058
+ attr_accessor :rows
2059
+
2060
+ # [Optional] Insert all valid rows of a request, even if invalid rows exist. The
2061
+ # default value is false, which causes the entire request to fail if any invalid
2062
+ # rows exist.
2063
+ # Corresponds to the JSON property `skipInvalidRows`
2064
+ # @return [Boolean]
2065
+ attr_accessor :skip_invalid_rows
2066
+ alias_method :skip_invalid_rows?, :skip_invalid_rows
2067
+
2068
+ # [Optional] If specified, treats the destination table as a base template, and
2069
+ # inserts the rows into an instance table named "`destination``templateSuffix`".
2070
+ # BigQuery will manage creation of the instance table, using the schema of the
2071
+ # base template table. See https://cloud.google.com/bigquery/streaming-data-into-
2072
+ # bigquery#template-tables for considerations when working with templates tables.
2073
+ # Corresponds to the JSON property `templateSuffix`
2074
+ # @return [String]
2075
+ attr_accessor :template_suffix
2076
+
2077
+ def initialize(**args)
2078
+ update!(**args)
2079
+ end
2080
+
2081
+ # Update properties of this object
2082
+ def update!(**args)
2083
+ @ignore_unknown_values = args[:ignore_unknown_values] unless args[:ignore_unknown_values].nil?
2084
+ @kind = args[:kind] unless args[:kind].nil?
2085
+ @rows = args[:rows] unless args[:rows].nil?
2086
+ @skip_invalid_rows = args[:skip_invalid_rows] unless args[:skip_invalid_rows].nil?
2087
+ @template_suffix = args[:template_suffix] unless args[:template_suffix].nil?
2088
+ end
2089
+
2090
+ #
2091
+ class Row
2092
+ include Google::Apis::Core::Hashable
2093
+
2094
+ # [Optional] A unique ID for each row. BigQuery uses this property to detect
2095
+ # duplicate insertion requests on a best-effort basis.
2096
+ # Corresponds to the JSON property `insertId`
2097
+ # @return [String]
2098
+ attr_accessor :insert_id
2099
+
2100
+ # Represents a single JSON object.
2101
+ # Corresponds to the JSON property `json`
2102
+ # @return [Hash<String,Object>]
2103
+ attr_accessor :json
2104
+
2105
+ def initialize(**args)
2106
+ update!(**args)
2107
+ end
2108
+
2109
+ # Update properties of this object
2110
+ def update!(**args)
2111
+ @insert_id = args[:insert_id] unless args[:insert_id].nil?
2112
+ @json = args[:json] unless args[:json].nil?
2113
+ end
2114
+ end
2115
+ end
2116
+
2117
+ #
2118
+ class InsertAllTableDataResponse
2119
+ include Google::Apis::Core::Hashable
2120
+
2121
+ # An array of errors for rows that were not inserted.
2122
+ # Corresponds to the JSON property `insertErrors`
2123
+ # @return [Array<Google::Apis::BigqueryV2::InsertAllTableDataResponse::InsertError>]
2124
+ attr_accessor :insert_errors
2125
+
2126
+ # The resource type of the response.
2127
+ # Corresponds to the JSON property `kind`
2128
+ # @return [String]
2129
+ attr_accessor :kind
2130
+
2131
+ def initialize(**args)
2132
+ update!(**args)
2133
+ end
2134
+
2135
+ # Update properties of this object
2136
+ def update!(**args)
2137
+ @insert_errors = args[:insert_errors] unless args[:insert_errors].nil?
2138
+ @kind = args[:kind] unless args[:kind].nil?
2139
+ end
2140
+
2141
+ #
2142
+ class InsertError
2143
+ include Google::Apis::Core::Hashable
2144
+
2145
+ # Error information for the row indicated by the index property.
2146
+ # Corresponds to the JSON property `errors`
2147
+ # @return [Array<Google::Apis::BigqueryV2::ErrorProto>]
2148
+ attr_accessor :errors
2149
+
2150
+ # The index of the row that error applies to.
2151
+ # Corresponds to the JSON property `index`
2152
+ # @return [Fixnum]
2153
+ attr_accessor :index
2154
+
2155
+ def initialize(**args)
2156
+ update!(**args)
2157
+ end
2158
+
2159
+ # Update properties of this object
2160
+ def update!(**args)
2161
+ @errors = args[:errors] unless args[:errors].nil?
2162
+ @index = args[:index] unless args[:index].nil?
2163
+ end
2164
+ end
2165
+ end
2166
+
2167
+ #
2168
+ class TableDataList
2169
+ include Google::Apis::Core::Hashable
2170
+
2171
+ # A hash of this page of results.
2172
+ # Corresponds to the JSON property `etag`
2173
+ # @return [String]
2174
+ attr_accessor :etag
2175
+
2176
+ # The resource type of the response.
2177
+ # Corresponds to the JSON property `kind`
2178
+ # @return [String]
2179
+ attr_accessor :kind
2180
+
2181
+ # A token used for paging results. Providing this token instead of the
2182
+ # startIndex parameter can help you retrieve stable results when an underlying
2183
+ # table is changing.
2184
+ # Corresponds to the JSON property `pageToken`
2185
+ # @return [String]
2186
+ attr_accessor :page_token
2187
+
2188
+ # Rows of results.
2189
+ # Corresponds to the JSON property `rows`
2190
+ # @return [Array<Google::Apis::BigqueryV2::TableRow>]
2191
+ attr_accessor :rows
2192
+
2193
+ # The total number of rows in the complete table.
2194
+ # Corresponds to the JSON property `totalRows`
2195
+ # @return [String]
2196
+ attr_accessor :total_rows
2197
+
2198
+ def initialize(**args)
2199
+ update!(**args)
2200
+ end
2201
+
2202
+ # Update properties of this object
2203
+ def update!(**args)
2204
+ @etag = args[:etag] unless args[:etag].nil?
2205
+ @kind = args[:kind] unless args[:kind].nil?
2206
+ @page_token = args[:page_token] unless args[:page_token].nil?
2207
+ @rows = args[:rows] unless args[:rows].nil?
2208
+ @total_rows = args[:total_rows] unless args[:total_rows].nil?
2209
+ end
2210
+ end
2211
+
2212
+ #
2213
+ class TableFieldSchema
2214
+ include Google::Apis::Core::Hashable
2215
+
2216
+ # [Optional] The field description. The maximum length is 16K characters.
2217
+ # Corresponds to the JSON property `description`
2218
+ # @return [String]
2219
+ attr_accessor :description
2220
+
2221
+ # [Optional] Describes the nested schema fields if the type property is set to
2222
+ # RECORD.
2223
+ # Corresponds to the JSON property `fields`
2224
+ # @return [Array<Google::Apis::BigqueryV2::TableFieldSchema>]
2225
+ attr_accessor :fields
2226
+
2227
+ # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and
2228
+ # REPEATED. The default value is NULLABLE.
2229
+ # Corresponds to the JSON property `mode`
2230
+ # @return [String]
2231
+ attr_accessor :mode
2232
+
2233
+ # [Required] The field name. The name must contain only letters (a-z, A-Z),
2234
+ # numbers (0-9), or underscores (_), and must start with a letter or underscore.
2235
+ # The maximum length is 128 characters.
2236
+ # Corresponds to the JSON property `name`
2237
+ # @return [String]
2238
+ attr_accessor :name
2239
+
2240
+ # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT,
2241
+ # BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains
2242
+ # a nested schema).
2243
+ # Corresponds to the JSON property `type`
2244
+ # @return [String]
2245
+ attr_accessor :type
2246
+
2247
+ def initialize(**args)
2248
+ update!(**args)
2249
+ end
2250
+
2251
+ # Update properties of this object
2252
+ def update!(**args)
2253
+ @description = args[:description] unless args[:description].nil?
2254
+ @fields = args[:fields] unless args[:fields].nil?
2255
+ @mode = args[:mode] unless args[:mode].nil?
2256
+ @name = args[:name] unless args[:name].nil?
2257
+ @type = args[:type] unless args[:type].nil?
2258
+ end
2259
+ end
2260
+
2261
+ #
2262
+ class TableList
2263
+ include Google::Apis::Core::Hashable
2264
+
2265
+ # A hash of this page of results.
2266
+ # Corresponds to the JSON property `etag`
2267
+ # @return [String]
2268
+ attr_accessor :etag
2269
+
2270
+ # The type of list.
2271
+ # Corresponds to the JSON property `kind`
2272
+ # @return [String]
2273
+ attr_accessor :kind
2274
+
2275
+ # A token to request the next page of results.
2276
+ # Corresponds to the JSON property `nextPageToken`
2277
+ # @return [String]
2278
+ attr_accessor :next_page_token
2279
+
2280
+ # Tables in the requested dataset.
2281
+ # Corresponds to the JSON property `tables`
2282
+ # @return [Array<Google::Apis::BigqueryV2::TableList::Table>]
2283
+ attr_accessor :tables
2284
+
2285
+ # The total number of tables in the dataset.
2286
+ # Corresponds to the JSON property `totalItems`
2287
+ # @return [Fixnum]
2288
+ attr_accessor :total_items
2289
+
2290
+ def initialize(**args)
2291
+ update!(**args)
2292
+ end
2293
+
2294
+ # Update properties of this object
2295
+ def update!(**args)
2296
+ @etag = args[:etag] unless args[:etag].nil?
2297
+ @kind = args[:kind] unless args[:kind].nil?
2298
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2299
+ @tables = args[:tables] unless args[:tables].nil?
2300
+ @total_items = args[:total_items] unless args[:total_items].nil?
2301
+ end
2302
+
2303
+ #
2304
+ class Table
2305
+ include Google::Apis::Core::Hashable
2306
+
2307
+ # The user-friendly name for this table.
2308
+ # Corresponds to the JSON property `friendlyName`
2309
+ # @return [String]
2310
+ attr_accessor :friendly_name
2311
+
2312
+ # An opaque ID of the table
2313
+ # Corresponds to the JSON property `id`
2314
+ # @return [String]
2315
+ attr_accessor :id
2316
+
2317
+ # The resource type.
2318
+ # Corresponds to the JSON property `kind`
2319
+ # @return [String]
2320
+ attr_accessor :kind
2321
+
2322
+ # A reference uniquely identifying the table.
2323
+ # Corresponds to the JSON property `tableReference`
2324
+ # @return [Google::Apis::BigqueryV2::TableReference]
2325
+ attr_accessor :table_reference
2326
+
2327
+ # The type of table. Possible values are: TABLE, VIEW.
2328
+ # Corresponds to the JSON property `type`
2329
+ # @return [String]
2330
+ attr_accessor :type
2331
+
2332
+ def initialize(**args)
2333
+ update!(**args)
2334
+ end
2335
+
2336
+ # Update properties of this object
2337
+ def update!(**args)
2338
+ @friendly_name = args[:friendly_name] unless args[:friendly_name].nil?
2339
+ @id = args[:id] unless args[:id].nil?
2340
+ @kind = args[:kind] unless args[:kind].nil?
2341
+ @table_reference = args[:table_reference] unless args[:table_reference].nil?
2342
+ @type = args[:type] unless args[:type].nil?
2343
+ end
2344
+ end
2345
+ end
2346
+
2347
+ #
2348
+ class TableReference
2349
+ include Google::Apis::Core::Hashable
2350
+
2351
+ # [Required] The ID of the dataset containing this table.
2352
+ # Corresponds to the JSON property `datasetId`
2353
+ # @return [String]
2354
+ attr_accessor :dataset_id
2355
+
2356
+ # [Required] The ID of the project containing this table.
2357
+ # Corresponds to the JSON property `projectId`
2358
+ # @return [String]
2359
+ attr_accessor :project_id
2360
+
2361
+ # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z),
2362
+ # numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
2363
+ # Corresponds to the JSON property `tableId`
2364
+ # @return [String]
2365
+ attr_accessor :table_id
2366
+
2367
+ def initialize(**args)
2368
+ update!(**args)
2369
+ end
2370
+
2371
+ # Update properties of this object
2372
+ def update!(**args)
2373
+ @dataset_id = args[:dataset_id] unless args[:dataset_id].nil?
2374
+ @project_id = args[:project_id] unless args[:project_id].nil?
2375
+ @table_id = args[:table_id] unless args[:table_id].nil?
2376
+ end
2377
+ end
2378
+
2379
+ #
2380
+ class TableRow
2381
+ include Google::Apis::Core::Hashable
2382
+
2383
+ # Represents a single row in the result set, consisting of one or more fields.
2384
+ # Corresponds to the JSON property `f`
2385
+ # @return [Array<Google::Apis::BigqueryV2::TableCell>]
2386
+ attr_accessor :f
2387
+
2388
+ def initialize(**args)
2389
+ update!(**args)
2390
+ end
2391
+
2392
+ # Update properties of this object
2393
+ def update!(**args)
2394
+ @f = args[:f] unless args[:f].nil?
2395
+ end
2396
+ end
2397
+
2398
+ #
2399
+ class TableSchema
2400
+ include Google::Apis::Core::Hashable
2401
+
2402
+ # Describes the fields in a table.
2403
+ # Corresponds to the JSON property `fields`
2404
+ # @return [Array<Google::Apis::BigqueryV2::TableFieldSchema>]
2405
+ attr_accessor :fields
2406
+
2407
+ def initialize(**args)
2408
+ update!(**args)
2409
+ end
2410
+
2411
+ # Update properties of this object
2412
+ def update!(**args)
2413
+ @fields = args[:fields] unless args[:fields].nil?
2414
+ end
2415
+ end
2416
+
2417
+ #
2418
+ class UserDefinedFunctionResource
2419
+ include Google::Apis::Core::Hashable
2420
+
2421
+ # [Pick one] An inline resource that contains code for a user-defined function (
2422
+ # UDF). Providing a inline code resource is equivalent to providing a URI for a
2423
+ # file containing the same code.
2424
+ # Corresponds to the JSON property `inlineCode`
2425
+ # @return [String]
2426
+ attr_accessor :inline_code
2427
+
2428
+ # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://
2429
+ # bucket/path).
2430
+ # Corresponds to the JSON property `resourceUri`
2431
+ # @return [String]
2432
+ attr_accessor :resource_uri
2433
+
2434
+ def initialize(**args)
2435
+ update!(**args)
2436
+ end
2437
+
2438
+ # Update properties of this object
2439
+ def update!(**args)
2440
+ @inline_code = args[:inline_code] unless args[:inline_code].nil?
2441
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
2442
+ end
2443
+ end
2444
+
2445
+ #
2446
+ class ViewDefinition
2447
+ include Google::Apis::Core::Hashable
2448
+
2449
+ # [Required] A query that BigQuery executes when the view is referenced.
2450
+ # Corresponds to the JSON property `query`
2451
+ # @return [String]
2452
+ attr_accessor :query
2453
+
2454
+ # [Experimental] Describes user-defined function resources used in the query.
2455
+ # Corresponds to the JSON property `userDefinedFunctionResources`
2456
+ # @return [Array<Google::Apis::BigqueryV2::UserDefinedFunctionResource>]
2457
+ attr_accessor :user_defined_function_resources
2458
+
2459
+ def initialize(**args)
2460
+ update!(**args)
2461
+ end
2462
+
2463
+ # Update properties of this object
2464
+ def update!(**args)
2465
+ @query = args[:query] unless args[:query].nil?
2466
+ @user_defined_function_resources = args[:user_defined_function_resources] unless args[:user_defined_function_resources].nil?
2467
+ end
2468
+ end
2469
+ end
2470
+ end
2471
+ end