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,49 @@
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/fitness_v1/service.rb'
16
+ require 'google/apis/fitness_v1/classes.rb'
17
+ require 'google/apis/fitness_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Fitness
22
+ #
23
+ # Google Fit API
24
+ #
25
+ # @see https://developers.google.com/fit/rest/
26
+ module FitnessV1
27
+ VERSION = 'V1'
28
+ REVISION = '20150527'
29
+
30
+ # View your activity information in Google Fit
31
+ AUTH_FITNESS_ACTIVITY_READ = 'https://www.googleapis.com/auth/fitness.activity.read'
32
+
33
+ # View and store your activity information in Google Fit
34
+ AUTH_FITNESS_ACTIVITY_WRITE = 'https://www.googleapis.com/auth/fitness.activity.write'
35
+
36
+ # View body sensor information in Google Fit
37
+ AUTH_FITNESS_BODY_READ = 'https://www.googleapis.com/auth/fitness.body.read'
38
+
39
+ # View and store body sensor data in Google Fit
40
+ AUTH_FITNESS_BODY_WRITE = 'https://www.googleapis.com/auth/fitness.body.write'
41
+
42
+ # View your stored location data in Google Fit
43
+ AUTH_FITNESS_LOCATION_READ = 'https://www.googleapis.com/auth/fitness.location.read'
44
+
45
+ # View and store your location data in Google Fit
46
+ AUTH_FITNESS_LOCATION_WRITE = 'https://www.googleapis.com/auth/fitness.location.write'
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,809 @@
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 FitnessV1
24
+
25
+ #
26
+ class AggregateBucket
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # available for Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT
30
+ # Corresponds to the JSON property `activity`
31
+ # @return [Fixnum]
32
+ attr_accessor :activity
33
+
34
+ # There will be one dataset per datatype/datasource
35
+ # Corresponds to the JSON property `dataset`
36
+ # @return [Array<Google::Apis::FitnessV1::Dataset>]
37
+ attr_accessor :dataset
38
+
39
+ #
40
+ # Corresponds to the JSON property `endTimeMillis`
41
+ # @return [String]
42
+ attr_accessor :end_time_millis
43
+
44
+ # Sessions contain metadata, such as a user-friendly name and time interval
45
+ # information.
46
+ # Corresponds to the JSON property `session`
47
+ # @return [Google::Apis::FitnessV1::Session]
48
+ attr_accessor :session
49
+
50
+ #
51
+ # Corresponds to the JSON property `startTimeMillis`
52
+ # @return [String]
53
+ attr_accessor :start_time_millis
54
+
55
+ # The type of a bucket signifies how the data aggregation is performed in the
56
+ # bucket.
57
+ # Corresponds to the JSON property `type`
58
+ # @return [String]
59
+ attr_accessor :type
60
+
61
+ def initialize(**args)
62
+ update!(**args)
63
+ end
64
+
65
+ # Update properties of this object
66
+ def update!(**args)
67
+ @activity = args[:activity] unless args[:activity].nil?
68
+ @dataset = args[:dataset] unless args[:dataset].nil?
69
+ @end_time_millis = args[:end_time_millis] unless args[:end_time_millis].nil?
70
+ @session = args[:session] unless args[:session].nil?
71
+ @start_time_millis = args[:start_time_millis] unless args[:start_time_millis].nil?
72
+ @type = args[:type] unless args[:type].nil?
73
+ end
74
+ end
75
+
76
+ #
77
+ class AggregateBy
78
+ include Google::Apis::Core::Hashable
79
+
80
+ #
81
+ # Corresponds to the JSON property `dataSourceId`
82
+ # @return [String]
83
+ attr_accessor :data_source_id
84
+
85
+ # by dataype or by datasource
86
+ # Corresponds to the JSON property `dataTypeName`
87
+ # @return [String]
88
+ attr_accessor :data_type_name
89
+
90
+ #
91
+ # Corresponds to the JSON property `outputDataSourceId`
92
+ # @return [String]
93
+ attr_accessor :output_data_source_id
94
+
95
+ #
96
+ # Corresponds to the JSON property `outputDataTypeName`
97
+ # @return [String]
98
+ attr_accessor :output_data_type_name
99
+
100
+ def initialize(**args)
101
+ update!(**args)
102
+ end
103
+
104
+ # Update properties of this object
105
+ def update!(**args)
106
+ @data_source_id = args[:data_source_id] unless args[:data_source_id].nil?
107
+ @data_type_name = args[:data_type_name] unless args[:data_type_name].nil?
108
+ @output_data_source_id = args[:output_data_source_id] unless args[:output_data_source_id].nil?
109
+ @output_data_type_name = args[:output_data_type_name] unless args[:output_data_type_name].nil?
110
+ end
111
+ end
112
+
113
+ #
114
+ class AggregateRequest
115
+ include Google::Apis::Core::Hashable
116
+
117
+ #
118
+ # Corresponds to the JSON property `aggregateBy`
119
+ # @return [Array<Google::Apis::FitnessV1::AggregateBy>]
120
+ attr_accessor :aggregate_by
121
+
122
+ #
123
+ # Corresponds to the JSON property `bucketByActivitySegment`
124
+ # @return [Google::Apis::FitnessV1::BucketByActivity]
125
+ attr_accessor :bucket_by_activity_segment
126
+
127
+ #
128
+ # Corresponds to the JSON property `bucketByActivityType`
129
+ # @return [Google::Apis::FitnessV1::BucketByActivity]
130
+ attr_accessor :bucket_by_activity_type
131
+
132
+ #
133
+ # Corresponds to the JSON property `bucketBySession`
134
+ # @return [Google::Apis::FitnessV1::BucketBySession]
135
+ attr_accessor :bucket_by_session
136
+
137
+ # apparently oneof is not supported by reduced_nano_proto
138
+ # Corresponds to the JSON property `bucketByTime`
139
+ # @return [Google::Apis::FitnessV1::BucketByTime]
140
+ attr_accessor :bucket_by_time
141
+
142
+ #
143
+ # Corresponds to the JSON property `endTimeMillis`
144
+ # @return [String]
145
+ attr_accessor :end_time_millis
146
+
147
+ # required time range
148
+ # Corresponds to the JSON property `startTimeMillis`
149
+ # @return [String]
150
+ attr_accessor :start_time_millis
151
+
152
+ def initialize(**args)
153
+ update!(**args)
154
+ end
155
+
156
+ # Update properties of this object
157
+ def update!(**args)
158
+ @aggregate_by = args[:aggregate_by] unless args[:aggregate_by].nil?
159
+ @bucket_by_activity_segment = args[:bucket_by_activity_segment] unless args[:bucket_by_activity_segment].nil?
160
+ @bucket_by_activity_type = args[:bucket_by_activity_type] unless args[:bucket_by_activity_type].nil?
161
+ @bucket_by_session = args[:bucket_by_session] unless args[:bucket_by_session].nil?
162
+ @bucket_by_time = args[:bucket_by_time] unless args[:bucket_by_time].nil?
163
+ @end_time_millis = args[:end_time_millis] unless args[:end_time_millis].nil?
164
+ @start_time_millis = args[:start_time_millis] unless args[:start_time_millis].nil?
165
+ end
166
+ end
167
+
168
+ #
169
+ class AggregateResponse
170
+ include Google::Apis::Core::Hashable
171
+
172
+ #
173
+ # Corresponds to the JSON property `bucket`
174
+ # @return [Array<Google::Apis::FitnessV1::AggregateBucket>]
175
+ attr_accessor :bucket
176
+
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
180
+
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ @bucket = args[:bucket] unless args[:bucket].nil?
184
+ end
185
+ end
186
+
187
+ # See: google3/java/com/google/android/apps/heart/platform/api/Application.java
188
+ class Application
189
+ include Google::Apis::Core::Hashable
190
+
191
+ # An optional URI that can be used to link back to the application.
192
+ # Corresponds to the JSON property `detailsUrl`
193
+ # @return [String]
194
+ attr_accessor :details_url
195
+
196
+ # The name of this application. This is required for REST clients, but we do not
197
+ # enforce uniqueness of this name. It is provided as a matter of convenience for
198
+ # other developers who would like to identify which REST created an Application
199
+ # or Data Source.
200
+ # Corresponds to the JSON property `name`
201
+ # @return [String]
202
+ attr_accessor :name
203
+
204
+ # Package name for this application. This is used as a unique identifier when
205
+ # created by Android applications, but cannot be specified by REST clients. REST
206
+ # clients will have their developer project number reflected into the Data
207
+ # Source data stream IDs, instead of the packageName.
208
+ # Corresponds to the JSON property `packageName`
209
+ # @return [String]
210
+ attr_accessor :package_name
211
+
212
+ # Version of the application. You should update this field whenever the
213
+ # application changes in a way that affects the computation of the data.
214
+ # Corresponds to the JSON property `version`
215
+ # @return [String]
216
+ attr_accessor :version
217
+
218
+ def initialize(**args)
219
+ update!(**args)
220
+ end
221
+
222
+ # Update properties of this object
223
+ def update!(**args)
224
+ @details_url = args[:details_url] unless args[:details_url].nil?
225
+ @name = args[:name] unless args[:name].nil?
226
+ @package_name = args[:package_name] unless args[:package_name].nil?
227
+ @version = args[:version] unless args[:version].nil?
228
+ end
229
+ end
230
+
231
+ #
232
+ class BucketByActivity
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # default activity stream will be used if not specified
236
+ # Corresponds to the JSON property `activityDataSourceId`
237
+ # @return [String]
238
+ attr_accessor :activity_data_source_id
239
+
240
+ # Only activity segments of duration longer than this is used
241
+ # Corresponds to the JSON property `minDurationMillis`
242
+ # @return [String]
243
+ attr_accessor :min_duration_millis
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @activity_data_source_id = args[:activity_data_source_id] unless args[:activity_data_source_id].nil?
252
+ @min_duration_millis = args[:min_duration_millis] unless args[:min_duration_millis].nil?
253
+ end
254
+ end
255
+
256
+ #
257
+ class BucketBySession
258
+ include Google::Apis::Core::Hashable
259
+
260
+ # Only sessions of duration longer than this is used
261
+ # Corresponds to the JSON property `minDurationMillis`
262
+ # @return [String]
263
+ attr_accessor :min_duration_millis
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @min_duration_millis = args[:min_duration_millis] unless args[:min_duration_millis].nil?
272
+ end
273
+ end
274
+
275
+ #
276
+ class BucketByTime
277
+ include Google::Apis::Core::Hashable
278
+
279
+ #
280
+ # Corresponds to the JSON property `durationMillis`
281
+ # @return [String]
282
+ attr_accessor :duration_millis
283
+
284
+ def initialize(**args)
285
+ update!(**args)
286
+ end
287
+
288
+ # Update properties of this object
289
+ def update!(**args)
290
+ @duration_millis = args[:duration_millis] unless args[:duration_millis].nil?
291
+ end
292
+ end
293
+
294
+ # Represents a single data point, generated by a particular data source. A data
295
+ # point holds a value for each field, an end timestamp and an optional start
296
+ # time. The exact semantics of each of these attributes are specified in the
297
+ # documentation for the particular data type.
298
+ # A data point can represent an instantaneous measurement, reading or input
299
+ # observation, as well as averages or aggregates over a time interval. Check the
300
+ # data type documentation to determine which is the case for a particular data
301
+ # type.
302
+ # Data points always contain one value for each field of the data type.
303
+ class DataPoint
304
+ include Google::Apis::Core::Hashable
305
+
306
+ # Used for version checking during transformation; that is, a datapoint can only
307
+ # replace another datapoint that has an older computation time stamp.
308
+ # Corresponds to the JSON property `computationTimeMillis`
309
+ # @return [String]
310
+ attr_accessor :computation_time_millis
311
+
312
+ # The data type defining the format of the values in this data point.
313
+ # Corresponds to the JSON property `dataTypeName`
314
+ # @return [String]
315
+ attr_accessor :data_type_name
316
+
317
+ # The end time of the interval represented by this data point, in nanoseconds
318
+ # since epoch.
319
+ # Corresponds to the JSON property `endTimeNanos`
320
+ # @return [String]
321
+ attr_accessor :end_time_nanos
322
+
323
+ # Indicates the last time this data point was modified. Useful only in contexts
324
+ # where we are listing the data changes, rather than representing the current
325
+ # state of the data.
326
+ # Corresponds to the JSON property `modifiedTimeMillis`
327
+ # @return [String]
328
+ attr_accessor :modified_time_millis
329
+
330
+ # If the data point is contained in a dataset for a derived data source, this
331
+ # field will be populated with the data source stream ID that created the data
332
+ # point originally.
333
+ # Corresponds to the JSON property `originDataSourceId`
334
+ # @return [String]
335
+ attr_accessor :origin_data_source_id
336
+
337
+ # The raw timestamp from the original SensorEvent.
338
+ # Corresponds to the JSON property `rawTimestampNanos`
339
+ # @return [String]
340
+ attr_accessor :raw_timestamp_nanos
341
+
342
+ # The start time of the interval represented by this data point, in nanoseconds
343
+ # since epoch.
344
+ # Corresponds to the JSON property `startTimeNanos`
345
+ # @return [String]
346
+ attr_accessor :start_time_nanos
347
+
348
+ # Values of each data type field for the data point. It is expected that each
349
+ # value corresponding to a data type field will occur in the same order that the
350
+ # field is listed with in the data type specified in a data source.
351
+ # Only one of integer and floating point fields will be populated, depending on
352
+ # the format enum value within data source's type field.
353
+ # Corresponds to the JSON property `value`
354
+ # @return [Array<Google::Apis::FitnessV1::Value>]
355
+ attr_accessor :value
356
+
357
+ def initialize(**args)
358
+ update!(**args)
359
+ end
360
+
361
+ # Update properties of this object
362
+ def update!(**args)
363
+ @computation_time_millis = args[:computation_time_millis] unless args[:computation_time_millis].nil?
364
+ @data_type_name = args[:data_type_name] unless args[:data_type_name].nil?
365
+ @end_time_nanos = args[:end_time_nanos] unless args[:end_time_nanos].nil?
366
+ @modified_time_millis = args[:modified_time_millis] unless args[:modified_time_millis].nil?
367
+ @origin_data_source_id = args[:origin_data_source_id] unless args[:origin_data_source_id].nil?
368
+ @raw_timestamp_nanos = args[:raw_timestamp_nanos] unless args[:raw_timestamp_nanos].nil?
369
+ @start_time_nanos = args[:start_time_nanos] unless args[:start_time_nanos].nil?
370
+ @value = args[:value] unless args[:value].nil?
371
+ end
372
+ end
373
+
374
+ # Definition of a unique source of sensor data. Data sources can expose raw data
375
+ # coming from hardware sensors on local or companion devices. They can also
376
+ # expose derived data, created by transforming or merging other data sources.
377
+ # Multiple data sources can exist for the same data type. Every data point
378
+ # inserted into or read from this service has an associated data source.
379
+ # The data source contains enough information to uniquely identify its data,
380
+ # including the hardware device and the application that collected and/or
381
+ # transformed the data. It also holds useful metadata, such as the hardware and
382
+ # application versions, and the device type.
383
+ # Each data source produces a unique stream of data, with a unique identifier.
384
+ # Not all changes to data source affect the stream identifier, so that data
385
+ # collected by updated versions of the same application/device can still be
386
+ # considered to belong to the same data stream.
387
+ class DataSource
388
+ include Google::Apis::Core::Hashable
389
+
390
+ # See: google3/java/com/google/android/apps/heart/platform/api/Application.java
391
+ # Corresponds to the JSON property `application`
392
+ # @return [Google::Apis::FitnessV1::Application]
393
+ attr_accessor :application
394
+
395
+ # A unique identifier for the data stream produced by this data source. The
396
+ # identifier includes:
397
+ #
398
+ # - The physical device's manufacturer, model, and serial number (UID).
399
+ # - The application's package name or name. Package name is used when the data
400
+ # source was created by an Android application. The developer project number is
401
+ # used when the data source was created by a REST client.
402
+ # - The data source's type.
403
+ # - The data source's stream name. Note that not all attributes of the data
404
+ # source are used as part of the stream identifier. In particular, the version
405
+ # of the hardware/the application isn't used. This allows us to preserve the
406
+ # same stream through version updates. This also means that two DataSource
407
+ # objects may represent the same data stream even if they're not equal.
408
+ # The exact format of the data stream ID created by an Android application is:
409
+ # type:dataType.name:application.packageName:device.manufacturer:device.model:
410
+ # device.uid:dataStreamName
411
+ # The exact format of the data stream ID created by a REST client is: type:
412
+ # dataType.name:developer project number:device.manufacturer:device.model:device.
413
+ # uid:dataStreamName
414
+ # When any of the optional fields that comprise of the data stream ID are blank,
415
+ # they will be omitted from the data stream ID. The minnimum viable data stream
416
+ # ID would be: type:dataType.name:developer project number
417
+ # Finally, the developer project number is obfuscated when read by any REST or
418
+ # Android client that did not create the data source. Only the data source
419
+ # creator will see the developer project number in clear and normal form.
420
+ # Corresponds to the JSON property `dataStreamId`
421
+ # @return [String]
422
+ attr_accessor :data_stream_id
423
+
424
+ # The stream name uniquely identifies this particular data source among other
425
+ # data sources of the same type from the same underlying producer. Setting the
426
+ # stream name is optional, but should be done whenever an application exposes
427
+ # two streams for the same data type, or when a device has two equivalent
428
+ # sensors.
429
+ # Corresponds to the JSON property `dataStreamName`
430
+ # @return [String]
431
+ attr_accessor :data_stream_name
432
+
433
+ # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java
434
+ # Corresponds to the JSON property `dataType`
435
+ # @return [Google::Apis::FitnessV1::DataType]
436
+ attr_accessor :data_type
437
+
438
+ # Representation of an integrated device (such as a phone or a wearable) that
439
+ # can hold sensors. Each sensor is exposed as a data source.
440
+ # The main purpose of the device information contained in this class is to
441
+ # identify the hardware of a particular data source. This can be useful in
442
+ # different ways, including:
443
+ # - Distinguishing two similar sensors on different devices (the step counter on
444
+ # two nexus 5 phones, for instance)
445
+ # - Display the source of data to the user (by using the device make / model)
446
+ # - Treat data differently depending on sensor type (accelerometers on a watch
447
+ # may give different patterns than those on a phone)
448
+ # - Build different analysis models for each device/version.
449
+ # Corresponds to the JSON property `device`
450
+ # @return [Google::Apis::FitnessV1::Device]
451
+ attr_accessor :device
452
+
453
+ # An end-user visible name for this data source.
454
+ # Corresponds to the JSON property `name`
455
+ # @return [String]
456
+ attr_accessor :name
457
+
458
+ # A constant describing the type of this data source. Indicates whether this
459
+ # data source produces raw or derived data.
460
+ # Corresponds to the JSON property `type`
461
+ # @return [String]
462
+ attr_accessor :type
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @application = args[:application] unless args[:application].nil?
471
+ @data_stream_id = args[:data_stream_id] unless args[:data_stream_id].nil?
472
+ @data_stream_name = args[:data_stream_name] unless args[:data_stream_name].nil?
473
+ @data_type = args[:data_type] unless args[:data_type].nil?
474
+ @device = args[:device] unless args[:device].nil?
475
+ @name = args[:name] unless args[:name].nil?
476
+ @type = args[:type] unless args[:type].nil?
477
+ end
478
+ end
479
+
480
+ # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java
481
+ class DataType
482
+ include Google::Apis::Core::Hashable
483
+
484
+ # A field represents one dimension of a data type.
485
+ # Corresponds to the JSON property `field`
486
+ # @return [Array<Google::Apis::FitnessV1::DataTypeField>]
487
+ attr_accessor :field
488
+
489
+ # Each data type has a unique, namespaced, name. All data types in the com.
490
+ # google namespace are shared as part of the platform.
491
+ # Corresponds to the JSON property `name`
492
+ # @return [String]
493
+ attr_accessor :name
494
+
495
+ def initialize(**args)
496
+ update!(**args)
497
+ end
498
+
499
+ # Update properties of this object
500
+ def update!(**args)
501
+ @field = args[:field] unless args[:field].nil?
502
+ @name = args[:name] unless args[:name].nil?
503
+ end
504
+ end
505
+
506
+ # In case of multi-dimensional data (such as an accelerometer with x, y, and z
507
+ # axes) each field represents one dimension. Each data type field has a unique
508
+ # name which identifies it. The field also defines the format of the data (int,
509
+ # float, etc.).
510
+ # This message is only instantiated in code and not used for wire comms or
511
+ # stored in any way.
512
+ class DataTypeField
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # The different supported formats for each field in a data type.
516
+ # Corresponds to the JSON property `format`
517
+ # @return [String]
518
+ attr_accessor :format
519
+
520
+ # Defines the name and format of data. Unlike data type names, field names are
521
+ # not namespaced, and only need to be unique within the data type.
522
+ # Corresponds to the JSON property `name`
523
+ # @return [String]
524
+ attr_accessor :name
525
+
526
+ #
527
+ # Corresponds to the JSON property `optional`
528
+ # @return [Boolean]
529
+ attr_accessor :optional
530
+ alias_method :optional?, :optional
531
+
532
+ def initialize(**args)
533
+ update!(**args)
534
+ end
535
+
536
+ # Update properties of this object
537
+ def update!(**args)
538
+ @format = args[:format] unless args[:format].nil?
539
+ @name = args[:name] unless args[:name].nil?
540
+ @optional = args[:optional] unless args[:optional].nil?
541
+ end
542
+ end
543
+
544
+ # A dataset represents a projection container for data points. They do not carry
545
+ # any info of their own. Datasets represent a set of data points from a
546
+ # particular data source. A data point can be found in more than one dataset.
547
+ class Dataset
548
+ include Google::Apis::Core::Hashable
549
+
550
+ # The data stream ID of the data source that created the points in this dataset.
551
+ # Corresponds to the JSON property `dataSourceId`
552
+ # @return [String]
553
+ attr_accessor :data_source_id
554
+
555
+ # The largest end time of all data points in this possibly partial
556
+ # representation of the dataset. Time is in nanoseconds from epoch. This should
557
+ # also match the first part of the dataset identifier.
558
+ # Corresponds to the JSON property `maxEndTimeNs`
559
+ # @return [String]
560
+ attr_accessor :max_end_time_ns
561
+
562
+ # The smallest start time of all data points in this possibly partial
563
+ # representation of the dataset. Time is in nanoseconds from epoch. This should
564
+ # also match the first part of the dataset identifier.
565
+ # Corresponds to the JSON property `minStartTimeNs`
566
+ # @return [String]
567
+ attr_accessor :min_start_time_ns
568
+
569
+ # This token will be set when a dataset is received in response to a GET request
570
+ # and the dataset is too large to be included in a single response. Provide this
571
+ # value in a subsequent GET request to return the next page of data points
572
+ # within this dataset.
573
+ # Corresponds to the JSON property `nextPageToken`
574
+ # @return [String]
575
+ attr_accessor :next_page_token
576
+
577
+ # A partial list of data points contained in the dataset, ordered by largest
578
+ # endTimeNanos first. This list is considered complete when retrieving a small
579
+ # dataset and partial when patching a dataset or retrieving a dataset that is
580
+ # too large to include in a single response.
581
+ # Corresponds to the JSON property `point`
582
+ # @return [Array<Google::Apis::FitnessV1::DataPoint>]
583
+ attr_accessor :point
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @data_source_id = args[:data_source_id] unless args[:data_source_id].nil?
592
+ @max_end_time_ns = args[:max_end_time_ns] unless args[:max_end_time_ns].nil?
593
+ @min_start_time_ns = args[:min_start_time_ns] unless args[:min_start_time_ns].nil?
594
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
595
+ @point = args[:point] unless args[:point].nil?
596
+ end
597
+ end
598
+
599
+ # Representation of an integrated device (such as a phone or a wearable) that
600
+ # can hold sensors. Each sensor is exposed as a data source.
601
+ # The main purpose of the device information contained in this class is to
602
+ # identify the hardware of a particular data source. This can be useful in
603
+ # different ways, including:
604
+ # - Distinguishing two similar sensors on different devices (the step counter on
605
+ # two nexus 5 phones, for instance)
606
+ # - Display the source of data to the user (by using the device make / model)
607
+ # - Treat data differently depending on sensor type (accelerometers on a watch
608
+ # may give different patterns than those on a phone)
609
+ # - Build different analysis models for each device/version.
610
+ class Device
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # Manufacturer of the product/hardware.
614
+ # Corresponds to the JSON property `manufacturer`
615
+ # @return [String]
616
+ attr_accessor :manufacturer
617
+
618
+ # End-user visible model name for the device.
619
+ # Corresponds to the JSON property `model`
620
+ # @return [String]
621
+ attr_accessor :model
622
+
623
+ # A constant representing the type of the device.
624
+ # Corresponds to the JSON property `type`
625
+ # @return [String]
626
+ attr_accessor :type
627
+
628
+ # The serial number or other unique ID for the hardware. This field is
629
+ # obfuscated when read by any REST or Android client that did not create the
630
+ # data source. Only the data source creator will see the uid field in clear and
631
+ # normal form.
632
+ # Corresponds to the JSON property `uid`
633
+ # @return [String]
634
+ attr_accessor :uid
635
+
636
+ # Version string for the device hardware/software.
637
+ # Corresponds to the JSON property `version`
638
+ # @return [String]
639
+ attr_accessor :version
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ @manufacturer = args[:manufacturer] unless args[:manufacturer].nil?
648
+ @model = args[:model] unless args[:model].nil?
649
+ @type = args[:type] unless args[:type].nil?
650
+ @uid = args[:uid] unless args[:uid].nil?
651
+ @version = args[:version] unless args[:version].nil?
652
+ end
653
+ end
654
+
655
+ #
656
+ class ListDataSourcesResponse
657
+ include Google::Apis::Core::Hashable
658
+
659
+ # A previously created data source.
660
+ # Corresponds to the JSON property `dataSource`
661
+ # @return [Array<Google::Apis::FitnessV1::DataSource>]
662
+ attr_accessor :data_source
663
+
664
+ def initialize(**args)
665
+ update!(**args)
666
+ end
667
+
668
+ # Update properties of this object
669
+ def update!(**args)
670
+ @data_source = args[:data_source] unless args[:data_source].nil?
671
+ end
672
+ end
673
+
674
+ #
675
+ class ListSessionsResponse
676
+ include Google::Apis::Core::Hashable
677
+
678
+ # If includeDeleted is set to true in the request, this list will contain
679
+ # sessions deleted with original end times that are within the startTime and
680
+ # endTime frame.
681
+ # Corresponds to the JSON property `deletedSession`
682
+ # @return [Array<Google::Apis::FitnessV1::Session>]
683
+ attr_accessor :deleted_session
684
+
685
+ # The continuation token, which is used to page through large result sets.
686
+ # Provide this value in a subsequent request to return the next page of results.
687
+ # Corresponds to the JSON property `nextPageToken`
688
+ # @return [String]
689
+ attr_accessor :next_page_token
690
+
691
+ # Sessions with an end time that is between startTime and endTime of the request.
692
+ # Corresponds to the JSON property `session`
693
+ # @return [Array<Google::Apis::FitnessV1::Session>]
694
+ attr_accessor :session
695
+
696
+ def initialize(**args)
697
+ update!(**args)
698
+ end
699
+
700
+ # Update properties of this object
701
+ def update!(**args)
702
+ @deleted_session = args[:deleted_session] unless args[:deleted_session].nil?
703
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
704
+ @session = args[:session] unless args[:session].nil?
705
+ end
706
+ end
707
+
708
+ # Sessions contain metadata, such as a user-friendly name and time interval
709
+ # information.
710
+ class Session
711
+ include Google::Apis::Core::Hashable
712
+
713
+ # Session active time. While start_time_millis and end_time_millis define the
714
+ # full session time, the active time can be shorter and specified by
715
+ # active_time_millis. If the inactive time during the session is known, it
716
+ # should also be inserted via a com.google.activity.segment data point with a
717
+ # STILL activity value
718
+ # Corresponds to the JSON property `activeTimeMillis`
719
+ # @return [String]
720
+ attr_accessor :active_time_millis
721
+
722
+ # The type of activity this session represents.
723
+ # Corresponds to the JSON property `activityType`
724
+ # @return [Fixnum]
725
+ attr_accessor :activity_type
726
+
727
+ # See: google3/java/com/google/android/apps/heart/platform/api/Application.java
728
+ # Corresponds to the JSON property `application`
729
+ # @return [Google::Apis::FitnessV1::Application]
730
+ attr_accessor :application
731
+
732
+ # A description for this session.
733
+ # Corresponds to the JSON property `description`
734
+ # @return [String]
735
+ attr_accessor :description
736
+
737
+ # An end time, in milliseconds since epoch, inclusive.
738
+ # Corresponds to the JSON property `endTimeMillis`
739
+ # @return [String]
740
+ attr_accessor :end_time_millis
741
+
742
+ # A client-generated identifier that is unique across all sessions owned by this
743
+ # particular user.
744
+ # Corresponds to the JSON property `id`
745
+ # @return [String]
746
+ attr_accessor :id
747
+
748
+ # A timestamp that indicates when the session was last modified.
749
+ # Corresponds to the JSON property `modifiedTimeMillis`
750
+ # @return [String]
751
+ attr_accessor :modified_time_millis
752
+
753
+ # A human readable name of the session.
754
+ # Corresponds to the JSON property `name`
755
+ # @return [String]
756
+ attr_accessor :name
757
+
758
+ # A start time, in milliseconds since epoch, inclusive.
759
+ # Corresponds to the JSON property `startTimeMillis`
760
+ # @return [String]
761
+ attr_accessor :start_time_millis
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @active_time_millis = args[:active_time_millis] unless args[:active_time_millis].nil?
770
+ @activity_type = args[:activity_type] unless args[:activity_type].nil?
771
+ @application = args[:application] unless args[:application].nil?
772
+ @description = args[:description] unless args[:description].nil?
773
+ @end_time_millis = args[:end_time_millis] unless args[:end_time_millis].nil?
774
+ @id = args[:id] unless args[:id].nil?
775
+ @modified_time_millis = args[:modified_time_millis] unless args[:modified_time_millis].nil?
776
+ @name = args[:name] unless args[:name].nil?
777
+ @start_time_millis = args[:start_time_millis] unless args[:start_time_millis].nil?
778
+ end
779
+ end
780
+
781
+ # Holder object for the value of a single field in a data point.
782
+ # A field value has a particular format and is only ever set to one of an
783
+ # integer or a floating point value.
784
+ class Value
785
+ include Google::Apis::Core::Hashable
786
+
787
+ # Floating point value. When this is set, intVal must not be set.
788
+ # Corresponds to the JSON property `fpVal`
789
+ # @return [Float]
790
+ attr_accessor :fp_val
791
+
792
+ # Integer value. When this is set, fpVal must not be set.
793
+ # Corresponds to the JSON property `intVal`
794
+ # @return [Fixnum]
795
+ attr_accessor :int_val
796
+
797
+ def initialize(**args)
798
+ update!(**args)
799
+ end
800
+
801
+ # Update properties of this object
802
+ def update!(**args)
803
+ @fp_val = args[:fp_val] unless args[:fp_val].nil?
804
+ @int_val = args[:int_val] unless args[:int_val].nil?
805
+ end
806
+ end
807
+ end
808
+ end
809
+ end