google-api-client 0.8.7 → 0.9.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) 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 +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -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 +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,46 @@
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/youtube_analytics_v1/service.rb'
16
+ require 'google/apis/youtube_analytics_v1/classes.rb'
17
+ require 'google/apis/youtube_analytics_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # YouTube Analytics API
22
+ #
23
+ # Retrieve your YouTube Analytics reports.
24
+ #
25
+ # @see http://developers.google.com/youtube/analytics/
26
+ module YoutubeAnalyticsV1
27
+ VERSION = 'V1'
28
+ REVISION = '20150304'
29
+
30
+ # Manage your YouTube account
31
+ AUTH_YOUTUBE = 'https://www.googleapis.com/auth/youtube'
32
+
33
+ # View your YouTube account
34
+ AUTH_YOUTUBE_READONLY = 'https://www.googleapis.com/auth/youtube.readonly'
35
+
36
+ # View and manage your assets and associated content on YouTube
37
+ AUTH_YOUTUBEPARTNER = 'https://www.googleapis.com/auth/youtubepartner'
38
+
39
+ # View YouTube Analytics monetary reports for your YouTube content
40
+ AUTH_YT_ANALYTICS_MONETARY_READONLY = 'https://www.googleapis.com/auth/yt-analytics-monetary.readonly'
41
+
42
+ # View YouTube Analytics reports for your YouTube content
43
+ AUTH_YT_ANALYTICS_READONLY = 'https://www.googleapis.com/auth/yt-analytics.readonly'
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,540 @@
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 YoutubeAnalyticsV1
24
+
25
+ # Contains single batchReport resource.
26
+ class BatchReport
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The ID that YouTube assigns and uses to uniquely identify the report.
30
+ # Corresponds to the JSON property `id`
31
+ # @return [String]
32
+ attr_accessor :id
33
+
34
+ # This value specifies the type of data of this item. For batch report the kind
35
+ # property value is youtubeAnalytics#batchReport.
36
+ # Corresponds to the JSON property `kind`
37
+ # @return [String]
38
+ attr_accessor :kind
39
+
40
+ # Report outputs.
41
+ # Corresponds to the JSON property `outputs`
42
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::BatchReport::Output>]
43
+ attr_accessor :outputs
44
+
45
+ # The ID of the the report definition.
46
+ # Corresponds to the JSON property `reportId`
47
+ # @return [String]
48
+ attr_accessor :report_id
49
+
50
+ # Period included in the report. For reports containing all entities endTime is
51
+ # not set. Both startTime and endTime are inclusive.
52
+ # Corresponds to the JSON property `timeSpan`
53
+ # @return [Google::Apis::YoutubeAnalyticsV1::BatchReport::TimeSpan]
54
+ attr_accessor :time_span
55
+
56
+ # The time when the report was updated.
57
+ # Corresponds to the JSON property `timeUpdated`
58
+ # @return [DateTime]
59
+ attr_accessor :time_updated
60
+
61
+ def initialize(**args)
62
+ update!(**args)
63
+ end
64
+
65
+ # Update properties of this object
66
+ def update!(**args)
67
+ @id = args[:id] unless args[:id].nil?
68
+ @kind = args[:kind] unless args[:kind].nil?
69
+ @outputs = args[:outputs] unless args[:outputs].nil?
70
+ @report_id = args[:report_id] unless args[:report_id].nil?
71
+ @time_span = args[:time_span] unless args[:time_span].nil?
72
+ @time_updated = args[:time_updated] unless args[:time_updated].nil?
73
+ end
74
+
75
+ #
76
+ class Output
77
+ include Google::Apis::Core::Hashable
78
+
79
+ # Cloud storage URL to download this report. This URL is valid for 30 minutes.
80
+ # Corresponds to the JSON property `downloadUrl`
81
+ # @return [String]
82
+ attr_accessor :download_url
83
+
84
+ # Format of the output.
85
+ # Corresponds to the JSON property `format`
86
+ # @return [String]
87
+ attr_accessor :format
88
+
89
+ # Type of the output.
90
+ # Corresponds to the JSON property `type`
91
+ # @return [String]
92
+ attr_accessor :type
93
+
94
+ def initialize(**args)
95
+ update!(**args)
96
+ end
97
+
98
+ # Update properties of this object
99
+ def update!(**args)
100
+ @download_url = args[:download_url] unless args[:download_url].nil?
101
+ @format = args[:format] unless args[:format].nil?
102
+ @type = args[:type] unless args[:type].nil?
103
+ end
104
+ end
105
+
106
+ # Period included in the report. For reports containing all entities endTime is
107
+ # not set. Both startTime and endTime are inclusive.
108
+ class TimeSpan
109
+ include Google::Apis::Core::Hashable
110
+
111
+ # End of the period included in the report. Inclusive. For reports containing
112
+ # all entities endTime is not set.
113
+ # Corresponds to the JSON property `endTime`
114
+ # @return [DateTime]
115
+ attr_accessor :end_time
116
+
117
+ # Start of the period included in the report. Inclusive.
118
+ # Corresponds to the JSON property `startTime`
119
+ # @return [DateTime]
120
+ attr_accessor :start_time
121
+
122
+ def initialize(**args)
123
+ update!(**args)
124
+ end
125
+
126
+ # Update properties of this object
127
+ def update!(**args)
128
+ @end_time = args[:end_time] unless args[:end_time].nil?
129
+ @start_time = args[:start_time] unless args[:start_time].nil?
130
+ end
131
+ end
132
+ end
133
+
134
+ # Contains single batchReportDefinition resource.
135
+ class BatchReportDefinition
136
+ include Google::Apis::Core::Hashable
137
+
138
+ # The ID that YouTube assigns and uses to uniquely identify the report
139
+ # definition.
140
+ # Corresponds to the JSON property `id`
141
+ # @return [String]
142
+ attr_accessor :id
143
+
144
+ # This value specifies the type of data of this item. For batch report
145
+ # definition the kind property value is youtubeAnalytics#batchReportDefinition.
146
+ # Corresponds to the JSON property `kind`
147
+ # @return [String]
148
+ attr_accessor :kind
149
+
150
+ # Name of the report definition.
151
+ # Corresponds to the JSON property `name`
152
+ # @return [String]
153
+ attr_accessor :name
154
+
155
+ # Status of the report definition.
156
+ # Corresponds to the JSON property `status`
157
+ # @return [String]
158
+ attr_accessor :status
159
+
160
+ # Type of the report definition.
161
+ # Corresponds to the JSON property `type`
162
+ # @return [String]
163
+ attr_accessor :type
164
+
165
+ def initialize(**args)
166
+ update!(**args)
167
+ end
168
+
169
+ # Update properties of this object
170
+ def update!(**args)
171
+ @id = args[:id] unless args[:id].nil?
172
+ @kind = args[:kind] unless args[:kind].nil?
173
+ @name = args[:name] unless args[:name].nil?
174
+ @status = args[:status] unless args[:status].nil?
175
+ @type = args[:type] unless args[:type].nil?
176
+ end
177
+ end
178
+
179
+ # A paginated list of batchReportDefinition resources returned in response to a
180
+ # youtubeAnalytics.batchReportDefinitions.list request.
181
+ class BatchReportDefinitionList
182
+ include Google::Apis::Core::Hashable
183
+
184
+ # A list of batchReportDefinition resources that match the request criteria.
185
+ # Corresponds to the JSON property `items`
186
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::BatchReportDefinition>]
187
+ attr_accessor :items
188
+
189
+ # This value specifies the type of data included in the API response. For the
190
+ # list method, the kind property value is youtubeAnalytics#
191
+ # batchReportDefinitionList.
192
+ # Corresponds to the JSON property `kind`
193
+ # @return [String]
194
+ attr_accessor :kind
195
+
196
+ def initialize(**args)
197
+ update!(**args)
198
+ end
199
+
200
+ # Update properties of this object
201
+ def update!(**args)
202
+ @items = args[:items] unless args[:items].nil?
203
+ @kind = args[:kind] unless args[:kind].nil?
204
+ end
205
+ end
206
+
207
+ # A paginated list of batchReport resources returned in response to a
208
+ # youtubeAnalytics.batchReport.list request.
209
+ class BatchReportList
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # A list of batchReport resources that match the request criteria.
213
+ # Corresponds to the JSON property `items`
214
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::BatchReport>]
215
+ attr_accessor :items
216
+
217
+ # This value specifies the type of data included in the API response. For the
218
+ # list method, the kind property value is youtubeAnalytics#batchReportList.
219
+ # Corresponds to the JSON property `kind`
220
+ # @return [String]
221
+ attr_accessor :kind
222
+
223
+ def initialize(**args)
224
+ update!(**args)
225
+ end
226
+
227
+ # Update properties of this object
228
+ def update!(**args)
229
+ @items = args[:items] unless args[:items].nil?
230
+ @kind = args[:kind] unless args[:kind].nil?
231
+ end
232
+ end
233
+
234
+ #
235
+ class Group
236
+ include Google::Apis::Core::Hashable
237
+
238
+ #
239
+ # Corresponds to the JSON property `contentDetails`
240
+ # @return [Google::Apis::YoutubeAnalyticsV1::Group::ContentDetails]
241
+ attr_accessor :content_details
242
+
243
+ #
244
+ # Corresponds to the JSON property `etag`
245
+ # @return [String]
246
+ attr_accessor :etag
247
+
248
+ #
249
+ # Corresponds to the JSON property `id`
250
+ # @return [String]
251
+ attr_accessor :id
252
+
253
+ #
254
+ # Corresponds to the JSON property `kind`
255
+ # @return [String]
256
+ attr_accessor :kind
257
+
258
+ #
259
+ # Corresponds to the JSON property `snippet`
260
+ # @return [Google::Apis::YoutubeAnalyticsV1::Group::Snippet]
261
+ attr_accessor :snippet
262
+
263
+ def initialize(**args)
264
+ update!(**args)
265
+ end
266
+
267
+ # Update properties of this object
268
+ def update!(**args)
269
+ @content_details = args[:content_details] unless args[:content_details].nil?
270
+ @etag = args[:etag] unless args[:etag].nil?
271
+ @id = args[:id] unless args[:id].nil?
272
+ @kind = args[:kind] unless args[:kind].nil?
273
+ @snippet = args[:snippet] unless args[:snippet].nil?
274
+ end
275
+
276
+ #
277
+ class ContentDetails
278
+ include Google::Apis::Core::Hashable
279
+
280
+ #
281
+ # Corresponds to the JSON property `itemCount`
282
+ # @return [String]
283
+ attr_accessor :item_count
284
+
285
+ #
286
+ # Corresponds to the JSON property `itemType`
287
+ # @return [String]
288
+ attr_accessor :item_type
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @item_count = args[:item_count] unless args[:item_count].nil?
297
+ @item_type = args[:item_type] unless args[:item_type].nil?
298
+ end
299
+ end
300
+
301
+ #
302
+ class Snippet
303
+ include Google::Apis::Core::Hashable
304
+
305
+ #
306
+ # Corresponds to the JSON property `publishedAt`
307
+ # @return [DateTime]
308
+ attr_accessor :published_at
309
+
310
+ #
311
+ # Corresponds to the JSON property `title`
312
+ # @return [String]
313
+ attr_accessor :title
314
+
315
+ def initialize(**args)
316
+ update!(**args)
317
+ end
318
+
319
+ # Update properties of this object
320
+ def update!(**args)
321
+ @published_at = args[:published_at] unless args[:published_at].nil?
322
+ @title = args[:title] unless args[:title].nil?
323
+ end
324
+ end
325
+ end
326
+
327
+ #
328
+ class GroupItem
329
+ include Google::Apis::Core::Hashable
330
+
331
+ #
332
+ # Corresponds to the JSON property `etag`
333
+ # @return [String]
334
+ attr_accessor :etag
335
+
336
+ #
337
+ # Corresponds to the JSON property `groupId`
338
+ # @return [String]
339
+ attr_accessor :group_id
340
+
341
+ #
342
+ # Corresponds to the JSON property `id`
343
+ # @return [String]
344
+ attr_accessor :id
345
+
346
+ #
347
+ # Corresponds to the JSON property `kind`
348
+ # @return [String]
349
+ attr_accessor :kind
350
+
351
+ #
352
+ # Corresponds to the JSON property `resource`
353
+ # @return [Google::Apis::YoutubeAnalyticsV1::GroupItem::Resource]
354
+ attr_accessor :resource
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @etag = args[:etag] unless args[:etag].nil?
363
+ @group_id = args[:group_id] unless args[:group_id].nil?
364
+ @id = args[:id] unless args[:id].nil?
365
+ @kind = args[:kind] unless args[:kind].nil?
366
+ @resource = args[:resource] unless args[:resource].nil?
367
+ end
368
+
369
+ #
370
+ class Resource
371
+ include Google::Apis::Core::Hashable
372
+
373
+ #
374
+ # Corresponds to the JSON property `id`
375
+ # @return [String]
376
+ attr_accessor :id
377
+
378
+ #
379
+ # Corresponds to the JSON property `kind`
380
+ # @return [String]
381
+ attr_accessor :kind
382
+
383
+ def initialize(**args)
384
+ update!(**args)
385
+ end
386
+
387
+ # Update properties of this object
388
+ def update!(**args)
389
+ @id = args[:id] unless args[:id].nil?
390
+ @kind = args[:kind] unless args[:kind].nil?
391
+ end
392
+ end
393
+ end
394
+
395
+ # A paginated list of grouList resources returned in response to a
396
+ # youtubeAnalytics.groupApi.list request.
397
+ class ListGroupItemResponse
398
+ include Google::Apis::Core::Hashable
399
+
400
+ #
401
+ # Corresponds to the JSON property `etag`
402
+ # @return [String]
403
+ attr_accessor :etag
404
+
405
+ #
406
+ # Corresponds to the JSON property `items`
407
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::GroupItem>]
408
+ attr_accessor :items
409
+
410
+ #
411
+ # Corresponds to the JSON property `kind`
412
+ # @return [String]
413
+ attr_accessor :kind
414
+
415
+ def initialize(**args)
416
+ update!(**args)
417
+ end
418
+
419
+ # Update properties of this object
420
+ def update!(**args)
421
+ @etag = args[:etag] unless args[:etag].nil?
422
+ @items = args[:items] unless args[:items].nil?
423
+ @kind = args[:kind] unless args[:kind].nil?
424
+ end
425
+ end
426
+
427
+ # A paginated list of grouList resources returned in response to a
428
+ # youtubeAnalytics.groupApi.list request.
429
+ class ListGroupsResponse
430
+ include Google::Apis::Core::Hashable
431
+
432
+ #
433
+ # Corresponds to the JSON property `etag`
434
+ # @return [String]
435
+ attr_accessor :etag
436
+
437
+ #
438
+ # Corresponds to the JSON property `items`
439
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::Group>]
440
+ attr_accessor :items
441
+
442
+ #
443
+ # Corresponds to the JSON property `kind`
444
+ # @return [String]
445
+ attr_accessor :kind
446
+
447
+ def initialize(**args)
448
+ update!(**args)
449
+ end
450
+
451
+ # Update properties of this object
452
+ def update!(**args)
453
+ @etag = args[:etag] unless args[:etag].nil?
454
+ @items = args[:items] unless args[:items].nil?
455
+ @kind = args[:kind] unless args[:kind].nil?
456
+ end
457
+ end
458
+
459
+ # Contains a single result table. The table is returned as an array of rows that
460
+ # contain the values for the cells of the table. Depending on the metric or
461
+ # dimension, the cell can contain a string (video ID, country code) or a number (
462
+ # number of views or number of likes).
463
+ class ResultTable
464
+ include Google::Apis::Core::Hashable
465
+
466
+ # This value specifies information about the data returned in the rows fields.
467
+ # Each item in the columnHeaders list identifies a field returned in the rows
468
+ # value, which contains a list of comma-delimited data. The columnHeaders list
469
+ # will begin with the dimensions specified in the API request, which will be
470
+ # followed by the metrics specified in the API request. The order of both
471
+ # dimensions and metrics will match the ordering in the API request. For example,
472
+ # if the API request contains the parameters dimensions=ageGroup,gender&metrics=
473
+ # viewerPercentage, the API response will return columns in this order: ageGroup,
474
+ # gender,viewerPercentage.
475
+ # Corresponds to the JSON property `columnHeaders`
476
+ # @return [Array<Google::Apis::YoutubeAnalyticsV1::ResultTable::ColumnHeader>]
477
+ attr_accessor :column_headers
478
+
479
+ # This value specifies the type of data included in the API response. For the
480
+ # query method, the kind property value will be youtubeAnalytics#resultTable.
481
+ # Corresponds to the JSON property `kind`
482
+ # @return [String]
483
+ attr_accessor :kind
484
+
485
+ # The list contains all rows of the result table. Each item in the list is an
486
+ # array that contains comma-delimited data corresponding to a single row of data.
487
+ # The order of the comma-delimited data fields will match the order of the
488
+ # columns listed in the columnHeaders field. If no data is available for the
489
+ # given query, the rows element will be omitted from the response. The response
490
+ # for a query with the day dimension will not contain rows for the most recent
491
+ # days.
492
+ # Corresponds to the JSON property `rows`
493
+ # @return [Array<Array<Object>>]
494
+ attr_accessor :rows
495
+
496
+ def initialize(**args)
497
+ update!(**args)
498
+ end
499
+
500
+ # Update properties of this object
501
+ def update!(**args)
502
+ @column_headers = args[:column_headers] unless args[:column_headers].nil?
503
+ @kind = args[:kind] unless args[:kind].nil?
504
+ @rows = args[:rows] unless args[:rows].nil?
505
+ end
506
+
507
+ #
508
+ class ColumnHeader
509
+ include Google::Apis::Core::Hashable
510
+
511
+ # The type of the column (DIMENSION or METRIC).
512
+ # Corresponds to the JSON property `columnType`
513
+ # @return [String]
514
+ attr_accessor :column_type
515
+
516
+ # The type of the data in the column (STRING, INTEGER, FLOAT, etc.).
517
+ # Corresponds to the JSON property `dataType`
518
+ # @return [String]
519
+ attr_accessor :data_type
520
+
521
+ # The name of the dimension or metric.
522
+ # Corresponds to the JSON property `name`
523
+ # @return [String]
524
+ attr_accessor :name
525
+
526
+ def initialize(**args)
527
+ update!(**args)
528
+ end
529
+
530
+ # Update properties of this object
531
+ def update!(**args)
532
+ @column_type = args[:column_type] unless args[:column_type].nil?
533
+ @data_type = args[:data_type] unless args[:data_type].nil?
534
+ @name = args[:name] unless args[:name].nil?
535
+ end
536
+ end
537
+ end
538
+ end
539
+ end
540
+ end